{ "contractName": "XBRMarket", "abi": [ { "inputs": [ { "internalType": "address", "name": "networkAdr", "type": "address" }, { "internalType": "address", "name": "catalogAdr", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "indexed": false, "internalType": "address", "name": "actor", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "actorType", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "joined", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "security", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "meta", "type": "string" } ], "name": "ActorJoined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "indexed": false, "internalType": "address", "name": "actor", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "actorType", "type": "uint8" } ], "name": "ActorLeft", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "member", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "updated", "type": "uint256" }, { "indexed": false, "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "indexed": false, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "delegateType", "type": "uint8" }, { "indexed": false, "internalType": "bytes16", "name": "apiCatalog", "type": "bytes16" }, { "indexed": false, "internalType": "bool", "name": "consent", "type": "bool" }, { "indexed": false, "internalType": "string", "name": "servicePrefix", "type": "string" } ], "name": "ConsentSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MaintainerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MaintainerRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "MarketClosed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "indexed": false, "internalType": "uint256", "name": "created", "type": "uint256" }, { "indexed": false, "internalType": "uint32", "name": "marketSeq", "type": "uint32" }, { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "coin", "type": "address" }, { "indexed": false, "internalType": "string", "name": "terms", "type": "string" }, { "indexed": false, "internalType": "string", "name": "meta", "type": "string" }, { "indexed": false, "internalType": "address", "name": "maker", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "providerSecurity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "consumerSecurity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "marketFee", "type": "uint256" } ], "name": "MarketCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "indexed": false, "internalType": "uint32", "name": "marketSeq", "type": "uint32" }, { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "coin", "type": "address" }, { "indexed": false, "internalType": "string", "name": "terms", "type": "string" }, { "indexed": false, "internalType": "string", "name": "meta", "type": "string" }, { "indexed": false, "internalType": "address", "name": "maker", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "providerSecurity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "consumerSecurity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "marketFee", "type": "uint256" } ], "name": "MarketUpdated", "type": "event" }, { "constant": true, "inputs": [], "name": "NONCOOPERATIVE_CHANNEL_CLOSE_TIMEOUT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "addMaintainer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "catalog", "outputs": [ { "internalType": "contract XBRCatalog", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isMaintainer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "marketIds", "outputs": [ { "internalType": "bytes16", "name": "", "type": "bytes16" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "", "type": "bytes16" } ], "name": "markets", "outputs": [ { "internalType": "uint256", "name": "created", "type": "uint256" }, { "internalType": "uint32", "name": "seq", "type": "uint32" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "coin", "type": "address" }, { "internalType": "string", "name": "terms", "type": "string" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "uint256", "name": "providerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "consumerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "marketFee", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "marketsByMaker", "outputs": [ { "internalType": "bytes16", "name": "", "type": "bytes16" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "marketsByOwner", "outputs": [ { "internalType": "bytes16", "name": "", "type": "bytes16" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "network", "outputs": [ { "internalType": "contract XBRNetwork", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceMaintainer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "coin", "type": "address" }, { "internalType": "string", "name": "terms", "type": "string" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "uint256", "name": "providerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "consumerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "marketFee", "type": "uint256" } ], "name": "createMarket", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "member", "type": "address" }, { "internalType": "uint256", "name": "created", "type": "uint256" }, { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "coin", "type": "address" }, { "internalType": "string", "name": "terms", "type": "string" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "uint256", "name": "providerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "consumerSecurity", "type": "uint256" }, { "internalType": "uint256", "name": "marketFee", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "createMarketFor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "uint8", "name": "actorType", "type": "uint8" }, { "internalType": "string", "name": "meta", "type": "string" } ], "name": "joinMarket", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "member", "type": "address" }, { "internalType": "uint256", "name": "joined", "type": "uint256" }, { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "uint8", "name": "actorType", "type": "uint8" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "joinMarketFor", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint8", "name": "delegateType", "type": "uint8" }, { "internalType": "bytes16", "name": "apiCatalog", "type": "bytes16" }, { "internalType": "bool", "name": "consent", "type": "bool" }, { "internalType": "string", "name": "servicePrefix", "type": "string" } ], "name": "setConsent", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "member", "type": "address" }, { "internalType": "uint256", "name": "updated", "type": "uint256" }, { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint8", "name": "delegateType", "type": "uint8" }, { "internalType": "bytes16", "name": "apiCatalog", "type": "bytes16" }, { "internalType": "bool", "name": "consent", "type": "bool" }, { "internalType": "string", "name": "servicePrefix", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "setConsentFor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "member", "type": "address" }, { "internalType": "uint256", "name": "updated", "type": "uint256" }, { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint8", "name": "delegateType", "type": "uint8" }, { "internalType": "bytes16", "name": "apiCatalog", "type": "bytes16" }, { "internalType": "bool", "name": "consent", "type": "bool" }, { "internalType": "string", "name": "servicePrefix", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "_setConsent", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "countMarkets", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getMarketOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getMarketCoin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getMarketMaker", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getMarketsByOwner", "outputs": [ { "internalType": "bytes16", "name": "", "type": "bytes16" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "actor", "type": "address" }, { "internalType": "enum XBRTypes.ActorType", "name": "actorType", "type": "uint8" } ], "name": "isActor", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "countMarketsByOwner", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "actor", "type": "address" }, { "internalType": "uint8", "name": "actorType", "type": "uint8" } ], "name": "getMarketActor", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "string", "name": "", "type": "string" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getAllMarketProviders", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" } ], "name": "getAllMarketConsumers", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "actor", "type": "address" } ], "name": "getAllPaymentChannels", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "actor", "type": "address" } ], "name": "getAllPayingChannels", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "delegate", "type": "address" } ], "name": "currentPaymentChannelByDelegate", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes16", "name": "marketId", "type": "bytes16" }, { "internalType": "address", "name": "delegate", "type": "address" } ], "name": "currentPayingChannelByDelegate", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"networkAdr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"catalogAdr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"actorType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"joined\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"security\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"}],\"name\":\"ActorJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"actorType\",\"type\":\"uint8\"}],\"name\":\"ActorLeft\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"delegateType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes16\",\"name\":\"apiCatalog\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"consent\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"servicePrefix\",\"type\":\"string\"}],\"name\":\"ConsentSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MaintainerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MaintainerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"MarketClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"marketSeq\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"terms\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"providerSecurity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"consumerSecurity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketFee\",\"type\":\"uint256\"}],\"name\":\"MarketCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"marketSeq\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"terms\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"providerSecurity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"consumerSecurity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketFee\",\"type\":\"uint256\"}],\"name\":\"MarketUpdated\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"NONCOOPERATIVE_CHANNEL_CLOSE_TIMEOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"delegateType\",\"type\":\"uint8\"},{\"internalType\":\"bytes16\",\"name\":\"apiCatalog\",\"type\":\"bytes16\"},{\"internalType\":\"bool\",\"name\":\"consent\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"servicePrefix\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"_setConsent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"catalog\",\"outputs\":[{\"internalType\":\"contract XBRCatalog\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"countMarkets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"countMarketsByOwner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"terms\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"providerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"consumerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketFee\",\"type\":\"uint256\"}],\"name\":\"createMarket\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"terms\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"providerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"consumerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketFee\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"createMarketFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"currentPayingChannelByDelegate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"currentPaymentChannelByDelegate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getAllMarketConsumers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getAllMarketProviders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"}],\"name\":\"getAllPayingChannels\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"}],\"name\":\"getAllPaymentChannels\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"actorType\",\"type\":\"uint8\"}],\"name\":\"getMarketActor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getMarketCoin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getMarketFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getMarketMaker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"}],\"name\":\"getMarketOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getMarketsByOwner\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"internalType\":\"enum XBRTypes.ActorType\",\"name\":\"actorType\",\"type\":\"uint8\"}],\"name\":\"isActor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMaintainer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"uint8\",\"name\":\"actorType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"}],\"name\":\"joinMarket\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"joined\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"uint8\",\"name\":\"actorType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"joinMarketFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"marketIds\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"name\":\"markets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"seq\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"terms\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"meta\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"providerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"consumerSecurity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketFee\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"marketsByMaker\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"marketsByOwner\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"network\",\"outputs\":[{\"internalType\":\"contract XBRNetwork\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMaintainer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"delegateType\",\"type\":\"uint8\"},{\"internalType\":\"bytes16\",\"name\":\"apiCatalog\",\"type\":\"bytes16\"},{\"internalType\":\"bool\",\"name\":\"consent\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"servicePrefix\",\"type\":\"string\"}],\"name\":\"setConsent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"updated\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"marketId\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"delegateType\",\"type\":\"uint8\"},{\"internalType\":\"bytes16\",\"name\":\"apiCatalog\",\"type\":\"bytes16\"},{\"internalType\":\"bool\",\"name\":\"consent\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"servicePrefix\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"setConsentFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"addMaintainer(address)\":{\"params\":{\"account\":\"The account to grant maintainer rights to.\"}},\"createMarket(bytes16,address,string,string,address,uint256,uint256,uint256)\":{\"params\":{\"coin\":\"The ERC20 coin to be used as the means of payment in the market.\",\"consumerSecurity\":\"The amount of coins a XBR consumer joining the market must deposit.\",\"maker\":\"The address of the XBR market maker that will run this market. The delegate of the market owner.\",\"marketFee\":\"The fee taken by the market (beneficiary is the market owner). The fee is a percentage of the revenue of the XBR Provider that receives coins paid for transactions. The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as a fraction of the total supply of coins in the ERC20 token specified for the market.\",\"marketId\":\"The ID of the market to create. Must be unique (not yet existing).\",\"meta\":\"Multihash for optional market metadata.\",\"providerSecurity\":\"The amount of coins a XBR provider joining the market must deposit.\",\"terms\":\"Multihash for market terms set by the market owner.\"}},\"createMarketFor(address,uint256,bytes16,address,string,string,address,uint256,uint256,uint256,bytes)\":{\"params\":{\"coin\":\"The ERC20 coin to be used as the means of payment in the market.\",\"consumerSecurity\":\"The amount of coins a XBR consumer joining the market must deposit.\",\"created\":\"Block number when the market was created.\",\"maker\":\"The address of the XBR market maker that will run this market. The delegate of the market owner.\",\"marketFee\":\"The fee taken by the market (beneficiary is the market owner). The fee is a percentage of the revenue of the XBR Provider that receives coins paid for transactions. The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as a fraction of the total supply of coins in the ERC20 token specified for the market.\",\"marketId\":\"The ID of the market to create. Must be unique (not yet existing).\",\"member\":\"The member that creates the market (will become market owner).\",\"meta\":\"Multihash for optional market metadata.\",\"providerSecurity\":\"The amount of coins a XBR provider joining the market must deposit.\",\"signature\":\"EIP712 signature created by the member.\",\"terms\":\"Multihash for market terms set by the market owner.\"}},\"currentPayingChannelByDelegate(bytes16,address)\":{\"params\":{\"delegate\":\"The delegate to get the current paying channel address for.\",\"marketId\":\"The XBR Market to get the current paying channel address for.\"},\"return\":\"Current paying channel address for the given delegate/market.\"},\"currentPaymentChannelByDelegate(bytes16,address)\":{\"params\":{\"delegate\":\"The delegate to get the current payment channel address for.\",\"marketId\":\"The XBR Market to get the current payment channel address for.\"},\"return\":\"Current payment channel address for the given delegate/market.\"},\"getAllMarketConsumers(bytes16)\":{\"params\":{\"marketId\":\"The XBR Market to consumer actors for.\"},\"return\":\"List of consumer actor addresses in the market.\"},\"getAllMarketProviders(bytes16)\":{\"params\":{\"marketId\":\"The XBR Market to provider actors for.\"},\"return\":\"List of provider actor addresses in the market.\"},\"getAllPayingChannels(bytes16,address)\":{\"params\":{\"actor\":\"The XBR actor to get paying channels for.\",\"marketId\":\"The XBR Market to get paying channels for.\"},\"return\":\"List of contract addresses of paying channels in the market.\"},\"getAllPaymentChannels(bytes16,address)\":{\"params\":{\"actor\":\"The XBR actor to get payment channels for.\",\"marketId\":\"The XBR Market to get payment channels for.\"},\"return\":\"List of contract addresses of payment channels in the market.\"},\"isMaintainer(address)\":{\"params\":{\"account\":\"The account to check.\"},\"return\":\"`true` if the account is maintainer, otherwise `false`.\"},\"joinMarket(bytes16,uint8,string)\":{\"params\":{\"actorType\":\"The type of actor under which to join: PROVIDER or CONSUMER.\",\"marketId\":\"The ID of the XBR data market to join.\",\"meta\":\"The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\"}},\"joinMarketFor(address,uint256,bytes16,uint8,string,bytes)\":{\"params\":{\"actorType\":\"The type of actor under which to join: PROVIDER or CONSUMER.\",\"joined\":\"Block number when the member joined the market.\",\"marketId\":\"The ID of the XBR data market to join.\",\"member\":\"The member that creates the market (will become market owner).\",\"meta\":\"The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\",\"signature\":\"EIP712 signature created by the member.\"}},\"setConsent(bytes16,address,uint8,bytes16,bool,string)\":{\"params\":{\"apiCatalog\":\"The ID of the API or API catalog to which the consent shall apply.\",\"consent\":\"Consent granted or revoked.\",\"delegate\":\"The address of the off-chain provider or consumer delegate, which is a piece of software acting on behalf and under consent of the actor in the market.\",\"delegateType\":\"The type of off-chain delegate, a data provider or data consumer.\",\"marketId\":\"The ID of the XBR data market in which to provide or consume data. Any terms attached to the market or the API apply.\",\"servicePrefix\":\"The WAMP URI prefix to be used by the delegate in the data plane realm.\"}},\"setConsentFor(address,uint256,bytes16,address,uint8,bytes16,bool,string,bytes)\":{\"params\":{\"apiCatalog\":\"The ID of the API or API catalog to which the consent shall apply.\",\"consent\":\"Consent granted or revoked.\",\"delegate\":\"The address of the off-chain provider or consumer delegate, which is a piece of software acting on behalf and under consent of the actor in the market.\",\"delegateType\":\"The type of off-chain delegate, a data provider or data consumer.\",\"marketId\":\"The ID of the XBR data market in which to provide or consume data. Any terms attached to the market or the API apply.\",\"member\":\"Address of member (which must be actor in the market) that sets consent.\",\"servicePrefix\":\"The WAMP URI prefix to be used by the delegate in the data plane realm.\",\"signature\":\"EIP712 signature, signed by the consent setting member.\",\"updated\":\"Block number at which the consent setting member has created the signature.\"}}}},\"userdoc\":{\"methods\":{\"addMaintainer(address)\":{\"notice\":\"Add a new maintainer to the list of maintainers.\"},\"countMarkets()\":{\"notice\":\"Get the total number of markets defined.\"},\"countMarketsByOwner(address)\":{\"notice\":\"Get the number of market owned by the specified member.\"},\"createMarket(bytes16,address,string,string,address,uint256,uint256,uint256)\":{\"notice\":\"Create a new XBR market. The sender of the transaction must be XBR network member and automatically becomes owner of the new market. \"},\"createMarketFor(address,uint256,bytes16,address,string,string,address,uint256,uint256,uint256,bytes)\":{\"notice\":\"Create a new XBR market for a member. The member must be XBR network member, must have signed the transaction data, and will become owner of the new market. /// Note: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. \"},\"currentPayingChannelByDelegate(bytes16,address)\":{\"notice\":\"Lookup the current paying channel to use for the given delegate in the given market.\"},\"currentPaymentChannelByDelegate(bytes16,address)\":{\"notice\":\"Lookup the current payment channel to use for the given delegate in the given market.\"},\"getAllMarketConsumers(bytes16)\":{\"notice\":\"Lookup all consumer actors in a XBR Market.\"},\"getAllMarketProviders(bytes16)\":{\"notice\":\"Lookup all provider actors in a XBR Market.\"},\"getAllPayingChannels(bytes16,address)\":{\"notice\":\"Lookup all paying channels for an provider actor in a XBR Market.\"},\"getAllPaymentChannels(bytes16,address)\":{\"notice\":\"Lookup all payment channels for an consumer actor in a XBR Market.\"},\"getMarketActor(bytes16,address,uint8)\":{\"notice\":\"Get market actor data for the given actor (address) and actor type in the specified market.\"},\"getMarketCoin(bytes16)\":{\"notice\":\"Get the coin ussed as a means of payment for the given market.\"},\"getMarketFee(bytes16)\":{\"notice\":\"Get the market fee set by the market operator that applies for the given market.\"},\"getMarketMaker(bytes16)\":{\"notice\":\"Get the market maker for the given market.\"},\"getMarketOwner(bytes16)\":{\"notice\":\"Get the market owner for the given market.\"},\"getMarketsByOwner(address,uint256)\":{\"notice\":\"Get the n-th market owned by the given member.\"},\"isActor(bytes16,address,uint8)\":{\"notice\":\"Check if the specified member is actor in the given market.\"},\"isMaintainer(address)\":{\"notice\":\"Check if the given address is currently a maintainer.\"},\"joinMarket(bytes16,uint8,string)\":{\"notice\":\"Join the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER. \"},\"joinMarketFor(address,uint256,bytes16,uint8,string,bytes)\":{\"notice\":\"Join the specified member to the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER. /// Note: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. \"},\"renounceMaintainer()\":{\"notice\":\"Give away maintainer rights.\"},\"setConsent(bytes16,address,uint8,bytes16,bool,string)\":{\"notice\":\"Track consent of an actor in a market to allow the specified seller or buyer delegate to provide or consume data under the respective API catalog in the given market. \"},\"setConsentFor(address,uint256,bytes16,address,uint8,bytes16,bool,string,bytes)\":{\"notice\":\"Track consent of an actor in a market to allow the specified seller or buyer delegate to provide or consume data under the respective API catalog in the given market. /// IMPORTANT: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. \"}},\"notice\":\"The `XBR Market `__ contract manages XBR data markets and serves as an anchor for all payment and paying channels for each respective market.\"}},\"settings\":{\"compilationTarget\":{\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRMarket.sol\":\"XBRMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRCatalog.sol\":{\"keccak256\":\"0xe348489559b4067fb48fdda5f284c026bb6e69654cfe6cf3ed04369605da8fd3\",\"urls\":[\"bzz-raw://b9b373ce93b6811c66294f7875f1499fa0baa4506665f04d1afa97e742227831\",\"dweb:/ipfs/QmSJnw3abCaVanF8NYJ1sTYgrzVNCdtgdRVbNDMzfAt5Mz\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol\":{\"keccak256\":\"0x2d3c274d75b270759fd8d6822d0690595cdae6d3878abc7eb33c3d19ce358dfe\",\"urls\":[\"bzz-raw://f5995d408d9a328f36a76e9c9e09828a0ff114757f7c25650944367bcd403389\",\"dweb:/ipfs/QmPNqFpo6x9pF7xkC28eEyTqAcT9WwTvUYsVEKbTVywqs3\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRMarket.sol\":{\"keccak256\":\"0x9d896c5da724c7a70fdb9fa7a0af2998831214a3b64c1318a7d78a32c01c2d46\",\"urls\":[\"bzz-raw://afdb4eca2904ab2e6310f5ee46a66b4896b8415f53b97fab5cf3c66c2eb37d6e\",\"dweb:/ipfs/Qmb9gbBk1KnQ8e1nP98tNQCLujCabrPij3gqhMfrjktMaF\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetwork.sol\":{\"keccak256\":\"0x32ad15ae4bb11302ab25ede12755a8fbb99feb054b6eabe48bfc7dfd24aad936\",\"urls\":[\"bzz-raw://ab4f124a80210614079733243fdbade7d310cd37b8cd7a94db9bc1bf4ba712d6\",\"dweb:/ipfs/QmfUbd8SWju2XZRYtmujEnc6dYGndtUE7LBmqdLJ33337X\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRToken.sol\":{\"keccak256\":\"0xe356783413d9d169270eddee3718f6761cf1a46cd6bf634a78a46627cf036fa8\",\"urls\":[\"bzz-raw://986c7122987c421a25e4c22af312f05c2dc4cd9904cf1c33c45ccd71faf8e98f\",\"dweb:/ipfs/QmZN9MAy9qprWcA1cUjsZnMZopcw7XdoWifznU2zE3MrZp\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRTypes.sol\":{\"keccak256\":\"0xb7d784604c76b74c4f0fcaf2960e48e25c068beaf70a07ac2146d48d24d245b4\",\"urls\":[\"bzz-raw://7f00b3af2ba72b830d5ed24a88175c117d1cf56d94001239946e872037f27aa0\",\"dweb:/ipfs/QmdGZPFtodRLhuXZ2Nmxq7SU8NiaaFxy65WU2YUhdNBbyK\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzz-raw://28d03f328e19e4099d5013de0649afaeaabac1a614e130767ab1cb4aca9775b6\",\"dweb:/ipfs/Qmb9iW7yNuYehB2NfhRMs9TakqbLVQhBhmGMkaDZ5g1Eb4\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", "bytecode": "0x60806040526105a06001556003805463ffffffff60a01b1916600160a01b1790553480156200002d57600080fd5b5060405162004cf938038062004cf98339810160408190526200005091620001a7565b62000064336001600160e01b036200009616565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055620002c0565b620000b1816000620000e860201b6200302e1790919060201c565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b620000fd82826001600160e01b036200014b16565b15620001265760405162461bcd60e51b81526004016200011d9062000267565b60405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620001765760405162461bcd60e51b81526004016200011d9062000279565b506001600160a01b03811660009081526020839052604090205460ff165b92915050565b80516200019481620002a6565b60008060408385031215620001bb57600080fd5b6000620001c985856200019a565b9250506020620001dc858286016200019a565b9150509250929050565b6000620001f5601f836200028b565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000620002306022836200028b565b7f526f6c65733a206163636f756e7420697320746865207a65726f206164647265815261737360f01b602082015260400192915050565b602080825281016200019481620001e6565b60208082528101620001948162000221565b90815260200190565b60006001600160a01b03821662000194565b620002b18162000294565b8114620002bd57600080fd5b50565b614a2980620002d06000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637e77cd2f1161010f578063d4dba113116100a2578063df21d34211610071578063df21d34214610452578063f513181814610465578063fb58c7c314610478578063fd5bd3911461048b576101f0565b8063d4dba11314610406578063db18584014610419578063dba7b7721461042c578063dd57366a1461043f576101f0565b8063a65db4da116100de578063a65db4da146103a3578063b4381fd3146103b6578063bc385fcd146103e0578063c1318bff146103f3576101f0565b80637e77cd2f146103525780637f37fcd01461035a5780638edb314f1461036d5780639fa7a6aa14610390576101f0565b80634ddd4331116101875780636915414c116101565780636915414c146103065780636b453c1f14610319578063779a96831461032c5780637ba5c48d1461033f576101f0565b80634ddd4331146102b857806352cf82e8146102cb578063559d1738146102de5780636739afca146102fe576101f0565b8063314db06b116101c3578063314db06b14610266578063329a4047146102705780633d1fbba1146102905780634d88ee3e146102b0576101f0565b8063074c09eb146101f55780631290cc1a146102135780631b223eab14610233578063287c05a214610253575b600080fd5b6101fd61049e565b60405161020a91906144ff565b60405180910390f35b6102266102213660046132aa565b6104ad565b60405161020a91906144f1565b610246610241366004613636565b6104c2565b60405161020a91906144d2565b6102266102613660046132e6565b610552565b61026e610595565b005b61028361027e3660046132aa565b6105a0565b60405161020a91906146ee565b6102a361029e366004613666565b6105bb565b60405161020a91906144e3565b610283610699565b61026e6102c6366004613320565b6106a0565b6102466102d9366004613636565b610a24565b6102f16102ec366004613618565b610ab1565b60405161020a9190614349565b6101fd610ae0565b6102f1610314366004613618565b610aef565b61026e6103273660046132aa565b610b17565b61022661033a366004613897565b610b35565b61024661034d366004613618565b610b69565b610283610be3565b61026e610368366004613453565b610be9565b61038061037b366004613791565b611207565b60405161020a94939291906146fc565b6102f161039e366004613636565b6114a3565b6102f16103b1366004613636565b6114db565b6103c96103c4366004613618565b611513565b60405161020a9b9a999897969594939291906147ea565b6102f16103ee366004613618565b611726565b61026e6104013660046137d4565b61174e565b610283610414366004613618565b611776565b610283610427366004613545565b611795565b61026e61043a3660046136b3565b611ae9565b6102a361044d3660046132aa565b611b15565b610246610460366004613618565b611b27565b6102266104733660046132e6565b611b9f565b61028361048636600461383d565b611bee565b61026e610499366004613453565b611c15565b6003546001600160a01b031681565b60066020526000908152604090205460801b81565b6001600160801b0319821660009081526004602081815260408084206001600160a01b0386168552600d0182529283902090910180548351818402810184019094528084526060939283018282801561054457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610526575b505050505090505b92915050565b6007602052816000526040600020818154811061056b57fe5b9060005260206000209060029182820401919006601002915091509054906101000a900460801b81565b61059e33611f92565b565b6001600160a01b031660009081526007602052604090205490565b6001600160801b03198316600090815260046020526040812060010154600160201b90046001600160a01b03166105f457506000610692565b600282600381111561060257fe5b141561064157506001600160801b0319831660009081526004602090815260408083206001600160a01b0386168452600d019091529020541515610692565b600182600381111561064f57fe5b141561068e57506001600160801b0319831660009081526004602090815260408083206001600160a01b0386168452600c019091529020541515610692565b5060005b9392505050565b6005545b90565b73__XBRTypes______________________________630c5524ee8c604051806101400160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b15801561071557600080fd5b505afa158015610729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074d91908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107cd91908101906132c8565b6001600160a01b031681526020018f6001600160a01b031681526020018e81526020018d6001600160801b03191681526020018c6001600160a01b031681526020018b81526020018a8152602001896001600160a01b0316815260200186815250846040518463ffffffff1660e01b815260040161084d939291906143ce565b60206040518083038186803b15801561086557600080fd5b505af4158015610879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089d91908101906135fa565b6108c25760405162461bcd60e51b81526004016108b99061459e565b60405180910390fd5b438a111580156109e85750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095391908101906138b5565b431115806109e85750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b1580156109aa57600080fd5b505afa1580156109be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e291908101906138b5565b43038a10155b610a045760405162461bcd60e51b81526004016108b99061460e565b610a178b8b8b8b8b8b8b8b8b8b8b611fda565b5050505050505050505050565b6001600160801b0319821660009081526004602081815260408084206001600160a01b0386168552600c01825292839020909101805483518184028101840190945280845260609392830182828015610544576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610526575050505050905092915050565b6001600160801b031916600090815260046020526040902060010154600160201b90046001600160a01b031690565b6002546001600160a01b031681565b6001600160801b0319166000908152600460205260409020600201546001600160a01b031690565b610b2033611b15565b610b2957600080fd5b610b32816128ad565b50565b60058181548110610b4257fe5b9060005260206000209060029182820401919006601002915054906101000a900460801b81565b6001600160801b03198116600090815260046020908152604091829020600a01805483518184028101840190945280845260609392830182828015610bd757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb9575b50505050509050919050565b60015481565b60025460405163022b92c360e21b81526000916001600160a01b0316906308ae4b0c90610c1a908d90600401614349565b60006040518083038186803b158015610c3257600080fd5b505afa158015610c46573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c6e91908101906138d3565b50935060019250610c7d915050565b816005811115610c8957fe5b14610ca65760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198816600090815260046020526040902060010154600160201b90046001600160a01b0316610cef5760405162461bcd60e51b81526004016108b99061462e565b60ff861660011480610d04575060ff86166002145b80610d12575060ff86166003145b610d2e5760405162461bcd60e51b81526004016108b99061456e565b60ff861660011480610d43575060ff86166003145b15610d98576001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600c0190915290205460ff16610d985760405162461bcd60e51b81526004016108b9906146de565b60ff861660021480610dad575060ff86166003145b15610e02576001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600d0190915290205460ff16610e025760405162461bcd60e51b81526004016108b99061463e565b6001600160a01b038716610e285760405162461bcd60e51b81526004016108b99061454e565b6003546040516357c50b2b60e01b81526000916001600160a01b0316906357c50b2b90610e599089906004016144f1565b60006040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ead919081019061398d565b505050505090508060001415610ed55760405162461bcd60e51b81526004016108b99061458e565b604051602001610ee49061468e565b6040516020818303038152906040528051906020012084604051602001610f0b919061450d565b604051602081830303815290604052805190602001201415610f3f5760405162461bcd60e51b81526004016108b99061451e565b60ff871660011480610f54575060ff87166003145b1561107a5760405180608001604052808b8152602001861515815260200185815260200184815250600460008b6001600160801b0319166001600160801b0319168152602001908152602001600020600c0160008d6001600160a01b03166001600160a01b0316815260200190815260200160002060050160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160801b0319166001600160801b03191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908315150217905550604082015181600201908051906020019061105a92919061307a565b506060820151805161107691600384019160209091019061307a565b5050505b60ff87166002148061108f575060ff87166003145b156111b55760405180608001604052808b8152602001861515815260200185815260200184815250600460008b6001600160801b0319166001600160801b0319168152602001908152602001600020600d0160008d6001600160a01b03166001600160a01b0316815260200190815260200160002060050160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160801b0319166001600160801b03191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908315150217905550604082015181600201908051906020019061119592919061307a565b50606082015180516111b191600384019160209091019061307a565b5050505b7f815d53ca4912d9ba5749dd8be679a5845379f873715324934cf478e5bbc1c6eb8b8b8b8b8b8b8b8b6040516111f298979695949392919061440e565b60405180910390a15050505050505050505050565b6001600160801b0319831660009081526004602052604081206001015481906060908190600160201b90046001600160a01b03166112575760405162461bcd60e51b81526004016108b99061462e565b60ff85166001148061126c575060ff85166002145b6112885760405162461bcd60e51b81526004016108b99061456e565b60ff8516600214156113fe576001600160801b0319871660009081526004602090815260408083206001600160a01b038a168452600d0182529182902080546001808301546002808501805488519481161561010002600019011691909104601f81018790048702840187019097528683529395929490939260038701929184919083018282801561135b5780601f106113305761010080835404028352916020019161135b565b820191906000526020600020905b81548152906001019060200180831161133e57829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959750869450925084019050828280156113e95780601f106113be576101008083540402835291602001916113e9565b820191906000526020600020905b8154815290600101906020018083116113cc57829003601f168201915b5050505050905094509450945094505061149a565b6001600160801b0319871660009081526004602090815260408083206001600160a01b038a168452600c0182529182902080546001808301546002808501805488519481161561010002600019011691909104601f81018790048702840187019097528683529395929490939260038701929184919083018282801561135b5780601f106113305761010080835404028352916020019161135b565b93509350935093565b6001600160801b03199190911660009081526004602090815260408083206001600160a01b039485168452600f019091529020541690565b6001600160801b03199190911660009081526004602090815260408083206001600160a01b039485168452600e019091529020541690565b600460209081526000918252604091829020805460018083015460028085015460038601805489516101009682161596909602600019011692909204601f8101889004880285018801909852878452939663ffffffff831696600160201b9093046001600160a01b039081169695169493928301828280156115d65780601f106115ab576101008083540402835291602001916115d6565b820191906000526020600020905b8154815290600101906020018083116115b957829003601f168201915b5050505060048301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529495949350908301828280156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b50505050600583015460068401546007850154600886015460098701805460408051602060026101006001861615026000190190941693909304601f810184900484028201840190925281815298996001600160a01b03909716989597509395929492939083018282801561171c5780601f106116f15761010080835404028352916020019161171c565b820191906000526020600020905b8154815290600101906020018083116116ff57829003601f168201915b505050505090508b565b6001600160801b0319166000908152600460205260409020600501546001600160a01b031690565b61176e334388888888888860405180602001604052806000815250610be9565b505050505050565b6001600160801b03191660009081526004602052604090206008015490565b600073__XBRTypes______________________________63bc062532886040518060e00160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b15801561180b57600080fd5b505afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184391908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b15801561188b57600080fd5b505afa15801561189f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118c391908101906132c8565b6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001896001600160801b03191681526020018860ff16815260200187815250856040518463ffffffff1660e01b8152600401611922939291906143ee565b60206040518083038186803b15801561193a57600080fd5b505af415801561194e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061197291908101906135fa565b61198e5760405162461bcd60e51b81526004016108b9906145de565b438611158015611ab45750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e757600080fd5b505afa1580156119fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a1f91908101906138b5565b43111580611ab45750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7657600080fd5b505afa158015611a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aae91908101906138b5565b43038610155b611ad05760405162461bcd60e51b81526004016108b9906145be565b611ade8787878787876128f5565b979650505050505050565b611b0b33438a8a8a8a8a8a8a8a60405180602001604052806000815250611fda565b5050505050505050565b600061054c818363ffffffff612f9e16565b6001600160801b03198116600090815260046020908152604091829020600b01805483518184028101840190945280845260609392830182828015610bd7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610bb95750505050509050919050565b6001600160a01b0382166000908152600760205260408120805483908110611bc357fe5b90600052602060002090600291828204019190066010029054906101000a900460801b905092915050565b6000611c0d3343868686604051806020016040528060008152506128f5565b949350505050565b73__XBRTypes______________________________638fc8980a8a604051806101400160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b158015611c8a57600080fd5b505afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cc291908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d4291908101906132c8565b6001600160a01b031681526020018d6001600160a01b031681526020018c81526020018b6001600160801b03191681526020018a6001600160a01b031681526020018960ff168152602001886001600160801b0319168152602001871515815260200186815250846040518463ffffffff1660e01b8152600401611dc89392919061439a565b60206040518083038186803b158015611de057600080fd5b505af4158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e1891908101906135fa565b611e345760405162461bcd60e51b81526004016108b99061465e565b438811158015611f5a5750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611e8d57600080fd5b505afa158015611ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ec591908101906138b5565b43111580611f5a5750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1c57600080fd5b505afa158015611f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f5491908101906138b5565b43038810155b611f765760405162461bcd60e51b81526004016108b99061469e565b611f87898989898989898989610be9565b505050505050505050565b611fa360008263ffffffff612fe616565b6040516001600160a01b038216907fa7b36d52bea726c3aa90d876d0e52a1089a347b3e3408a03f08eae32f96fdbb490600090a250565b60025460405163022b92c360e21b81526000916001600160a01b0316906308ae4b0c9061200b908f90600401614349565b60006040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261205f91908101906138d3565b5093506001925061206e915050565b81600581111561207a57fe5b14806120915750600281600581111561208f57fe5b145b6120ad5760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198a16600090815260046020526040902060010154600160201b90046001600160a01b0316156120f75760405162461bcd60e51b81526004016108b99061455e565b600260009054906101000a90046001600160a01b03166001600160a01b03166303e602368a8e6040518363ffffffff1660e01b815260040161213a929190614357565b60206040518083038186803b15801561215257600080fd5b505afa158015612166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061218a91908101906135fa565b15156001148061228e575060025460408051633adc728d60e01b815290516001600160a01b03909216916303e60236918c918491633adc728d916004808301926020929190829003018186803b1580156121e357600080fd5b505afa1580156121f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061221b91908101906132c8565b6040518363ffffffff1660e01b8152600401612238929190614357565b60206040518083038186803b15801561225057600080fd5b505afa158015612264573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061228891908101906135fa565b15156001145b6122aa5760405162461bcd60e51b81526004016108b99061453e565b6001600160a01b0386166122d05760405162461bcd60e51b81526004016108b9906145ae565b6001600160a01b03861660009081526006602052604090205460801b6001600160801b031916156123135760405162461bcd60e51b81526004016108b99061457e565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561234c57600080fd5b505afa158015612360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061238491908101906138b5565b8511156123a35760405162461bcd60e51b81526004016108b9906146be565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061241491908101906138b5565b8411156124335760405162461bcd60e51b81526004016108b99061464e565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561246c57600080fd5b505afa158015612480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124a491908101906138b5565b8311156124c35760405162461bcd60e51b81526004016108b9906146ae565b604051806101a001604052808c8152602001600360149054906101000a900463ffffffff1663ffffffff1681526020018d6001600160a01b031681526020018a6001600160a01b03168152602001898152602001888152602001876001600160a01b03168152602001868152602001858152602001848152602001838152602001600060405190808252806020026020018201604052801561256f578160200160208202803883390190505b50815260200160006040519080825280602002602001820160405280156125a0578160200160208202803883390190505b5090526001600160801b03198b1660009081526004602090815260409182902083518155838201516001820180549486015163ffffffff1990951663ffffffff90921691909117640100000000600160c01b031916600160201b6001600160a01b039586160217905560608401516002820180546001600160a01b03191691909416179092556080830151805161263d926003850192019061307a565b5060a0820151805161265991600484019160209091019061307a565b5060c08201516005820180546001600160a01b0319166001600160a01b0390921691909117905560e082015160068201556101008201516007820155610120820151600882015561014082015180516126bc91600984019160209091019061307a565b5061016082015180516126d991600a8401916020909101906130f8565b5061018082015180516126f691600b8401916020909101906130f8565b509050508960066000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160801b03021916908360801c0217905550600760008d6001600160a01b03166001600160a01b031681526020019081526020016000208a908060018154018082558091505090600182039060005260206000209060029182820401919006601002909192909190916101000a8154816001600160801b03021916908360801c02179055505060058a908060018154018082558091505090600182039060005260206000209060029182820401919006601002909192909190916101000a8154816001600160801b03021916908360801c021790555050600360149054906101000a900463ffffffff16600101600360146101000a81548163ffffffff021916908363ffffffff160217905550896001600160801b0319167fe3ce82684bff0ae57c32d641ba9125e18cd31346398d4d3e1b3c809b4a8523ca8c600360149054906101000a900463ffffffff168f8d8d8d8d8d8d8d6040516128979a99989796959493929190614747565b60405180910390a2505050505050505050505050565b6128be60008263ffffffff61302e16565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b60025460405163022b92c360e21b815260009182916001600160a01b03909116906308ae4b0c9061292a908b90600401614349565b60006040518083038186803b15801561294257600080fd5b505afa158015612956573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261297e91908101906138d3565b5093506001925061298d915050565b81600581111561299957fe5b146129b65760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198616600090815260046020526040902060010154600160201b90046001600160a01b03166129ff5760405162461bcd60e51b81526004016108b99061462e565b6001600160801b031986166000908152600460205260409020600101546001600160a01b03898116600160201b909204161415612a4e5760405162461bcd60e51b81526004016108b9906146ce565b60ff851660011480612a63575060ff85166002145b80612a71575060ff85166003145b612a8d5760405162461bcd60e51b81526004016108b99061456e565b600060ff861660011480612aa4575060ff86166003145b15612b19576001600160801b0319871660009081526004602090815260408083206001600160a01b038d168452600c0190915290205460ff1615612afa5760405162461bcd60e51b81526004016108b99061466e565b6001600160801b03198716600090815260046020526040902060060154015b60ff861660021480612b2e575060ff86166003145b15612ba3576001600160801b0319871660009081526004602090815260408083206001600160a01b038d168452600d0190915290205460ff1615612b845760405162461bcd60e51b81526004016108b9906145fe565b6001600160801b03198716600090815260046020526040902060070154015b8015612cc857600060046000896001600160801b0319166001600160801b031916815260200190815260200160002060020160009054906101000a90046001600160a01b03166001600160a01b03166323b872dd8b600460008c6001600160801b0319166001600160801b031916815260200190815260200160002060010160049054906101000a90046001600160a01b0316856040518463ffffffff1660e01b8152600401612c5593929190614372565b602060405180830381600087803b158015612c6f57600080fd5b505af1158015612c83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ca791908101906135fa565b905080612cc65760405162461bcd60e51b81526004016108b99061467e565b505b60ff861660011480612cdd575060ff86166003145b15612e08576040805160a0810182528981526001600160801b031989166000908152600460209081528382206006015481840152828401899052606083018890528351828152908101909352909160808301915090526001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600c0182529182902083518155838201516001820155918301518051612d87926002850192019061307a565b5060608201518051612da391600384019160209091019061307a565b5060808201518051612dbf9160048401916020909101906130f8565b5050506001600160801b0319871660009081526004602090815260408220600a01805460018101825590835291200180546001600160a01b0319166001600160a01b038b161790555b60ff861660021480612e1d575060ff86166003145b15612f48576040805160a0810182528981526001600160801b031989166000908152600460209081528382206007015481840152828401899052606083018890528351828152908101909352909160808301915090526001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600d0182529182902083518155838201516001820155918301518051612ec7926002850192019061307a565b5060608201518051612ee391600384019160209091019061307a565b5060808201518051612eff9160048401916020909101906130f8565b5050506001600160801b0319871660009081526004602090815260408220600b01805460018101825590835291200180546001600160a01b0319166001600160a01b038b161790555b866001600160801b0319167f7c37cc18b0d70854a11abeed873f3c5dea809a2b3522ff30f58ba8e6a04cdc7b8a888b858a604051612f8a95949392919061448b565b60405180910390a298975050505050505050565b60006001600160a01b038216612fc65760405162461bcd60e51b81526004016108b99061461e565b506001600160a01b03166000908152602091909152604090205460ff1690565b612ff08282612f9e565b61300c5760405162461bcd60e51b81526004016108b9906145ee565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6130388282612f9e565b156130555760405162461bcd60e51b81526004016108b99061452e565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130bb57805160ff19168380011785556130e8565b828001600101855582156130e8579182015b828111156130e85782518255916020019190600101906130cd565b506130f4929150613159565b5090565b82805482825590600052602060002090810192821561314d579160200282015b8281111561314d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613118565b506130f4929150613173565b61069d91905b808211156130f4576000815560010161315f565b61069d91905b808211156130f45780546001600160a01b0319168155600101613179565b803561054c8161498b565b805161054c8161498b565b803561054c8161499f565b805161054c8161499f565b803561054c816149a8565b600082601f8301126131df57600080fd5b81516131f26131ed826148c8565b6148a2565b9150808252602083016020830185838301111561320e57600080fd5b613219838284614951565b50505092915050565b600082601f83011261323357600080fd5b81356132416131ed826148c8565b9150808252602083016020830185838301111561325d57600080fd5b613219838284614945565b803561054c816149b1565b805161054c816149be565b803561054c816149cb565b805161054c816149cb565b805161054c816149d4565b803561054c816149dd565b6000602082840312156132bc57600080fd5b6000611c0d8484613197565b6000602082840312156132da57600080fd5b6000611c0d84846131a2565b600080604083850312156132f957600080fd5b60006133058585613197565b92505060206133168582860161327e565b9150509250929050565b60008060008060008060008060008060006101608c8e03121561334257600080fd5b600061334e8e8e613197565b9b5050602061335f8e828f0161327e565b9a505060406133708e828f016131c3565b99505060606133818e828f01613197565b98505060808c01356001600160401b0381111561339d57600080fd5b6133a98e828f01613222565b97505060a08c01356001600160401b038111156133c557600080fd5b6133d18e828f01613222565b96505060c06133e28e828f01613197565b95505060e06133f38e828f0161327e565b9450506101006134058e828f0161327e565b9350506101206134178e828f0161327e565b9250506101408c01356001600160401b0381111561343457600080fd5b6134408e828f01613222565b9150509295989b509295989b9093969950565b60008060008060008060008060006101208a8c03121561347257600080fd5b600061347e8c8c613197565b995050602061348f8c828d0161327e565b98505060406134a08c828d016131c3565b97505060606134b18c828d01613197565b96505060806134c28c828d0161329f565b95505060a06134d38c828d016131c3565b94505060c06134e48c828d016131ad565b93505060e08a01356001600160401b0381111561350057600080fd5b61350c8c828d01613222565b9250506101008a01356001600160401b0381111561352957600080fd5b6135358c828d01613222565b9150509295985092959850929598565b60008060008060008060c0878903121561355e57600080fd5b600061356a8989613197565b965050602061357b89828a0161327e565b955050604061358c89828a016131c3565b945050606061359d89828a0161329f565b93505060808701356001600160401b038111156135b957600080fd5b6135c589828a01613222565b92505060a08701356001600160401b038111156135e157600080fd5b6135ed89828a01613222565b9150509295509295509295565b60006020828403121561360c57600080fd5b6000611c0d84846131b8565b60006020828403121561362a57600080fd5b6000611c0d84846131c3565b6000806040838503121561364957600080fd5b600061365585856131c3565b925050602061331685828601613197565b60008060006060848603121561367b57600080fd5b600061368786866131c3565b935050602061369886828701613197565b92505060406136a986828701613268565b9150509250925092565b600080600080600080600080610100898b0312156136d057600080fd5b60006136dc8b8b6131c3565b98505060206136ed8b828c01613197565b97505060408901356001600160401b0381111561370957600080fd5b6137158b828c01613222565b96505060608901356001600160401b0381111561373157600080fd5b61373d8b828c01613222565b955050608061374e8b828c01613197565b94505060a061375f8b828c0161327e565b93505060c06137708b828c0161327e565b92505060e06137818b828c0161327e565b9150509295985092959890939650565b6000806000606084860312156137a657600080fd5b60006137b286866131c3565b93505060206137c386828701613197565b92505060406136a98682870161329f565b60008060008060008060c087890312156137ed57600080fd5b60006137f989896131c3565b965050602061380a89828a01613197565b955050604061381b89828a0161329f565b945050606061382c89828a016131c3565b93505060806135c589828a016131ad565b60008060006060848603121561385257600080fd5b600061385e86866131c3565b935050602061386f8682870161329f565b92505060408401356001600160401b0381111561388b57600080fd5b6136a986828701613222565b6000602082840312156138a957600080fd5b6000611c0d848461327e565b6000602082840312156138c757600080fd5b6000611c0d8484613289565b600080600080600060a086880312156138eb57600080fd5b60006138f78888613289565b95505060208601516001600160401b0381111561391357600080fd5b61391f888289016131ce565b94505060408601516001600160401b0381111561393b57600080fd5b613947888289016131ce565b935050606061395888828901613273565b92505060808601516001600160401b0381111561397457600080fd5b613980888289016131ce565b9150509295509295909350565b60008060008060008060c087890312156139a657600080fd5b60006139b28989613289565b96505060206139c389828a01613294565b95505060406139d489828a016131a2565b94505060608701516001600160401b038111156139f057600080fd5b6139fc89828a016131ce565b93505060808701516001600160401b03811115613a1857600080fd5b613a2489828a016131ce565b92505060a08701516001600160401b03811115613a4057600080fd5b6135ed89828a016131ce565b6000613a588383613a60565b505060200190565b613a6981614902565b82525050565b6000613a7a826148f5565b613a8481856148f9565b9350613a8f836148ef565b8060005b83811015613abd578151613aa78882613a4c565b9750613ab2836148ef565b925050600101613a93565b509495945050505050565b613a698161490d565b613a6981614912565b6000613ae5826148f5565b613aef81856148f9565b9350613aff818560208601614951565b613b0881614981565b9093019392505050565b613a698161493a565b6000613b286014836148f9565b73534552564943455f5052454649585f454d50545960601b815260200192915050565b6000613b58601f836148f9565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000613b91600c836148f9565b6b24a72b20a624a22fa1a7a4a760a11b815260200192915050565b6000613bb96018836148f9565b7f494e56414c49445f4348414e4e454c5f44454c45474154450000000000000000815260200192915050565b6000613bf26015836148f9565b744d41524b45545f414c52454144595f45584953545360581b815260200192915050565b6000613c236012836148f9565b71494e56414c49445f4143544f525f5459504560701b815260200192915050565b6000613c516026836148f9565b7f4d414b45525f414c52454144595f574f524b494e475f464f525f4f544845525f81526513505492d15560d21b602082015260400192915050565b6000613c99600f836148f9565b6e4e4f5f535543485f434154414c4f4760881b815260200192915050565b6000613cc4601f836148f9565b7f494e56414c49445f4d41524b45545f4352454154455f5349474e415455524500815260200192915050565b6000613cfd600d836148f9565b6c24a72b20a624a22fa6a0a5a2a960991b815260200192915050565b6000613d26601f836148f9565b7f494e56414c49445f524547495354455245445f424c4f434b5f4e554d42455200815260200192915050565b6000613d5f6013836148f9565b7229a2a72222a92fa727aa2fa0afa6a2a6a122a960691b815260200192915050565b6000613d8e601d836148f9565b7f494e56414c49445f4d41524b45545f4a4f494e5f5349474e4154555245000000815260200192915050565b6000613dc76021836148f9565b7f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c8152606560f81b602082015260400192915050565b6000613e0a601a836148f9565b7f414c52454144595f4a4f494e45445f41535f434f4e53554d4552000000000000815260200192915050565b6000613e43601c836148f9565b7f494e56414c49445f435245415445445f424c4f434b5f4e554d42455200000000815260200192915050565b6000613e7c6022836148f9565b7f526f6c65733a206163636f756e7420697320746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000613ec0600e836148f9565b6d1393d7d4d550d217d3505492d15560921b815260200192915050565b6000613eea6013836148f9565b7226a2a6a122a92fa727aa2fa1a7a729aaa6a2a960691b815260200192915050565b6000613f196019836148f9565b7f494e56414c49445f434f4e53554d45525f534543555249545900000000000000815260200192915050565b6000613f526019836148f9565b7f494e56414c49445f434f4e53454e545f5349474e415455524500000000000000815260200192915050565b6000613f8b601a836148f9565b7f414c52454144595f4a4f494e45445f41535f50524f5649444552000000000000815260200192915050565b6000613fc46020836148f9565b7f4a4f494e5f4d41524b45545f5452414e534645525f46524f4d5f4641494c4544815260200192915050565b600061054c6000836148f9565b600061400a601c836148f9565b7f494e56414c49445f434f4e53454e545f424c4f434b5f4e554d42455200000000815260200192915050565b60006140436012836148f9565b71494e56414c49445f4d41524b45545f46454560701b815260200192915050565b60006140716019836148f9565b7f494e56414c49445f50524f56494445525f534543555249545900000000000000815260200192915050565b60006140aa600f836148f9565b6e29a2a72222a92fa4a9afa7aba722a960891b815260200192915050565b60006140d56013836148f9565b7226a2a6a122a92fa727aa2fa82927ab24a222a960691b815260200192915050565b805160009061014084019061410c858261432e565b50602083015161411f6020860182613a60565b5060408301516141326040860182613a60565b506060830151614145606086018261432e565b5060808301516141586080860182613ad1565b5060a083015161416b60a0860182613a60565b5060c083015161417e60c0860182614340565b5060e083015161419160e0860182613ad1565b506101008301516141a6610100860182613ac8565b506101208301518482036101208601526141c08282613ada565b95945050505050565b80516000906101408401906141de858261432e565b5060208301516141f16020860182613a60565b5060408301516142046040860182613a60565b506060830151614217606086018261432e565b50608083015161422a6080860182613ad1565b5060a083015161423d60a0860182613a60565b5060c083015184820360c08601526142558282613ada565b91505060e083015184820360e086015261426f8282613ada565b915050610100830151614286610100860182613a60565b5061012083015161429b61012086018261432e565b509392505050565b805160009060e08401906142b7858261432e565b5060208301516142ca6020860182613a60565b5060408301516142dd6040860182613a60565b5060608301516142f0606086018261432e565b5060808301516143036080860182613ad1565b5060a083015161431660a0860182614340565b5060c083015184820360c08601526141c08282613ada565b613a698161069d565b613a698161492b565b613a6981614934565b6020810161054c8284613a60565b604081016143658285613a60565b6106926020830184613a60565b606081016143808286613a60565b61438d6020830185613a60565b611c0d604083018461432e565b606081016143a88286613a60565b81810360208301526143ba81856140f7565b905081810360408301526141c08184613ada565b606081016143dc8286613a60565b81810360208301526143ba81856141c9565b606081016143fc8286613a60565b81810360208301526143ba81856142a3565b610100810161441d828b613a60565b61442a602083018a61432e565b6144376040830189613ad1565b6144446060830188613a60565b6144516080830187614340565b61445e60a0830186613ad1565b61446b60c0830185613ac8565b81810360e083015261447d8184613ada565b9a9950505050505050505050565b60a081016144998288613a60565b6144a66020830187614340565b6144b3604083018661432e565b6144c0606083018561432e565b8181036080830152611ade8184613ada565b602080825281016106928184613a6f565b6020810161054c8284613ac8565b6020810161054c8284613ad1565b6020810161054c8284613b12565b602080825281016106928184613ada565b6020808252810161054c81613b1b565b6020808252810161054c81613b4b565b6020808252810161054c81613b84565b6020808252810161054c81613bac565b6020808252810161054c81613be5565b6020808252810161054c81613c16565b6020808252810161054c81613c44565b6020808252810161054c81613c8c565b6020808252810161054c81613cb7565b6020808252810161054c81613cf0565b6020808252810161054c81613d19565b6020808252810161054c81613d52565b6020808252810161054c81613d81565b6020808252810161054c81613dba565b6020808252810161054c81613dfd565b6020808252810161054c81613e36565b6020808252810161054c81613e6f565b6020808252810161054c81613eb3565b6020808252810161054c81613edd565b6020808252810161054c81613f0c565b6020808252810161054c81613f45565b6020808252810161054c81613f7e565b6020808252810161054c81613fb7565b6020808252810161054c81613ff0565b6020808252810161054c81613ffd565b6020808252810161054c81614036565b6020808252810161054c81614064565b6020808252810161054c8161409d565b6020808252810161054c816140c8565b6020810161054c828461432e565b6080810161470a828761432e565b614717602083018661432e565b81810360408301526147298185613ada565b9050818103606083015261473d8184613ada565b9695505050505050565b6101408101614756828d61432e565b614763602083018c614337565b614770604083018b613a60565b61477d606083018a613a60565b818103608083015261478f8189613ada565b905081810360a08301526147a38188613ada565b90506147b260c0830187613a60565b6147bf60e083018661432e565b6147cd61010083018561432e565b6147db61012083018461432e565b9b9a5050505050505050505050565b61016081016147f9828e61432e565b614806602083018d614337565b614813604083018c613a60565b614820606083018b613a60565b8181036080830152614832818a613ada565b905081810360a08301526148468189613ada565b905061485560c0830188613a60565b61486260e083018761432e565b61487061010083018661432e565b61487e61012083018561432e565b8181036101408301526148918184613ada565b9d9c50505050505050505050505050565b6040518181016001600160401b03811182821017156148c057600080fd5b604052919050565b60006001600160401b038211156148de57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061054c8261491f565b151590565b6001600160801b03191690565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b600061054c82614902565b82818337506000910152565b60005b8381101561496c578181015183820152602001614954565b8381111561497b576000848401525b50505050565b601f01601f191690565b61499481614902565b8114610b3257600080fd5b6149948161490d565b61499481614912565b60048110610b3257600080fd5b60068110610b3257600080fd5b6149948161069d565b6149948161492b565b6149948161493456fea365627a7a723158206eaf1c9aa4721fb81645d0f149faa1d05611f947163519322df2b81c29c7a7b56c6578706572696d656e74616cf564736f6c63430005100040", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80637e77cd2f1161010f578063d4dba113116100a2578063df21d34211610071578063df21d34214610452578063f513181814610465578063fb58c7c314610478578063fd5bd3911461048b576101f0565b8063d4dba11314610406578063db18584014610419578063dba7b7721461042c578063dd57366a1461043f576101f0565b8063a65db4da116100de578063a65db4da146103a3578063b4381fd3146103b6578063bc385fcd146103e0578063c1318bff146103f3576101f0565b80637e77cd2f146103525780637f37fcd01461035a5780638edb314f1461036d5780639fa7a6aa14610390576101f0565b80634ddd4331116101875780636915414c116101565780636915414c146103065780636b453c1f14610319578063779a96831461032c5780637ba5c48d1461033f576101f0565b80634ddd4331146102b857806352cf82e8146102cb578063559d1738146102de5780636739afca146102fe576101f0565b8063314db06b116101c3578063314db06b14610266578063329a4047146102705780633d1fbba1146102905780634d88ee3e146102b0576101f0565b8063074c09eb146101f55780631290cc1a146102135780631b223eab14610233578063287c05a214610253575b600080fd5b6101fd61049e565b60405161020a91906144ff565b60405180910390f35b6102266102213660046132aa565b6104ad565b60405161020a91906144f1565b610246610241366004613636565b6104c2565b60405161020a91906144d2565b6102266102613660046132e6565b610552565b61026e610595565b005b61028361027e3660046132aa565b6105a0565b60405161020a91906146ee565b6102a361029e366004613666565b6105bb565b60405161020a91906144e3565b610283610699565b61026e6102c6366004613320565b6106a0565b6102466102d9366004613636565b610a24565b6102f16102ec366004613618565b610ab1565b60405161020a9190614349565b6101fd610ae0565b6102f1610314366004613618565b610aef565b61026e6103273660046132aa565b610b17565b61022661033a366004613897565b610b35565b61024661034d366004613618565b610b69565b610283610be3565b61026e610368366004613453565b610be9565b61038061037b366004613791565b611207565b60405161020a94939291906146fc565b6102f161039e366004613636565b6114a3565b6102f16103b1366004613636565b6114db565b6103c96103c4366004613618565b611513565b60405161020a9b9a999897969594939291906147ea565b6102f16103ee366004613618565b611726565b61026e6104013660046137d4565b61174e565b610283610414366004613618565b611776565b610283610427366004613545565b611795565b61026e61043a3660046136b3565b611ae9565b6102a361044d3660046132aa565b611b15565b610246610460366004613618565b611b27565b6102266104733660046132e6565b611b9f565b61028361048636600461383d565b611bee565b61026e610499366004613453565b611c15565b6003546001600160a01b031681565b60066020526000908152604090205460801b81565b6001600160801b0319821660009081526004602081815260408084206001600160a01b0386168552600d0182529283902090910180548351818402810184019094528084526060939283018282801561054457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610526575b505050505090505b92915050565b6007602052816000526040600020818154811061056b57fe5b9060005260206000209060029182820401919006601002915091509054906101000a900460801b81565b61059e33611f92565b565b6001600160a01b031660009081526007602052604090205490565b6001600160801b03198316600090815260046020526040812060010154600160201b90046001600160a01b03166105f457506000610692565b600282600381111561060257fe5b141561064157506001600160801b0319831660009081526004602090815260408083206001600160a01b0386168452600d019091529020541515610692565b600182600381111561064f57fe5b141561068e57506001600160801b0319831660009081526004602090815260408083206001600160a01b0386168452600c019091529020541515610692565b5060005b9392505050565b6005545b90565b73__XBRTypes______________________________630c5524ee8c604051806101400160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b15801561071557600080fd5b505afa158015610729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074d91908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107cd91908101906132c8565b6001600160a01b031681526020018f6001600160a01b031681526020018e81526020018d6001600160801b03191681526020018c6001600160a01b031681526020018b81526020018a8152602001896001600160a01b0316815260200186815250846040518463ffffffff1660e01b815260040161084d939291906143ce565b60206040518083038186803b15801561086557600080fd5b505af4158015610879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089d91908101906135fa565b6108c25760405162461bcd60e51b81526004016108b99061459e565b60405180910390fd5b438a111580156109e85750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095391908101906138b5565b431115806109e85750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b1580156109aa57600080fd5b505afa1580156109be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e291908101906138b5565b43038a10155b610a045760405162461bcd60e51b81526004016108b99061460e565b610a178b8b8b8b8b8b8b8b8b8b8b611fda565b5050505050505050505050565b6001600160801b0319821660009081526004602081815260408084206001600160a01b0386168552600c01825292839020909101805483518184028101840190945280845260609392830182828015610544576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610526575050505050905092915050565b6001600160801b031916600090815260046020526040902060010154600160201b90046001600160a01b031690565b6002546001600160a01b031681565b6001600160801b0319166000908152600460205260409020600201546001600160a01b031690565b610b2033611b15565b610b2957600080fd5b610b32816128ad565b50565b60058181548110610b4257fe5b9060005260206000209060029182820401919006601002915054906101000a900460801b81565b6001600160801b03198116600090815260046020908152604091829020600a01805483518184028101840190945280845260609392830182828015610bd757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb9575b50505050509050919050565b60015481565b60025460405163022b92c360e21b81526000916001600160a01b0316906308ae4b0c90610c1a908d90600401614349565b60006040518083038186803b158015610c3257600080fd5b505afa158015610c46573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c6e91908101906138d3565b50935060019250610c7d915050565b816005811115610c8957fe5b14610ca65760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198816600090815260046020526040902060010154600160201b90046001600160a01b0316610cef5760405162461bcd60e51b81526004016108b99061462e565b60ff861660011480610d04575060ff86166002145b80610d12575060ff86166003145b610d2e5760405162461bcd60e51b81526004016108b99061456e565b60ff861660011480610d43575060ff86166003145b15610d98576001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600c0190915290205460ff16610d985760405162461bcd60e51b81526004016108b9906146de565b60ff861660021480610dad575060ff86166003145b15610e02576001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600d0190915290205460ff16610e025760405162461bcd60e51b81526004016108b99061463e565b6001600160a01b038716610e285760405162461bcd60e51b81526004016108b99061454e565b6003546040516357c50b2b60e01b81526000916001600160a01b0316906357c50b2b90610e599089906004016144f1565b60006040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ead919081019061398d565b505050505090508060001415610ed55760405162461bcd60e51b81526004016108b99061458e565b604051602001610ee49061468e565b6040516020818303038152906040528051906020012084604051602001610f0b919061450d565b604051602081830303815290604052805190602001201415610f3f5760405162461bcd60e51b81526004016108b99061451e565b60ff871660011480610f54575060ff87166003145b1561107a5760405180608001604052808b8152602001861515815260200185815260200184815250600460008b6001600160801b0319166001600160801b0319168152602001908152602001600020600c0160008d6001600160a01b03166001600160a01b0316815260200190815260200160002060050160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160801b0319166001600160801b03191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908315150217905550604082015181600201908051906020019061105a92919061307a565b506060820151805161107691600384019160209091019061307a565b5050505b60ff87166002148061108f575060ff87166003145b156111b55760405180608001604052808b8152602001861515815260200185815260200184815250600460008b6001600160801b0319166001600160801b0319168152602001908152602001600020600d0160008d6001600160a01b03166001600160a01b0316815260200190815260200160002060050160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160801b0319166001600160801b03191681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908315150217905550604082015181600201908051906020019061119592919061307a565b50606082015180516111b191600384019160209091019061307a565b5050505b7f815d53ca4912d9ba5749dd8be679a5845379f873715324934cf478e5bbc1c6eb8b8b8b8b8b8b8b8b6040516111f298979695949392919061440e565b60405180910390a15050505050505050505050565b6001600160801b0319831660009081526004602052604081206001015481906060908190600160201b90046001600160a01b03166112575760405162461bcd60e51b81526004016108b99061462e565b60ff85166001148061126c575060ff85166002145b6112885760405162461bcd60e51b81526004016108b99061456e565b60ff8516600214156113fe576001600160801b0319871660009081526004602090815260408083206001600160a01b038a168452600d0182529182902080546001808301546002808501805488519481161561010002600019011691909104601f81018790048702840187019097528683529395929490939260038701929184919083018282801561135b5780601f106113305761010080835404028352916020019161135b565b820191906000526020600020905b81548152906001019060200180831161133e57829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959750869450925084019050828280156113e95780601f106113be576101008083540402835291602001916113e9565b820191906000526020600020905b8154815290600101906020018083116113cc57829003601f168201915b5050505050905094509450945094505061149a565b6001600160801b0319871660009081526004602090815260408083206001600160a01b038a168452600c0182529182902080546001808301546002808501805488519481161561010002600019011691909104601f81018790048702840187019097528683529395929490939260038701929184919083018282801561135b5780601f106113305761010080835404028352916020019161135b565b93509350935093565b6001600160801b03199190911660009081526004602090815260408083206001600160a01b039485168452600f019091529020541690565b6001600160801b03199190911660009081526004602090815260408083206001600160a01b039485168452600e019091529020541690565b600460209081526000918252604091829020805460018083015460028085015460038601805489516101009682161596909602600019011692909204601f8101889004880285018801909852878452939663ffffffff831696600160201b9093046001600160a01b039081169695169493928301828280156115d65780601f106115ab576101008083540402835291602001916115d6565b820191906000526020600020905b8154815290600101906020018083116115b957829003601f168201915b5050505060048301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529495949350908301828280156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b50505050600583015460068401546007850154600886015460098701805460408051602060026101006001861615026000190190941693909304601f810184900484028201840190925281815298996001600160a01b03909716989597509395929492939083018282801561171c5780601f106116f15761010080835404028352916020019161171c565b820191906000526020600020905b8154815290600101906020018083116116ff57829003601f168201915b505050505090508b565b6001600160801b0319166000908152600460205260409020600501546001600160a01b031690565b61176e334388888888888860405180602001604052806000815250610be9565b505050505050565b6001600160801b03191660009081526004602052604090206008015490565b600073__XBRTypes______________________________63bc062532886040518060e00160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b15801561180b57600080fd5b505afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184391908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b15801561188b57600080fd5b505afa15801561189f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118c391908101906132c8565b6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001896001600160801b03191681526020018860ff16815260200187815250856040518463ffffffff1660e01b8152600401611922939291906143ee565b60206040518083038186803b15801561193a57600080fd5b505af415801561194e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061197291908101906135fa565b61198e5760405162461bcd60e51b81526004016108b9906145de565b438611158015611ab45750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e757600080fd5b505afa1580156119fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a1f91908101906138b5565b43111580611ab45750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7657600080fd5b505afa158015611a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aae91908101906138b5565b43038610155b611ad05760405162461bcd60e51b81526004016108b9906145be565b611ade8787878787876128f5565b979650505050505050565b611b0b33438a8a8a8a8a8a8a8a60405180602001604052806000815250611fda565b5050505050505050565b600061054c818363ffffffff612f9e16565b6001600160801b03198116600090815260046020908152604091829020600b01805483518184028101840190945280845260609392830182828015610bd7576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610bb95750505050509050919050565b6001600160a01b0382166000908152600760205260408120805483908110611bc357fe5b90600052602060002090600291828204019190066010029054906101000a900460801b905092915050565b6000611c0d3343868686604051806020016040528060008152506128f5565b949350505050565b73__XBRTypes______________________________638fc8980a8a604051806101400160405280600260009054906101000a90046001600160a01b03166001600160a01b03166359c8e6036040518163ffffffff1660e01b815260040160206040518083038186803b158015611c8a57600080fd5b505afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cc291908101906138b5565b81526002546040805163a787d61b60e01b815290516020938401936001600160a01b039093169263a787d61b9260048082019391829003018186803b158015611d0a57600080fd5b505afa158015611d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d4291908101906132c8565b6001600160a01b031681526020018d6001600160a01b031681526020018c81526020018b6001600160801b03191681526020018a6001600160a01b031681526020018960ff168152602001886001600160801b0319168152602001871515815260200186815250846040518463ffffffff1660e01b8152600401611dc89392919061439a565b60206040518083038186803b158015611de057600080fd5b505af4158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e1891908101906135fa565b611e345760405162461bcd60e51b81526004016108b99061465e565b438811158015611f5a5750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611e8d57600080fd5b505afa158015611ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ec591908101906138b5565b43111580611f5a5750600260009054906101000a90046001600160a01b03166001600160a01b031663b4cd23916040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1c57600080fd5b505afa158015611f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f5491908101906138b5565b43038810155b611f765760405162461bcd60e51b81526004016108b99061469e565b611f87898989898989898989610be9565b505050505050505050565b611fa360008263ffffffff612fe616565b6040516001600160a01b038216907fa7b36d52bea726c3aa90d876d0e52a1089a347b3e3408a03f08eae32f96fdbb490600090a250565b60025460405163022b92c360e21b81526000916001600160a01b0316906308ae4b0c9061200b908f90600401614349565b60006040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261205f91908101906138d3565b5093506001925061206e915050565b81600581111561207a57fe5b14806120915750600281600581111561208f57fe5b145b6120ad5760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198a16600090815260046020526040902060010154600160201b90046001600160a01b0316156120f75760405162461bcd60e51b81526004016108b99061455e565b600260009054906101000a90046001600160a01b03166001600160a01b03166303e602368a8e6040518363ffffffff1660e01b815260040161213a929190614357565b60206040518083038186803b15801561215257600080fd5b505afa158015612166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061218a91908101906135fa565b15156001148061228e575060025460408051633adc728d60e01b815290516001600160a01b03909216916303e60236918c918491633adc728d916004808301926020929190829003018186803b1580156121e357600080fd5b505afa1580156121f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061221b91908101906132c8565b6040518363ffffffff1660e01b8152600401612238929190614357565b60206040518083038186803b15801561225057600080fd5b505afa158015612264573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061228891908101906135fa565b15156001145b6122aa5760405162461bcd60e51b81526004016108b99061453e565b6001600160a01b0386166122d05760405162461bcd60e51b81526004016108b9906145ae565b6001600160a01b03861660009081526006602052604090205460801b6001600160801b031916156123135760405162461bcd60e51b81526004016108b99061457e565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561234c57600080fd5b505afa158015612360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061238491908101906138b5565b8511156123a35760405162461bcd60e51b81526004016108b9906146be565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123dc57600080fd5b505afa1580156123f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061241491908101906138b5565b8411156124335760405162461bcd60e51b81526004016108b99061464e565b886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561246c57600080fd5b505afa158015612480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124a491908101906138b5565b8311156124c35760405162461bcd60e51b81526004016108b9906146ae565b604051806101a001604052808c8152602001600360149054906101000a900463ffffffff1663ffffffff1681526020018d6001600160a01b031681526020018a6001600160a01b03168152602001898152602001888152602001876001600160a01b03168152602001868152602001858152602001848152602001838152602001600060405190808252806020026020018201604052801561256f578160200160208202803883390190505b50815260200160006040519080825280602002602001820160405280156125a0578160200160208202803883390190505b5090526001600160801b03198b1660009081526004602090815260409182902083518155838201516001820180549486015163ffffffff1990951663ffffffff90921691909117640100000000600160c01b031916600160201b6001600160a01b039586160217905560608401516002820180546001600160a01b03191691909416179092556080830151805161263d926003850192019061307a565b5060a0820151805161265991600484019160209091019061307a565b5060c08201516005820180546001600160a01b0319166001600160a01b0390921691909117905560e082015160068201556101008201516007820155610120820151600882015561014082015180516126bc91600984019160209091019061307a565b5061016082015180516126d991600a8401916020909101906130f8565b5061018082015180516126f691600b8401916020909101906130f8565b509050508960066000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160801b03021916908360801c0217905550600760008d6001600160a01b03166001600160a01b031681526020019081526020016000208a908060018154018082558091505090600182039060005260206000209060029182820401919006601002909192909190916101000a8154816001600160801b03021916908360801c02179055505060058a908060018154018082558091505090600182039060005260206000209060029182820401919006601002909192909190916101000a8154816001600160801b03021916908360801c021790555050600360149054906101000a900463ffffffff16600101600360146101000a81548163ffffffff021916908363ffffffff160217905550896001600160801b0319167fe3ce82684bff0ae57c32d641ba9125e18cd31346398d4d3e1b3c809b4a8523ca8c600360149054906101000a900463ffffffff168f8d8d8d8d8d8d8d6040516128979a99989796959493929190614747565b60405180910390a2505050505050505050505050565b6128be60008263ffffffff61302e16565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b60025460405163022b92c360e21b815260009182916001600160a01b03909116906308ae4b0c9061292a908b90600401614349565b60006040518083038186803b15801561294257600080fd5b505afa158015612956573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261297e91908101906138d3565b5093506001925061298d915050565b81600581111561299957fe5b146129b65760405162461bcd60e51b81526004016108b9906145ce565b6001600160801b03198616600090815260046020526040902060010154600160201b90046001600160a01b03166129ff5760405162461bcd60e51b81526004016108b99061462e565b6001600160801b031986166000908152600460205260409020600101546001600160a01b03898116600160201b909204161415612a4e5760405162461bcd60e51b81526004016108b9906146ce565b60ff851660011480612a63575060ff85166002145b80612a71575060ff85166003145b612a8d5760405162461bcd60e51b81526004016108b99061456e565b600060ff861660011480612aa4575060ff86166003145b15612b19576001600160801b0319871660009081526004602090815260408083206001600160a01b038d168452600c0190915290205460ff1615612afa5760405162461bcd60e51b81526004016108b99061466e565b6001600160801b03198716600090815260046020526040902060060154015b60ff861660021480612b2e575060ff86166003145b15612ba3576001600160801b0319871660009081526004602090815260408083206001600160a01b038d168452600d0190915290205460ff1615612b845760405162461bcd60e51b81526004016108b9906145fe565b6001600160801b03198716600090815260046020526040902060070154015b8015612cc857600060046000896001600160801b0319166001600160801b031916815260200190815260200160002060020160009054906101000a90046001600160a01b03166001600160a01b03166323b872dd8b600460008c6001600160801b0319166001600160801b031916815260200190815260200160002060010160049054906101000a90046001600160a01b0316856040518463ffffffff1660e01b8152600401612c5593929190614372565b602060405180830381600087803b158015612c6f57600080fd5b505af1158015612c83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ca791908101906135fa565b905080612cc65760405162461bcd60e51b81526004016108b99061467e565b505b60ff861660011480612cdd575060ff86166003145b15612e08576040805160a0810182528981526001600160801b031989166000908152600460209081528382206006015481840152828401899052606083018890528351828152908101909352909160808301915090526001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600c0182529182902083518155838201516001820155918301518051612d87926002850192019061307a565b5060608201518051612da391600384019160209091019061307a565b5060808201518051612dbf9160048401916020909101906130f8565b5050506001600160801b0319871660009081526004602090815260408220600a01805460018101825590835291200180546001600160a01b0319166001600160a01b038b161790555b60ff861660021480612e1d575060ff86166003145b15612f48576040805160a0810182528981526001600160801b031989166000908152600460209081528382206007015481840152828401899052606083018890528351828152908101909352909160808301915090526001600160801b0319881660009081526004602090815260408083206001600160a01b038e168452600d0182529182902083518155838201516001820155918301518051612ec7926002850192019061307a565b5060608201518051612ee391600384019160209091019061307a565b5060808201518051612eff9160048401916020909101906130f8565b5050506001600160801b0319871660009081526004602090815260408220600b01805460018101825590835291200180546001600160a01b0319166001600160a01b038b161790555b866001600160801b0319167f7c37cc18b0d70854a11abeed873f3c5dea809a2b3522ff30f58ba8e6a04cdc7b8a888b858a604051612f8a95949392919061448b565b60405180910390a298975050505050505050565b60006001600160a01b038216612fc65760405162461bcd60e51b81526004016108b99061461e565b506001600160a01b03166000908152602091909152604090205460ff1690565b612ff08282612f9e565b61300c5760405162461bcd60e51b81526004016108b9906145ee565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6130388282612f9e565b156130555760405162461bcd60e51b81526004016108b99061452e565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130bb57805160ff19168380011785556130e8565b828001600101855582156130e8579182015b828111156130e85782518255916020019190600101906130cd565b506130f4929150613159565b5090565b82805482825590600052602060002090810192821561314d579160200282015b8281111561314d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613118565b506130f4929150613173565b61069d91905b808211156130f4576000815560010161315f565b61069d91905b808211156130f45780546001600160a01b0319168155600101613179565b803561054c8161498b565b805161054c8161498b565b803561054c8161499f565b805161054c8161499f565b803561054c816149a8565b600082601f8301126131df57600080fd5b81516131f26131ed826148c8565b6148a2565b9150808252602083016020830185838301111561320e57600080fd5b613219838284614951565b50505092915050565b600082601f83011261323357600080fd5b81356132416131ed826148c8565b9150808252602083016020830185838301111561325d57600080fd5b613219838284614945565b803561054c816149b1565b805161054c816149be565b803561054c816149cb565b805161054c816149cb565b805161054c816149d4565b803561054c816149dd565b6000602082840312156132bc57600080fd5b6000611c0d8484613197565b6000602082840312156132da57600080fd5b6000611c0d84846131a2565b600080604083850312156132f957600080fd5b60006133058585613197565b92505060206133168582860161327e565b9150509250929050565b60008060008060008060008060008060006101608c8e03121561334257600080fd5b600061334e8e8e613197565b9b5050602061335f8e828f0161327e565b9a505060406133708e828f016131c3565b99505060606133818e828f01613197565b98505060808c01356001600160401b0381111561339d57600080fd5b6133a98e828f01613222565b97505060a08c01356001600160401b038111156133c557600080fd5b6133d18e828f01613222565b96505060c06133e28e828f01613197565b95505060e06133f38e828f0161327e565b9450506101006134058e828f0161327e565b9350506101206134178e828f0161327e565b9250506101408c01356001600160401b0381111561343457600080fd5b6134408e828f01613222565b9150509295989b509295989b9093969950565b60008060008060008060008060006101208a8c03121561347257600080fd5b600061347e8c8c613197565b995050602061348f8c828d0161327e565b98505060406134a08c828d016131c3565b97505060606134b18c828d01613197565b96505060806134c28c828d0161329f565b95505060a06134d38c828d016131c3565b94505060c06134e48c828d016131ad565b93505060e08a01356001600160401b0381111561350057600080fd5b61350c8c828d01613222565b9250506101008a01356001600160401b0381111561352957600080fd5b6135358c828d01613222565b9150509295985092959850929598565b60008060008060008060c0878903121561355e57600080fd5b600061356a8989613197565b965050602061357b89828a0161327e565b955050604061358c89828a016131c3565b945050606061359d89828a0161329f565b93505060808701356001600160401b038111156135b957600080fd5b6135c589828a01613222565b92505060a08701356001600160401b038111156135e157600080fd5b6135ed89828a01613222565b9150509295509295509295565b60006020828403121561360c57600080fd5b6000611c0d84846131b8565b60006020828403121561362a57600080fd5b6000611c0d84846131c3565b6000806040838503121561364957600080fd5b600061365585856131c3565b925050602061331685828601613197565b60008060006060848603121561367b57600080fd5b600061368786866131c3565b935050602061369886828701613197565b92505060406136a986828701613268565b9150509250925092565b600080600080600080600080610100898b0312156136d057600080fd5b60006136dc8b8b6131c3565b98505060206136ed8b828c01613197565b97505060408901356001600160401b0381111561370957600080fd5b6137158b828c01613222565b96505060608901356001600160401b0381111561373157600080fd5b61373d8b828c01613222565b955050608061374e8b828c01613197565b94505060a061375f8b828c0161327e565b93505060c06137708b828c0161327e565b92505060e06137818b828c0161327e565b9150509295985092959890939650565b6000806000606084860312156137a657600080fd5b60006137b286866131c3565b93505060206137c386828701613197565b92505060406136a98682870161329f565b60008060008060008060c087890312156137ed57600080fd5b60006137f989896131c3565b965050602061380a89828a01613197565b955050604061381b89828a0161329f565b945050606061382c89828a016131c3565b93505060806135c589828a016131ad565b60008060006060848603121561385257600080fd5b600061385e86866131c3565b935050602061386f8682870161329f565b92505060408401356001600160401b0381111561388b57600080fd5b6136a986828701613222565b6000602082840312156138a957600080fd5b6000611c0d848461327e565b6000602082840312156138c757600080fd5b6000611c0d8484613289565b600080600080600060a086880312156138eb57600080fd5b60006138f78888613289565b95505060208601516001600160401b0381111561391357600080fd5b61391f888289016131ce565b94505060408601516001600160401b0381111561393b57600080fd5b613947888289016131ce565b935050606061395888828901613273565b92505060808601516001600160401b0381111561397457600080fd5b613980888289016131ce565b9150509295509295909350565b60008060008060008060c087890312156139a657600080fd5b60006139b28989613289565b96505060206139c389828a01613294565b95505060406139d489828a016131a2565b94505060608701516001600160401b038111156139f057600080fd5b6139fc89828a016131ce565b93505060808701516001600160401b03811115613a1857600080fd5b613a2489828a016131ce565b92505060a08701516001600160401b03811115613a4057600080fd5b6135ed89828a016131ce565b6000613a588383613a60565b505060200190565b613a6981614902565b82525050565b6000613a7a826148f5565b613a8481856148f9565b9350613a8f836148ef565b8060005b83811015613abd578151613aa78882613a4c565b9750613ab2836148ef565b925050600101613a93565b509495945050505050565b613a698161490d565b613a6981614912565b6000613ae5826148f5565b613aef81856148f9565b9350613aff818560208601614951565b613b0881614981565b9093019392505050565b613a698161493a565b6000613b286014836148f9565b73534552564943455f5052454649585f454d50545960601b815260200192915050565b6000613b58601f836148f9565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000613b91600c836148f9565b6b24a72b20a624a22fa1a7a4a760a11b815260200192915050565b6000613bb96018836148f9565b7f494e56414c49445f4348414e4e454c5f44454c45474154450000000000000000815260200192915050565b6000613bf26015836148f9565b744d41524b45545f414c52454144595f45584953545360581b815260200192915050565b6000613c236012836148f9565b71494e56414c49445f4143544f525f5459504560701b815260200192915050565b6000613c516026836148f9565b7f4d414b45525f414c52454144595f574f524b494e475f464f525f4f544845525f81526513505492d15560d21b602082015260400192915050565b6000613c99600f836148f9565b6e4e4f5f535543485f434154414c4f4760881b815260200192915050565b6000613cc4601f836148f9565b7f494e56414c49445f4d41524b45545f4352454154455f5349474e415455524500815260200192915050565b6000613cfd600d836148f9565b6c24a72b20a624a22fa6a0a5a2a960991b815260200192915050565b6000613d26601f836148f9565b7f494e56414c49445f524547495354455245445f424c4f434b5f4e554d42455200815260200192915050565b6000613d5f6013836148f9565b7229a2a72222a92fa727aa2fa0afa6a2a6a122a960691b815260200192915050565b6000613d8e601d836148f9565b7f494e56414c49445f4d41524b45545f4a4f494e5f5349474e4154555245000000815260200192915050565b6000613dc76021836148f9565b7f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c8152606560f81b602082015260400192915050565b6000613e0a601a836148f9565b7f414c52454144595f4a4f494e45445f41535f434f4e53554d4552000000000000815260200192915050565b6000613e43601c836148f9565b7f494e56414c49445f435245415445445f424c4f434b5f4e554d42455200000000815260200192915050565b6000613e7c6022836148f9565b7f526f6c65733a206163636f756e7420697320746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000613ec0600e836148f9565b6d1393d7d4d550d217d3505492d15560921b815260200192915050565b6000613eea6013836148f9565b7226a2a6a122a92fa727aa2fa1a7a729aaa6a2a960691b815260200192915050565b6000613f196019836148f9565b7f494e56414c49445f434f4e53554d45525f534543555249545900000000000000815260200192915050565b6000613f526019836148f9565b7f494e56414c49445f434f4e53454e545f5349474e415455524500000000000000815260200192915050565b6000613f8b601a836148f9565b7f414c52454144595f4a4f494e45445f41535f50524f5649444552000000000000815260200192915050565b6000613fc46020836148f9565b7f4a4f494e5f4d41524b45545f5452414e534645525f46524f4d5f4641494c4544815260200192915050565b600061054c6000836148f9565b600061400a601c836148f9565b7f494e56414c49445f434f4e53454e545f424c4f434b5f4e554d42455200000000815260200192915050565b60006140436012836148f9565b71494e56414c49445f4d41524b45545f46454560701b815260200192915050565b60006140716019836148f9565b7f494e56414c49445f50524f56494445525f534543555249545900000000000000815260200192915050565b60006140aa600f836148f9565b6e29a2a72222a92fa4a9afa7aba722a960891b815260200192915050565b60006140d56013836148f9565b7226a2a6a122a92fa727aa2fa82927ab24a222a960691b815260200192915050565b805160009061014084019061410c858261432e565b50602083015161411f6020860182613a60565b5060408301516141326040860182613a60565b506060830151614145606086018261432e565b5060808301516141586080860182613ad1565b5060a083015161416b60a0860182613a60565b5060c083015161417e60c0860182614340565b5060e083015161419160e0860182613ad1565b506101008301516141a6610100860182613ac8565b506101208301518482036101208601526141c08282613ada565b95945050505050565b80516000906101408401906141de858261432e565b5060208301516141f16020860182613a60565b5060408301516142046040860182613a60565b506060830151614217606086018261432e565b50608083015161422a6080860182613ad1565b5060a083015161423d60a0860182613a60565b5060c083015184820360c08601526142558282613ada565b91505060e083015184820360e086015261426f8282613ada565b915050610100830151614286610100860182613a60565b5061012083015161429b61012086018261432e565b509392505050565b805160009060e08401906142b7858261432e565b5060208301516142ca6020860182613a60565b5060408301516142dd6040860182613a60565b5060608301516142f0606086018261432e565b5060808301516143036080860182613ad1565b5060a083015161431660a0860182614340565b5060c083015184820360c08601526141c08282613ada565b613a698161069d565b613a698161492b565b613a6981614934565b6020810161054c8284613a60565b604081016143658285613a60565b6106926020830184613a60565b606081016143808286613a60565b61438d6020830185613a60565b611c0d604083018461432e565b606081016143a88286613a60565b81810360208301526143ba81856140f7565b905081810360408301526141c08184613ada565b606081016143dc8286613a60565b81810360208301526143ba81856141c9565b606081016143fc8286613a60565b81810360208301526143ba81856142a3565b610100810161441d828b613a60565b61442a602083018a61432e565b6144376040830189613ad1565b6144446060830188613a60565b6144516080830187614340565b61445e60a0830186613ad1565b61446b60c0830185613ac8565b81810360e083015261447d8184613ada565b9a9950505050505050505050565b60a081016144998288613a60565b6144a66020830187614340565b6144b3604083018661432e565b6144c0606083018561432e565b8181036080830152611ade8184613ada565b602080825281016106928184613a6f565b6020810161054c8284613ac8565b6020810161054c8284613ad1565b6020810161054c8284613b12565b602080825281016106928184613ada565b6020808252810161054c81613b1b565b6020808252810161054c81613b4b565b6020808252810161054c81613b84565b6020808252810161054c81613bac565b6020808252810161054c81613be5565b6020808252810161054c81613c16565b6020808252810161054c81613c44565b6020808252810161054c81613c8c565b6020808252810161054c81613cb7565b6020808252810161054c81613cf0565b6020808252810161054c81613d19565b6020808252810161054c81613d52565b6020808252810161054c81613d81565b6020808252810161054c81613dba565b6020808252810161054c81613dfd565b6020808252810161054c81613e36565b6020808252810161054c81613e6f565b6020808252810161054c81613eb3565b6020808252810161054c81613edd565b6020808252810161054c81613f0c565b6020808252810161054c81613f45565b6020808252810161054c81613f7e565b6020808252810161054c81613fb7565b6020808252810161054c81613ff0565b6020808252810161054c81613ffd565b6020808252810161054c81614036565b6020808252810161054c81614064565b6020808252810161054c8161409d565b6020808252810161054c816140c8565b6020810161054c828461432e565b6080810161470a828761432e565b614717602083018661432e565b81810360408301526147298185613ada565b9050818103606083015261473d8184613ada565b9695505050505050565b6101408101614756828d61432e565b614763602083018c614337565b614770604083018b613a60565b61477d606083018a613a60565b818103608083015261478f8189613ada565b905081810360a08301526147a38188613ada565b90506147b260c0830187613a60565b6147bf60e083018661432e565b6147cd61010083018561432e565b6147db61012083018461432e565b9b9a5050505050505050505050565b61016081016147f9828e61432e565b614806602083018d614337565b614813604083018c613a60565b614820606083018b613a60565b8181036080830152614832818a613ada565b905081810360a08301526148468189613ada565b905061485560c0830188613a60565b61486260e083018761432e565b61487061010083018661432e565b61487e61012083018561432e565b8181036101408301526148918184613ada565b9d9c50505050505050505050505050565b6040518181016001600160401b03811182821017156148c057600080fd5b604052919050565b60006001600160401b038211156148de57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061054c8261491f565b151590565b6001600160801b03191690565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b600061054c82614902565b82818337506000910152565b60005b8381101561496c578181015183820152602001614954565b8381111561497b576000848401525b50505050565b601f01601f191690565b61499481614902565b8114610b3257600080fd5b6149948161490d565b61499481614912565b60048110610b3257600080fd5b60068110610b3257600080fd5b6149948161069d565b6149948161492b565b6149948161493456fea365627a7a723158206eaf1c9aa4721fb81645d0f149faa1d05611f947163519322df2b81c29c7a7b56c6578706572696d656e74616cf564736f6c63430005100040", "sourceMap": "1362:27603:4:-;;;2919:4;2865:58;;3251:28;;;-1:-1:-1;;;;3251:28:4;-1:-1:-1;;;3251:28:4;;;3852:151;5:2:-1;;;;30:1;27;20:12;5:2;3852:151:4;;;;;;;;;;;;;;;;;;;;;1843:26:3;1858:10;-1:-1:-1;;;;;1843:14:3;:26;:::i;:::-;3922:7:4;:32;;-1:-1:-1;;;;;3922:32:4;;;-1:-1:-1;;;;;;3922:32:4;;;;;;;3964:7;:32;;;;;;;;;;;1362:27603;;2784:131:3;2845:24;2861:7;2845:11;:15;;;;;;:24;;;;:::i;:::-;2884;;-1:-1:-1;;;;;2884:24:3;;;;;;;;2784:131;:::o;260:175:11:-;337:18;341:4;347:7;-1:-1:-1;;;;;337:3:11;:18;:::i;:::-;336:19;328:63;;;;-1:-1:-1;;;328:63:11;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o;779:200::-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;-1:-1:-1;;;;;;952:20:11;;:11;:20;;;;;;;;;;;;;779:200;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;;146:399;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;;;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;;;455:74;;426:109;240:305;;;;;;553:331;;713:67;777:2;772:3;713:67;;;813:33;793:54;;875:2;866:12;;699:185;-1:-1;;699:185;893:371;;1053:67;1117:2;1112:3;1053:67;;;1153:34;1133:55;;-1:-1;;;1217:2;1208:12;;1201:26;1255:2;1246:12;;1039:225;-1:-1;;1039:225;1272:407;1463:2;1477:47;;;1448:18;;1538:131;1448:18;1538:131;;1686:407;1877:2;1891:47;;;1862:18;;1952:131;1862:18;1952:131;;2101:163;2204:19;;;2253:4;2244:14;;2197:67;2272:91;;-1:-1;;;;;2432:54;;2334:24;2415:76;2498:117;2567:24;2585:5;2567:24;;;2560:5;2557:35;2547:2;;2606:1;2603;2596:12;2547:2;2541:74;;;1362:27603:4;;;;;;", "deployedSourceMap": "1362:27603:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1362:27603:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3098:25;;;:::i;:::-;;;;;;;;;;;;;;;;3511:49;;;;;;;;;:::i;:::-;;;;;;;;27194:175;;;;;;;;;:::i;:::-;;;;;;;;3618:51;;;;;;;;;:::i;2694:84:3:-;;;:::i;:::-;;25026:123:4;;;;;;;;;:::i;:::-;;;;;;;;24392:564;;;;;;;;;:::i;:::-;;;;;;;;23023:91;;;:::i;7234:992::-;;;;;;;;;:::i;27675:174::-;;;;;;;;;:::i;23416:119::-;;;;;;;;;:::i;:::-;;;;;;;;2998:25;;;:::i;23612:117::-;;;;;;;;;:::i;2533:103:3:-;;;;;;;;;:::i;3436:26:4:-;;;;;;;;;:::i;26385:147::-;;;;;;;;;:::i;2865:58::-;;;:::i;20085:2883::-;;;;;;;;;:::i;25255:925::-;;;;;;;;;:::i;:::-;;;;;;;;;;;28775:188;;;;;;;;;:::i;28219:190::-;;;;;;;;;:::i;3335:50::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;24002:119;;;;;;;;;:::i;17443:303::-;;;;;;;;;:::i;23824:121::-;;;;;;;;;:::i;12396:795::-;;;;;;;;;:::i;5224:353::-;;;;;;;;;:::i;2268:115:3:-;;;;;;;;;:::i;26737:147:4:-;;;;;;;;;:::i;24182:136::-;;;;;;;;;:::i;11371:194::-;;;;;;;;;:::i;19125:954::-;;;;;;;;;:::i;3098:25::-;;;-1:-1:-1;;;;;3098:25:4;;:::o;3511:49::-;;;;;;;;;;;;;;;:::o;27194:175::-;-1:-1:-1;;;;;;27314:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;27314:39:4;;;;:32;;:39;;;;;;:48;;;27307:55;;;;;;;;;;;;;;;;;27279:16;;27307:55;;;27314:48;27307:55;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27307:55:4;;;;;;;;;;;;;;;;;;;;;;;27194:175;;;;;:::o;3618:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2694:84:3:-;2742:29;2760:10;2742:17;:29::i;:::-;2694:84::o;25026:123:4:-;-1:-1:-1;;;;;25114:21:4;25091:4;25114:21;;;:14;:21;;;;;:28;;25026:123::o;24392:564::-;-1:-1:-1;;;;;;24513:17:4;;24493:4;24513:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;24513:23:4;;-1:-1:-1;;;;;24513:23:4;24509:441;;-1:-1:-1;24573:5:4;24566:12;;24509:441;24627:27;24613:9;:41;;;;;;;;;24609:331;;;-1:-1:-1;;;;;;;24681:17:4;;24730:1;24681:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;24681:39:4;;;;:32;;:39;;;;;:46;:50;;24674:57;;24609:331;24770:27;24756:9;:41;;;;;;;;;24752:188;;;-1:-1:-1;;;;;;;24824:17:4;;24873:1;24824:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;24824:39:4;;;;:32;;:39;;;;;:46;:50;;24817:57;;24752:188;-1:-1:-1;24920:5:4;24752:188;24392:564;;;;;:::o;23023:91::-;23091:9;:16;23023:91;;:::o;7234:992::-;7518:8;:15;7534:6;7542:158;;;;;;;;7570:7;;;;;;;;;-1:-1:-1;;;;;7570:7:4;-1:-1:-1;;;;;7570:22:4;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7570:24:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7570:24:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7570:24:4;;;;;;;;;7542:158;;7596:7;;:27;;;-1:-1:-1;;;7596:27:4;;;;7542:158;;;;;-1:-1:-1;;;;;7596:7:4;;;;:25;;:27;;;;;;;;;;;:7;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;7596:27:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7596:27:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7596:27:4;;;;;;;;;-1:-1:-1;;;;;7542:158:4;;;;;7637:6;-1:-1:-1;;;;;7542:158:4;;;;;7645:7;7542:158;;;;7654:8;-1:-1:-1;;;;;7542:158:4;;;;;;7664:4;-1:-1:-1;;;;;7542:158:4;;;;;7670:5;7542:158;;;;7677:4;7542:158;;;;7683:5;-1:-1:-1;;;;;7542:158:4;;;;;7690:9;7542:158;;;7702:9;7518:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7518:194:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7518:194:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7518:194:4;;;;;;;;;7510:250;;;;-1:-1:-1;;;7510:250:4;;;;;;;;;;;;;;;;;7899:12;7888:7;:23;;:151;;;;;7932:7;;;;;;;;;-1:-1:-1;;;;;7932:7:4;-1:-1:-1;;;;;7932:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7932:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7932:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7932:31:4;;;;;;;;;7916:12;:47;;:122;;;;8006:7;;;;;;;;;-1:-1:-1;;;;;8006:7:4;-1:-1:-1;;;;;8006:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8006:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8006:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8006:31:4;;;;;;;;;7991:12;:46;7979:7;:59;;7916:122;7880:192;;;;-1:-1:-1;;;7880:192:4;;;;;;;;;8083:136;8097:6;8105:7;8114:8;8124:4;8130:5;8137:4;8143:5;8162:16;8180;8198:9;8209;8083:13;:136::i;:::-;7234:992;;;;;;;;;;;:::o;27675:174::-;-1:-1:-1;;;;;;27794:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;27794:39:4;;;;:32;;:39;;;;;;:48;;;27787:55;;;;;;;;;;;;;;;;;27759:16;;27787:55;;;27794:48;27787:55;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27787:55:4;;;;;;;;;;;;;;;;;;;;;;27675:174;;;;:::o;23416:119::-;-1:-1:-1;;;;;;23505:17:4;23479:7;23505:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;23505:23:4;;-1:-1:-1;;;;;23505:23:4;;23416:119::o;2998:25::-;;;-1:-1:-1;;;;;2998:25:4;;:::o;23612:117::-;-1:-1:-1;;;;;;23700:17:4;23674:7;23700:17;;;:7;:17;;;;;:22;;;-1:-1:-1;;;;;23700:22:4;;23612:117::o;2533:103:3:-;2020:24;2033:10;2020:12;:24::i;:::-;2012:33;;;;;;2606:23;2621:7;2606:14;:23::i;:::-;2533:103;:::o;3436:26:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26385:147::-;-1:-1:-1;;;;;;26490:17:4;;;;;;:7;:17;;;;;;;;;:35;;26483:42;;;;;;;;;;;;;;;;;26455:16;;26483:42;;;26490:35;26483:42;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26483:42:4;;;;;;;;;;;;;;;;;;;;;;;26385:147;;;:::o;2865:58::-;;;;:::o;20085:2883::-;20363:7;;:23;;-1:-1:-1;;;20363:23:4;;20324:33;;-1:-1:-1;;;;;20363:7:4;;:15;;:23;;20379:6;;20363:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20363:23:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20363:23:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;20363:23:4;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;20363:23:4;;;;;;;;;-1:-1:-1;20317:69:4;-1:-1:-1;20479:27:4;;-1:-1:-1;20463:43:4;;-1:-1:-1;;20463:43:4;;:12;:43;;;;;;;;;20455:75;;;;-1:-1:-1;;;20455:75:4;;;;;;;;;-1:-1:-1;;;;;;20582:17:4;;20617:1;20582:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;20582:23:4;;-1:-1:-1;;;;;20582:23:4;20574:64;;;;-1:-1:-1;;;20574:64:4;;;;;;;;;20752:50;;;20774:27;20752:50;;:120;;-1:-1:-1;20822:50:4;;;20844:27;20822:50;20752:120;:199;;;-1:-1:-1;20892:59:4;;;20914:36;20892:59;20752:199;20744:230;;;;-1:-1:-1;;;20744:230:4;;;;;;;;;20989:50;;;21011:27;20989:50;;:113;;-1:-1:-1;21043:59:4;;;21065:36;21043:59;20989:113;20985:300;;;-1:-1:-1;;;;;;21197:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;21197:40:4;;;;:32;;:40;;;;;:47;21191:59;;21183:91;;;;-1:-1:-1;;;21183:91:4;;;;;;;;;21299:50;;;21321:27;21299:50;;:113;;-1:-1:-1;21353:59:4;;;21375:36;21353:59;21299:113;21295:300;;;-1:-1:-1;;;;;;21507:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;21507:40:4;;;;:32;;:40;;;;;:47;21501:59;;21493:91;;;;-1:-1:-1;;;21493:91:4;;;;;;;;;-1:-1:-1;;;;;21707:22:4;;21699:59;;;;-1:-1:-1;;;21699:59:4;;;;;;;;;21840:7;;:28;;-1:-1:-1;;;21840:28:4;;21804:22;;-1:-1:-1;;;;;21840:7:4;;:16;;:28;;21857:10;;21840:28;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21840:28:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21840:28:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;21840:28:4;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;21840:28:4;;;;;;;;;21803:65;;;;;;;21886:14;21904:1;21886:19;;21878:47;;;;-1:-1:-1;;;21878:47:4;;;;;;;;;22036:14;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;22036:14:4;;;22026:25;;;;;;22007:13;21996:25;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;21996:25:4;;;21986:36;;;;;;:65;;21978:98;;;;-1:-1:-1;;;21978:98:4;;;;;;;;;22144:50;;;22166:27;22144:50;;:113;;-1:-1:-1;22198:59:4;;;22220:36;22198:59;22144:113;22140:296;;;22348:77;;;;;;;;22382:7;22348:77;;;;22391:7;22348:77;;;;;;22400:13;22348:77;;;;22415:9;22348:77;;;22273:7;:17;22281:8;-1:-1:-1;;;;;22273:17:4;;-1:-1:-1;;;;;22273:17:4;;;;;;;;;;;;;:32;;:40;22306:6;-1:-1:-1;;;;;22273:40:4;-1:-1:-1;;;;;22273:40:4;;;;;;;;;;;;:50;;:60;22324:8;-1:-1:-1;;;;;22273:60:4;-1:-1:-1;;;;;22273:60:4;;;;;;;;;;;;:72;22334:10;-1:-1:-1;;;;;22273:72:4;;-1:-1:-1;;;;;22273:72:4;;;;;;;;;;;;;:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22273:152:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;22140:296:4;22503:50;;;22525:27;22503:50;;:113;;-1:-1:-1;22557:59:4;;;22579:36;22557:59;22503:113;22499:296;;;22707:77;;;;;;;;22741:7;22707:77;;;;22750:7;22707:77;;;;;;22759:13;22707:77;;;;22774:9;22707:77;;;22632:7;:17;22640:8;-1:-1:-1;;;;;22632:17:4;;-1:-1:-1;;;;;22632:17:4;;;;;;;;;;;;;:32;;:40;22665:6;-1:-1:-1;;;;;22632:40:4;-1:-1:-1;;;;;22632:40:4;;;;;;;;;;;;:50;;:60;22683:8;-1:-1:-1;;;;;22632:60:4;-1:-1:-1;;;;;22632:60:4;;;;;;;;;;;;:72;22693:10;-1:-1:-1;;;;;22632:72:4;;-1:-1:-1;;;;;22632:72:4;;;;;;;;;;;;;:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22632:152:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;22499:296:4;22864:97;22875:6;22883:7;22892:8;22902;22912:12;22926:10;22938:7;22947:13;22864:97;;;;;;;;;;;;;;;;;;;;;;20085:2883;;;;;;;;;;;:::o;25255:925::-;-1:-1:-1;;;;;;25458:17:4;;25359:4;25458:17;;;:7;:17;;;;;:23;;;25359:4;;25374:13;;;;-1:-1:-1;;;25458:23:4;;-1:-1:-1;;;;;25458:23:4;25450:64;;;;-1:-1:-1;;;25450:64:4;;;;;;;;;25607:47;;;25626:27;25607:47;;:114;;-1:-1:-1;25674:47:4;;;25693:27;25674:47;25607:114;25599:145;;;;-1:-1:-1;;;25599:145:4;;;;;;;;;25759:47;;;25778:27;25759:47;25755:419;;;-1:-1:-1;;;;;;25854:17:4;;25822:29;25854:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;25854:39:4;;;;:32;;:39;;;;;;25915:13;;25930:15;;;;;25947:11;;;;25907:70;;;;;;;;;;-1:-1:-1;;25907:70:4;;;;;;;;;;;;;;;;;;;;;;;;25854:39;;25915:13;;25930:15;;25947:11;25960:16;;;;25907:70;25947:11;;25907:70;;;25947:11;25907:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25907:70:4;;;;;;;;;;;;;-1:-1:-1;;25907:70:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25907:70:4;;-1:-1:-1;25907:70:4;-1:-1:-1;25907:70:4;;;-1:-1:-1;25907:70:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25755:419;-1:-1:-1;;;;;;26040:17:4;;26008:29;26040:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;26040:39:4;;;;:32;;:39;;;;;;26101:13;;26116:15;;;;;26133:11;;;;26093:70;;;;;;;;;;-1:-1:-1;;26093:70:4;;;;;;;;;;;;;;;;;;;;;;;;26040:39;;26101:13;;26116:15;;26133:11;26146:16;;;;26093:70;26133:11;;26093:70;;;26133:11;26093:70;;;;;;;;;;;;;;;;;;;;;;;;25755:419;25255:925;;;;;;;:::o;28775:188::-;-1:-1:-1;;;;;;28898:17:4;;;;28872:7;28898:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;28898:58:4;;;;;:48;;:58;;;;;;;;28775:188::o;28219:190::-;-1:-1:-1;;;;;;28343:17:4;;;;28317:7;28343:17;;;:7;:17;;;;;;;;-1:-1:-1;;;;;28343:59:4;;;;;:49;;:59;;;;;;;;28219:190::o;3335:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3335:50:4;;;-1:-1:-1;;;;;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3335:50:4;;;;;;;;;;;;;;;;-1:-1:-1;;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3335:50:4;;;;;;-1:-1:-1;3335:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24002:119::-;-1:-1:-1;;;;;;24091:17:4;24065:7;24091:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;;;24091:23:4;;24002:119::o;17443:303::-;17616:123;17628:10;17640:12;17654:8;17664;17674:12;17700:10;17712:7;17721:13;17616:123;;;;;;;;;;;;:11;:123::i;:::-;17443:303;;;;;;:::o;23824:121::-;-1:-1:-1;;;;;;23911:17:4;23885:7;23911:17;;;:7;:17;;;;;:27;;;;23824:121::o;12396:795::-;12555:7;12583:8;:15;12599:6;12607:135;;;;;;;;12633:7;;;;;;;;;-1:-1:-1;;;;;12633:7:4;-1:-1:-1;;;;;12633:22:4;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12633:24:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12633:24:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12633:24:4;;;;;;;;;12607:135;;12659:7;;:27;;;-1:-1:-1;;;12659:27:4;;;;12607:135;;;;;-1:-1:-1;;;;;12659:7:4;;;;:25;;:27;;;;;;;;;;;:7;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;12659:27:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12659:27:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12659:27:4;;;;;;;;;-1:-1:-1;;;;;12607:135:4;;;;;12700:6;-1:-1:-1;;;;;12607:135:4;;;;;12708:6;12607:135;;;;12716:8;-1:-1:-1;;;;;12607:135:4;;;;;;12726:9;12607:135;;;;;;12737:4;12607:135;;;12744:9;12583:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12583:171:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12583:171:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12583:171:4;;;;;;;;;12575:213;;;;-1:-1:-1;;;12575:213:4;;;;;;;;;12926:12;12916:6;:22;;:149;;;;;12959:7;;;;;;;;;-1:-1:-1;;;;;12959:7:4;-1:-1:-1;;;;;12959:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12959:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12959:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12959:31:4;;;;;;;;;12943:12;:47;;:121;;;;13032:7;;;;;;;;;-1:-1:-1;;;;;13032:7:4;-1:-1:-1;;;;;13032:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13032:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13032:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13032:31:4;;;;;;;;;13017:12;:46;13006:6;:58;;12943:121;12908:193;;;;-1:-1:-1;;;12908:193:4;;;;;;;;;13119:65;13131:6;13139;13147:8;13157:9;13168:4;13174:9;13119:11;:65::i;:::-;13112:72;12396:795;-1:-1:-1;;;;;;;12396:795:4:o;5224:353::-;5432:138;5446:10;5458:12;5472:8;5482:4;5488:5;5495:4;5501:5;5520:16;5538;5556:9;5432:138;;;;;;;;;;;;:13;:138::i;:::-;5224:353;;;;;;;;:::o;2268:115:3:-;2329:4;2352:24;2329:4;2368:7;2352:24;:15;:24;:::i;26737:147:4:-;-1:-1:-1;;;;;;26842:17:4;;;;;;:7;:17;;;;;;;;;:35;;26835:42;;;;;;;;;;;;;;;;;26807:16;;26835:42;;;26842:35;26835:42;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26835:42:4;;;;;;;;;;;;;;;;;;;;;;26737:147;;;:::o;24182:136::-;-1:-1:-1;;;;;24283:21:4;;24257:7;24283:21;;;:14;:21;;;;;:28;;24305:5;;24283:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24276:35;;24182:136;;;;:::o;11371:194::-;11463:7;11490:68;11502:10;11514:12;11528:8;11538:9;11549:4;11490:68;;;;;;;;;;;;:11;:68::i;:::-;11483:75;11371:194;-1:-1:-1;;;;11371:194:4:o;19125:954::-;19367:8;:15;19383:6;19391:176;;;;;;;;19414:7;;;;;;;;;-1:-1:-1;;;;;19414:7:4;-1:-1:-1;;;;;19414:22:4;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19414:24:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19414:24:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19414:24:4;;;;;;;;;19391:176;;19440:7;;:27;;;-1:-1:-1;;;19440:27:4;;;;19391:176;;;;;-1:-1:-1;;;;;19440:7:4;;;;:25;;:27;;;;;;;;;;;:7;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;19440:27:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19440:27:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19440:27:4;;;;;;;;;-1:-1:-1;;;;;19391:176:4;;;;;19481:6;-1:-1:-1;;;;;19391:176:4;;;;;19489:7;19391:176;;;;19498:8;-1:-1:-1;;;;;19391:176:4;;;;;;19508:8;-1:-1:-1;;;;;19391:176:4;;;;;19518:12;19391:176;;;;;;19532:10;-1:-1:-1;;;;;19391:176:4;;;;;;19544:7;19391:176;;;;;;19553:13;19391:176;;;19569:9;19367:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19367:212:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19367:212:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19367:212:4;;;;;;;;;19359:262;;;;-1:-1:-1;;;19359:262:4;;;;;;;;;19760:12;19749:7;:23;;:151;;;;;19793:7;;;;;;;;;-1:-1:-1;;;;;19793:7:4;-1:-1:-1;;;;;19793:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19793:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19793:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19793:31:4;;;;;;;;;19777:12;:47;;:122;;;;19867:7;;;;;;;;;-1:-1:-1;;;;;19867:7:4;-1:-1:-1;;;;;19867:29:4;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19867:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19867:31:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19867:31:4;;;;;;;;;19852:12;:46;19840:7;:59;;19777:122;19741:192;;;;-1:-1:-1;;;19741:192:4;;;;;;;;;19951:121;19963:6;19971:7;19980:8;19990;20000:12;20026:10;20038:7;20047:13;20062:9;19951:11;:121::i;:::-;19125:954;;;;;;;;;:::o;2921:139:3:-;2985:27;:11;3004:7;2985:27;:18;:27;:::i;:::-;3027:26;;-1:-1:-1;;;;;3027:26:3;;;;;;;;2921:139;:::o;8232:2757:4:-;8553:7;;:23;;-1:-1:-1;;;8553:23:4;;8514:33;;-1:-1:-1;;;;;8553:7:4;;:15;;:23;;8569:6;;8553:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8553:23:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8553:23:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;8553:23:4;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;8553:23:4;;;;;;;;;-1:-1:-1;8507:69:4;-1:-1:-1;8678:27:4;;-1:-1:-1;8662:43:4;;-1:-1:-1;;8662:43:4;;:12;:43;;;;;;;;;:108;;;-1:-1:-1;8741:29:4;8725:12;:45;;;;;;;;;8662:108;8654:140;;;;-1:-1:-1;;;8654:140:4;;;;;;;;;-1:-1:-1;;;;;;8881:17:4;;8916:1;8881:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;8881:23:4;;-1:-1:-1;;;;;8881:23:4;:37;8873:71;;;;-1:-1:-1;;;8873:71:4;;;;;;;;;9150:7;;;;;;;;;-1:-1:-1;;;;;9150:7:4;-1:-1:-1;;;;;9150:13:4;;9164:4;9170:6;9150:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9150:27:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9150:27:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9150:27:4;;;;;;;;;:35;;9181:4;9150:35;;:84;;-1:-1:-1;9189:7:4;;9209:16;;;-1:-1:-1;;;9209:16:4;;;;-1:-1:-1;;;;;9189:7:4;;;;:13;;9203:4;;9189:7;;9209:14;;:16;;;;;;;;;;;;;;9189:7;9209:16;;;5:2:-1;;;;30:1;27;20:12;5:2;9209:16:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9209:16:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9209:16:4;;;;;;;;;9189:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9189:37:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9189:37:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9189:37:4;;;;;;;;;:45;;9230:4;9189:45;9150:84;9142:109;;;;-1:-1:-1;;;9142:109:4;;;;;;;;;-1:-1:-1;;;;;9354:19:4;;9346:45;;;;-1:-1:-1;;;9346:45:4;;;;;;;;;-1:-1:-1;;;;;9467:21:4;;9500:1;9467:21;;;:14;:21;;;;;;9492:10;9467:21;-1:-1:-1;;;;;;9467:35:4;;9459:86;;;;-1:-1:-1;;;9459:86:4;;;;;;;;;9711:4;-1:-1:-1;;;;;9704:24:4;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9704:26:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9704:26:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9704:26:4;;;;;;;;;9684:16;:46;;9651:109;;;;-1:-1:-1;;;9651:109:4;;;;;;;;;9926:4;-1:-1:-1;;;;;9919:24:4;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9919:26:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9919:26:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9919:26:4;;;;;;;;;9899:16;:46;;9866:109;;;;-1:-1:-1;;;9866:109:4;;;;;;;;;10101:4;-1:-1:-1;;;;;10094:24:4;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10094:26:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10094:26:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10094:26:4;;;;;;;;;10081:9;:39;;10055:88;;;;-1:-1:-1;;;10055:88:4;;;;;;;;;10216:175;;;;;;;;10232:7;10216:175;;;;10241:9;;;;;;;;;;;10216:175;;;;;;10252:6;-1:-1:-1;;;;;10216:175:4;;;;;10260:4;-1:-1:-1;;;;;10216:175:4;;;;;10266:5;10216:175;;;;10273:4;10216:175;;;;10279:5;-1:-1:-1;;;;;10216:175:4;;;;;10298:16;10216:175;;;;10316:16;10216:175;;;;10334:9;10216:175;;;;10345:9;10216:175;;;;10370:1;10356:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;10356:16:4;;10216:175;;;;10388:1;10374:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;10374:16:4;-1:-1:-1;10216:175:4;;-1:-1:-1;;;;;;10196:17:4;;;;;;:7;:17;;;;;;;;;:195;;;;;;;;;;;;;;;;;-1:-1:-1;;10196:195:4;;;;;;;;;;;-1:-1:-1;;;;;;10196:195:4;-1:-1:-1;;;;;;;;10196:195:4;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10196:195:4;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10196:195:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10196:195:4;;;;;;;;;-1:-1:-1;;;;;;10196:195:4;-1:-1:-1;;;;;10196:195:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10196:195:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10196:195:4;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;10479:8;10455:14;:21;10470:5;-1:-1:-1;;;;;10455:21:4;-1:-1:-1;;;;;10455:21:4;;;;;;;;;;;;;:32;;;;;-1:-1:-1;;;;;10455:32:4;;;;;;;;;;;;10551:14;:22;10566:6;-1:-1:-1;;;;;10551:22:4;-1:-1:-1;;;;;10551:22:4;;;;;;;;;;;;10579:8;10551:37;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10551:37:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10551:37:4;;;;;;;;;;;;;10636:9;10651:8;10636:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10636:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10636:24:4;;;;;;;;;;;;;10736:9;;;;;;;;;;;10748:1;10736:13;10724:9;;:25;;;;;;;;;;;;;;;;;;10860:8;-1:-1:-1;;;;;10846:136:4;;;10870:7;10879:9;;;;;;;;;;;10890:6;10898:4;10904:5;10911:4;10917:5;10936:16;10954;10972:9;10846:136;;;;;;;;;;;;;;;;;;;;;;;;8232:2757;;;;;;;;;;;;:::o;2784:131:3:-;2845:24;:11;2861:7;2845:24;:15;:24;:::i;:::-;2884;;-1:-1:-1;;;;;2884:24:3;;;;;;;;2784:131;:::o;13197:3344:4:-;13421:7;;:23;;-1:-1:-1;;;13421:23:4;;13355:7;;;;-1:-1:-1;;;;;13421:7:4;;;;:15;;:23;;13437:6;;13421:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13421:23:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13421:23:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;13421:23:4;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13421:23:4;;;;;;;;;-1:-1:-1;13375:69:4;-1:-1:-1;13537:27:4;;-1:-1:-1;13521:43:4;;-1:-1:-1;;13521:43:4;;:12;:43;;;;;;;;;13513:75;;;;-1:-1:-1;;;13513:75:4;;;;;;;;;-1:-1:-1;;;;;;13648:17:4;;13683:1;13648:17;;;:7;:17;;;;;:23;;;-1:-1:-1;;;13648:23:4;;-1:-1:-1;;;;;13648:23:4;13640:64;;;;-1:-1:-1;;;13640:64:4;;;;;;;;;-1:-1:-1;;;;;;13809:17:4;;;;;;:7;:17;;;;;:23;;;-1:-1:-1;;;;;13809:33:4;;;-1:-1:-1;;;13809:23:4;;;;:33;;13801:61;;;;-1:-1:-1;;;13801:61:4;;;;;;;;;13974:47;;;13993:27;13974:47;;:114;;-1:-1:-1;14041:47:4;;;14060:27;14041:47;13974:114;:190;;;-1:-1:-1;14108:56:4;;;14127:36;14108:56;13974:190;13966:221;;;;-1:-1:-1;;;13966:221:4;;;;;;;;;14274:16;14308:47;;;14327:27;14308:47;;:107;;-1:-1:-1;14359:56:4;;;14378:36;14359:56;14308:107;14304:371;;;-1:-1:-1;;;;;;14520:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;14520:40:4;;;;:32;;:40;;;;;:47;14514:59;;;14506:98;;;;-1:-1:-1;;;14506:98:4;;;;;;;;;-1:-1:-1;;;;;;14630:17:4;;;;;;:7;:17;;;;;:34;;;14618:46;14304:371;14689:47;;;14708:27;14689:47;;:107;;-1:-1:-1;14740:56:4;;;14759:36;14740:56;14689:107;14685:371;;;-1:-1:-1;;;;;;14901:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;14901:40:4;;;;:32;;:40;;;;;:47;14895:59;;;14887:98;;;;-1:-1:-1;;;14887:98:4;;;;;;;;;-1:-1:-1;;;;;;15011:17:4;;;;;;:7;:17;;;;;:34;;;14999:46;14685:371;15175:12;;15171:292;;15285:12;15307:7;:17;15315:8;-1:-1:-1;;;;;15307:17:4;;-1:-1:-1;;;;;15307:17:4;;;;;;;;;;;;;:22;;;;;;;;;;-1:-1:-1;;;;;15307:22:4;-1:-1:-1;;;;;15300:43:4;;15344:6;15352:7;:17;15360:8;-1:-1:-1;;;;;15352:17:4;;-1:-1:-1;;;;;15352:17:4;;;;;;;;;;;;;:23;;;;;;;;;;-1:-1:-1;;;;;15352:23:4;15377:8;15300:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15300:86:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15300:86:4;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15300:86:4;;;;;;;;;15285:101;;15408:7;15400:52;;;;-1:-1:-1;;;15400:52:4;;;;;;;;;15171:292;;15536:47;;;15555:27;15536:47;;:107;;-1:-1:-1;15587:56:4;;;15606:36;15587:56;15536:107;15532:336;;;15702:93;;;;;;;;;;;-1:-1:-1;;;;;;15725:17:4;;-1:-1:-1;15725:17:4;;;:7;15702:93;15725:17;;;;;;:34;;;15702:93;;;;;;;;;;;;;;;;15778:16;;;;;;;;;;;15702:93;;;;;;-1:-1:-1;15702:93:4;;-1:-1:-1;;;;;;15659:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;15659:40:4;;;;:32;;:40;;;;;;:136;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;15659:136:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;15659:136:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;15809:17:4;;;;;;:7;:17;;;;;;;:35;;27:10:-1;;39:1;23:18;;45:23;;15809:48:4;;;;;;;;-1:-1:-1;;;;;;15809:48:4;-1:-1:-1;;;;;15809:48:4;;;;;15532:336;15882:47;;;15901:27;15882:47;;:107;;-1:-1:-1;15933:56:4;;;15952:36;15933:56;15882:107;15878:336;;;16048:93;;;;;;;;;;;-1:-1:-1;;;;;;16071:17:4;;-1:-1:-1;16071:17:4;;;:7;16048:93;16071:17;;;;;;:34;;;16048:93;;;;;;;;;;;;;;;;16124:16;;;;;;;;;;;16048:93;;;;;;-1:-1:-1;16048:93:4;;-1:-1:-1;;;;;;16005:17:4;;;;;;:7;:17;;;;;;;;-1:-1:-1;;;;;16005:40:4;;;;:32;;:40;;;;;;:136;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;16005:136:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;16005:136:4;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;16155:17:4;;;;;;:7;:17;;;;;;;:35;;27:10:-1;;39:1;23:18;;45:23;;16155:48:4;;;;;;;;-1:-1:-1;;;;;;16155:48:4;-1:-1:-1;;;;;16155:48:4;;;;;15878:336;16407:8;-1:-1:-1;;;;;16395:64:4;;;16417:6;16425:9;16436:6;16444:8;16454:4;16395:64;;;;;;;;;;;;;;;;;;;16526:8;13197:3344;-1:-1:-1;;;;;;;;13197:3344:4:o;779:200:11:-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;-1:-1:-1;;;;;;952:20:11;:11;:20;;;;;;;;;;;;;;;779:200::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;-1:-1:-1;;;581:64:11;;;;;;;;;-1:-1:-1;;;;;655:20:11;678:5;655:20;;;;;;;;;;;:28;;-1:-1:-1;;655:28:11;;;510:180::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;-1:-1:-1;;;328:63:11;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o;1362:27603:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1362:27603:4;;;-1:-1:-1;1362:27603:4;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1362:27603:4;-1:-1:-1;;;;;1362:27603:4;;;;;;;;;;;-1:-1:-1;1362:27603:4;;;;;;;-1:-1:-1;1362:27603:4;;;-1:-1:-1;1362:27603:4;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1362:27603:4;;;;;;;5:130:-1;72:20;;97:33;72:20;97:33;;142:134;220:13;;238:33;220:13;238:33;;283:124;347:20;;372:30;347:20;372:30;;414:128;489:13;;507:30;489:13;507:30;;549:130;616:20;;641:33;616:20;641:33;;687:434;;795:3;788:4;780:6;776:17;772:27;762:2;;813:1;810;803:12;762:2;843:6;837:13;865:60;880:44;917:6;880:44;;;865:60;;;856:69;;945:6;938:5;931:21;981:4;973:6;969:17;1014:4;1007:5;1003:16;1049:3;1040:6;1035:3;1031:16;1028:25;1025:2;;;1066:1;1063;1056:12;1025:2;1076:39;1108:6;1103:3;1098;1076:39;;;755:366;;;;;;;;1130:440;;1231:3;1224:4;1216:6;1212:17;1208:27;1198:2;;1249:1;1246;1239:12;1198:2;1286:6;1273:20;1308:64;1323:48;1364:6;1323:48;;1308:64;1299:73;;1392:6;1385:5;1378:21;1428:4;1420:6;1416:17;1461:4;1454:5;1450:16;1496:3;1487:6;1482:3;1478:16;1475:25;1472:2;;;1513:1;1510;1503:12;1472:2;1523:41;1557:6;1552:3;1547;1523:41;;1578:158;1659:20;;1684:47;1659:20;1684:47;;1743:166;1837:13;;1855:49;1837:13;1855:49;;2812:130;2879:20;;2904:33;2879:20;2904:33;;2949:134;3027:13;;3045:33;3027:13;3045:33;;3090:132;3167:13;;3185:32;3167:13;3185:32;;3229:126;3294:20;;3319:31;3294:20;3319:31;;3362:241;;3466:2;3454:9;3445:7;3441:23;3437:32;3434:2;;;3482:1;3479;3472:12;3434:2;3517:1;3534:53;3579:7;3559:9;3534:53;;3610:263;;3725:2;3713:9;3704:7;3700:23;3696:32;3693:2;;;3741:1;3738;3731:12;3693:2;3776:1;3793:64;3849:7;3829:9;3793:64;;3880:366;;;4001:2;3989:9;3980:7;3976:23;3972:32;3969:2;;;4017:1;4014;4007:12;3969:2;4052:1;4069:53;4114:7;4094:9;4069:53;;;4059:63;;4031:97;4159:2;4177:53;4222:7;4213:6;4202:9;4198:22;4177:53;;;4167:63;;4138:98;3963:283;;;;;;4253:1817;;;;;;;;;;;;4557:3;4545:9;4536:7;4532:23;4528:33;4525:2;;;4574:1;4571;4564:12;4525:2;4609:1;4626:53;4671:7;4651:9;4626:53;;;4616:63;;4588:97;4716:2;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;;;4724:63;;4695:98;4824:2;4842:53;4887:7;4878:6;4867:9;4863:22;4842:53;;;4832:63;;4803:98;4932:2;4950:53;4995:7;4986:6;4975:9;4971:22;4950:53;;;4940:63;;4911:98;5068:3;5057:9;5053:19;5040:33;-1:-1;;;;;5085:6;5082:30;5079:2;;;5125:1;5122;5115:12;5079:2;5145:63;5200:7;5191:6;5180:9;5176:22;5145:63;;;5135:73;;5019:195;5273:3;5262:9;5258:19;5245:33;-1:-1;;;;;5290:6;5287:30;5284:2;;;5330:1;5327;5320:12;5284:2;5350:63;5405:7;5396:6;5385:9;5381:22;5350:63;;;5340:73;;5224:195;5450:3;5469:53;5514:7;5505:6;5494:9;5490:22;5469:53;;;5459:63;;5429:99;5559:3;5578:53;5623:7;5614:6;5603:9;5599:22;5578:53;;;5568:63;;5538:99;5668:3;5687:53;5732:7;5723:6;5712:9;5708:22;5687:53;;;5677:63;;5647:99;5777:3;5796:53;5841:7;5832:6;5821:9;5817:22;5796:53;;;5786:63;;5756:99;5914:3;5903:9;5899:19;5886:33;-1:-1;;;;;5931:6;5928:30;5925:2;;;5971:1;5968;5961:12;5925:2;5992:62;6046:7;6037:6;6026:9;6022:22;5992:62;;;5981:73;;5865:195;4519:1551;;;;;;;;;;;;;;;6077:1447;;;;;;;;;;6331:3;6319:9;6310:7;6306:23;6302:33;6299:2;;;6348:1;6345;6338:12;6299:2;6383:1;6400:53;6445:7;6425:9;6400:53;;;6390:63;;6362:97;6490:2;6508:53;6553:7;6544:6;6533:9;6529:22;6508:53;;;6498:63;;6469:98;6598:2;6616:53;6661:7;6652:6;6641:9;6637:22;6616:53;;;6606:63;;6577:98;6706:2;6724:53;6769:7;6760:6;6749:9;6745:22;6724:53;;;6714:63;;6685:98;6814:3;6833:51;6876:7;6867:6;6856:9;6852:22;6833:51;;;6823:61;;6793:97;6921:3;6940:53;6985:7;6976:6;6965:9;6961:22;6940:53;;;6930:63;;6900:99;7030:3;7049:50;7091:7;7082:6;7071:9;7067:22;7049:50;;;7039:60;;7009:96;7164:3;7153:9;7149:19;7136:33;-1:-1;;;;;7181:6;7178:30;7175:2;;;7221:1;7218;7211:12;7175:2;7241:63;7296:7;7287:6;7276:9;7272:22;7241:63;;;7231:73;;7115:195;7369:3;7358:9;7354:19;7341:33;-1:-1;;;;;7386:6;7383:30;7380:2;;;7426:1;7423;7416:12;7380:2;7446:62;7500:7;7491:6;7480:9;7476:22;7446:62;;;7436:72;;7320:194;6293:1231;;;;;;;;;;;;7531:1075;;;;;;;7737:3;7725:9;7716:7;7712:23;7708:33;7705:2;;;7754:1;7751;7744:12;7705:2;7789:1;7806:53;7851:7;7831:9;7806:53;;;7796:63;;7768:97;7896:2;7914:53;7959:7;7950:6;7939:9;7935:22;7914:53;;;7904:63;;7875:98;8004:2;8022:53;8067:7;8058:6;8047:9;8043:22;8022:53;;;8012:63;;7983:98;8112:2;8130:51;8173:7;8164:6;8153:9;8149:22;8130:51;;;8120:61;;8091:96;8246:3;8235:9;8231:19;8218:33;-1:-1;;;;;8263:6;8260:30;8257:2;;;8303:1;8300;8293:12;8257:2;8323:63;8378:7;8369:6;8358:9;8354:22;8323:63;;;8313:73;;8197:195;8451:3;8440:9;8436:19;8423:33;-1:-1;;;;;8468:6;8465:30;8462:2;;;8508:1;8505;8498:12;8462:2;8528:62;8582:7;8573:6;8562:9;8558:22;8528:62;;;8518:72;;8402:194;7699:907;;;;;;;;;8613:257;;8725:2;8713:9;8704:7;8700:23;8696:32;8693:2;;;8741:1;8738;8731:12;8693:2;8776:1;8793:61;8846:7;8826:9;8793:61;;8877:241;;8981:2;8969:9;8960:7;8956:23;8952:32;8949:2;;;8997:1;8994;8987:12;8949:2;9032:1;9049:53;9094:7;9074:9;9049:53;;9125:366;;;9246:2;9234:9;9225:7;9221:23;9217:32;9214:2;;;9262:1;9259;9252:12;9214:2;9297:1;9314:53;9359:7;9339:9;9314:53;;;9304:63;;9276:97;9404:2;9422:53;9467:7;9458:6;9447:9;9443:22;9422:53;;9498:519;;;;9650:2;9638:9;9629:7;9625:23;9621:32;9618:2;;;9666:1;9663;9656:12;9618:2;9701:1;9718:53;9763:7;9743:9;9718:53;;;9708:63;;9680:97;9808:2;9826:53;9871:7;9862:6;9851:9;9847:22;9826:53;;;9816:63;;9787:98;9916:2;9934:67;9993:7;9984:6;9973:9;9969:22;9934:67;;;9924:77;;9895:112;9612:405;;;;;;10024:1333;;;;;;;;;10267:3;10255:9;10246:7;10242:23;10238:33;10235:2;;;10284:1;10281;10274:12;10235:2;10319:1;10336:53;10381:7;10361:9;10336:53;;;10326:63;;10298:97;10426:2;10444:53;10489:7;10480:6;10469:9;10465:22;10444:53;;;10434:63;;10405:98;10562:2;10551:9;10547:18;10534:32;-1:-1;;;;;10578:6;10575:30;10572:2;;;10618:1;10615;10608:12;10572:2;10638:63;10693:7;10684:6;10673:9;10669:22;10638:63;;;10628:73;;10513:194;10766:2;10755:9;10751:18;10738:32;-1:-1;;;;;10782:6;10779:30;10776:2;;;10822:1;10819;10812:12;10776:2;10842:63;10897:7;10888:6;10877:9;10873:22;10842:63;;;10832:73;;10717:194;10942:3;10961:53;11006:7;10997:6;10986:9;10982:22;10961:53;;;10951:63;;10921:99;11051:3;11070:53;11115:7;11106:6;11095:9;11091:22;11070:53;;;11060:63;;11030:99;11160:3;11179:53;11224:7;11215:6;11204:9;11200:22;11179:53;;;11169:63;;11139:99;11269:3;11288:53;11333:7;11324:6;11313:9;11309:22;11288:53;;;11278:63;;11248:99;10229:1128;;;;;;;;;;;;11364:487;;;;11500:2;11488:9;11479:7;11475:23;11471:32;11468:2;;;11516:1;11513;11506:12;11468:2;11551:1;11568:53;11613:7;11593:9;11568:53;;;11558:63;;11530:97;11658:2;11676:53;11721:7;11712:6;11701:9;11697:22;11676:53;;;11666:63;;11637:98;11766:2;11784:51;11827:7;11818:6;11807:9;11803:22;11784:51;;11858:965;;;;;;;12052:3;12040:9;12031:7;12027:23;12023:33;12020:2;;;12069:1;12066;12059:12;12020:2;12104:1;12121:53;12166:7;12146:9;12121:53;;;12111:63;;12083:97;12211:2;12229:53;12274:7;12265:6;12254:9;12250:22;12229:53;;;12219:63;;12190:98;12319:2;12337:51;12380:7;12371:6;12360:9;12356:22;12337:51;;;12327:61;;12298:96;12425:2;12443:53;12488:7;12479:6;12468:9;12464:22;12443:53;;;12433:63;;12404:98;12533:3;12552:50;12594:7;12585:6;12574:9;12570:22;12552:50;;12830:593;;;;12976:2;12964:9;12955:7;12951:23;12947:32;12944:2;;;12992:1;12989;12982:12;12944:2;13027:1;13044:53;13089:7;13069:9;13044:53;;;13034:63;;13006:97;13134:2;13152:51;13195:7;13186:6;13175:9;13171:22;13152:51;;;13142:61;;13113:96;13268:2;13257:9;13253:18;13240:32;-1:-1;;;;;13284:6;13281:30;13278:2;;;13324:1;13321;13314:12;13278:2;13344:63;13399:7;13390:6;13379:9;13375:22;13344:63;;13430:241;;13534:2;13522:9;13513:7;13509:23;13505:32;13502:2;;;13550:1;13547;13540:12;13502:2;13585:1;13602:53;13647:7;13627:9;13602:53;;13678:263;;13793:2;13781:9;13772:7;13768:23;13764:32;13761:2;;;13809:1;13806;13799:12;13761:2;13844:1;13861:64;13917:7;13897:9;13861:64;;13948:1112;;;;;;14164:3;14152:9;14143:7;14139:23;14135:33;14132:2;;;14181:1;14178;14171:12;14132:2;14216:1;14233:64;14289:7;14269:9;14233:64;;;14223:74;;14195:108;14355:2;14344:9;14340:18;14334:25;-1:-1;;;;;14371:6;14368:30;14365:2;;;14411:1;14408;14401:12;14365:2;14431:70;14493:7;14484:6;14473:9;14469:22;14431:70;;;14421:80;;14313:194;14559:2;14548:9;14544:18;14538:25;-1:-1;;;;;14575:6;14572:30;14569:2;;;14615:1;14612;14605:12;14569:2;14635:70;14697:7;14688:6;14677:9;14673:22;14635:70;;;14625:80;;14517:194;14742:2;14760:80;14832:7;14823:6;14812:9;14808:22;14760:80;;;14750:90;;14721:125;14898:3;14887:9;14883:19;14877:26;-1:-1;;;;;14915:6;14912:30;14909:2;;;14955:1;14952;14945:12;14909:2;14975:69;15036:7;15027:6;15016:9;15012:22;14975:69;;;14965:79;;14856:194;14126:934;;;;;;;;;15067:1215;;;;;;;15283:3;15271:9;15262:7;15258:23;15254:33;15251:2;;;15300:1;15297;15290:12;15251:2;15335:1;15352:64;15408:7;15388:9;15352:64;;;15342:74;;15314:108;15453:2;15471:63;15526:7;15517:6;15506:9;15502:22;15471:63;;;15461:73;;15432:108;15571:2;15589:64;15645:7;15636:6;15625:9;15621:22;15589:64;;;15579:74;;15550:109;15711:2;15700:9;15696:18;15690:25;-1:-1;;;;;15727:6;15724:30;15721:2;;;15767:1;15764;15757:12;15721:2;15787:70;15849:7;15840:6;15829:9;15825:22;15787:70;;;15777:80;;15669:194;15915:3;15904:9;15900:19;15894:26;-1:-1;;;;;15932:6;15929:30;15926:2;;;15972:1;15969;15962:12;15926:2;15992:70;16054:7;16045:6;16034:9;16030:22;15992:70;;;15982:80;;15873:195;16120:3;16109:9;16105:19;16099:26;-1:-1;;;;;16137:6;16134:30;16131:2;;;16177:1;16174;16167:12;16131:2;16197:69;16258:7;16249:6;16238:9;16234:22;16197:69;;16290:173;;16377:46;16419:3;16411:6;16377:46;;;-1:-1;;16452:4;16443:14;;16370:93;16471:103;16544:24;16562:5;16544:24;;;16539:3;16532:37;16526:48;;;16978:690;;17123:54;17171:5;17123:54;;;17190:86;17269:6;17264:3;17190:86;;;17183:93;;17297:56;17347:5;17297:56;;;17373:7;17401:1;17386:260;17411:6;17408:1;17405:13;17386:260;;;17478:6;17472:13;17499:63;17558:3;17543:13;17499:63;;;17492:70;;17579:60;17632:6;17579:60;;;17569:70;-1:-1;;17433:1;17426:9;17386:260;;;-1:-1;17659:3;;17102:566;-1:-1;;;;;17102:566;17676:104;17753:21;17768:5;17753:21;;17896:113;17979:24;17997:5;17979:24;;18134:343;;18244:38;18276:5;18244:38;;;18294:70;18357:6;18352:3;18294:70;;;18287:77;;18369:52;18414:6;18409:3;18402:4;18395:5;18391:16;18369:52;;;18442:29;18464:6;18442:29;;;18433:39;;;;18224:253;-1:-1;;;18224:253;19192:162;19293:55;19342:5;19293:55;;20575:320;;20735:67;20799:2;20794:3;20735:67;;;-1:-1;;;20815:43;;20886:2;20877:12;;20721:174;-1:-1;;20721:174;20904:331;;21064:67;21128:2;21123:3;21064:67;;;21164:33;21144:54;;21226:2;21217:12;;21050:185;-1:-1;;21050:185;21244:312;;21404:67;21468:2;21463:3;21404:67;;;-1:-1;;;21484:35;;21547:2;21538:12;;21390:166;-1:-1;;21390:166;21565:324;;21725:67;21789:2;21784:3;21725:67;;;21825:26;21805:47;;21880:2;21871:12;;21711:178;-1:-1;;21711:178;21898:321;;22058:67;22122:2;22117:3;22058:67;;;-1:-1;;;22138:44;;22210:2;22201:12;;22044:175;-1:-1;;22044:175;22228:318;;22388:67;22452:2;22447:3;22388:67;;;-1:-1;;;22468:41;;22537:2;22528:12;;22374:172;-1:-1;;22374:172;22555:375;;22715:67;22779:2;22774:3;22715:67;;;22815:34;22795:55;;-1:-1;;;22879:2;22870:12;;22863:30;22921:2;22912:12;;22701:229;-1:-1;;22701:229;22939:315;;23099:67;23163:2;23158:3;23099:67;;;-1:-1;;;23179:38;;23245:2;23236:12;;23085:169;-1:-1;;23085:169;23263:331;;23423:67;23487:2;23482:3;23423:67;;;23523:33;23503:54;;23585:2;23576:12;;23409:185;-1:-1;;23409:185;23603:313;;23763:67;23827:2;23822:3;23763:67;;;-1:-1;;;23843:36;;23907:2;23898:12;;23749:167;-1:-1;;23749:167;23925:331;;24085:67;24149:2;24144:3;24085:67;;;24185:33;24165:54;;24247:2;24238:12;;24071:185;-1:-1;;24071:185;24265:319;;24425:67;24489:2;24484:3;24425:67;;;-1:-1;;;24505:42;;24575:2;24566:12;;24411:173;-1:-1;;24411:173;24593:329;;24753:67;24817:2;24812:3;24753:67;;;24853:31;24833:52;;24913:2;24904:12;;24739:183;-1:-1;;24739:183;24931:370;;25091:67;25155:2;25150:3;25091:67;;;25191:34;25171:55;;-1:-1;;;25255:2;25246:12;;25239:25;25292:2;25283:12;;25077:224;-1:-1;;25077:224;25310:326;;25470:67;25534:2;25529:3;25470:67;;;25570:28;25550:49;;25627:2;25618:12;;25456:180;-1:-1;;25456:180;25645:328;;25805:67;25869:2;25864:3;25805:67;;;25905:30;25885:51;;25964:2;25955:12;;25791:182;-1:-1;;25791:182;25982:371;;26142:67;26206:2;26201:3;26142:67;;;26242:34;26222:55;;-1:-1;;;26306:2;26297:12;;26290:26;26344:2;26335:12;;26128:225;-1:-1;;26128:225;26362:314;;26522:67;26586:2;26581:3;26522:67;;;-1:-1;;;26602:37;;26667:2;26658:12;;26508:168;-1:-1;;26508:168;26685:319;;26845:67;26909:2;26904:3;26845:67;;;-1:-1;;;26925:42;;26995:2;26986:12;;26831:173;-1:-1;;26831:173;27013:325;;27173:67;27237:2;27232:3;27173:67;;;27273:27;27253:48;;27329:2;27320:12;;27159:179;-1:-1;;27159:179;27347:325;;27507:67;27571:2;27566:3;27507:67;;;27607:27;27587:48;;27663:2;27654:12;;27493:179;-1:-1;;27493:179;27681:326;;27841:67;27905:2;27900:3;27841:67;;;27941:28;27921:49;;27998:2;27989:12;;27827:180;-1:-1;;27827:180;28016:332;;28176:67;28240:2;28235:3;28176:67;;;28276:34;28256:55;;28339:2;28330:12;;28162:186;-1:-1;;28162:186;28357:262;;28517:66;28581:1;28576:3;28517:66;;28628:328;;28788:67;28852:2;28847:3;28788:67;;;28888:30;28868:51;;28947:2;28938:12;;28774:182;-1:-1;;28774:182;28965:318;;29125:67;29189:2;29184:3;29125:67;;;-1:-1;;;29205:41;;29274:2;29265:12;;29111:172;-1:-1;;29111:172;29292:325;;29452:67;29516:2;29511:3;29452:67;;;29552:27;29532:48;;29608:2;29599:12;;29438:179;-1:-1;;29438:179;29626:315;;29786:67;29850:2;29845:3;29786:67;;;-1:-1;;;29866:38;;29932:2;29923:12;;29772:169;-1:-1;;29772:169;29950:319;;30110:67;30174:2;30169:3;30110:67;;;-1:-1;;;30190:42;;30260:2;30251:12;;30096:173;-1:-1;;30096:173;30346:1950;30584:23;;30346:1950;;30513:6;30504:16;;;30613:71;30508:3;30584:23;30613:71;;;30535:155;30776:4;30769:5;30765:16;30759:23;30788:71;30853:4;30848:3;30844:14;30830:12;30788:71;;;30700:165;30940:4;30933:5;30929:16;30923:23;30952:71;31017:4;31012:3;31008:14;30994:12;30952:71;;;30875:154;31105:4;31098:5;31094:16;31088:23;31117:71;31182:4;31177:3;31173:14;31159:12;31117:71;;;31039:155;31271:4;31264:5;31260:16;31254:23;31283:71;31348:4;31343:3;31339:14;31325:12;31283:71;;;31204:156;31437:4;31430:5;31426:16;31420:23;31449:71;31514:4;31509:3;31505:14;31491:12;31449:71;;;31370:156;31607:4;31600:5;31596:16;31590:23;31619:67;31680:4;31675:3;31671:14;31657:12;31619:67;;;31536:156;31771:4;31764:5;31760:16;31754:23;31783:71;31848:4;31843:3;31839:14;31825:12;31783:71;;;31702:158;31936:6;31929:5;31925:18;31919:25;31950:67;32009:6;32004:3;32000:16;31986:12;31950:67;;;31870:153;32105:6;32098:5;32094:18;32088:25;32161:3;32155:4;32151:14;32142:6;32137:3;32133:16;32126:40;32181:77;32253:4;32239:12;32181:77;;;32173:85;30486:1810;-1:-1;;;;;30486:1810;32382:2019;32630:23;;32382:2019;;32559:6;32550:16;;;32659:71;32554:3;32630:23;32659:71;;;32581:155;32822:4;32815:5;32811:16;32805:23;32834:71;32899:4;32894:3;32890:14;32876:12;32834:71;;;32746:165;32986:4;32979:5;32975:16;32969:23;32998:71;33063:4;33058:3;33054:14;33040:12;32998:71;;;32921:154;33151:4;33144:5;33140:16;33134:23;33163:71;33228:4;33223:3;33219:14;33205:12;33163:71;;;33085:155;33317:4;33310:5;33306:16;33300:23;33329:71;33394:4;33389:3;33385:14;33371:12;33329:71;;;33250:156;33479:4;33472:5;33468:16;33462:23;33491:71;33556:4;33551:3;33547:14;33533:12;33491:71;;;33416:152;33642:4;33635:5;33631:16;33625:23;33694:3;33688:4;33684:14;33677:4;33672:3;33668:14;33661:38;33714:77;33786:4;33772:12;33714:77;;;33706:85;;33578:225;33876:4;33869:5;33865:16;33859:23;33928:3;33922:4;33918:14;33911:4;33906:3;33902:14;33895:38;33948:77;34020:4;34006:12;33948:77;;;33940:85;;33813:224;34111:6;34104:5;34100:18;34094:25;34125:73;34190:6;34185:3;34181:16;34167:12;34125:73;;;34047:157;34282:6;34275:5;34271:18;34265:25;34296:73;34361:6;34356:3;34352:16;34338:12;34296:73;;;-1:-1;34392:4;32532:1869;-1:-1;;;32532:1869;34483:1440;34725:23;;34483:1440;;34656:4;34647:14;;;34754:71;34651:3;34725:23;34754:71;;;34676:155;34917:4;34910:5;34906:16;34900:23;34929:71;34994:4;34989:3;34985:14;34971:12;34929:71;;;34841:165;35081:4;35074:5;35070:16;35064:23;35093:71;35158:4;35153:3;35149:14;35135:12;35093:71;;;35016:154;35245:4;35238:5;35234:16;35228:23;35257:71;35322:4;35317:3;35313:14;35299:12;35257:71;;;35180:154;35411:4;35404:5;35400:16;35394:23;35423:71;35488:4;35483:3;35479:14;35465:12;35423:71;;;35344:156;35578:4;35571:5;35567:16;35561:23;35590:67;35651:4;35646:3;35642:14;35628:12;35590:67;;;35510:153;35736:4;35729:5;35725:16;35719:23;35788:3;35782:4;35778:14;35771:4;35766:3;35762:14;35755:38;35808:77;35880:4;35866:12;35808:77;;35930:113;36013:24;36031:5;36013:24;;36168:110;36249:23;36266:5;36249:23;;36285:107;36364:22;36380:5;36364:22;;36511:213;36629:2;36614:18;;36643:71;36618:9;36687:6;36643:71;;36731:324;36877:2;36862:18;;36891:71;36866:9;36935:6;36891:71;;;36973:72;37041:2;37030:9;37026:18;37017:6;36973:72;;37062:435;37236:2;37221:18;;37250:71;37225:9;37294:6;37250:71;;;37332:72;37400:2;37389:9;37385:18;37376:6;37332:72;;;37415;37483:2;37472:9;37468:18;37459:6;37415:72;;37504:715;37762:2;37747:18;;37776:79;37751:9;37828:6;37776:79;;;37903:9;37897:4;37893:20;37888:2;37877:9;37873:18;37866:48;37928:124;38047:4;38038:6;37928:124;;;37920:132;;38100:9;38094:4;38090:20;38085:2;38074:9;38070:18;38063:48;38125:84;38204:4;38195:6;38125:84;;38226:735;38494:2;38479:18;;38508:79;38483:9;38560:6;38508:79;;;38635:9;38629:4;38625:20;38620:2;38609:9;38605:18;38598:48;38660:134;38789:4;38780:6;38660:134;;38968:727;39232:2;39217:18;;39246:79;39221:9;39298:6;39246:79;;;39373:9;39367:4;39363:20;39358:2;39347:9;39343:18;39336:48;39398:130;39523:4;39514:6;39398:130;;39702:1063;40026:3;40011:19;;40041:71;40015:9;40085:6;40041:71;;;40123:72;40191:2;40180:9;40176:18;40167:6;40123:72;;;40206;40274:2;40263:9;40259:18;40250:6;40206:72;;;40289;40357:2;40346:9;40342:18;40333:6;40289:72;;;40372:69;40436:3;40425:9;40421:19;40412:6;40372:69;;;40452:73;40520:3;40509:9;40505:19;40496:6;40452:73;;;40536:67;40598:3;40587:9;40583:19;40574:6;40536:67;;;40652:9;40646:4;40642:20;40636:3;40625:9;40621:19;40614:49;40677:78;40750:4;40741:6;40677:78;;;40669:86;39997:768;-1:-1;;;;;;;;;;39997:768;40772:739;41018:3;41003:19;;41033:71;41007:9;41077:6;41033:71;;;41115:68;41179:2;41168:9;41164:18;41155:6;41115:68;;;41194:72;41262:2;41251:9;41247:18;41238:6;41194:72;;;41277;41345:2;41334:9;41330:18;41321:6;41277:72;;;41398:9;41392:4;41388:20;41382:3;41371:9;41367:19;41360:49;41423:78;41496:4;41487:6;41423:78;;41518:361;41686:2;41700:47;;;41671:18;;41761:108;41671:18;41855:6;41761:108;;41886:201;41998:2;41983:18;;42012:65;41987:9;42050:6;42012:65;;42094:213;42212:2;42197:18;;42226:71;42201:9;42270:6;42226:71;;42314:249;42450:2;42435:18;;42464:89;42439:9;42526:6;42464:89;;42828:301;42966:2;42980:47;;;42951:18;;43041:78;42951:18;43105:6;43041:78;;43136:407;43327:2;43341:47;;;43312:18;;43402:131;43312:18;43402:131;;43550:407;43741:2;43755:47;;;43726:18;;43816:131;43726:18;43816:131;;43964:407;44155:2;44169:47;;;44140:18;;44230:131;44140:18;44230:131;;44378:407;44569:2;44583:47;;;44554:18;;44644:131;44554:18;44644:131;;44792:407;44983:2;44997:47;;;44968:18;;45058:131;44968:18;45058:131;;45206:407;45397:2;45411:47;;;45382:18;;45472:131;45382:18;45472:131;;45620:407;45811:2;45825:47;;;45796:18;;45886:131;45796:18;45886:131;;46034:407;46225:2;46239:47;;;46210:18;;46300:131;46210:18;46300:131;;46448:407;46639:2;46653:47;;;46624:18;;46714:131;46624:18;46714:131;;46862:407;47053:2;47067:47;;;47038:18;;47128:131;47038:18;47128:131;;47276:407;47467:2;47481:47;;;47452:18;;47542:131;47452:18;47542:131;;47690:407;47881:2;47895:47;;;47866:18;;47956:131;47866:18;47956:131;;48104:407;48295:2;48309:47;;;48280:18;;48370:131;48280:18;48370:131;;48518:407;48709:2;48723:47;;;48694:18;;48784:131;48694:18;48784:131;;48932:407;49123:2;49137:47;;;49108:18;;49198:131;49108:18;49198:131;;49346:407;49537:2;49551:47;;;49522:18;;49612:131;49522:18;49612:131;;49760:407;49951:2;49965:47;;;49936:18;;50026:131;49936:18;50026:131;;50174:407;50365:2;50379:47;;;50350:18;;50440:131;50350:18;50440:131;;50588:407;50779:2;50793:47;;;50764:18;;50854:131;50764:18;50854:131;;51002:407;51193:2;51207:47;;;51178:18;;51268:131;51178:18;51268:131;;51416:407;51607:2;51621:47;;;51592:18;;51682:131;51592:18;51682:131;;51830:407;52021:2;52035:47;;;52006:18;;52096:131;52006:18;52096:131;;52244:407;52435:2;52449:47;;;52420:18;;52510:131;52420:18;52510:131;;52658:407;52849:2;52863:47;;;52834:18;;52924:131;52834:18;52924:131;;53072:407;53263:2;53277:47;;;53248:18;;53338:131;53248:18;53338:131;;53486:407;53677:2;53691:47;;;53662:18;;53752:131;53662:18;53752:131;;53900:407;54091:2;54105:47;;;54076:18;;54166:131;54076:18;54166:131;;54314:407;54505:2;54519:47;;;54490:18;;54580:131;54490:18;54580:131;;54728:407;54919:2;54933:47;;;54904:18;;54994:131;54904:18;54994:131;;55142:213;55260:2;55245:18;;55274:71;55249:9;55318:6;55274:71;;55362:719;55602:3;55587:19;;55617:71;55591:9;55661:6;55617:71;;;55699:72;55767:2;55756:9;55752:18;55743:6;55699:72;;;55819:9;55813:4;55809:20;55804:2;55793:9;55789:18;55782:48;55844:78;55917:4;55908:6;55844:78;;;55836:86;;55970:9;55964:4;55960:20;55955:2;55944:9;55940:18;55933:48;55995:76;56066:4;56057:6;55995:76;;;55987:84;55573:508;-1:-1;;;;;;55573:508;56088:1391;56496:3;56481:19;;56511:71;56485:9;56555:6;56511:71;;;56593:70;56659:2;56648:9;56644:18;56635:6;56593:70;;;56674:72;56742:2;56731:9;56727:18;56718:6;56674:72;;;56757;56825:2;56814:9;56810:18;56801:6;56757:72;;;56878:9;56872:4;56868:20;56862:3;56851:9;56847:19;56840:49;56903:78;56976:4;56967:6;56903:78;;;56895:86;;57030:9;57024:4;57020:20;57014:3;57003:9;56999:19;56992:49;57055:78;57128:4;57119:6;57055:78;;;57047:86;;57144:73;57212:3;57201:9;57197:19;57188:6;57144:73;;;57228;57296:3;57285:9;57281:19;57272:6;57228:73;;;57312;57380:3;57369:9;57365:19;57356:6;57312:73;;;57396;57464:3;57453:9;57449:19;57440:6;57396:73;;;56467:1012;;;;;;;;;;;;;;57486:1565;57929:3;57914:19;;57944:71;57918:9;57988:6;57944:71;;;58026:70;58092:2;58081:9;58077:18;58068:6;58026:70;;;58107:72;58175:2;58164:9;58160:18;58151:6;58107:72;;;58190;58258:2;58247:9;58243:18;58234:6;58190:72;;;58311:9;58305:4;58301:20;58295:3;58284:9;58280:19;58273:49;58336:74;58405:4;58396:6;58336:74;;;58328:82;;58459:9;58453:4;58449:20;58443:3;58432:9;58428:19;58421:49;58484:74;58553:4;58544:6;58484:74;;;58476:82;;58569:73;58637:3;58626:9;58622:19;58613:6;58569:73;;;58653;58721:3;58710:9;58706:19;58697:6;58653:73;;;58737;58805:3;58794:9;58790:19;58781:6;58737:73;;;58821;58889:3;58878:9;58874:19;58865:6;58821:73;;;58943:9;58937:4;58933:20;58927:3;58916:9;58912:19;58905:49;58968:73;59036:4;59026:7;58968:73;;;58960:81;57900:1151;-1:-1;;;;;;;;;;;;;57900:1151;59058:256;59120:2;59114:9;59146:17;;;-1:-1;;;;;59206:34;;59242:22;;;59203:62;59200:2;;;59278:1;59275;59268:12;59200:2;59294;59287:22;59098:216;;-1:-1;59098:216;59321:317;;-1:-1;;;;;59452:6;59449:30;59446:2;;;59492:1;59489;59482:12;59446:2;-1:-1;59623:4;59559;59536:17;;;;-1:-1;;59532:33;59613:15;;59383:255;60627:151;60751:4;60742:14;;60699:79;60785:137;60888:12;;60859:63;61551:178;61669:19;;;61718:4;61709:14;;61662:67;62429:91;;62491:24;62509:5;62491:24;;62527:85;62593:13;62586:21;;62569:43;62619:145;-1:-1;;;;;;62681:78;;62664:100;62771:121;-1:-1;;;;;62833:54;;62816:76;62978:88;63050:10;63039:22;;63022:44;63073:81;63144:4;63133:16;;63116:38;63161:157;;63258:55;63307:5;63258:55;;63759:145;63840:6;63835:3;63830;63817:30;-1:-1;63896:1;63878:16;;63871:27;63810:94;63913:268;63978:1;63985:101;63999:6;63996:1;63993:13;63985:101;;;64066:11;;;64060:18;64047:11;;;64040:39;64021:2;64014:10;63985:101;;;64101:6;64098:1;64095:13;64092:2;;;64166:1;64157:6;64152:3;64148:16;64141:27;64092:2;63962:219;;;;;64189:97;64277:2;64257:14;-1:-1;;64253:28;;64237:49;64294:117;64363:24;64381:5;64363:24;;;64356:5;64353:35;64343:2;;64402:1;64399;64392:12;64418:111;64484:21;64499:5;64484:21;;64536:117;64605:24;64623:5;64605:24;;64660:108;64743:1;64736:5;64733:12;64723:2;;64759:1;64756;64749:12;64775:110;64860:1;64853:5;64850:12;64840:2;;64876:1;64873;64866:12;64892:117;64961:24;64979:5;64961:24;;65016:115;65084:23;65101:5;65084:23;;65138:113;65205:22;65221:5;65205:22;", "source": "///////////////////////////////////////////////////////////////////////////////\n//\n// Copyright (C) 2018-2020 Crossbar.io Technologies GmbH and contributors.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n///////////////////////////////////////////////////////////////////////////////\n\npragma solidity ^0.5.12;\npragma experimental ABIEncoderV2;\n\n// https://openzeppelin.org/api/docs/math_SafeMath.html\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"./XBRMaintained.sol\";\nimport \"./XBRTypes.sol\";\nimport \"./XBRToken.sol\";\nimport \"./XBRNetwork.sol\";\nimport \"./XBRCatalog.sol\";\n\n\n/**\n * The `XBR Market `__\n * contract manages XBR data markets and serves as an anchor for all payment and paying channels for\n * each respective market.\n */\ncontract XBRMarket is XBRMaintained {\n\n // Add safe math functions to uint256 using SafeMath lib from OpenZeppelin\n using SafeMath for uint256;\n\n /// Event emitted when a new market was created.\n event MarketCreated (bytes16 indexed marketId, uint created, uint32 marketSeq, address owner, address coin, string terms,\n string meta, address maker, uint256 providerSecurity, uint256 consumerSecurity, uint256 marketFee);\n\n /// Event emitted when a market was updated.\n event MarketUpdated (bytes16 indexed marketId, uint32 marketSeq, address owner, address coin, string terms, string meta,\n address maker, uint256 providerSecurity, uint256 consumerSecurity, uint256 marketFee);\n\n /// Event emitted when a market was closed.\n event MarketClosed (bytes16 indexed marketId);\n\n /// Event emitted when a new actor joined a market.\n event ActorJoined (bytes16 indexed marketId, address actor, uint8 actorType, uint joined,\n uint256 security, string meta);\n\n /// Event emitted when an actor has left a market.\n event ActorLeft (bytes16 indexed marketId, address actor, uint8 actorType);\n\n /// Event emitted when an actor has set consent on a ``(market, delegate, api)`` triple.\n event ConsentSet (address member, uint256 updated, bytes16 marketId, address delegate,\n uint8 delegateType, bytes16 apiCatalog, bool consent, string servicePrefix);\n\n /// Channel closing timeout in number of blocks for closing a channel non-cooperatively.\n uint256 public NONCOOPERATIVE_CHANNEL_CLOSE_TIMEOUT = 1440;\n\n /// Instance of XBRNetwork contract this contract is linked to.\n XBRNetwork public network;\n\n /// Instance of XBRCatalog contract this contract is linked to.\n XBRCatalog public catalog;\n\n /// Created markets are sequence numbered using this counter (to allow deterministic collision-free IDs for markets)\n uint32 private marketSeq = 1;\n\n /// Current XBR Markets (\"market directory\")\n mapping(bytes16 => XBRTypes.Market) public markets;\n\n /// List of IDs of current XBR Markets.\n bytes16[] public marketIds;\n\n /// Index: maker address => market ID\n mapping(address => bytes16) public marketsByMaker;\n\n /// Index: market owner address => [market ID]\n mapping(address => bytes16[]) public marketsByOwner;\n\n // Constructor for this contract, only called once (when deploying the network).\n //\n // @param networkAdr The XBR network contract this instance is associated with.\n constructor (address networkAdr, address catalogAdr) public {\n network = XBRNetwork(networkAdr);\n catalog = XBRCatalog(catalogAdr);\n }\n\n /// Create a new XBR market. The sender of the transaction must be XBR network member\n /// and automatically becomes owner of the new market.\n ///\n /// @param marketId The ID of the market to create. Must be unique (not yet existing).\n /// @param coin The ERC20 coin to be used as the means of payment in the market.\n /// @param terms Multihash for market terms set by the market owner.\n /// @param meta Multihash for optional market metadata.\n /// @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n /// @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n /// @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n /// @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n /// the revenue of the XBR Provider that receives coins paid for transactions.\n /// The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n /// a fraction of the total supply of coins in the ERC20 token specified for the market.\n function createMarket (bytes16 marketId, address coin, string memory terms, string memory meta, address maker,\n uint256 providerSecurity, uint256 consumerSecurity, uint256 marketFee) public {\n\n _createMarket(msg.sender, block.number, marketId, coin, terms, meta, maker,\n providerSecurity, consumerSecurity, marketFee, \"\");\n }\n\n /// Create a new XBR market for a member. The member must be XBR network member, must have signed the\n /// transaction data, and will become owner of the new market.\n ///\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n /// submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n ///\n /// @param member The member that creates the market (will become market owner).\n /// @param created Block number when the market was created.\n /// @param marketId The ID of the market to create. Must be unique (not yet existing).\n /// @param coin The ERC20 coin to be used as the means of payment in the market.\n /// @param terms Multihash for market terms set by the market owner.\n /// @param meta Multihash for optional market metadata.\n /// @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n /// @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n /// @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n /// @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n /// the revenue of the XBR Provider that receives coins paid for transactions.\n /// The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n /// a fraction of the total supply of coins in the ERC20 token specified for the market.\n /// @param signature EIP712 signature created by the member.\n function createMarketFor (address member, uint256 created, bytes16 marketId, address coin,\n string memory terms, string memory meta, address maker, uint256 providerSecurity, uint256 consumerSecurity,\n uint256 marketFee, bytes memory signature) public {\n\n require(XBRTypes.verify(member, XBRTypes.EIP712MarketCreate(network.verifyingChain(), network.verifyingContract(),\n member, created, marketId, coin, terms, meta, maker, marketFee), signature),\n \"INVALID_MARKET_CREATE_SIGNATURE\");\n\n // signature must have been created in a window of PRESIGNED_TXN_MAX_AGE blocks from the current one\n require(created <= block.number && (block.number <= network.PRESIGNED_TXN_MAX_AGE() ||\n created >= (block.number - network.PRESIGNED_TXN_MAX_AGE())), \"INVALID_CREATED_BLOCK_NUMBER\");\n\n _createMarket(member, created, marketId, coin, terms, meta, maker,\n providerSecurity, consumerSecurity, marketFee, signature);\n }\n\n function _createMarket (address member, uint256 created, bytes16 marketId, address coin, string memory terms,\n string memory meta, address maker, uint256 providerSecurity, uint256 consumerSecurity, uint256 marketFee,\n bytes memory signature) private {\n\n (, , , XBRTypes.MemberLevel member_level, ) = network.members(member);\n\n // the market operator (owner) must be a registered member\n require(member_level == XBRTypes.MemberLevel.ACTIVE ||\n member_level == XBRTypes.MemberLevel.VERIFIED, \"SENDER_NOT_A_MEMBER\");\n\n // market must not yet exist (to generate a new marketId: )\n require(markets[marketId].owner == address(0), \"MARKET_ALREADY_EXISTS\");\n\n // the market operator (owning member) must be specifically allowed to use the given coin, or the coin\n // must be allowed to be used in new markets by any member (eg DAI)\n require(network.coins(coin, member) == true || network.coins(coin, network.ANYADR()) == true, \"INVALID_COIN\");\n\n // must provide a valid market maker address already when creating a market\n require(maker != address(0), \"INVALID_MAKER\");\n\n // the market maker can only work for one market\n require(marketsByMaker[maker] == bytes16(0), \"MAKER_ALREADY_WORKING_FOR_OTHER_MARKET\");\n\n // provider security must be non-negative (and not larger than the total token supply)\n require(providerSecurity >= 0 && providerSecurity <= IERC20(coin).totalSupply(), \"INVALID_PROVIDER_SECURITY\");\n\n // consumer security must be non-negative (and not larger than the total token supply)\n require(consumerSecurity >= 0 && consumerSecurity <= IERC20(coin).totalSupply(), \"INVALID_CONSUMER_SECURITY\");\n\n // market operator fee: [0%, 100%] <-> [0, coin.totalSupply]\n require(marketFee >= 0 && marketFee <= IERC20(coin).totalSupply(), \"INVALID_MARKET_FEE\");\n\n // now remember out new market ..\n markets[marketId] = XBRTypes.Market(created, marketSeq, member, coin, terms, meta, maker,\n providerSecurity, consumerSecurity, marketFee, signature, new address[](0), new address[](0));\n\n // .. and the market-maker-to-market mapping\n marketsByMaker[maker] = marketId;\n\n // .. and the market-owner-to-market mapping\n marketsByOwner[member].push(marketId);\n\n // .. and list of markst IDs\n marketIds.push(marketId);\n\n // increment market sequence for next market\n marketSeq = marketSeq + 1;\n\n // notify observers (eg a dormant market maker waiting to be associated)\n emit MarketCreated(marketId, created, marketSeq, member, coin, terms, meta, maker,\n providerSecurity, consumerSecurity, marketFee);\n }\n\n /// Join the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER.\n ///\n /// @param marketId The ID of the XBR data market to join.\n /// @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n /// @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\n function joinMarket (bytes16 marketId, uint8 actorType, string memory meta) public returns (uint256) {\n\n return _joinMarket(msg.sender, block.number, marketId, actorType, meta, \"\");\n }\n\n /// Join the specified member to the given XBR market as the specified type of actor,\n /// which must be PROVIDER or CONSUMER.\n ///\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n /// submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n ///\n /// @param member The member that creates the market (will become market owner).\n /// @param joined Block number when the member joined the market.\n /// @param marketId The ID of the XBR data market to join.\n /// @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n /// @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\n /// @param signature EIP712 signature created by the member.\n function joinMarketFor (address member, uint256 joined, bytes16 marketId, uint8 actorType,\n string memory meta, bytes memory signature) public returns (uint256) {\n\n require(XBRTypes.verify(member, XBRTypes.EIP712MarketJoin(network.verifyingChain(), network.verifyingContract(),\n member, joined, marketId, actorType, meta), signature), \"INVALID_MARKET_JOIN_SIGNATURE\");\n\n // signature must have been created in a window of PRESIGNED_TXN_MAX_AGE blocks from the current one\n require(joined <= block.number && (block.number <= network.PRESIGNED_TXN_MAX_AGE() ||\n joined >= (block.number - network.PRESIGNED_TXN_MAX_AGE())), \"INVALID_REGISTERED_BLOCK_NUMBER\");\n\n return _joinMarket(member, joined, marketId, actorType, meta, signature);\n }\n\n function _joinMarket (address member, uint256 joined, bytes16 marketId, uint8 actorType,\n string memory meta, bytes memory signature) private returns (uint256) {\n\n (, , , XBRTypes.MemberLevel member_level, ) = network.members(member);\n\n // the joining sender must be a registered member\n require(member_level == XBRTypes.MemberLevel.ACTIVE, \"SENDER_NOT_A_MEMBER\");\n\n // the market to join must exist\n require(markets[marketId].owner != address(0), \"NO_SUCH_MARKET\");\n\n // the market owner cannot join as an actor (provider/consumer) in the market\n require(markets[marketId].owner != member, \"SENDER_IS_OWNER\");\n\n // the joining member must join as a data provider (seller) or data consumer (buyer)\n require(actorType == uint8(XBRTypes.ActorType.PROVIDER) ||\n actorType == uint8(XBRTypes.ActorType.CONSUMER) ||\n actorType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER), \"INVALID_ACTOR_TYPE\");\n\n // get the security amount required for joining the market (if any)\n uint256 security = 0;\n if (actorType == uint8(XBRTypes.ActorType.PROVIDER) || actorType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n // the joining member must not be joined as a provider already\n require(uint8(markets[marketId].providerActors[member].joined) == 0, \"ALREADY_JOINED_AS_PROVIDER\");\n security += markets[marketId].providerSecurity;\n }\n\n if (actorType == uint8(XBRTypes.ActorType.CONSUMER) || actorType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n // the joining member must not be joined as a consumer already\n require(uint8(markets[marketId].consumerActors[member].joined) == 0, \"ALREADY_JOINED_AS_CONSUMER\");\n security += markets[marketId].consumerSecurity;\n }\n\n // transfer (if any) security to the market owner (for ActorType.CONSUMER or ActorType.PROVIDER)\n if (security > 0) {\n // https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#IERC20\n bool success = IERC20(markets[marketId].coin).transferFrom(member, markets[marketId].owner, security);\n require(success, \"JOIN_MARKET_TRANSFER_FROM_FAILED\");\n }\n\n // remember actor (by actor address) within market\n if (actorType == uint8(XBRTypes.ActorType.PROVIDER) || actorType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n markets[marketId].providerActors[member] = XBRTypes.Actor(joined, markets[marketId].providerSecurity, meta, signature, new address[](0));\n markets[marketId].providerActorAdrs.push(member);\n }\n\n if (actorType == uint8(XBRTypes.ActorType.CONSUMER) || actorType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n markets[marketId].consumerActors[member] = XBRTypes.Actor(joined, markets[marketId].consumerSecurity, meta, signature, new address[](0));\n markets[marketId].consumerActorAdrs.push(member);\n }\n\n // emit event ActorJoined(bytes16 marketId, address actor, ActorType actorType, uint joined,\n // uint256 security, string meta)\n emit ActorJoined(marketId, member, actorType, joined, security, meta);\n\n // return effective security transferred\n return security;\n }\n\n /// Track consent of an actor in a market to allow the specified seller or buyer delegate\n /// to provide or consume data under the respective API catalog in the given market.\n ///\n /// @param marketId The ID of the XBR data market in which to provide or consume data. Any\n /// terms attached to the market or the API apply.\n /// @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n /// of software acting on behalf and under consent of the actor in the market.\n /// @param delegateType The type of off-chain delegate, a data provider or data consumer.\n /// @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n /// @param consent Consent granted or revoked.\n /// @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.\n function setConsent (bytes16 marketId, address delegate, uint8 delegateType, bytes16 apiCatalog,\n bool consent, string memory servicePrefix) public {\n\n return _setConsent(msg.sender, block.number, marketId, delegate, delegateType,\n apiCatalog, consent, servicePrefix, \"\");\n }\n\n /// Track consent of an actor in a market to allow the specified seller or buyer delegate\n /// to provide or consume data under the respective API catalog in the given market.\n ///\n /// IMPORTANT: This version uses pre-signed data where the actual blockchain transaction is\n /// submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n ///\n /// @param member Address of member (which must be actor in the market) that sets consent.\n /// @param updated Block number at which the consent setting member has created the signature.\n /// @param marketId The ID of the XBR data market in which to provide or consume data. Any\n /// terms attached to the market or the API apply.\n /// @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n /// of software acting on behalf and under consent of the actor in the market.\n /// @param delegateType The type of off-chain delegate, a data provider or data consumer.\n /// @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n /// @param consent Consent granted or revoked.\n /// @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.\n /// @param signature EIP712 signature, signed by the consent setting member.\n function setConsentFor (address member, uint256 updated, bytes16 marketId, address delegate,\n uint8 delegateType, bytes16 apiCatalog, bool consent, string memory servicePrefix,\n bytes memory signature) public {\n\n require(XBRTypes.verify(member, XBRTypes.EIP712Consent(network.verifyingChain(), network.verifyingContract(),\n member, updated, marketId, delegate, delegateType, apiCatalog, consent, servicePrefix), signature),\n \"INVALID_CONSENT_SIGNATURE\");\n\n // signature must have been created in a window of PRESIGNED_TXN_MAX_AGE blocks from the current one\n require(updated <= block.number && (block.number <= network.PRESIGNED_TXN_MAX_AGE() ||\n updated >= (block.number - network.PRESIGNED_TXN_MAX_AGE())), \"INVALID_CONSENT_BLOCK_NUMBER\");\n\n return _setConsent(member, updated, marketId, delegate, delegateType,\n apiCatalog, consent, servicePrefix, signature);\n }\n\n function _setConsent (address member, uint256 updated, bytes16 marketId, address delegate,\n uint8 delegateType, bytes16 apiCatalog, bool consent, string memory servicePrefix,\n bytes memory signature) public {\n\n (, , , XBRTypes.MemberLevel member_level, ) = network.members(member);\n\n // the joining sender must be a registered member\n require(member_level == XBRTypes.MemberLevel.ACTIVE, \"SENDER_NOT_A_MEMBER\");\n\n // the market must exist\n require(markets[marketId].owner != address(0), \"NO_SUCH_MARKET\");\n\n // consent to the delegate acting as a data provider (seller) or data consumer (buyer)\n require(delegateType == uint8(XBRTypes.ActorType.PROVIDER) ||\n delegateType == uint8(XBRTypes.ActorType.CONSUMER) ||\n delegateType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER), \"INVALID_ACTOR_TYPE\");\n\n if (delegateType == uint8(XBRTypes.ActorType.PROVIDER) || delegateType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n // the member must be a provider actor in the market\n require(uint8(markets[marketId].providerActors[member].joined) != 0, \"MEMBER_NOT_PROVIDER\");\n }\n\n if (delegateType == uint8(XBRTypes.ActorType.CONSUMER) || delegateType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n // the member must be a consumer actor in the market\n require(uint8(markets[marketId].consumerActors[member].joined) != 0, \"MEMBER_NOT_CONSUMER\");\n }\n\n // must provide a valid delegate address, but the delegate doesn't need to be member!\n require(delegate != address(0), \"INVALID_CHANNEL_DELEGATE\");\n\n // the catalog must exist\n (uint256 catalogCreated, , , , , ) = catalog.catalogs(apiCatalog);\n require(catalogCreated != 0, \"NO_SUCH_CATALOG\");\n\n // must have a service prefix set\n require(keccak256(abi.encode(servicePrefix)) != keccak256(abi.encode(\"\")), \"SERVICE_PREFIX_EMPTY\");\n\n // store consent status as provider delegate\n if (delegateType == uint8(XBRTypes.ActorType.PROVIDER) || delegateType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n markets[marketId].providerActors[member].delegates[delegate][apiCatalog] = XBRTypes.Consent(\n updated, consent, servicePrefix, signature);\n }\n\n // store consent status as consumer delegate\n if (delegateType == uint8(XBRTypes.ActorType.CONSUMER) || delegateType == uint8(XBRTypes.ActorType.PROVIDER_CONSUMER)) {\n markets[marketId].consumerActors[member].delegates[delegate][apiCatalog] = XBRTypes.Consent(\n updated, consent, servicePrefix, signature);\n }\n\n // notify observers of changed consent status\n emit ConsentSet(member, updated, marketId, delegate, delegateType, apiCatalog, consent, servicePrefix);\n }\n\n /// Get the total number of markets defined.\n function countMarkets() public view returns (uint) {\n return marketIds.length;\n }\n\n /*\n // TypeError: Only libraries are allowed to use the mapping type in public or external functions.\n function getMarket(bytes16 marketId) public view returns (XBRTypes.Market memory) {\n return markets[marketId];\n }\n */\n\n /// Get the market owner for the given market.\n function getMarketOwner(bytes16 marketId) public view returns (address) {\n return markets[marketId].owner;\n }\n\n /// Get the coin ussed as a means of payment for the given market.\n function getMarketCoin(bytes16 marketId) public view returns (address) {\n return markets[marketId].coin;\n }\n\n /// Get the market fee set by the market operator that applies for the given market.\n function getMarketFee(bytes16 marketId) public view returns (uint256) {\n return markets[marketId].marketFee;\n }\n\n /// Get the market maker for the given market.\n function getMarketMaker(bytes16 marketId) public view returns (address) {\n return markets[marketId].maker;\n }\n\n /// Get the n-th market owned by the given member.\n function getMarketsByOwner(address owner, uint index) public view returns (bytes16) {\n return marketsByOwner[owner][index];\n }\n\n /// Check if the specified member is actor in the given market.\n function isActor(bytes16 marketId, address actor, XBRTypes.ActorType actorType) public view returns (bool) {\n if (markets[marketId].owner == address(0)) {\n return false;\n } else {\n if (actorType == XBRTypes.ActorType.CONSUMER) {\n return markets[marketId].consumerActors[actor].joined > 0;\n } else if (actorType == XBRTypes.ActorType.PROVIDER) {\n return markets[marketId].providerActors[actor].joined > 0;\n } else {\n return false;\n }\n }\n }\n\n /// Get the number of market owned by the specified member.\n function countMarketsByOwner(address owner) public view returns (uint) {\n return marketsByOwner[owner].length;\n }\n\n /// Get market actor data for the given actor (address) and actor type in the specified market.\n function getMarketActor (bytes16 marketId, address actor, uint8 actorType) public view\n returns (uint, uint256, string memory, bytes memory)\n {\n // the market must exist\n require(markets[marketId].owner != address(0), \"NO_SUCH_MARKET\");\n\n // must ask for a data provider (seller) or data consumer (buyer)\n require(actorType == uint8(XBRTypes.ActorType.PROVIDER) ||\n actorType == uint8(XBRTypes.ActorType.CONSUMER), \"INVALID_ACTOR_TYPE\");\n\n if (actorType == uint8(XBRTypes.ActorType.CONSUMER)) {\n XBRTypes.Actor storage _actor = markets[marketId].consumerActors[actor];\n return (_actor.joined, _actor.security, _actor.meta, _actor.signature);\n } else {\n XBRTypes.Actor storage _actor = markets[marketId].providerActors[actor];\n return (_actor.joined, _actor.security, _actor.meta, _actor.signature);\n }\n }\n\n /**\n * Lookup all provider actors in a XBR Market.\n *\n * @param marketId The XBR Market to provider actors for.\n * @return List of provider actor addresses in the market.\n */\n function getAllMarketProviders(bytes16 marketId) public view returns (address[] memory) {\n return markets[marketId].providerActorAdrs;\n }\n\n /**\n * Lookup all consumer actors in a XBR Market.\n *\n * @param marketId The XBR Market to consumer actors for.\n * @return List of consumer actor addresses in the market.\n */\n function getAllMarketConsumers(bytes16 marketId) public view returns (address[] memory) {\n return markets[marketId].consumerActorAdrs;\n }\n\n /**\n * Lookup all payment channels for an consumer actor in a XBR Market.\n *\n * @param marketId The XBR Market to get payment channels for.\n * @param actor The XBR actor to get payment channels for.\n * @return List of contract addresses of payment channels in the market.\n */\n function getAllPaymentChannels(bytes16 marketId, address actor) public view returns (address[] memory) {\n return markets[marketId].consumerActors[actor].channels;\n }\n\n /**\n * Lookup all paying channels for an provider actor in a XBR Market.\n *\n * @param marketId The XBR Market to get paying channels for.\n * @param actor The XBR actor to get paying channels for.\n * @return List of contract addresses of paying channels in the market.\n */\n function getAllPayingChannels(bytes16 marketId, address actor) public view returns (address[] memory) {\n return markets[marketId].providerActors[actor].channels;\n }\n\n /**\n * Lookup the current payment channel to use for the given delegate in the given market.\n *\n * @param marketId The XBR Market to get the current payment channel address for.\n * @param delegate The delegate to get the current payment channel address for.\n * @return Current payment channel address for the given delegate/market.\n */\n function currentPaymentChannelByDelegate(bytes16 marketId, address delegate) public view returns (address) {\n return markets[marketId].currentPaymentChannelByDelegate[delegate];\n }\n\n /**\n * Lookup the current paying channel to use for the given delegate in the given market.\n *\n * @param marketId The XBR Market to get the current paying channel address for.\n * @param delegate The delegate to get the current paying channel address for.\n * @return Current paying channel address for the given delegate/market.\n */\n function currentPayingChannelByDelegate(bytes16 marketId, address delegate) public view returns (address) {\n return markets[marketId].currentPayingChannelByDelegate[delegate];\n }\n}\n", "sourcePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMarket.sol", "ast": { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMarket.sol", "exportedSymbols": { "XBRMarket": [ 3361 ] }, "id": 3362, "nodeType": "SourceUnit", "nodes": [ { "id": 1731, "literals": [ "solidity", "^", "0.5", ".12" ], "nodeType": "PragmaDirective", "src": "810:24:4" }, { "id": 1732, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "835:33:4" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 1733, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 5802, "src": "926:59:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol", "file": "./XBRMaintained.sol", "id": 1734, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 1730, "src": "987:29:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRTypes.sol", "file": "./XBRTypes.sol", "id": 1735, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 5426, "src": "1017:24:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRToken.sol", "file": "./XBRToken.sol", "id": 1736, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 4328, "src": "1042:24:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetwork.sol", "file": "./XBRNetwork.sol", "id": 1737, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 3887, "src": "1067:26:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRCatalog.sol", "file": "./XBRCatalog.sol", "id": 1738, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 471, "src": "1094:26:4", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1739, "name": "XBRMaintained", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1729, "src": "1384:13:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRMaintained_$1729", "typeString": "contract XBRMaintained" } }, "id": 1740, "nodeType": "InheritanceSpecifier", "src": "1384:13:4" } ], "contractDependencies": [ 1729 ], "contractKind": "contract", "documentation": "The `XBR Market `__\ncontract manages XBR data markets and serves as an anchor for all payment and paying channels for\neach respective market.", "fullyImplemented": true, "id": 3361, "linearizedBaseContracts": [ 3361, 1729 ], "name": "XBRMarket", "nodeType": "ContractDefinition", "nodes": [ { "id": 1743, "libraryName": { "contractScope": null, "id": 1741, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5801, "src": "1490:8:4", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$5801", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "1484:27:4", "typeName": { "id": 1742, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1503:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "anonymous": false, "documentation": "Event emitted when a new market was created.", "id": 1767, "name": "MarketCreated", "nodeType": "EventDefinition", "parameters": { "id": 1766, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1745, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1591:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1744, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "1591:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1747, "indexed": false, "name": "created", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1617:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1746, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1617:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1749, "indexed": false, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1631:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1748, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1631:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1751, "indexed": false, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1649:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1750, "name": "address", "nodeType": "ElementaryTypeName", "src": "1649:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1753, "indexed": false, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1664:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1752, "name": "address", "nodeType": "ElementaryTypeName", "src": "1664:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1755, "indexed": false, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1678:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1754, "name": "string", "nodeType": "ElementaryTypeName", "src": "1678:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1757, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1700:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1756, "name": "string", "nodeType": "ElementaryTypeName", "src": "1700:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1759, "indexed": false, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1713:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1758, "name": "address", "nodeType": "ElementaryTypeName", "src": "1713:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1761, "indexed": false, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1728:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1728:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1763, "indexed": false, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1754:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1762, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1754:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1765, "indexed": false, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1780:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1764, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1780:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1590:208:4" }, "src": "1570:229:4" }, { "anonymous": false, "documentation": "Event emitted when a market was updated.", "id": 1789, "name": "MarketUpdated", "nodeType": "EventDefinition", "parameters": { "id": 1788, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1769, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1875:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1768, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "1875:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1771, "indexed": false, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1901:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1770, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1901:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1773, "indexed": false, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1919:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1772, "name": "address", "nodeType": "ElementaryTypeName", "src": "1919:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1775, "indexed": false, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1934:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1774, "name": "address", "nodeType": "ElementaryTypeName", "src": "1934:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1777, "indexed": false, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1948:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1776, "name": "string", "nodeType": "ElementaryTypeName", "src": "1948:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1779, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1962:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1778, "name": "string", "nodeType": "ElementaryTypeName", "src": "1962:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1781, "indexed": false, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1983:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1780, "name": "address", "nodeType": "ElementaryTypeName", "src": "1983:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1783, "indexed": false, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1998:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1782, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1998:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1785, "indexed": false, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1789, "src": "2024:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1784, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2024:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1787, "indexed": false, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1789, "src": "2050:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1786, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2050:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1874:194:4" }, "src": "1854:215:4" }, { "anonymous": false, "documentation": "Event emitted when a market was closed.", "id": 1793, "name": "MarketClosed", "nodeType": "EventDefinition", "parameters": { "id": 1792, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1791, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1793, "src": "2143:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1790, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2143:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "2142:26:4" }, "src": "2123:46:4" }, { "anonymous": false, "documentation": "Event emitted when a new actor joined a market.", "id": 1807, "name": "ActorJoined", "nodeType": "EventDefinition", "parameters": { "id": 1806, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1795, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2250:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1794, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2250:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1797, "indexed": false, "name": "actor", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2276:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1796, "name": "address", "nodeType": "ElementaryTypeName", "src": "2276:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1799, "indexed": false, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2291:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1798, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2291:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1801, "indexed": false, "name": "joined", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2308:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1800, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2308:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1803, "indexed": false, "name": "security", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2329:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2329:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1805, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2347:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1804, "name": "string", "nodeType": "ElementaryTypeName", "src": "2347:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2249:110:4" }, "src": "2231:129:4" }, { "anonymous": false, "documentation": "Event emitted when an actor has left a market.", "id": 1815, "name": "ActorLeft", "nodeType": "EventDefinition", "parameters": { "id": 1814, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1809, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2438:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1808, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2438:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1811, "indexed": false, "name": "actor", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2464:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1810, "name": "address", "nodeType": "ElementaryTypeName", "src": "2464:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1813, "indexed": false, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2479:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1812, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2479:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], "src": "2437:58:4" }, "src": "2421:75:4" }, { "anonymous": false, "documentation": "Event emitted when an actor has set consent on a ``(market, delegate, api)`` triple.", "id": 1833, "name": "ConsentSet", "nodeType": "EventDefinition", "parameters": { "id": 1832, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1817, "indexed": false, "name": "member", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2613:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1816, "name": "address", "nodeType": "ElementaryTypeName", "src": "2613:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1819, "indexed": false, "name": "updated", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2629:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1818, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2629:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1821, "indexed": false, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2646:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1820, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2646:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1823, "indexed": false, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2664:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1822, "name": "address", "nodeType": "ElementaryTypeName", "src": "2664:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1825, "indexed": false, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2690:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1824, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2690:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1827, "indexed": false, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2710:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1826, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2710:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1829, "indexed": false, "name": "consent", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2730:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1828, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2730:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1831, "indexed": false, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2744:20:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1830, "name": "string", "nodeType": "ElementaryTypeName", "src": "2744:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2612:153:4" }, "src": "2595:171:4" }, { "constant": false, "id": 1836, "name": "NONCOOPERATIVE_CHANNEL_CLOSE_TIMEOUT", "nodeType": "VariableDeclaration", "scope": 3361, "src": "2865:58:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1834, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2865:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "argumentTypes": null, "hexValue": "31343430", "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2919:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1440_by_1", "typeString": "int_const 1440" }, "value": "1440" }, "visibility": "public" }, { "constant": false, "id": 1838, "name": "network", "nodeType": "VariableDeclaration", "scope": 3361, "src": "2998:25:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" }, "typeName": { "contractScope": null, "id": 1837, "name": "XBRNetwork", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3886, "src": "2998:10:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1840, "name": "catalog", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3098:25:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" }, "typeName": { "contractScope": null, "id": 1839, "name": "XBRCatalog", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 470, "src": "3098:10:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1843, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3251:28:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1841, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3251:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": { "argumentTypes": null, "hexValue": "31", "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3278:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "visibility": "private" }, { "constant": false, "id": 1847, "name": "markets", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3335:50:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market)" }, "typeName": { "id": 1846, "keyType": { "id": 1844, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3343:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "Mapping", "src": "3335:35:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market)" }, "valueType": { "contractScope": null, "id": 1845, "name": "XBRTypes.Market", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4426, "src": "3354:15:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage_ptr", "typeString": "struct XBRTypes.Market" } } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1850, "name": "marketIds", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3436:26:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[]" }, "typeName": { "baseType": { "id": 1848, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3436:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 1849, "length": null, "nodeType": "ArrayTypeName", "src": "3436:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage_ptr", "typeString": "bytes16[]" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1854, "name": "marketsByMaker", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3511:49:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" }, "typeName": { "id": 1853, "keyType": { "id": 1851, "name": "address", "nodeType": "ElementaryTypeName", "src": "3519:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "3511:27:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" }, "valueType": { "id": 1852, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3530:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1859, "name": "marketsByOwner", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3618:51:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[])" }, "typeName": { "id": 1858, "keyType": { "id": 1855, "name": "address", "nodeType": "ElementaryTypeName", "src": "3626:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "3618:29:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[])" }, "valueType": { "baseType": { "id": 1856, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3637:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 1857, "length": null, "nodeType": "ArrayTypeName", "src": "3637:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage_ptr", "typeString": "bytes16[]" } } }, "value": null, "visibility": "public" }, { "body": { "id": 1878, "nodeType": "Block", "src": "3912:91:4", "statements": [ { "expression": { "argumentTypes": null, "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1866, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "3922:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1868, "name": "networkAdr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1861, "src": "3943:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1867, "name": "XBRNetwork", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3886, "src": "3932:10:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRNetwork_$3886_$", "typeString": "type(contract XBRNetwork)" } }, "id": 1869, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3932:22:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "src": "3922:32:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1871, "nodeType": "ExpressionStatement", "src": "3922:32:4" }, { "expression": { "argumentTypes": null, "id": 1876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1872, "name": "catalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1840, "src": "3964:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1874, "name": "catalogAdr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1863, "src": "3985:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1873, "name": "XBRCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 470, "src": "3974:10:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRCatalog_$470_$", "typeString": "type(contract XBRCatalog)" } }, "id": 1875, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3974:22:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "src": "3964:32:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "id": 1877, "nodeType": "ExpressionStatement", "src": "3964:32:4" } ] }, "documentation": null, "id": 1879, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 1864, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1861, "name": "networkAdr", "nodeType": "VariableDeclaration", "scope": 1879, "src": "3865:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1860, "name": "address", "nodeType": "ElementaryTypeName", "src": "3865:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1863, "name": "catalogAdr", "nodeType": "VariableDeclaration", "scope": 1879, "src": "3885:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1862, "name": "address", "nodeType": "ElementaryTypeName", "src": "3885:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "3864:40:4" }, "returnParameters": { "id": 1865, "nodeType": "ParameterList", "parameters": [], "src": "3912:0:4" }, "scope": 3361, "src": "3852:151:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1914, "nodeType": "Block", "src": "5421:156:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1899, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "5446:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5446:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1901, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "5458:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5458:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1903, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1881, "src": "5472:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1904, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1883, "src": "5482:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1905, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1885, "src": "5488:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1906, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1887, "src": "5495:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1907, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1889, "src": "5501:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1908, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1891, "src": "5520:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1909, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1893, "src": "5538:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1910, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1895, "src": "5556:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "hexValue": "", "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5567:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 1898, "name": "_createMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2223, "src": "5432:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,string memory,string memory,address,uint256,uint256,uint256,bytes memory)" } }, "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5432:138:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1913, "nodeType": "ExpressionStatement", "src": "5432:138:4" } ] }, "documentation": "Create a new XBR market. The sender of the transaction must be XBR network member\n and automatically becomes owner of the new market.\n\n /// @param marketId The ID of the market to create. Must be unique (not yet existing).\n @param coin The ERC20 coin to be used as the means of payment in the market.\n @param terms Multihash for market terms set by the market owner.\n @param meta Multihash for optional market metadata.\n @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n the revenue of the XBR Provider that receives coins paid for transactions.\n The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n a fraction of the total supply of coins in the ERC20 token specified for the market.", "id": 1915, "implemented": true, "kind": "function", "modifiers": [], "name": "createMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 1896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1881, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5247:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1880, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "5247:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1883, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5265:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1882, "name": "address", "nodeType": "ElementaryTypeName", "src": "5265:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1885, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5279:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1884, "name": "string", "nodeType": "ElementaryTypeName", "src": "5279:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1887, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5300:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1886, "name": "string", "nodeType": "ElementaryTypeName", "src": "5300:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1889, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5320:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1888, "name": "address", "nodeType": "ElementaryTypeName", "src": "5320:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1891, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5343:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1890, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5343:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1893, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5369:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1892, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5369:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1895, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5395:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1894, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5395:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5246:167:4" }, "returnParameters": { "id": 1897, "nodeType": "ParameterList", "parameters": [], "src": "5421:0:4" }, "scope": 3361, "src": "5224:353:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2006, "nodeType": "Block", "src": "7499:727:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1943, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "7534:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1946, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7570:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "7570:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7570:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1949, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7596:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "7596:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7596:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1952, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "7637:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1953, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7645:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1954, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1921, "src": "7654:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1955, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1923, "src": "7664:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1956, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1925, "src": "7670:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1957, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1927, "src": "7677:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1958, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1929, "src": "7683:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1959, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1935, "src": "7690:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" } ], "expression": { "argumentTypes": null, "id": 1944, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "7542:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 1945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712MarketCreate", "nodeType": "MemberAccess", "referencedDeclaration": 4574, "src": "7542:27:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712MarketCreate_$4574_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712MarketCreate storage pointer)" } }, "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7542:158:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712MarketCreate_$4574_memory", "typeString": "struct XBRTypes.EIP712MarketCreate memory" } }, { "argumentTypes": null, "id": 1961, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1937, "src": "7702:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712MarketCreate_$4574_memory", "typeString": "struct XBRTypes.EIP712MarketCreate memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 1941, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "7518:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 1942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5244, "src": "7518:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712MarketCreate_$4574_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712MarketCreate memory,bytes memory) pure returns (bool)" } }, "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7518:194:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f4352454154455f5349474e4154555245", "id": 1963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7726:33:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_39f1b072b678b69a00380e6d1d76fd97531f5f2b2e864451ce8129f5a39a965f", "typeString": "literal_string \"INVALID_MARKET_CREATE_SIGNATURE\"" }, "value": "INVALID_MARKET_CREATE_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_39f1b072b678b69a00380e6d1d76fd97531f5f2b2e864451ce8129f5a39a965f", "typeString": "literal_string \"INVALID_MARKET_CREATE_SIGNATURE\"" } ], "id": 1940, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "7510:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1964, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7510:250:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1965, "nodeType": "ExpressionStatement", "src": "7510:250:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1967, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7888:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1968, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7899:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1969, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7899:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7888:23:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1971, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7916:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7916:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1973, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7932:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "7932:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1975, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7932:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7916:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1977, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7979:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1983, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1978, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7991:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7991:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1980, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "8006:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "8006:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1982, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8006:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7991:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 1984, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "7990:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7979:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "7916:122:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 1987, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "7915:124:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "7888:151:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f435245415445445f424c4f434b5f4e554d424552", "id": 1989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8041:30:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b93ee23986591562cbdde610fe36f322cc428d623f389d39cfb46175300f7e7", "typeString": "literal_string \"INVALID_CREATED_BLOCK_NUMBER\"" }, "value": "INVALID_CREATED_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_8b93ee23986591562cbdde610fe36f322cc428d623f389d39cfb46175300f7e7", "typeString": "literal_string \"INVALID_CREATED_BLOCK_NUMBER\"" } ], "id": 1966, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "7880:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7880:192:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1991, "nodeType": "ExpressionStatement", "src": "7880:192:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1993, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "8097:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1994, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "8105:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1995, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1921, "src": "8114:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1996, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1923, "src": "8124:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1997, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1925, "src": "8130:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1998, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1927, "src": "8137:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1999, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1929, "src": "8143:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2000, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1931, "src": "8162:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2001, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1933, "src": "8180:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2002, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1935, "src": "8198:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2003, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1937, "src": "8209:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1992, "name": "_createMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2223, "src": "8083:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,string memory,string memory,address,uint256,uint256,uint256,bytes memory)" } }, "id": 2004, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8083:136:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2005, "nodeType": "ExpressionStatement", "src": "8083:136:4" } ] }, "documentation": "Create a new XBR market for a member. The member must be XBR network member, must have signed the\n transaction data, and will become owner of the new market.\n\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member The member that creates the market (will become market owner).\n @param created Block number when the market was created.\n @param marketId The ID of the market to create. Must be unique (not yet existing).\n @param coin The ERC20 coin to be used as the means of payment in the market.\n @param terms Multihash for market terms set by the market owner.\n @param meta Multihash for optional market metadata.\n @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n the revenue of the XBR Provider that receives coins paid for transactions.\n The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n a fraction of the total supply of coins in the ERC20 token specified for the market.\n @param signature EIP712 signature created by the member.", "id": 2007, "implemented": true, "kind": "function", "modifiers": [], "name": "createMarketFor", "nodeType": "FunctionDefinition", "parameters": { "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1917, "name": "member", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7260:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1916, "name": "address", "nodeType": "ElementaryTypeName", "src": "7260:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1919, "name": "created", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7276:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1918, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7276:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1921, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7293:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1920, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "7293:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1923, "name": "coin", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7311:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1922, "name": "address", "nodeType": "ElementaryTypeName", "src": "7311:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1925, "name": "terms", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7333:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1924, "name": "string", "nodeType": "ElementaryTypeName", "src": "7333:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1927, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7354:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1926, "name": "string", "nodeType": "ElementaryTypeName", "src": "7354:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1929, "name": "maker", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7374:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1928, "name": "address", "nodeType": "ElementaryTypeName", "src": "7374:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1931, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7389:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1930, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7389:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1933, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7415:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7415:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1935, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7449:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1934, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7449:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1937, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7468:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1936, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7468:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "7259:232:4" }, "returnParameters": { "id": 1939, "nodeType": "ParameterList", "parameters": [], "src": "7499:0:4" }, "scope": 3361, "src": "7234:992:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2222, "nodeType": "Block", "src": "8496:2493:4", "statements": [ { "assignments": [ null, null, null, 2035, null ], "declarations": [ null, null, null, { "constant": false, "id": 2035, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 2222, "src": "8514:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2034, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "8514:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2040, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2038, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "8569:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2036, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "8553:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "8553:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2039, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8553:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "8507:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2042, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2035, "src": "8662:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2043, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "8678:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "8678:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2045, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "8678:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "8662:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2047, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2035, "src": "8725:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2048, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "8741:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "8741:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2050, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "VERIFIED", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "8741:29:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "8725:45:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "8662:108:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8772:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2041, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "8654:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2054, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8654:140:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2055, "nodeType": "ExpressionStatement", "src": "8654:140:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2057, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "8881:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2059, "indexExpression": { "argumentTypes": null, "id": 2058, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "8889:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8881:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2060, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "8881:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8916:1:4", "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": 2061, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8908:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8908:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "8881:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d41524b45545f414c52454144595f455849535453", "id": 2065, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8920:23:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3552295cc751e4e095198dc42169acb3ac345362c35654ec4e3d43e2517c8bb7", "typeString": "literal_string \"MARKET_ALREADY_EXISTS\"" }, "value": "MARKET_ALREADY_EXISTS" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_3552295cc751e4e095198dc42169acb3ac345362c35654ec4e3d43e2517c8bb7", "typeString": "literal_string \"MARKET_ALREADY_EXISTS\"" } ], "id": 2056, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "8873:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2066, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8873:71:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2067, "nodeType": "ExpressionStatement", "src": "8873:71:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2085, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2075, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2071, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9164:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2072, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "9170:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2069, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9150:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "coins", "nodeType": "MemberAccess", "referencedDeclaration": 3438, "src": "9150:13:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, "id": 2073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9150:27:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "74727565", "id": 2074, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "9181:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "9150:35:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2078, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9203:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2079, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9209:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ANYADR", "nodeType": "MemberAccess", "referencedDeclaration": 3412, "src": "9209:14:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2081, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9209:16:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2076, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9189:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "coins", "nodeType": "MemberAccess", "referencedDeclaration": 3438, "src": "9189:13:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, "id": 2082, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9189:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "74727565", "id": 2083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "9230:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "9189:45:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9150:84:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f494e", "id": 2086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9236:14:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_10837bdc82769e2e62611112a6229c715a3c97b8a3ebb037cdd401608b47ef8e", "typeString": "literal_string \"INVALID_COIN\"" }, "value": "INVALID_COIN" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_10837bdc82769e2e62611112a6229c715a3c97b8a3ebb037cdd401608b47ef8e", "typeString": "literal_string \"INVALID_COIN\"" } ], "id": 2068, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9142:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2087, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9142:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2088, "nodeType": "ExpressionStatement", "src": "9142:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2090, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "9354:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9371:1:4", "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": 2091, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9363:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9363:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "9354:19:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d414b4552", "id": 2095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9375:15:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_484de75c7828c5b2a0283b1ac1380b81ce21dc59d4ce114b8a3a2805f796541d", "typeString": "literal_string \"INVALID_MAKER\"" }, "value": "INVALID_MAKER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_484de75c7828c5b2a0283b1ac1380b81ce21dc59d4ce114b8a3a2805f796541d", "typeString": "literal_string \"INVALID_MAKER\"" } ], "id": 2089, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9346:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2096, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9346:45:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2097, "nodeType": "ExpressionStatement", "src": "9346:45:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "id": 2105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2099, "name": "marketsByMaker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1854, "src": "9467:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" } }, "id": 2101, "indexExpression": { "argumentTypes": null, "id": 2100, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "9482:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9467:21:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9500:1:4", "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": 2102, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9492:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": "bytes16" }, "id": 2104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9492:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "src": "9467:35:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d414b45525f414c52454144595f574f524b494e475f464f525f4f544845525f4d41524b4554", "id": 2106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9504:40:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3751e129b5a7571e64f354a7f42f886681fa373e9a3acd5dce27ce1f49603721", "typeString": "literal_string \"MAKER_ALREADY_WORKING_FOR_OTHER_MARKET\"" }, "value": "MAKER_ALREADY_WORKING_FOR_OTHER_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_3751e129b5a7571e64f354a7f42f886681fa373e9a3acd5dce27ce1f49603721", "typeString": "literal_string \"MAKER_ALREADY_WORKING_FOR_OTHER_MARKET\"" } ], "id": 2098, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9459:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9459:86:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2108, "nodeType": "ExpressionStatement", "src": "9459:86:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2110, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "9659:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9679:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "9659:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2113, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "9684:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2115, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9711:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2114, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "9704:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2116, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9704:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "9704:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2118, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9704:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9684:46:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9659:71:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f50524f56494445525f5345435552495459", "id": 2121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9732:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f15698380491e2d2ebd4e2e3add0d03f2b8da43bd680b5e836c241ad8c8248a2", "typeString": "literal_string \"INVALID_PROVIDER_SECURITY\"" }, "value": "INVALID_PROVIDER_SECURITY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f15698380491e2d2ebd4e2e3add0d03f2b8da43bd680b5e836c241ad8c8248a2", "typeString": "literal_string \"INVALID_PROVIDER_SECURITY\"" } ], "id": 2109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9651:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2122, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9651:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2123, "nodeType": "ExpressionStatement", "src": "9651:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2125, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "9874:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9894:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "9874:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2128, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "9899:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2130, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9926:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2129, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "9919:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2131, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9919:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "9919:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2133, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9919:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9899:46:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9874:71:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53554d45525f5345435552495459", "id": 2136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9947:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a5caf297f39d3aee2fe0659989a7e3e1766939219a557029ab88f9c9fb9b11da", "typeString": "literal_string \"INVALID_CONSUMER_SECURITY\"" }, "value": "INVALID_CONSUMER_SECURITY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a5caf297f39d3aee2fe0659989a7e3e1766939219a557029ab88f9c9fb9b11da", "typeString": "literal_string \"INVALID_CONSUMER_SECURITY\"" } ], "id": 2124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9866:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2137, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9866:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2138, "nodeType": "ExpressionStatement", "src": "9866:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2140, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10063:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10076:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10063:14:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2143, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10081:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2145, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10101:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2144, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "10094:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10094:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "10094:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2148, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10094:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10081:39:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "10063:57:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f464545", "id": 2151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10122:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e65d6919b4a612f70f93f2322e458a1f676002eb6f39256504d6cc3c7f932093", "typeString": "literal_string \"INVALID_MARKET_FEE\"" }, "value": "INVALID_MARKET_FEE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_e65d6919b4a612f70f93f2322e458a1f676002eb6f39256504d6cc3c7f932093", "typeString": "literal_string \"INVALID_MARKET_FEE\"" } ], "id": 2139, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "10055:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2152, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10055:88:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2153, "nodeType": "ExpressionStatement", "src": "10055:88:4" }, { "expression": { "argumentTypes": null, "id": 2181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2154, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "10196:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2156, "indexExpression": { "argumentTypes": null, "id": 2155, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10204:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10196:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2159, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2011, "src": "10232:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2160, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10241:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, { "argumentTypes": null, "id": 2161, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10252:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2162, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10260:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2163, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2017, "src": "10266:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2164, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2019, "src": "10273:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2165, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10279:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2166, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "10298:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2167, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "10316:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2168, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10334:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2169, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2029, "src": "10345:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10370:1:4", "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": 2172, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "10356:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2170, "name": "address", "nodeType": "ElementaryTypeName", "src": "10360:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2171, "length": null, "nodeType": "ArrayTypeName", "src": "10360:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10356:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10388:1:4", "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": 2177, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "10374:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2175, "name": "address", "nodeType": "ElementaryTypeName", "src": "10378:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2176, "length": null, "nodeType": "ArrayTypeName", "src": "10378:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10374:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2157, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "10216:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Market", "nodeType": "MemberAccess", "referencedDeclaration": 4426, "src": "10216:15:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Market_$4426_storage_ptr_$", "typeString": "type(struct XBRTypes.Market storage pointer)" } }, "id": 2180, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10216:175:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_memory", "typeString": "struct XBRTypes.Market memory" } }, "src": "10196:195:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2182, "nodeType": "ExpressionStatement", "src": "10196:195:4" }, { "expression": { "argumentTypes": null, "id": 2187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2183, "name": "marketsByMaker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1854, "src": "10455:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" } }, "id": 2185, "indexExpression": { "argumentTypes": null, "id": 2184, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10470:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10455:21:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 2186, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10479:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "src": "10455:32:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 2188, "nodeType": "ExpressionStatement", "src": "10455:32:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2193, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10579:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2189, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "10551:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 2191, "indexExpression": { "argumentTypes": null, "id": 2190, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10566:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10551:22:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 2192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10551:27:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes16_$returns$_t_uint256_$", "typeString": "function (bytes16) returns (uint256)" } }, "id": 2194, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10551:37:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2195, "nodeType": "ExpressionStatement", "src": "10551:37:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2199, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10651:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "id": 2196, "name": "marketIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1850, "src": "10636:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 2198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10636:14:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes16_$returns$_t_uint256_$", "typeString": "function (bytes16) returns (uint256)" } }, "id": 2200, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10636:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2201, "nodeType": "ExpressionStatement", "src": "10636:24:4" }, { "expression": { "argumentTypes": null, "id": 2206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2202, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10724:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2203, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10736:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 2204, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10748:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10736:13:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "src": "10724:25:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "id": 2207, "nodeType": "ExpressionStatement", "src": "10724:25:4" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2209, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10860:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2210, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2011, "src": "10870:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2211, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10879:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, { "argumentTypes": null, "id": 2212, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10890:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2213, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10898:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2214, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2017, "src": "10904:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2215, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2019, "src": "10911:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2216, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10917:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2217, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "10936:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2218, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "10954:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2219, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10972:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2208, "name": "MarketCreated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1767, "src": "10846:13:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes16_$_t_uint256_$_t_uint32_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (bytes16,uint256,uint32,address,address,string memory,string memory,address,uint256,uint256,uint256)" } }, "id": 2220, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10846:136:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2221, "nodeType": "EmitStatement", "src": "10841:141:4" } ] }, "documentation": null, "id": 2223, "implemented": true, "kind": "function", "modifiers": [], "name": "_createMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2030, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2009, "name": "member", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8256:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2008, "name": "address", "nodeType": "ElementaryTypeName", "src": "8256:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2011, "name": "created", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8272:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2010, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8272:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2013, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8289:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2012, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "8289:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2015, "name": "coin", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8307:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2014, "name": "address", "nodeType": "ElementaryTypeName", "src": "8307:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2017, "name": "terms", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8321:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2016, "name": "string", "nodeType": "ElementaryTypeName", "src": "8321:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2019, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8350:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2018, "name": "string", "nodeType": "ElementaryTypeName", "src": "8350:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2021, "name": "maker", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8370:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2020, "name": "address", "nodeType": "ElementaryTypeName", "src": "8370:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2023, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8385:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2022, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8385:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2025, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8411:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8411:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2027, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8437:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2026, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8437:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2029, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8464:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2028, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8464:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "8255:232:4" }, "returnParameters": { "id": 2031, "nodeType": "ParameterList", "parameters": [], "src": "8496:0:4" }, "scope": 3361, "src": "8232:2757:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 2245, "nodeType": "Block", "src": "11472:93:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2235, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "11502:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11502:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2237, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "11514:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11514:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2239, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2225, "src": "11528:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2240, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2227, "src": "11538:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2241, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2229, "src": "11549:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "", "id": 2242, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11555:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 2234, "name": "_joinMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2623, "src": "11490:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,uint256,bytes16,uint8,string memory,bytes memory) returns (uint256)" } }, "id": 2243, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11490:68:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2233, "id": 2244, "nodeType": "Return", "src": "11483:75:4" } ] }, "documentation": "Join the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER.\n\n /// @param marketId The ID of the XBR data market to join.\n @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.", "id": 2246, "implemented": true, "kind": "function", "modifiers": [], "name": "joinMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2230, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2225, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11392:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2224, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "11392:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2227, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11410:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2226, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "11410:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2229, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11427:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2228, "name": "string", "nodeType": "ElementaryTypeName", "src": "11427:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "11391:55:4" }, "returnParameters": { "id": 2233, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2232, "name": "", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11463:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11463:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "11462:9:4" }, "scope": 3361, "src": "11371:194:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2321, "nodeType": "Block", "src": "12564:627:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2266, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "12599:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2269, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12633:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "12633:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2271, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12633:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2272, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12659:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "12659:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2274, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12659:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2275, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "12700:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2276, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "12708:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2277, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "12716:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2278, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2254, "src": "12726:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2279, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2256, "src": "12737:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2267, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "12607:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712MarketJoin", "nodeType": "MemberAccess", "referencedDeclaration": 4589, "src": "12607:25:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712MarketJoin_$4589_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712MarketJoin storage pointer)" } }, "id": 2280, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12607:135:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712MarketJoin_$4589_memory", "typeString": "struct XBRTypes.EIP712MarketJoin memory" } }, { "argumentTypes": null, "id": 2281, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2258, "src": "12744:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712MarketJoin_$4589_memory", "typeString": "struct XBRTypes.EIP712MarketJoin memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2264, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "12583:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5289, "src": "12583:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712MarketJoin_$4589_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712MarketJoin memory,bytes memory) pure returns (bool)" } }, "id": 2282, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12583:171:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f4a4f494e5f5349474e4154555245", "id": 2283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12756:31:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7123f49874e940594791685c6d92819d6c3c75c9ef72e0a441681c3e394bb6aa", "typeString": "literal_string \"INVALID_MARKET_JOIN_SIGNATURE\"" }, "value": "INVALID_MARKET_JOIN_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7123f49874e940594791685c6d92819d6c3c75c9ef72e0a441681c3e394bb6aa", "typeString": "literal_string \"INVALID_MARKET_JOIN_SIGNATURE\"" } ], "id": 2263, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "12575:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2284, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12575:213:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2285, "nodeType": "ExpressionStatement", "src": "12575:213:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2287, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "12916:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2288, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "12926:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "12926:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12916:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2291, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "12943:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "12943:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2293, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12959:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2294, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "12959:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2295, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12959:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12943:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2297, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "13006:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2298, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "13017:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13017:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2300, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "13032:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "13032:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2302, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13032:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13017:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2304, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "13016:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13006:58:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "12943:121:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 2307, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "12942:123:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "12916:149:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f524547495354455245445f424c4f434b5f4e554d424552", "id": 2309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13067:33:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a77a8f658683c076ef227088e3a5aad094db6d42966d121deadd22b9916f815", "typeString": "literal_string \"INVALID_REGISTERED_BLOCK_NUMBER\"" }, "value": "INVALID_REGISTERED_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5a77a8f658683c076ef227088e3a5aad094db6d42966d121deadd22b9916f815", "typeString": "literal_string \"INVALID_REGISTERED_BLOCK_NUMBER\"" } ], "id": 2286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "12908:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2310, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12908:193:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2311, "nodeType": "ExpressionStatement", "src": "12908:193:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2313, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "13131:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2314, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "13139:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2315, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "13147:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2316, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2254, "src": "13157:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2317, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2256, "src": "13168:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2318, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2258, "src": "13174:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2312, "name": "_joinMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2623, "src": "13119:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,uint256,bytes16,uint8,string memory,bytes memory) returns (uint256)" } }, "id": 2319, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13119:65:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2262, "id": 2320, "nodeType": "Return", "src": "13112:72:4" } ] }, "documentation": "Join the specified member to the given XBR market as the specified type of actor,\n which must be PROVIDER or CONSUMER.\n\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member The member that creates the market (will become market owner).\n @param joined Block number when the member joined the market.\n @param marketId The ID of the XBR data market to join.\n @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\n @param signature EIP712 signature created by the member.", "id": 2322, "implemented": true, "kind": "function", "modifiers": [], "name": "joinMarketFor", "nodeType": "FunctionDefinition", "parameters": { "id": 2259, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2248, "name": "member", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12420:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2247, "name": "address", "nodeType": "ElementaryTypeName", "src": "12420:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2250, "name": "joined", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12436:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2249, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12436:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2252, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12452:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2251, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "12452:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2254, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12470:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2253, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "12470:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2256, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12495:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2255, "name": "string", "nodeType": "ElementaryTypeName", "src": "12495:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2258, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12515:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2257, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "12515:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "12419:119:4" }, "returnParameters": { "id": 2262, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2261, "name": "", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12555:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2260, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12555:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "12554:9:4" }, "scope": 3361, "src": "12396:795:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2622, "nodeType": "Block", "src": "13364:3177:4", "statements": [ { "assignments": [ null, null, null, 2342, null ], "declarations": [ null, null, null, { "constant": false, "id": 2342, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 2622, "src": "13382:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2341, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "13382:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2347, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2345, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "13437:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2343, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "13421:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "13421:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2346, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13421:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "13375:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2349, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2342, "src": "13521:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2350, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "13537:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2351, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "13537:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2352, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13537:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "13521:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13566:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2348, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13513:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2355, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13513:75:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2356, "nodeType": "ExpressionStatement", "src": "13513:75:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2358, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "13648:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2360, "indexExpression": { "argumentTypes": null, "id": 2359, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "13656:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13648:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2361, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "13648:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13683:1:4", "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": 2362, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "13675:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13675:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "13648:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 2366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13687:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 2357, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13640:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2367, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13640:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2368, "nodeType": "ExpressionStatement", "src": "13640:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2370, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "13809:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2372, "indexExpression": { "argumentTypes": null, "id": 2371, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "13817:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13809:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2373, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "13809:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "id": 2374, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "13836:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "13809:33:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f49535f4f574e4552", "id": 2376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13844:17:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f58a81cc55bb520a1d1acfc778130cf8cb900523a6b2b4ee90303208d8d25068", "typeString": "literal_string \"SENDER_IS_OWNER\"" }, "value": "SENDER_IS_OWNER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f58a81cc55bb520a1d1acfc778130cf8cb900523a6b2b4ee90303208d8d25068", "typeString": "literal_string \"SENDER_IS_OWNER\"" } ], "id": 2369, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13801:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2377, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13801:61:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2378, "nodeType": "ExpressionStatement", "src": "13801:61:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2394, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2380, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "13974:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2382, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "13993:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "13993:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2384, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13993:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2381, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "13987:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13987:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "13974:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2387, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14041:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2389, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14060:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2390, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14060:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2391, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14060:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2388, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14054:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14054:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14041:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13974:114:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2395, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14108:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2397, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14127:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14127:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2399, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14127:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2396, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14121:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2400, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14121:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14108:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13974:190:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 2403, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14166:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 2379, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13966:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2404, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13966:221:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2405, "nodeType": "ExpressionStatement", "src": "13966:221:4" }, { "assignments": [ 2407 ], "declarations": [ { "constant": false, "id": 2407, "name": "security", "nodeType": "VariableDeclaration", "scope": 2622, "src": "14274:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2406, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14274:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2409, "initialValue": { "argumentTypes": null, "hexValue": "30", "id": 2408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14293:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "14274:20:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2410, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14308:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2412, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14327:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14327:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2414, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14327:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2411, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14321:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14321:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14308:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2417, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14359:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2419, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14378:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14378:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2421, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14378:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2418, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14372:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14372:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14359:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "14308:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2448, "nodeType": "IfStatement", "src": "14304:371:4", "trueBody": { "id": 2447, "nodeType": "Block", "src": "14417:258:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2427, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14520:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2429, "indexExpression": { "argumentTypes": null, "id": 2428, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14528:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14520:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2430, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "14520:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2432, "indexExpression": { "argumentTypes": null, "id": 2431, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "14553:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14520:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2433, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "14520:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2426, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14514:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2434, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14514:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14572:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14514:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "414c52454144595f4a4f494e45445f41535f50524f5649444552", "id": 2437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14575:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b994fb7e9eb5d778352c51f1e85f1593e84f5e3a1351b6dd07d5e27a532f9bd1", "typeString": "literal_string \"ALREADY_JOINED_AS_PROVIDER\"" }, "value": "ALREADY_JOINED_AS_PROVIDER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_b994fb7e9eb5d778352c51f1e85f1593e84f5e3a1351b6dd07d5e27a532f9bd1", "typeString": "literal_string \"ALREADY_JOINED_AS_PROVIDER\"" } ], "id": 2425, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "14506:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2438, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14506:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2439, "nodeType": "ExpressionStatement", "src": "14506:98:4" }, { "expression": { "argumentTypes": null, "id": 2445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2440, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "14618:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2441, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14630:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2443, "indexExpression": { "argumentTypes": null, "id": 2442, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14638:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14630:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2444, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4397, "src": "14630:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14618:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2446, "nodeType": "ExpressionStatement", "src": "14618:46:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2449, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14689:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2451, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14708:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14708:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2453, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14708:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2450, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14702:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2454, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14702:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14689:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2456, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14740:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2458, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14759:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14759:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2460, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14759:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2457, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14753:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14753:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14740:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "14689:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2487, "nodeType": "IfStatement", "src": "14685:371:4", "trueBody": { "id": 2486, "nodeType": "Block", "src": "14798:258:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2466, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14901:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2468, "indexExpression": { "argumentTypes": null, "id": 2467, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14909:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14901:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "14901:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2471, "indexExpression": { "argumentTypes": null, "id": 2470, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "14934:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14901:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2472, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "14901:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2465, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14895:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2473, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14895:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2474, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14953:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14895:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "414c52454144595f4a4f494e45445f41535f434f4e53554d4552", "id": 2476, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14956:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7cd00d2c3fb84f58d81d1c72505d0dcbd54eef7cdcba84d7701760fd822264e3", "typeString": "literal_string \"ALREADY_JOINED_AS_CONSUMER\"" }, "value": "ALREADY_JOINED_AS_CONSUMER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7cd00d2c3fb84f58d81d1c72505d0dcbd54eef7cdcba84d7701760fd822264e3", "typeString": "literal_string \"ALREADY_JOINED_AS_CONSUMER\"" } ], "id": 2464, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "14887:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2477, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14887:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2478, "nodeType": "ExpressionStatement", "src": "14887:98:4" }, { "expression": { "argumentTypes": null, "id": 2484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2479, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "14999:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2480, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15011:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2482, "indexExpression": { "argumentTypes": null, "id": 2481, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15019:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15011:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2483, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4399, "src": "15011:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14999:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2485, "nodeType": "ExpressionStatement", "src": "14999:46:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2490, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2488, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "15175:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15186:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "15175:12:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2514, "nodeType": "IfStatement", "src": "15171:292:4", "trueBody": { "id": 2513, "nodeType": "Block", "src": "15189:274:4", "statements": [ { "assignments": [ 2492 ], "declarations": [ { "constant": false, "id": 2492, "name": "success", "nodeType": "VariableDeclaration", "scope": 2513, "src": "15285:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2491, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15285:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2507, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2500, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15344:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2501, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15352:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2503, "indexExpression": { "argumentTypes": null, "id": 2502, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15360:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15352:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2504, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "15352:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2505, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "15377:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2494, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15307:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2496, "indexExpression": { "argumentTypes": null, "id": 2495, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15315:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15307:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2497, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "coin", "nodeType": "MemberAccess", "referencedDeclaration": 4389, "src": "15307:22:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2493, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "15300:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2498, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15300:30:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2499, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 6316, "src": "15300:43:4", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, "id": 2506, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15300:86:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "15285:101:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2509, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2492, "src": "15408:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4a4f494e5f4d41524b45545f5452414e534645525f46524f4d5f4641494c4544", "id": 2510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15417:34:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bc36bbcd1f691e5b2bdc683c50eb7f571e587126cbd7ab6e7dcbd28836529dfe", "typeString": "literal_string \"JOIN_MARKET_TRANSFER_FROM_FAILED\"" }, "value": "JOIN_MARKET_TRANSFER_FROM_FAILED" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_bc36bbcd1f691e5b2bdc683c50eb7f571e587126cbd7ab6e7dcbd28836529dfe", "typeString": "literal_string \"JOIN_MARKET_TRANSFER_FROM_FAILED\"" } ], "id": 2508, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "15400:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2511, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15400:52:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2512, "nodeType": "ExpressionStatement", "src": "15400:52:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2521, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2515, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15536:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2517, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15555:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15555:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15555:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2516, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15549:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2520, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15549:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15536:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2528, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2522, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15587:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2524, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15606:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15606:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2526, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15606:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2523, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15600:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15600:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15587:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "15536:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2562, "nodeType": "IfStatement", "src": "15532:336:4", "trueBody": { "id": 2561, "nodeType": "Block", "src": "15645:223:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2530, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15659:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2532, "indexExpression": { "argumentTypes": null, "id": 2531, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15667:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15659:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2533, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "15659:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2535, "indexExpression": { "argumentTypes": null, "id": 2534, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15692:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "15659:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2538, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "15717:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2539, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15725:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2541, "indexExpression": { "argumentTypes": null, "id": 2540, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15733:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15725:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2542, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4397, "src": "15725:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2543, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "15761:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2544, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "15767:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15792:1:4", "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": 2547, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "15778:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2545, "name": "address", "nodeType": "ElementaryTypeName", "src": "15782:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2546, "length": null, "nodeType": "ArrayTypeName", "src": "15782:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15778:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2536, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15702:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Actor", "nodeType": "MemberAccess", "referencedDeclaration": 4381, "src": "15702:14:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Actor_$4381_storage_ptr_$", "typeString": "type(struct XBRTypes.Actor storage pointer)" } }, "id": 2550, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15702:93:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_memory", "typeString": "struct XBRTypes.Actor memory" } }, "src": "15659:136:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2552, "nodeType": "ExpressionStatement", "src": "15659:136:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2558, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15850:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2553, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15809:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2555, "indexExpression": { "argumentTypes": null, "id": 2554, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15817:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15809:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2556, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4406, "src": "15809:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 2557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15809:40:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, "id": 2559, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15809:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2560, "nodeType": "ExpressionStatement", "src": "15809:48:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2563, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15882:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2565, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15901:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15901:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2567, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15901:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2564, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15895:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15895:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15882:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2570, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15933:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2572, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15952:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15952:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2574, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15952:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15946:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15946:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15933:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "15882:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2610, "nodeType": "IfStatement", "src": "15878:336:4", "trueBody": { "id": 2609, "nodeType": "Block", "src": "15991:223:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2578, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16005:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2580, "indexExpression": { "argumentTypes": null, "id": 2579, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16013:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16005:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2581, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "16005:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2583, "indexExpression": { "argumentTypes": null, "id": 2582, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16038:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "16005:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2586, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "16063:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2587, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16071:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2589, "indexExpression": { "argumentTypes": null, "id": 2588, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16079:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16071:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2590, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4399, "src": "16071:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2591, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "16107:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2592, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "16113:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "16138:1:4", "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": 2595, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "16124:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2593, "name": "address", "nodeType": "ElementaryTypeName", "src": "16128:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2594, "length": null, "nodeType": "ArrayTypeName", "src": "16128:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16124:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2584, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "16048:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Actor", "nodeType": "MemberAccess", "referencedDeclaration": 4381, "src": "16048:14:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Actor_$4381_storage_ptr_$", "typeString": "type(struct XBRTypes.Actor storage pointer)" } }, "id": 2598, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16048:93:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_memory", "typeString": "struct XBRTypes.Actor memory" } }, "src": "16005:136:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2600, "nodeType": "ExpressionStatement", "src": "16005:136:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2606, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16196:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2601, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16155:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2603, "indexExpression": { "argumentTypes": null, "id": 2602, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16163:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16155:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2604, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4409, "src": "16155:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 2605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16155:40:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, "id": 2607, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16155:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2608, "nodeType": "ExpressionStatement", "src": "16155:48:4" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2612, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16407:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2613, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16417:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2614, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "16425:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2615, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "16436:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2616, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "16444:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2617, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "16454:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2611, "name": "ActorJoined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1807, "src": "16395:11:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes16_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bytes16,address,uint8,uint256,uint256,string memory)" } }, "id": 2618, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16395:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2619, "nodeType": "EmitStatement", "src": "16390:69:4" }, { "expression": { "argumentTypes": null, "id": 2620, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "16526:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2338, "id": 2621, "nodeType": "Return", "src": "16519:15:4" } ] }, "documentation": null, "id": 2623, "implemented": true, "kind": "function", "modifiers": [], "name": "_joinMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2335, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2324, "name": "member", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13219:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2323, "name": "address", "nodeType": "ElementaryTypeName", "src": "13219:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2326, "name": "joined", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13235:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13235:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2328, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13251:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2327, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "13251:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2330, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13269:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2329, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "13269:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2332, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13294:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2331, "name": "string", "nodeType": "ElementaryTypeName", "src": "13294:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2334, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13314:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2333, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "13314:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "13218:119:4" }, "returnParameters": { "id": 2338, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2337, "name": "", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13355:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2336, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13355:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "13354:9:4" }, "scope": 3361, "src": "13197:3344:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 2652, "nodeType": "Block", "src": "17598:148:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2639, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "17628:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "17628:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2641, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "17640:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2642, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "17640:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2643, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2625, "src": "17654:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2644, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2627, "src": "17664:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2645, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2629, "src": "17674:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2646, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2631, "src": "17700:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2647, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2633, "src": "17712:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2648, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2635, "src": "17721:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "", "id": 2649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "17736:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 2638, "name": "_setConsent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3007, "src": "17616:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory,bytes memory)" } }, "id": 2650, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "17616:123:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "functionReturnParameters": 2637, "id": 2651, "nodeType": "Return", "src": "17609:130:4" } ] }, "documentation": "Track consent of an actor in a market to allow the specified seller or buyer delegate\n to provide or consume data under the respective API catalog in the given market.\n\n /// @param marketId The ID of the XBR data market in which to provide or consume data. Any\n terms attached to the market or the API apply.\n @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n of software acting on behalf and under consent of the actor in the market.\n @param delegateType The type of off-chain delegate, a data provider or data consumer.\n @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n @param consent Consent granted or revoked.\n @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.", "id": 2653, "implemented": true, "kind": "function", "modifiers": [], "name": "setConsent", "nodeType": "FunctionDefinition", "parameters": { "id": 2636, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2625, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17464:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2624, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "17464:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2627, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17482:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2626, "name": "address", "nodeType": "ElementaryTypeName", "src": "17482:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2629, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17500:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2628, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "17500:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2631, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17520:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2630, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "17520:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2633, "name": "consent", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17548:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2632, "name": "bool", "nodeType": "ElementaryTypeName", "src": "17548:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2635, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17562:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2634, "name": "string", "nodeType": "ElementaryTypeName", "src": "17562:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "17463:127:4" }, "returnParameters": { "id": 2637, "nodeType": "ParameterList", "parameters": [], "src": "17598:0:4" }, "scope": 3361, "src": "17443:303:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2738, "nodeType": "Block", "src": "19348:731:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2677, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19383:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2680, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19414:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "19414:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2682, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19414:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2683, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19440:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "19440:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2685, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19440:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2686, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19481:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2687, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19489:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2688, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2659, "src": "19498:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2689, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "19508:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2690, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "19518:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2691, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "19532:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2692, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2667, "src": "19544:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2693, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2669, "src": "19553:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2678, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "19391:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2679, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4610, "src": "19391:22:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712Consent_$4610_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712Consent storage pointer)" } }, "id": 2694, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19391:176:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712Consent_$4610_memory", "typeString": "struct XBRTypes.EIP712Consent memory" } }, { "argumentTypes": null, "id": 2695, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2671, "src": "19569:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712Consent_$4610_memory", "typeString": "struct XBRTypes.EIP712Consent memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2675, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "19367:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2676, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5334, "src": "19367:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712Consent_$4610_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712Consent memory,bytes memory) pure returns (bool)" } }, "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19367:212:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53454e545f5349474e4154555245", "id": 2697, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "19593:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ac380bc3032942b0b99d64d516f4a7178c8f044436ada39971d4566230908c67", "typeString": "literal_string \"INVALID_CONSENT_SIGNATURE\"" }, "value": "INVALID_CONSENT_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ac380bc3032942b0b99d64d516f4a7178c8f044436ada39971d4566230908c67", "typeString": "literal_string \"INVALID_CONSENT_SIGNATURE\"" } ], "id": 2674, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "19359:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2698, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19359:262:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2699, "nodeType": "ExpressionStatement", "src": "19359:262:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2701, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19749:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2702, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19760:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19760:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19749:23:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2720, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2705, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19777:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2706, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19777:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2707, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19793:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "19793:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2709, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19793:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19777:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2711, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19840:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2712, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19852:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19852:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2714, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19867:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "19867:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2716, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19867:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19852:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2718, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "19851:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19840:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "19777:122:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 2721, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "19776:124:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "19749:151:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53454e545f424c4f434b5f4e554d424552", "id": 2723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "19902:30:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e0951219b86fc3aa3f411ba6b56fd72b2c87fcf1af5a7f71978922eb1565f506", "typeString": "literal_string \"INVALID_CONSENT_BLOCK_NUMBER\"" }, "value": "INVALID_CONSENT_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_e0951219b86fc3aa3f411ba6b56fd72b2c87fcf1af5a7f71978922eb1565f506", "typeString": "literal_string \"INVALID_CONSENT_BLOCK_NUMBER\"" } ], "id": 2700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "19741:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19741:192:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2725, "nodeType": "ExpressionStatement", "src": "19741:192:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2727, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19963:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2728, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19971:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2729, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2659, "src": "19980:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2730, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "19990:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2731, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "20000:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2732, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "20026:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2733, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2667, "src": "20038:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2734, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2669, "src": "20047:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2735, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2671, "src": "20062:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2726, "name": "_setConsent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3007, "src": "19951:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory,bytes memory)" } }, "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19951:121:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "functionReturnParameters": 2673, "id": 2737, "nodeType": "Return", "src": "19944:128:4" } ] }, "documentation": "Track consent of an actor in a market to allow the specified seller or buyer delegate\n to provide or consume data under the respective API catalog in the given market.\n\n /// IMPORTANT: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member Address of member (which must be actor in the market) that sets consent.\n @param updated Block number at which the consent setting member has created the signature.\n @param marketId The ID of the XBR data market in which to provide or consume data. Any\n terms attached to the market or the API apply.\n @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n of software acting on behalf and under consent of the actor in the market.\n @param delegateType The type of off-chain delegate, a data provider or data consumer.\n @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n @param consent Consent granted or revoked.\n @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.\n @param signature EIP712 signature, signed by the consent setting member.", "id": 2739, "implemented": true, "kind": "function", "modifiers": [], "name": "setConsentFor", "nodeType": "FunctionDefinition", "parameters": { "id": 2672, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2655, "name": "member", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19149:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2654, "name": "address", "nodeType": "ElementaryTypeName", "src": "19149:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2657, "name": "updated", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19165:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2656, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "19165:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2659, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19182:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2658, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "19182:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2661, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19200:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2660, "name": "address", "nodeType": "ElementaryTypeName", "src": "19200:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2663, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19226:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2662, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "19226:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2665, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19246:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2664, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "19246:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2667, "name": "consent", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19266:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2666, "name": "bool", "nodeType": "ElementaryTypeName", "src": "19266:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2669, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19280:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2668, "name": "string", "nodeType": "ElementaryTypeName", "src": "19280:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2671, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19317:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2670, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19317:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "19148:192:4" }, "returnParameters": { "id": 2673, "nodeType": "ParameterList", "parameters": [], "src": "19348:0:4" }, "scope": 3361, "src": "19125:954:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3006, "nodeType": "Block", "src": "20306:2662:4", "statements": [ { "assignments": [ null, null, null, 2763, null ], "declarations": [ null, null, null, { "constant": false, "id": 2763, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 3006, "src": "20324:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2762, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "20324:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2768, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2766, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "20379:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2764, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "20363:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "20363:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2767, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20363:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "20317:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2770, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2763, "src": "20463:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2771, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20479:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2772, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "20479:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2773, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20479:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "20463:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20508:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2769, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20455:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2776, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20455:75:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2777, "nodeType": "ExpressionStatement", "src": "20455:75:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2779, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "20582:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2781, "indexExpression": { "argumentTypes": null, "id": 2780, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "20590:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "20582:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2782, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "20582:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "20617:1:4", "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": 2783, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20609:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20609:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "20582:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 2787, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20621:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 2778, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20574:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2788, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20574:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2789, "nodeType": "ExpressionStatement", "src": "20574:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2791, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20752:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2793, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20774:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20774:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2795, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20774:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2792, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20768:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20768:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20752:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2798, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20822:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2800, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20844:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20844:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2802, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20844:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2799, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20838:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2803, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20838:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20822:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20752:120:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2806, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20892:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2808, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20914:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20914:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20914:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2807, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20908:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20908:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20892:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20752:199:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 2814, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20953:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 2790, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20744:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2815, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20744:230:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2816, "nodeType": "ExpressionStatement", "src": "20744:230:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2817, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20989:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2819, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21011:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21011:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2821, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21011:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2818, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21005:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21005:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20989:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2824, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21043:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2826, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21065:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21065:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2828, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21065:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2825, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21059:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21059:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21043:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20989:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2848, "nodeType": "IfStatement", "src": "20985:300:4", "trueBody": { "id": 2847, "nodeType": "Block", "src": "21104:181:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2834, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "21197:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2836, "indexExpression": { "argumentTypes": null, "id": 2835, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "21205:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21197:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2837, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "21197:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2839, "indexExpression": { "argumentTypes": null, "id": 2838, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "21230:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21197:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2840, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "21197:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2833, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21191:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21191:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21249:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21191:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d454d4245525f4e4f545f50524f5649444552", "id": 2844, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21252:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fede3408468af9f887cd1048046b575a90273122e05e8dc171787c3488579dc5", "typeString": "literal_string \"MEMBER_NOT_PROVIDER\"" }, "value": "MEMBER_NOT_PROVIDER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_fede3408468af9f887cd1048046b575a90273122e05e8dc171787c3488579dc5", "typeString": "literal_string \"MEMBER_NOT_PROVIDER\"" } ], "id": 2832, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21183:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2845, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21183:91:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2846, "nodeType": "ExpressionStatement", "src": "21183:91:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2849, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21299:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2851, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21321:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21321:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21321:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2850, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21315:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21315:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21299:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2856, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21353:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2858, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21375:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21375:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21375:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21369:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21369:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21353:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "21299:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2880, "nodeType": "IfStatement", "src": "21295:300:4", "trueBody": { "id": 2879, "nodeType": "Block", "src": "21414:181:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2875, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2866, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "21507:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2868, "indexExpression": { "argumentTypes": null, "id": 2867, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "21515:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21507:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "21507:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2871, "indexExpression": { "argumentTypes": null, "id": 2870, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "21540:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21507:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "21507:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21501:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2873, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21501:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2874, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21559:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21501:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d454d4245525f4e4f545f434f4e53554d4552", "id": 2876, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21562:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a21b4d5429f8592faed12e052fee81bd80fdcd1e759950c23d34ff6757fbe1de", "typeString": "literal_string \"MEMBER_NOT_CONSUMER\"" }, "value": "MEMBER_NOT_CONSUMER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a21b4d5429f8592faed12e052fee81bd80fdcd1e759950c23d34ff6757fbe1de", "typeString": "literal_string \"MEMBER_NOT_CONSUMER\"" } ], "id": 2864, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21493:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2877, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21493:91:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2878, "nodeType": "ExpressionStatement", "src": "21493:91:4" } ] } }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2882, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "21707:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21727:1:4", "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": 2883, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21719:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2885, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21719:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "21707:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4348414e4e454c5f44454c4547415445", "id": 2887, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21731:26:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_26aaab248edcb940cb884ea0bd51dda070c63cf449fc2089d3e6af46e4427321", "typeString": "literal_string \"INVALID_CHANNEL_DELEGATE\"" }, "value": "INVALID_CHANNEL_DELEGATE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_26aaab248edcb940cb884ea0bd51dda070c63cf449fc2089d3e6af46e4427321", "typeString": "literal_string \"INVALID_CHANNEL_DELEGATE\"" } ], "id": 2881, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21699:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2888, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21699:59:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2889, "nodeType": "ExpressionStatement", "src": "21699:59:4" }, { "assignments": [ 2891, null, null, null, null, null ], "declarations": [ { "constant": false, "id": 2891, "name": "catalogCreated", "nodeType": "VariableDeclaration", "scope": 3006, "src": "21804:22:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2890, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "21804:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, null, null, null, null, null ], "id": 2896, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2894, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "21857:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "id": 2892, "name": "catalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1840, "src": "21840:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "id": 2893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "catalogs", "nodeType": "MemberAccess", "referencedDeclaration": 104, "src": "21840:16:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes16_$returns$_t_uint256_$_t_uint32_$_t_address_$_t_string_memory_$_t_string_memory_$_t_bytes_memory_$", "typeString": "function (bytes16) view external returns (uint256,uint32,address,string memory,string memory,bytes memory)" } }, "id": 2895, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21840:28:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$_t_string_memory_$_t_string_memory_$_t_bytes_memory_$", "typeString": "tuple(uint256,uint32,address,string memory,string memory,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "21803:65:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2898, "name": "catalogCreated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2891, "src": "21886:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21904:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21886:19:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f434154414c4f47", "id": 2901, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21907:17:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_37ef41cf9dc4bffd38a2878fa0a1a5b51e3d9a6471bce7e518be3a256700790e", "typeString": "literal_string \"NO_SUCH_CATALOG\"" }, "value": "NO_SUCH_CATALOG" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_37ef41cf9dc4bffd38a2878fa0a1a5b51e3d9a6471bce7e518be3a256700790e", "typeString": "literal_string \"NO_SUCH_CATALOG\"" } ], "id": 2897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21878:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2902, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21878:47:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2903, "nodeType": "ExpressionStatement", "src": "21878:47:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 2917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2908, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22007:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2906, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6335, "src": "21996:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 2907, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21996:10:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 2909, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21996:25:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2905, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6342, "src": "21986:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2910, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21986:36:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", "id": 2914, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "22047:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "expression": { "argumentTypes": null, "id": 2912, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6335, "src": "22036:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 2913, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22036:10:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 2915, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22036:14:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2911, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6342, "src": "22026:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22026:25:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "21986:65:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "534552564943455f5052454649585f454d505459", "id": 2918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "22053:22:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0616b3e2bd03c7980c8ffd564f8591f4cd54e4b642c25f8b16c9741edce711d4", "typeString": "literal_string \"SERVICE_PREFIX_EMPTY\"" }, "value": "SERVICE_PREFIX_EMPTY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_0616b3e2bd03c7980c8ffd564f8591f4cd54e4b642c25f8b16c9741edce711d4", "typeString": "literal_string \"SERVICE_PREFIX_EMPTY\"" } ], "id": 2904, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21978:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2919, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21978:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2920, "nodeType": "ExpressionStatement", "src": "21978:98:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2921, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22144:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2923, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22166:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22166:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2925, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22166:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22160:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2926, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22160:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22144:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2928, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22198:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2930, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22220:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22220:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22220:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2929, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22214:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22214:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22198:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "22144:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2957, "nodeType": "IfStatement", "src": "22140:296:4", "trueBody": { "id": 2956, "nodeType": "Block", "src": "22259:177:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2936, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "22273:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2938, "indexExpression": { "argumentTypes": null, "id": 2937, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22281:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2939, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "22273:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2941, "indexExpression": { "argumentTypes": null, "id": 2940, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22306:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2942, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delegates", "nodeType": "MemberAccess", "referencedDeclaration": 4380, "src": "22273:50:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$_$", "typeString": "mapping(address => mapping(bytes16 => struct XBRTypes.Consent storage ref))" } }, "id": 2944, "indexExpression": { "argumentTypes": null, "id": 2943, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22324:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:60:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Consent storage ref)" } }, "id": 2946, "indexExpression": { "argumentTypes": null, "id": 2945, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22334:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "22273:72:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2949, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22382:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2950, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22391:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2951, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22400:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2952, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2757, "src": "22415:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2947, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22348:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4461, "src": "22348:16:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Consent_$4461_storage_ptr_$", "typeString": "type(struct XBRTypes.Consent storage pointer)" } }, "id": 2953, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22348:77:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_memory", "typeString": "struct XBRTypes.Consent memory" } }, "src": "22273:152:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "id": 2955, "nodeType": "ExpressionStatement", "src": "22273:152:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2958, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22503:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2960, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22525:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22525:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2962, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22525:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2959, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22519:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22519:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22503:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2965, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22557:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2967, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22579:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22579:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2969, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22579:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2966, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22573:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2970, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22573:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22557:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "22503:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2994, "nodeType": "IfStatement", "src": "22499:296:4", "trueBody": { "id": 2993, "nodeType": "Block", "src": "22618:177:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2973, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "22632:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2975, "indexExpression": { "argumentTypes": null, "id": 2974, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22640:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2976, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "22632:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2978, "indexExpression": { "argumentTypes": null, "id": 2977, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22665:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2979, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delegates", "nodeType": "MemberAccess", "referencedDeclaration": 4380, "src": "22632:50:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$_$", "typeString": "mapping(address => mapping(bytes16 => struct XBRTypes.Consent storage ref))" } }, "id": 2981, "indexExpression": { "argumentTypes": null, "id": 2980, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22683:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:60:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Consent storage ref)" } }, "id": 2983, "indexExpression": { "argumentTypes": null, "id": 2982, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22693:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "22632:72:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2986, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22741:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2987, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22750:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2988, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22759:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2989, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2757, "src": "22774:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2984, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22707:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4461, "src": "22707:16:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Consent_$4461_storage_ptr_$", "typeString": "type(struct XBRTypes.Consent storage pointer)" } }, "id": 2990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22707:77:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_memory", "typeString": "struct XBRTypes.Consent memory" } }, "src": "22632:152:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "id": 2992, "nodeType": "ExpressionStatement", "src": "22632:152:4" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2996, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22875:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2997, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22883:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2998, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22892:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2999, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22902:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 3000, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22912:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 3001, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22926:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 3002, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22938:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 3003, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22947:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2995, "name": "ConsentSet", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1833, "src": "22864:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory)" } }, "id": 3004, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22864:97:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3005, "nodeType": "EmitStatement", "src": "22859:102:4" } ] }, "documentation": null, "id": 3007, "implemented": true, "kind": "function", "modifiers": [], "name": "_setConsent", "nodeType": "FunctionDefinition", "parameters": { "id": 2758, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2741, "name": "member", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20107:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2740, "name": "address", "nodeType": "ElementaryTypeName", "src": "20107:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2743, "name": "updated", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20123:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2742, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20123:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2745, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20140:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2744, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "20140:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2747, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20158:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2746, "name": "address", "nodeType": "ElementaryTypeName", "src": "20158:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2749, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20184:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2748, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "20184:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2751, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20204:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2750, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "20204:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2753, "name": "consent", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20224:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2752, "name": "bool", "nodeType": "ElementaryTypeName", "src": "20224:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2755, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20238:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2754, "name": "string", "nodeType": "ElementaryTypeName", "src": "20238:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2757, "name": "signature", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20275:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2756, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20275:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "20106:192:4" }, "returnParameters": { "id": 2759, "nodeType": "ParameterList", "parameters": [], "src": "20306:0:4" }, "scope": 3361, "src": "20085:2883:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3015, "nodeType": "Block", "src": "23074:40:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3012, "name": "marketIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1850, "src": "23091:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3013, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "23091:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3011, "id": 3014, "nodeType": "Return", "src": "23084:23:4" } ] }, "documentation": "Get the total number of markets defined.", "id": 3016, "implemented": true, "kind": "function", "modifiers": [], "name": "countMarkets", "nodeType": "FunctionDefinition", "parameters": { "id": 3008, "nodeType": "ParameterList", "parameters": [], "src": "23044:2:4" }, "returnParameters": { "id": 3011, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3010, "name": "", "nodeType": "VariableDeclaration", "scope": 3016, "src": "23068:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3009, "name": "uint", "nodeType": "ElementaryTypeName", "src": "23068:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "23067:6:4" }, "scope": 3361, "src": "23023:91:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3028, "nodeType": "Block", "src": "23488:47:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3023, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23505:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3025, "indexExpression": { "argumentTypes": null, "id": 3024, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3018, "src": "23513:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23505:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3026, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "23505:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3022, "id": 3027, "nodeType": "Return", "src": "23498:30:4" } ] }, "documentation": "Get the market owner for the given market.", "id": 3029, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3019, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3018, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3029, "src": "23440:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3017, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23440:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23439:18:4" }, "returnParameters": { "id": 3022, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3021, "name": "", "nodeType": "VariableDeclaration", "scope": 3029, "src": "23479:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3020, "name": "address", "nodeType": "ElementaryTypeName", "src": "23479:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "23478:9:4" }, "scope": 3361, "src": "23416:119:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3041, "nodeType": "Block", "src": "23683:46:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3036, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23700:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3038, "indexExpression": { "argumentTypes": null, "id": 3037, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3031, "src": "23708:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23700:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3039, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "coin", "nodeType": "MemberAccess", "referencedDeclaration": 4389, "src": "23700:22:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3035, "id": 3040, "nodeType": "Return", "src": "23693:29:4" } ] }, "documentation": "Get the coin ussed as a means of payment for the given market.", "id": 3042, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketCoin", "nodeType": "FunctionDefinition", "parameters": { "id": 3032, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3031, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3042, "src": "23635:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3030, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23635:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23634:18:4" }, "returnParameters": { "id": 3035, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3034, "name": "", "nodeType": "VariableDeclaration", "scope": 3042, "src": "23674:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3033, "name": "address", "nodeType": "ElementaryTypeName", "src": "23674:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "23673:9:4" }, "scope": 3361, "src": "23612:117:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3054, "nodeType": "Block", "src": "23894:51:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3049, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23911:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3051, "indexExpression": { "argumentTypes": null, "id": 3050, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3044, "src": "23919:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23911:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3052, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "marketFee", "nodeType": "MemberAccess", "referencedDeclaration": 4401, "src": "23911:27:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3048, "id": 3053, "nodeType": "Return", "src": "23904:34:4" } ] }, "documentation": "Get the market fee set by the market operator that applies for the given market.", "id": 3055, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketFee", "nodeType": "FunctionDefinition", "parameters": { "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3044, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3055, "src": "23846:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3043, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23846:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23845:18:4" }, "returnParameters": { "id": 3048, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3047, "name": "", "nodeType": "VariableDeclaration", "scope": 3055, "src": "23885:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3046, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "23885:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "23884:9:4" }, "scope": 3361, "src": "23824:121:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3067, "nodeType": "Block", "src": "24074:47:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3062, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24091:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3064, "indexExpression": { "argumentTypes": null, "id": 3063, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3057, "src": "24099:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24091:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3065, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "maker", "nodeType": "MemberAccess", "referencedDeclaration": 4395, "src": "24091:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3061, "id": 3066, "nodeType": "Return", "src": "24084:30:4" } ] }, "documentation": "Get the market maker for the given market.", "id": 3068, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketMaker", "nodeType": "FunctionDefinition", "parameters": { "id": 3058, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3057, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3068, "src": "24026:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3056, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24026:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "24025:18:4" }, "returnParameters": { "id": 3061, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3060, "name": "", "nodeType": "VariableDeclaration", "scope": 3068, "src": "24065:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3059, "name": "address", "nodeType": "ElementaryTypeName", "src": "24065:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "24064:9:4" }, "scope": 3361, "src": "24002:119:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3083, "nodeType": "Block", "src": "24266:52:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3077, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "24283:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 3079, "indexExpression": { "argumentTypes": null, "id": 3078, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "24298:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24283:21:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3081, "indexExpression": { "argumentTypes": null, "id": 3080, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3072, "src": "24305:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24283:28:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "functionReturnParameters": 3076, "id": 3082, "nodeType": "Return", "src": "24276:35:4" } ] }, "documentation": "Get the n-th market owned by the given member.", "id": 3084, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketsByOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3073, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3070, "name": "owner", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24209:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3069, "name": "address", "nodeType": "ElementaryTypeName", "src": "24209:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3072, "name": "index", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24224:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3071, "name": "uint", "nodeType": "ElementaryTypeName", "src": "24224:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "24208:27:4" }, "returnParameters": { "id": 3076, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3075, "name": "", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24257:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3074, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24257:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "24256:9:4" }, "scope": 3361, "src": "24182:136:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3145, "nodeType": "Block", "src": "24499:457:4", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3095, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24513:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3097, "indexExpression": { "argumentTypes": null, "id": 3096, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24521:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24513:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "24513:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24548:1:4", "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": 3099, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "24540:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "24540:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "24513:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3143, "nodeType": "Block", "src": "24595:355:4", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "id": 3110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3106, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3090, "src": "24613:9:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3107, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "24627:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "24627:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3109, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "24627:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "src": "24613:41:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "id": 3126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3122, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3090, "src": "24756:9:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3123, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "24770:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "24770:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3125, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "24770:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "src": "24756:41:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3140, "nodeType": "Block", "src": "24895:45:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", "id": 3138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "24920:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 3094, "id": 3139, "nodeType": "Return", "src": "24913:12:4" } ] }, "id": 3141, "nodeType": "IfStatement", "src": "24752:188:4", "trueBody": { "id": 3137, "nodeType": "Block", "src": "24799:90:4", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3127, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24824:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3129, "indexExpression": { "argumentTypes": null, "id": 3128, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24832:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24824:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3130, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "24824:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3132, "indexExpression": { "argumentTypes": null, "id": 3131, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3088, "src": "24857:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24824:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3133, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "24824:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24873:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "24824:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3094, "id": 3136, "nodeType": "Return", "src": "24817:57:4" } ] } }, "id": 3142, "nodeType": "IfStatement", "src": "24609:331:4", "trueBody": { "id": 3121, "nodeType": "Block", "src": "24656:90:4", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3111, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24681:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3113, "indexExpression": { "argumentTypes": null, "id": 3112, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24689:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24681:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3114, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "24681:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3116, "indexExpression": { "argumentTypes": null, "id": 3115, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3088, "src": "24714:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24681:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3117, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "24681:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3118, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24730:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "24681:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3094, "id": 3120, "nodeType": "Return", "src": "24674:57:4" } ] } } ] }, "id": 3144, "nodeType": "IfStatement", "src": "24509:441:4", "trueBody": { "id": 3105, "nodeType": "Block", "src": "24552:37:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", "id": 3103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "24573:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 3094, "id": 3104, "nodeType": "Return", "src": "24566:12:4" } ] } } ] }, "documentation": "Check if the specified member is actor in the given market.", "id": 3146, "implemented": true, "kind": "function", "modifiers": [], "name": "isActor", "nodeType": "FunctionDefinition", "parameters": { "id": 3091, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3086, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24409:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3085, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24409:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3088, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24427:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3087, "name": "address", "nodeType": "ElementaryTypeName", "src": "24427:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3090, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24442:28:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "typeName": { "contractScope": null, "id": 3089, "name": "XBRTypes.ActorType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4342, "src": "24442:18:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "value": null, "visibility": "internal" } ], "src": "24408:63:4" }, "returnParameters": { "id": 3094, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3093, "name": "", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24493:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3092, "name": "bool", "nodeType": "ElementaryTypeName", "src": "24493:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "24492:6:4" }, "scope": 3361, "src": "24392:564:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3158, "nodeType": "Block", "src": "25097:52:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3153, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "25114:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 3155, "indexExpression": { "argumentTypes": null, "id": 3154, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3148, "src": "25129:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25114:21:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3156, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25114:28:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3152, "id": 3157, "nodeType": "Return", "src": "25107:35:4" } ] }, "documentation": "Get the number of market owned by the specified member.", "id": 3159, "implemented": true, "kind": "function", "modifiers": [], "name": "countMarketsByOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3149, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3148, "name": "owner", "nodeType": "VariableDeclaration", "scope": 3159, "src": "25055:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3147, "name": "address", "nodeType": "ElementaryTypeName", "src": "25055:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "25054:15:4" }, "returnParameters": { "id": 3152, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3151, "name": "", "nodeType": "VariableDeclaration", "scope": 3159, "src": "25091:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3150, "name": "uint", "nodeType": "ElementaryTypeName", "src": "25091:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "25090:6:4" }, "scope": 3361, "src": "25026:123:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3259, "nodeType": "Block", "src": "25407:773:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3177, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "25458:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3179, "indexExpression": { "argumentTypes": null, "id": 3178, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "25466:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25458:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3180, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "25458:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "25493:1:4", "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": 3181, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25485:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25485:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "25458:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 3185, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "25497:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 3176, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "25450:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3186, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25450:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3187, "nodeType": "ExpressionStatement", "src": "25450:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3189, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25607:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3191, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25626:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25626:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25626:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25620:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3194, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25620:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25607:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3196, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25674:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3198, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25693:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25693:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3200, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25693:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3197, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25687:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25687:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25674:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "25607:114:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 3204, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "25723:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 3188, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "25599:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3205, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25599:145:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3206, "nodeType": "ExpressionStatement", "src": "25599:145:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3207, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25759:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3209, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25778:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25778:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3211, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25778:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3208, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25772:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25772:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25759:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3257, "nodeType": "Block", "src": "25994:180:4", "statements": [ { "assignments": [ 3239 ], "declarations": [ { "constant": false, "id": 3239, "name": "_actor", "nodeType": "VariableDeclaration", "scope": 3257, "src": "26008:29:4", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" }, "typeName": { "contractScope": null, "id": 3238, "name": "XBRTypes.Actor", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4381, "src": "26008:14:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" } }, "value": null, "visibility": "internal" } ], "id": 3246, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3240, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26040:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3242, "indexExpression": { "argumentTypes": null, "id": 3241, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "26048:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26040:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3243, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "26040:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3245, "indexExpression": { "argumentTypes": null, "id": 3244, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3163, "src": "26073:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26040:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "26008:71:4" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3247, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26101:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3248, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "26101:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3249, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26116:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3250, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "security", "nodeType": "MemberAccess", "referencedDeclaration": 4367, "src": "26116:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3251, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26133:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "meta", "nodeType": "MemberAccess", "referencedDeclaration": 4369, "src": "26133:11:4", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3253, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26146:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3254, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "signature", "nodeType": "MemberAccess", "referencedDeclaration": 4371, "src": "26146:16:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } } ], "id": 3255, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "26100:63:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bytes_storage_$", "typeString": "tuple(uint256,uint256,string storage ref,bytes storage ref)" } }, "functionReturnParameters": 3175, "id": 3256, "nodeType": "Return", "src": "26093:70:4" } ] }, "id": 3258, "nodeType": "IfStatement", "src": "25755:419:4", "trueBody": { "id": 3235, "nodeType": "Block", "src": "25808:180:4", "statements": [ { "assignments": [ 3217 ], "declarations": [ { "constant": false, "id": 3217, "name": "_actor", "nodeType": "VariableDeclaration", "scope": 3235, "src": "25822:29:4", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" }, "typeName": { "contractScope": null, "id": 3216, "name": "XBRTypes.Actor", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4381, "src": "25822:14:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" } }, "value": null, "visibility": "internal" } ], "id": 3224, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3218, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "25854:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3220, "indexExpression": { "argumentTypes": null, "id": 3219, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "25862:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25854:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3221, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "25854:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3223, "indexExpression": { "argumentTypes": null, "id": 3222, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3163, "src": "25887:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25854:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "25822:71:4" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3225, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25915:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "25915:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3227, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25930:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3228, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "security", "nodeType": "MemberAccess", "referencedDeclaration": 4367, "src": "25930:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3229, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25947:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3230, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "meta", "nodeType": "MemberAccess", "referencedDeclaration": 4369, "src": "25947:11:4", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3231, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25960:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3232, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "signature", "nodeType": "MemberAccess", "referencedDeclaration": 4371, "src": "25960:16:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } } ], "id": 3233, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "25914:63:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bytes_storage_$", "typeString": "tuple(uint256,uint256,string storage ref,bytes storage ref)" } }, "functionReturnParameters": 3175, "id": 3234, "nodeType": "Return", "src": "25907:70:4" } ] } } ] }, "documentation": "Get market actor data for the given actor (address) and actor type in the specified market.", "id": 3260, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketActor", "nodeType": "FunctionDefinition", "parameters": { "id": 3166, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3161, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25280:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3160, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "25280:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3163, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25298:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3162, "name": "address", "nodeType": "ElementaryTypeName", "src": "25298:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3165, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25313:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 3164, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "25313:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], "src": "25279:50:4" }, "returnParameters": { "id": 3175, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3168, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25359:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3167, "name": "uint", "nodeType": "ElementaryTypeName", "src": "25359:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3170, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25365:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3169, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "25365:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3172, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25374:13:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3171, "name": "string", "nodeType": "ElementaryTypeName", "src": "25374:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3174, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25389:12:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 3173, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25389:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "25358:44:4" }, "scope": 3361, "src": "25255:925:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3273, "nodeType": "Block", "src": "26473:59:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3268, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26490:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3270, "indexExpression": { "argumentTypes": null, "id": 3269, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3262, "src": "26498:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26490:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3271, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4406, "src": "26490:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3267, "id": 3272, "nodeType": "Return", "src": "26483:42:4" } ] }, "documentation": "Lookup all provider actors in a XBR Market.\n * @param marketId The XBR Market to provider actors for.\n@return List of provider actor addresses in the market.", "id": 3274, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllMarketProviders", "nodeType": "FunctionDefinition", "parameters": { "id": 3263, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3262, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3274, "src": "26416:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3261, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "26416:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "26415:18:4" }, "returnParameters": { "id": 3267, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3266, "name": "", "nodeType": "VariableDeclaration", "scope": 3274, "src": "26455:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3264, "name": "address", "nodeType": "ElementaryTypeName", "src": "26455:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3265, "length": null, "nodeType": "ArrayTypeName", "src": "26455:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "26454:18:4" }, "scope": 3361, "src": "26385:147:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3287, "nodeType": "Block", "src": "26825:59:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3282, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26842:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3284, "indexExpression": { "argumentTypes": null, "id": 3283, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3276, "src": "26850:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26842:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4409, "src": "26842:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3281, "id": 3286, "nodeType": "Return", "src": "26835:42:4" } ] }, "documentation": "Lookup all consumer actors in a XBR Market.\n * @param marketId The XBR Market to consumer actors for.\n@return List of consumer actor addresses in the market.", "id": 3288, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllMarketConsumers", "nodeType": "FunctionDefinition", "parameters": { "id": 3277, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3276, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3288, "src": "26768:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3275, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "26768:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "26767:18:4" }, "returnParameters": { "id": 3281, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3280, "name": "", "nodeType": "VariableDeclaration", "scope": 3288, "src": "26807:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3278, "name": "address", "nodeType": "ElementaryTypeName", "src": "26807:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3279, "length": null, "nodeType": "ArrayTypeName", "src": "26807:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "26806:18:4" }, "scope": 3361, "src": "26737:147:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3306, "nodeType": "Block", "src": "27297:72:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3298, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "27314:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3300, "indexExpression": { "argumentTypes": null, "id": 3299, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3290, "src": "27322:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27314:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3301, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "27314:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3303, "indexExpression": { "argumentTypes": null, "id": 3302, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3292, "src": "27347:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27314:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3304, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "channels", "nodeType": "MemberAccess", "referencedDeclaration": 4374, "src": "27314:48:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3297, "id": 3305, "nodeType": "Return", "src": "27307:55:4" } ] }, "documentation": "Lookup all payment channels for an consumer actor in a XBR Market.\n * @param marketId The XBR Market to get payment channels for.\n@param actor The XBR actor to get payment channels for.\n@return List of contract addresses of payment channels in the market.", "id": 3307, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllPaymentChannels", "nodeType": "FunctionDefinition", "parameters": { "id": 3293, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3290, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27225:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3289, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "27225:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3292, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27243:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3291, "name": "address", "nodeType": "ElementaryTypeName", "src": "27243:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "27224:33:4" }, "returnParameters": { "id": 3297, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3296, "name": "", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27279:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3294, "name": "address", "nodeType": "ElementaryTypeName", "src": "27279:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3295, "length": null, "nodeType": "ArrayTypeName", "src": "27279:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "27278:18:4" }, "scope": 3361, "src": "27194:175:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3325, "nodeType": "Block", "src": "27777:72:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3317, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "27794:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3319, "indexExpression": { "argumentTypes": null, "id": 3318, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3309, "src": "27802:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27794:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3320, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "27794:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3322, "indexExpression": { "argumentTypes": null, "id": 3321, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3311, "src": "27827:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27794:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3323, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "channels", "nodeType": "MemberAccess", "referencedDeclaration": 4374, "src": "27794:48:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3316, "id": 3324, "nodeType": "Return", "src": "27787:55:4" } ] }, "documentation": "Lookup all paying channels for an provider actor in a XBR Market.\n * @param marketId The XBR Market to get paying channels for.\n@param actor The XBR actor to get paying channels for.\n@return List of contract addresses of paying channels in the market.", "id": 3326, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllPayingChannels", "nodeType": "FunctionDefinition", "parameters": { "id": 3312, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3309, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27705:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3308, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "27705:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3311, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27723:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3310, "name": "address", "nodeType": "ElementaryTypeName", "src": "27723:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "27704:33:4" }, "returnParameters": { "id": 3316, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3315, "name": "", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27759:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3313, "name": "address", "nodeType": "ElementaryTypeName", "src": "27759:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3314, "length": null, "nodeType": "ArrayTypeName", "src": "27759:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "27758:18:4" }, "scope": 3361, "src": "27675:174:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3342, "nodeType": "Block", "src": "28326:83:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3335, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "28343:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3337, "indexExpression": { "argumentTypes": null, "id": 3336, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3328, "src": "28351:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28343:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentPaymentChannelByDelegate", "nodeType": "MemberAccess", "referencedDeclaration": 4421, "src": "28343:49:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, "id": 3340, "indexExpression": { "argumentTypes": null, "id": 3339, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3330, "src": "28393:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28343:59:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3334, "id": 3341, "nodeType": "Return", "src": "28336:66:4" } ] }, "documentation": "Lookup the current payment channel to use for the given delegate in the given market.\n * @param marketId The XBR Market to get the current payment channel address for.\n@param delegate The delegate to get the current payment channel address for.\n@return Current payment channel address for the given delegate/market.", "id": 3343, "implemented": true, "kind": "function", "modifiers": [], "name": "currentPaymentChannelByDelegate", "nodeType": "FunctionDefinition", "parameters": { "id": 3331, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3328, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28260:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3327, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "28260:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3330, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28278:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3329, "name": "address", "nodeType": "ElementaryTypeName", "src": "28278:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28259:36:4" }, "returnParameters": { "id": 3334, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3333, "name": "", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28317:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3332, "name": "address", "nodeType": "ElementaryTypeName", "src": "28317:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28316:9:4" }, "scope": 3361, "src": "28219:190:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3359, "nodeType": "Block", "src": "28881:82:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3352, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "28898:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3354, "indexExpression": { "argumentTypes": null, "id": 3353, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "28906:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28898:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3355, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentPayingChannelByDelegate", "nodeType": "MemberAccess", "referencedDeclaration": 4425, "src": "28898:48:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, "id": 3357, "indexExpression": { "argumentTypes": null, "id": 3356, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3347, "src": "28947:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28898:58:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3351, "id": 3358, "nodeType": "Return", "src": "28891:65:4" } ] }, "documentation": "Lookup the current paying channel to use for the given delegate in the given market.\n * @param marketId The XBR Market to get the current paying channel address for.\n@param delegate The delegate to get the current paying channel address for.\n@return Current paying channel address for the given delegate/market.", "id": 3360, "implemented": true, "kind": "function", "modifiers": [], "name": "currentPayingChannelByDelegate", "nodeType": "FunctionDefinition", "parameters": { "id": 3348, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3345, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28815:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3344, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "28815:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3347, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28833:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3346, "name": "address", "nodeType": "ElementaryTypeName", "src": "28833:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28814:36:4" }, "returnParameters": { "id": 3351, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3350, "name": "", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28872:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3349, "name": "address", "nodeType": "ElementaryTypeName", "src": "28872:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28871:9:4" }, "scope": 3361, "src": "28775:188:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 3362, "src": "1362:27603:4" } ], "src": "810:28156:4" }, "legacyAST": { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMarket.sol", "exportedSymbols": { "XBRMarket": [ 3361 ] }, "id": 3362, "nodeType": "SourceUnit", "nodes": [ { "id": 1731, "literals": [ "solidity", "^", "0.5", ".12" ], "nodeType": "PragmaDirective", "src": "810:24:4" }, { "id": 1732, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "835:33:4" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 1733, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 5802, "src": "926:59:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol", "file": "./XBRMaintained.sol", "id": 1734, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 1730, "src": "987:29:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRTypes.sol", "file": "./XBRTypes.sol", "id": 1735, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 5426, "src": "1017:24:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRToken.sol", "file": "./XBRToken.sol", "id": 1736, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 4328, "src": "1042:24:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetwork.sol", "file": "./XBRNetwork.sol", "id": 1737, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 3887, "src": "1067:26:4", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRCatalog.sol", "file": "./XBRCatalog.sol", "id": 1738, "nodeType": "ImportDirective", "scope": 3362, "sourceUnit": 471, "src": "1094:26:4", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1739, "name": "XBRMaintained", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1729, "src": "1384:13:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRMaintained_$1729", "typeString": "contract XBRMaintained" } }, "id": 1740, "nodeType": "InheritanceSpecifier", "src": "1384:13:4" } ], "contractDependencies": [ 1729 ], "contractKind": "contract", "documentation": "The `XBR Market `__\ncontract manages XBR data markets and serves as an anchor for all payment and paying channels for\neach respective market.", "fullyImplemented": true, "id": 3361, "linearizedBaseContracts": [ 3361, 1729 ], "name": "XBRMarket", "nodeType": "ContractDefinition", "nodes": [ { "id": 1743, "libraryName": { "contractScope": null, "id": 1741, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5801, "src": "1490:8:4", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$5801", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "1484:27:4", "typeName": { "id": 1742, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1503:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "anonymous": false, "documentation": "Event emitted when a new market was created.", "id": 1767, "name": "MarketCreated", "nodeType": "EventDefinition", "parameters": { "id": 1766, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1745, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1591:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1744, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "1591:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1747, "indexed": false, "name": "created", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1617:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1746, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1617:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1749, "indexed": false, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1631:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1748, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1631:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1751, "indexed": false, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1649:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1750, "name": "address", "nodeType": "ElementaryTypeName", "src": "1649:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1753, "indexed": false, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1664:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1752, "name": "address", "nodeType": "ElementaryTypeName", "src": "1664:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1755, "indexed": false, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1678:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1754, "name": "string", "nodeType": "ElementaryTypeName", "src": "1678:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1757, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1700:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1756, "name": "string", "nodeType": "ElementaryTypeName", "src": "1700:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1759, "indexed": false, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1713:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1758, "name": "address", "nodeType": "ElementaryTypeName", "src": "1713:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1761, "indexed": false, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1728:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1728:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1763, "indexed": false, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1754:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1762, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1754:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1765, "indexed": false, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1767, "src": "1780:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1764, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1780:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1590:208:4" }, "src": "1570:229:4" }, { "anonymous": false, "documentation": "Event emitted when a market was updated.", "id": 1789, "name": "MarketUpdated", "nodeType": "EventDefinition", "parameters": { "id": 1788, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1769, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1875:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1768, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "1875:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1771, "indexed": false, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1901:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1770, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1901:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1773, "indexed": false, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1919:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1772, "name": "address", "nodeType": "ElementaryTypeName", "src": "1919:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1775, "indexed": false, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1934:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1774, "name": "address", "nodeType": "ElementaryTypeName", "src": "1934:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1777, "indexed": false, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1948:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1776, "name": "string", "nodeType": "ElementaryTypeName", "src": "1948:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1779, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1962:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1778, "name": "string", "nodeType": "ElementaryTypeName", "src": "1962:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1781, "indexed": false, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1983:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1780, "name": "address", "nodeType": "ElementaryTypeName", "src": "1983:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1783, "indexed": false, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1789, "src": "1998:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1782, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1998:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1785, "indexed": false, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1789, "src": "2024:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1784, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2024:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1787, "indexed": false, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1789, "src": "2050:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1786, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2050:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1874:194:4" }, "src": "1854:215:4" }, { "anonymous": false, "documentation": "Event emitted when a market was closed.", "id": 1793, "name": "MarketClosed", "nodeType": "EventDefinition", "parameters": { "id": 1792, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1791, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1793, "src": "2143:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1790, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2143:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "2142:26:4" }, "src": "2123:46:4" }, { "anonymous": false, "documentation": "Event emitted when a new actor joined a market.", "id": 1807, "name": "ActorJoined", "nodeType": "EventDefinition", "parameters": { "id": 1806, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1795, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2250:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1794, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2250:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1797, "indexed": false, "name": "actor", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2276:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1796, "name": "address", "nodeType": "ElementaryTypeName", "src": "2276:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1799, "indexed": false, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2291:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1798, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2291:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1801, "indexed": false, "name": "joined", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2308:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1800, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2308:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1803, "indexed": false, "name": "security", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2329:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2329:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1805, "indexed": false, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1807, "src": "2347:11:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1804, "name": "string", "nodeType": "ElementaryTypeName", "src": "2347:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2249:110:4" }, "src": "2231:129:4" }, { "anonymous": false, "documentation": "Event emitted when an actor has left a market.", "id": 1815, "name": "ActorLeft", "nodeType": "EventDefinition", "parameters": { "id": 1814, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1809, "indexed": true, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2438:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1808, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2438:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1811, "indexed": false, "name": "actor", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2464:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1810, "name": "address", "nodeType": "ElementaryTypeName", "src": "2464:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1813, "indexed": false, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 1815, "src": "2479:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1812, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2479:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], "src": "2437:58:4" }, "src": "2421:75:4" }, { "anonymous": false, "documentation": "Event emitted when an actor has set consent on a ``(market, delegate, api)`` triple.", "id": 1833, "name": "ConsentSet", "nodeType": "EventDefinition", "parameters": { "id": 1832, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1817, "indexed": false, "name": "member", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2613:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1816, "name": "address", "nodeType": "ElementaryTypeName", "src": "2613:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1819, "indexed": false, "name": "updated", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2629:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1818, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2629:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1821, "indexed": false, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2646:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1820, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2646:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1823, "indexed": false, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2664:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1822, "name": "address", "nodeType": "ElementaryTypeName", "src": "2664:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1825, "indexed": false, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2690:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 1824, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2690:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1827, "indexed": false, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2710:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1826, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "2710:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1829, "indexed": false, "name": "consent", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2730:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1828, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2730:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1831, "indexed": false, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 1833, "src": "2744:20:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1830, "name": "string", "nodeType": "ElementaryTypeName", "src": "2744:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2612:153:4" }, "src": "2595:171:4" }, { "constant": false, "id": 1836, "name": "NONCOOPERATIVE_CHANNEL_CLOSE_TIMEOUT", "nodeType": "VariableDeclaration", "scope": 3361, "src": "2865:58:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1834, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2865:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "argumentTypes": null, "hexValue": "31343430", "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2919:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1440_by_1", "typeString": "int_const 1440" }, "value": "1440" }, "visibility": "public" }, { "constant": false, "id": 1838, "name": "network", "nodeType": "VariableDeclaration", "scope": 3361, "src": "2998:25:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" }, "typeName": { "contractScope": null, "id": 1837, "name": "XBRNetwork", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3886, "src": "2998:10:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1840, "name": "catalog", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3098:25:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" }, "typeName": { "contractScope": null, "id": 1839, "name": "XBRCatalog", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 470, "src": "3098:10:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1843, "name": "marketSeq", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3251:28:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "typeName": { "id": 1841, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3251:6:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "value": { "argumentTypes": null, "hexValue": "31", "id": 1842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3278:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "visibility": "private" }, { "constant": false, "id": 1847, "name": "markets", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3335:50:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market)" }, "typeName": { "id": 1846, "keyType": { "id": 1844, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3343:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "Mapping", "src": "3335:35:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market)" }, "valueType": { "contractScope": null, "id": 1845, "name": "XBRTypes.Market", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4426, "src": "3354:15:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage_ptr", "typeString": "struct XBRTypes.Market" } } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1850, "name": "marketIds", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3436:26:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[]" }, "typeName": { "baseType": { "id": 1848, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3436:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 1849, "length": null, "nodeType": "ArrayTypeName", "src": "3436:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage_ptr", "typeString": "bytes16[]" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1854, "name": "marketsByMaker", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3511:49:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" }, "typeName": { "id": 1853, "keyType": { "id": 1851, "name": "address", "nodeType": "ElementaryTypeName", "src": "3519:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "3511:27:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" }, "valueType": { "id": 1852, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3530:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } }, "value": null, "visibility": "public" }, { "constant": false, "id": 1859, "name": "marketsByOwner", "nodeType": "VariableDeclaration", "scope": 3361, "src": "3618:51:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[])" }, "typeName": { "id": 1858, "keyType": { "id": 1855, "name": "address", "nodeType": "ElementaryTypeName", "src": "3626:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "3618:29:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[])" }, "valueType": { "baseType": { "id": 1856, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "3637:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 1857, "length": null, "nodeType": "ArrayTypeName", "src": "3637:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage_ptr", "typeString": "bytes16[]" } } }, "value": null, "visibility": "public" }, { "body": { "id": 1878, "nodeType": "Block", "src": "3912:91:4", "statements": [ { "expression": { "argumentTypes": null, "id": 1870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1866, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "3922:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1868, "name": "networkAdr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1861, "src": "3943:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1867, "name": "XBRNetwork", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3886, "src": "3932:10:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRNetwork_$3886_$", "typeString": "type(contract XBRNetwork)" } }, "id": 1869, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3932:22:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "src": "3922:32:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1871, "nodeType": "ExpressionStatement", "src": "3922:32:4" }, { "expression": { "argumentTypes": null, "id": 1876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1872, "name": "catalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1840, "src": "3964:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1874, "name": "catalogAdr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1863, "src": "3985:10:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1873, "name": "XBRCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 470, "src": "3974:10:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRCatalog_$470_$", "typeString": "type(contract XBRCatalog)" } }, "id": 1875, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3974:22:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "src": "3964:32:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "id": 1877, "nodeType": "ExpressionStatement", "src": "3964:32:4" } ] }, "documentation": null, "id": 1879, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 1864, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1861, "name": "networkAdr", "nodeType": "VariableDeclaration", "scope": 1879, "src": "3865:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1860, "name": "address", "nodeType": "ElementaryTypeName", "src": "3865:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1863, "name": "catalogAdr", "nodeType": "VariableDeclaration", "scope": 1879, "src": "3885:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1862, "name": "address", "nodeType": "ElementaryTypeName", "src": "3885:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "3864:40:4" }, "returnParameters": { "id": 1865, "nodeType": "ParameterList", "parameters": [], "src": "3912:0:4" }, "scope": 3361, "src": "3852:151:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1914, "nodeType": "Block", "src": "5421:156:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1899, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "5446:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5446:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1901, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "5458:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5458:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1903, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1881, "src": "5472:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1904, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1883, "src": "5482:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1905, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1885, "src": "5488:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1906, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1887, "src": "5495:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1907, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1889, "src": "5501:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1908, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1891, "src": "5520:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1909, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1893, "src": "5538:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1910, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1895, "src": "5556:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "hexValue": "", "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5567:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 1898, "name": "_createMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2223, "src": "5432:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,string memory,string memory,address,uint256,uint256,uint256,bytes memory)" } }, "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5432:138:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1913, "nodeType": "ExpressionStatement", "src": "5432:138:4" } ] }, "documentation": "Create a new XBR market. The sender of the transaction must be XBR network member\n and automatically becomes owner of the new market.\n\n /// @param marketId The ID of the market to create. Must be unique (not yet existing).\n @param coin The ERC20 coin to be used as the means of payment in the market.\n @param terms Multihash for market terms set by the market owner.\n @param meta Multihash for optional market metadata.\n @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n the revenue of the XBR Provider that receives coins paid for transactions.\n The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n a fraction of the total supply of coins in the ERC20 token specified for the market.", "id": 1915, "implemented": true, "kind": "function", "modifiers": [], "name": "createMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 1896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1881, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5247:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1880, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "5247:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1883, "name": "coin", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5265:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1882, "name": "address", "nodeType": "ElementaryTypeName", "src": "5265:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1885, "name": "terms", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5279:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1884, "name": "string", "nodeType": "ElementaryTypeName", "src": "5279:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1887, "name": "meta", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5300:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1886, "name": "string", "nodeType": "ElementaryTypeName", "src": "5300:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1889, "name": "maker", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5320:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1888, "name": "address", "nodeType": "ElementaryTypeName", "src": "5320:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1891, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5343:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1890, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5343:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1893, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5369:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1892, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5369:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1895, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 1915, "src": "5395:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1894, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5395:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5246:167:4" }, "returnParameters": { "id": 1897, "nodeType": "ParameterList", "parameters": [], "src": "5421:0:4" }, "scope": 3361, "src": "5224:353:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2006, "nodeType": "Block", "src": "7499:727:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1943, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "7534:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1946, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7570:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "7570:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1948, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7570:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1949, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7596:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "7596:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 1951, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7596:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1952, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "7637:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1953, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7645:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1954, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1921, "src": "7654:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1955, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1923, "src": "7664:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1956, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1925, "src": "7670:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1957, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1927, "src": "7677:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1958, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1929, "src": "7683:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1959, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1935, "src": "7690:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" } ], "expression": { "argumentTypes": null, "id": 1944, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "7542:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 1945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712MarketCreate", "nodeType": "MemberAccess", "referencedDeclaration": 4574, "src": "7542:27:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712MarketCreate_$4574_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712MarketCreate storage pointer)" } }, "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7542:158:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712MarketCreate_$4574_memory", "typeString": "struct XBRTypes.EIP712MarketCreate memory" } }, { "argumentTypes": null, "id": 1961, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1937, "src": "7702:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712MarketCreate_$4574_memory", "typeString": "struct XBRTypes.EIP712MarketCreate memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 1941, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "7518:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 1942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5244, "src": "7518:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712MarketCreate_$4574_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712MarketCreate memory,bytes memory) pure returns (bool)" } }, "id": 1962, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7518:194:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f4352454154455f5349474e4154555245", "id": 1963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7726:33:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_39f1b072b678b69a00380e6d1d76fd97531f5f2b2e864451ce8129f5a39a965f", "typeString": "literal_string \"INVALID_MARKET_CREATE_SIGNATURE\"" }, "value": "INVALID_MARKET_CREATE_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_39f1b072b678b69a00380e6d1d76fd97531f5f2b2e864451ce8129f5a39a965f", "typeString": "literal_string \"INVALID_MARKET_CREATE_SIGNATURE\"" } ], "id": 1940, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "7510:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1964, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7510:250:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1965, "nodeType": "ExpressionStatement", "src": "7510:250:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1967, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7888:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1968, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7899:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1969, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7899:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7888:23:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 1986, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1971, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7916:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7916:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1973, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "7932:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "7932:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1975, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7932:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7916:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1977, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "7979:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1983, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1978, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "7991:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 1979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7991:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1980, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "8006:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 1981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "8006:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 1982, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8006:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7991:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 1984, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "7990:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7979:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "7916:122:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 1987, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "7915:124:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "7888:151:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f435245415445445f424c4f434b5f4e554d424552", "id": 1989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8041:30:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b93ee23986591562cbdde610fe36f322cc428d623f389d39cfb46175300f7e7", "typeString": "literal_string \"INVALID_CREATED_BLOCK_NUMBER\"" }, "value": "INVALID_CREATED_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_8b93ee23986591562cbdde610fe36f322cc428d623f389d39cfb46175300f7e7", "typeString": "literal_string \"INVALID_CREATED_BLOCK_NUMBER\"" } ], "id": 1966, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "7880:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7880:192:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1991, "nodeType": "ExpressionStatement", "src": "7880:192:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1993, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1917, "src": "8097:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1994, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1919, "src": "8105:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 1995, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1921, "src": "8114:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 1996, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1923, "src": "8124:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1997, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1925, "src": "8130:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1998, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1927, "src": "8137:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 1999, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1929, "src": "8143:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2000, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1931, "src": "8162:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2001, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1933, "src": "8180:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2002, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1935, "src": "8198:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2003, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1937, "src": "8209:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1992, "name": "_createMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2223, "src": "8083:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,string memory,string memory,address,uint256,uint256,uint256,bytes memory)" } }, "id": 2004, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8083:136:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2005, "nodeType": "ExpressionStatement", "src": "8083:136:4" } ] }, "documentation": "Create a new XBR market for a member. The member must be XBR network member, must have signed the\n transaction data, and will become owner of the new market.\n\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member The member that creates the market (will become market owner).\n @param created Block number when the market was created.\n @param marketId The ID of the market to create. Must be unique (not yet existing).\n @param coin The ERC20 coin to be used as the means of payment in the market.\n @param terms Multihash for market terms set by the market owner.\n @param meta Multihash for optional market metadata.\n @param maker The address of the XBR market maker that will run this market. The delegate of the market owner.\n @param providerSecurity The amount of coins a XBR provider joining the market must deposit.\n @param consumerSecurity The amount of coins a XBR consumer joining the market must deposit.\n @param marketFee The fee taken by the market (beneficiary is the market owner). The fee is a percentage of\n the revenue of the XBR Provider that receives coins paid for transactions.\n The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as\n a fraction of the total supply of coins in the ERC20 token specified for the market.\n @param signature EIP712 signature created by the member.", "id": 2007, "implemented": true, "kind": "function", "modifiers": [], "name": "createMarketFor", "nodeType": "FunctionDefinition", "parameters": { "id": 1938, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1917, "name": "member", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7260:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1916, "name": "address", "nodeType": "ElementaryTypeName", "src": "7260:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1919, "name": "created", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7276:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1918, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7276:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1921, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7293:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 1920, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "7293:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1923, "name": "coin", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7311:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1922, "name": "address", "nodeType": "ElementaryTypeName", "src": "7311:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1925, "name": "terms", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7333:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1924, "name": "string", "nodeType": "ElementaryTypeName", "src": "7333:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1927, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7354:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1926, "name": "string", "nodeType": "ElementaryTypeName", "src": "7354:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1929, "name": "maker", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7374:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1928, "name": "address", "nodeType": "ElementaryTypeName", "src": "7374:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1931, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7389:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1930, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7389:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1933, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7415:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7415:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1935, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7449:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1934, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7449:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1937, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2007, "src": "7468:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1936, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7468:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "7259:232:4" }, "returnParameters": { "id": 1939, "nodeType": "ParameterList", "parameters": [], "src": "7499:0:4" }, "scope": 3361, "src": "7234:992:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2222, "nodeType": "Block", "src": "8496:2493:4", "statements": [ { "assignments": [ null, null, null, 2035, null ], "declarations": [ null, null, null, { "constant": false, "id": 2035, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 2222, "src": "8514:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2034, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "8514:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2040, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2038, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "8569:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2036, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "8553:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "8553:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2039, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8553:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "8507:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2042, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2035, "src": "8662:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2043, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "8678:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "8678:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2045, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "8678:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "8662:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2047, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2035, "src": "8725:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2048, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "8741:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "8741:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2050, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "VERIFIED", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "8741:29:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "8725:45:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "8662:108:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8772:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2041, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "8654:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2054, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8654:140:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2055, "nodeType": "ExpressionStatement", "src": "8654:140:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2057, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "8881:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2059, "indexExpression": { "argumentTypes": null, "id": 2058, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "8889:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8881:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2060, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "8881:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8916:1:4", "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": 2061, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8908:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8908:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "8881:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d41524b45545f414c52454144595f455849535453", "id": 2065, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8920:23:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3552295cc751e4e095198dc42169acb3ac345362c35654ec4e3d43e2517c8bb7", "typeString": "literal_string \"MARKET_ALREADY_EXISTS\"" }, "value": "MARKET_ALREADY_EXISTS" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_3552295cc751e4e095198dc42169acb3ac345362c35654ec4e3d43e2517c8bb7", "typeString": "literal_string \"MARKET_ALREADY_EXISTS\"" } ], "id": 2056, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "8873:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2066, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8873:71:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2067, "nodeType": "ExpressionStatement", "src": "8873:71:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2085, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2075, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2071, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9164:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2072, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "9170:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2069, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9150:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "coins", "nodeType": "MemberAccess", "referencedDeclaration": 3438, "src": "9150:13:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, "id": 2073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9150:27:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "74727565", "id": 2074, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "9181:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "9150:35:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2078, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9203:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2079, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9209:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ANYADR", "nodeType": "MemberAccess", "referencedDeclaration": 3412, "src": "9209:14:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2081, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9209:16:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2076, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "9189:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "coins", "nodeType": "MemberAccess", "referencedDeclaration": 3438, "src": "9189:13:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, "id": 2082, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9189:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "74727565", "id": 2083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "9230:4:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "9189:45:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9150:84:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f494e", "id": 2086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9236:14:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_10837bdc82769e2e62611112a6229c715a3c97b8a3ebb037cdd401608b47ef8e", "typeString": "literal_string \"INVALID_COIN\"" }, "value": "INVALID_COIN" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_10837bdc82769e2e62611112a6229c715a3c97b8a3ebb037cdd401608b47ef8e", "typeString": "literal_string \"INVALID_COIN\"" } ], "id": 2068, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9142:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2087, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9142:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2088, "nodeType": "ExpressionStatement", "src": "9142:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2090, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "9354:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9371:1:4", "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": 2091, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9363:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9363:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "9354:19:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d414b4552", "id": 2095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9375:15:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_484de75c7828c5b2a0283b1ac1380b81ce21dc59d4ce114b8a3a2805f796541d", "typeString": "literal_string \"INVALID_MAKER\"" }, "value": "INVALID_MAKER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_484de75c7828c5b2a0283b1ac1380b81ce21dc59d4ce114b8a3a2805f796541d", "typeString": "literal_string \"INVALID_MAKER\"" } ], "id": 2089, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9346:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2096, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9346:45:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2097, "nodeType": "ExpressionStatement", "src": "9346:45:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "id": 2105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2099, "name": "marketsByMaker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1854, "src": "9467:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" } }, "id": 2101, "indexExpression": { "argumentTypes": null, "id": 2100, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "9482:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9467:21:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9500:1:4", "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": 2102, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9492:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": "bytes16" }, "id": 2104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9492:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "src": "9467:35:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d414b45525f414c52454144595f574f524b494e475f464f525f4f544845525f4d41524b4554", "id": 2106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9504:40:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3751e129b5a7571e64f354a7f42f886681fa373e9a3acd5dce27ce1f49603721", "typeString": "literal_string \"MAKER_ALREADY_WORKING_FOR_OTHER_MARKET\"" }, "value": "MAKER_ALREADY_WORKING_FOR_OTHER_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_3751e129b5a7571e64f354a7f42f886681fa373e9a3acd5dce27ce1f49603721", "typeString": "literal_string \"MAKER_ALREADY_WORKING_FOR_OTHER_MARKET\"" } ], "id": 2098, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9459:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9459:86:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2108, "nodeType": "ExpressionStatement", "src": "9459:86:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2110, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "9659:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9679:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "9659:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2113, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "9684:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2115, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9711:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2114, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "9704:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2116, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9704:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "9704:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2118, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9704:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9684:46:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9659:71:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f50524f56494445525f5345435552495459", "id": 2121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9732:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f15698380491e2d2ebd4e2e3add0d03f2b8da43bd680b5e836c241ad8c8248a2", "typeString": "literal_string \"INVALID_PROVIDER_SECURITY\"" }, "value": "INVALID_PROVIDER_SECURITY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f15698380491e2d2ebd4e2e3add0d03f2b8da43bd680b5e836c241ad8c8248a2", "typeString": "literal_string \"INVALID_PROVIDER_SECURITY\"" } ], "id": 2109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9651:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2122, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9651:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2123, "nodeType": "ExpressionStatement", "src": "9651:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2125, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "9874:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9894:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "9874:21:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2128, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "9899:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2130, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "9926:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2129, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "9919:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2131, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9919:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "9919:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2133, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9919:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9899:46:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "9874:71:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53554d45525f5345435552495459", "id": 2136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9947:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a5caf297f39d3aee2fe0659989a7e3e1766939219a557029ab88f9c9fb9b11da", "typeString": "literal_string \"INVALID_CONSUMER_SECURITY\"" }, "value": "INVALID_CONSUMER_SECURITY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a5caf297f39d3aee2fe0659989a7e3e1766939219a557029ab88f9c9fb9b11da", "typeString": "literal_string \"INVALID_CONSUMER_SECURITY\"" } ], "id": 2124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "9866:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2137, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9866:109:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2138, "nodeType": "ExpressionStatement", "src": "9866:109:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2140, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10063:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10076:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10063:14:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2143, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10081:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2145, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10101:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2144, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "10094:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10094:12:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 6271, "src": "10094:24:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2148, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10094:26:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10081:39:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "10063:57:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f464545", "id": 2151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10122:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e65d6919b4a612f70f93f2322e458a1f676002eb6f39256504d6cc3c7f932093", "typeString": "literal_string \"INVALID_MARKET_FEE\"" }, "value": "INVALID_MARKET_FEE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_e65d6919b4a612f70f93f2322e458a1f676002eb6f39256504d6cc3c7f932093", "typeString": "literal_string \"INVALID_MARKET_FEE\"" } ], "id": 2139, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "10055:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2152, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10055:88:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2153, "nodeType": "ExpressionStatement", "src": "10055:88:4" }, { "expression": { "argumentTypes": null, "id": 2181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2154, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "10196:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2156, "indexExpression": { "argumentTypes": null, "id": 2155, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10204:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10196:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2159, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2011, "src": "10232:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2160, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10241:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, { "argumentTypes": null, "id": 2161, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10252:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2162, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10260:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2163, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2017, "src": "10266:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2164, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2019, "src": "10273:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2165, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10279:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2166, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "10298:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2167, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "10316:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2168, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10334:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2169, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2029, "src": "10345:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10370:1:4", "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": 2172, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "10356:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2170, "name": "address", "nodeType": "ElementaryTypeName", "src": "10360:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2171, "length": null, "nodeType": "ArrayTypeName", "src": "10360:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10356:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10388:1:4", "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": 2177, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "10374:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2175, "name": "address", "nodeType": "ElementaryTypeName", "src": "10378:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2176, "length": null, "nodeType": "ArrayTypeName", "src": "10378:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10374:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2157, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "10216:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Market", "nodeType": "MemberAccess", "referencedDeclaration": 4426, "src": "10216:15:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Market_$4426_storage_ptr_$", "typeString": "type(struct XBRTypes.Market storage pointer)" } }, "id": 2180, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10216:175:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_memory", "typeString": "struct XBRTypes.Market memory" } }, "src": "10196:195:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2182, "nodeType": "ExpressionStatement", "src": "10196:195:4" }, { "expression": { "argumentTypes": null, "id": 2187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2183, "name": "marketsByMaker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1854, "src": "10455:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bytes16_$", "typeString": "mapping(address => bytes16)" } }, "id": 2185, "indexExpression": { "argumentTypes": null, "id": 2184, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10470:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10455:21:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 2186, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10479:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "src": "10455:32:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "id": 2188, "nodeType": "ExpressionStatement", "src": "10455:32:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2193, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10579:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2189, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "10551:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 2191, "indexExpression": { "argumentTypes": null, "id": 2190, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10566:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10551:22:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 2192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10551:27:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes16_$returns$_t_uint256_$", "typeString": "function (bytes16) returns (uint256)" } }, "id": 2194, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10551:37:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2195, "nodeType": "ExpressionStatement", "src": "10551:37:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2199, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10651:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "id": 2196, "name": "marketIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1850, "src": "10636:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 2198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10636:14:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes16_$returns$_t_uint256_$", "typeString": "function (bytes16) returns (uint256)" } }, "id": 2200, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10636:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2201, "nodeType": "ExpressionStatement", "src": "10636:24:4" }, { "expression": { "argumentTypes": null, "id": 2206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2202, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10724:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2203, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10736:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 2204, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10748:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10736:13:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "src": "10724:25:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "id": 2207, "nodeType": "ExpressionStatement", "src": "10724:25:4" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2209, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2013, "src": "10860:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2210, "name": "created", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2011, "src": "10870:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2211, "name": "marketSeq", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1843, "src": "10879:9:4", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, { "argumentTypes": null, "id": 2212, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2009, "src": "10890:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2213, "name": "coin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2015, "src": "10898:4:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2214, "name": "terms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2017, "src": "10904:5:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2215, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2019, "src": "10911:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2216, "name": "maker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "10917:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2217, "name": "providerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2023, "src": "10936:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2218, "name": "consumerSecurity", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2025, "src": "10954:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2219, "name": "marketFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2027, "src": "10972:9:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "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" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2208, "name": "MarketCreated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1767, "src": "10846:13:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes16_$_t_uint256_$_t_uint32_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (bytes16,uint256,uint32,address,address,string memory,string memory,address,uint256,uint256,uint256)" } }, "id": 2220, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10846:136:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2221, "nodeType": "EmitStatement", "src": "10841:141:4" } ] }, "documentation": null, "id": 2223, "implemented": true, "kind": "function", "modifiers": [], "name": "_createMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2030, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2009, "name": "member", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8256:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2008, "name": "address", "nodeType": "ElementaryTypeName", "src": "8256:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2011, "name": "created", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8272:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2010, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8272:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2013, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8289:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2012, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "8289:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2015, "name": "coin", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8307:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2014, "name": "address", "nodeType": "ElementaryTypeName", "src": "8307:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2017, "name": "terms", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8321:19:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2016, "name": "string", "nodeType": "ElementaryTypeName", "src": "8321:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2019, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8350:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2018, "name": "string", "nodeType": "ElementaryTypeName", "src": "8350:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2021, "name": "maker", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8370:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2020, "name": "address", "nodeType": "ElementaryTypeName", "src": "8370:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2023, "name": "providerSecurity", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8385:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2022, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8385:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2025, "name": "consumerSecurity", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8411:24:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8411:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2027, "name": "marketFee", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8437:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2026, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8437:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2029, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2223, "src": "8464:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2028, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8464:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "8255:232:4" }, "returnParameters": { "id": 2031, "nodeType": "ParameterList", "parameters": [], "src": "8496:0:4" }, "scope": 3361, "src": "8232:2757:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 2245, "nodeType": "Block", "src": "11472:93:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2235, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "11502:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11502:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2237, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "11514:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11514:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2239, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2225, "src": "11528:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2240, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2227, "src": "11538:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2241, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2229, "src": "11549:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "", "id": 2242, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11555:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 2234, "name": "_joinMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2623, "src": "11490:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,uint256,bytes16,uint8,string memory,bytes memory) returns (uint256)" } }, "id": 2243, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11490:68:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2233, "id": 2244, "nodeType": "Return", "src": "11483:75:4" } ] }, "documentation": "Join the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER.\n\n /// @param marketId The ID of the XBR data market to join.\n @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.", "id": 2246, "implemented": true, "kind": "function", "modifiers": [], "name": "joinMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2230, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2225, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11392:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2224, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "11392:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2227, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11410:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2226, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "11410:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2229, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11427:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2228, "name": "string", "nodeType": "ElementaryTypeName", "src": "11427:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "11391:55:4" }, "returnParameters": { "id": 2233, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2232, "name": "", "nodeType": "VariableDeclaration", "scope": 2246, "src": "11463:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11463:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "11462:9:4" }, "scope": 3361, "src": "11371:194:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2321, "nodeType": "Block", "src": "12564:627:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2266, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "12599:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2269, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12633:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "12633:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2271, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12633:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2272, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12659:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "12659:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2274, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12659:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2275, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "12700:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2276, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "12708:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2277, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "12716:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2278, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2254, "src": "12726:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2279, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2256, "src": "12737:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2267, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "12607:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712MarketJoin", "nodeType": "MemberAccess", "referencedDeclaration": 4589, "src": "12607:25:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712MarketJoin_$4589_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712MarketJoin storage pointer)" } }, "id": 2280, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12607:135:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712MarketJoin_$4589_memory", "typeString": "struct XBRTypes.EIP712MarketJoin memory" } }, { "argumentTypes": null, "id": 2281, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2258, "src": "12744:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712MarketJoin_$4589_memory", "typeString": "struct XBRTypes.EIP712MarketJoin memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2264, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "12583:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5289, "src": "12583:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712MarketJoin_$4589_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712MarketJoin memory,bytes memory) pure returns (bool)" } }, "id": 2282, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12583:171:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4d41524b45545f4a4f494e5f5349474e4154555245", "id": 2283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12756:31:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7123f49874e940594791685c6d92819d6c3c75c9ef72e0a441681c3e394bb6aa", "typeString": "literal_string \"INVALID_MARKET_JOIN_SIGNATURE\"" }, "value": "INVALID_MARKET_JOIN_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7123f49874e940594791685c6d92819d6c3c75c9ef72e0a441681c3e394bb6aa", "typeString": "literal_string \"INVALID_MARKET_JOIN_SIGNATURE\"" } ], "id": 2263, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "12575:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2284, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12575:213:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2285, "nodeType": "ExpressionStatement", "src": "12575:213:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2287, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "12916:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2288, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "12926:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "12926:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12916:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2291, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "12943:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "12943:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2293, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "12959:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2294, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "12959:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2295, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12959:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12943:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2297, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "13006:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2298, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "13017:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13017:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2300, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "13032:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "13032:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2302, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13032:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13017:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2304, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "13016:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13006:58:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "12943:121:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 2307, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "12942:123:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "12916:149:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f524547495354455245445f424c4f434b5f4e554d424552", "id": 2309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13067:33:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a77a8f658683c076ef227088e3a5aad094db6d42966d121deadd22b9916f815", "typeString": "literal_string \"INVALID_REGISTERED_BLOCK_NUMBER\"" }, "value": "INVALID_REGISTERED_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5a77a8f658683c076ef227088e3a5aad094db6d42966d121deadd22b9916f815", "typeString": "literal_string \"INVALID_REGISTERED_BLOCK_NUMBER\"" } ], "id": 2286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "12908:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2310, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12908:193:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2311, "nodeType": "ExpressionStatement", "src": "12908:193:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2313, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2248, "src": "13131:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2314, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2250, "src": "13139:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2315, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "13147:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2316, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2254, "src": "13157:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2317, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2256, "src": "13168:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2318, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2258, "src": "13174:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2312, "name": "_joinMarket", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2623, "src": "13119:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (address,uint256,bytes16,uint8,string memory,bytes memory) returns (uint256)" } }, "id": 2319, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13119:65:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2262, "id": 2320, "nodeType": "Return", "src": "13112:72:4" } ] }, "documentation": "Join the specified member to the given XBR market as the specified type of actor,\n which must be PROVIDER or CONSUMER.\n\n /// Note: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member The member that creates the market (will become market owner).\n @param joined Block number when the member joined the market.\n @param marketId The ID of the XBR data market to join.\n @param actorType The type of actor under which to join: PROVIDER or CONSUMER.\n @param meta The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.\n @param signature EIP712 signature created by the member.", "id": 2322, "implemented": true, "kind": "function", "modifiers": [], "name": "joinMarketFor", "nodeType": "FunctionDefinition", "parameters": { "id": 2259, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2248, "name": "member", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12420:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2247, "name": "address", "nodeType": "ElementaryTypeName", "src": "12420:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2250, "name": "joined", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12436:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2249, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12436:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2252, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12452:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2251, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "12452:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2254, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12470:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2253, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "12470:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2256, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12495:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2255, "name": "string", "nodeType": "ElementaryTypeName", "src": "12495:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2258, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12515:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2257, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "12515:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "12419:119:4" }, "returnParameters": { "id": 2262, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2261, "name": "", "nodeType": "VariableDeclaration", "scope": 2322, "src": "12555:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2260, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12555:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "12554:9:4" }, "scope": 3361, "src": "12396:795:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2622, "nodeType": "Block", "src": "13364:3177:4", "statements": [ { "assignments": [ null, null, null, 2342, null ], "declarations": [ null, null, null, { "constant": false, "id": 2342, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 2622, "src": "13382:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2341, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "13382:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2347, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2345, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "13437:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2343, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "13421:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "13421:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2346, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13421:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "13375:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2349, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2342, "src": "13521:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2350, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "13537:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2351, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "13537:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2352, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13537:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "13521:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13566:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2348, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13513:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2355, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13513:75:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2356, "nodeType": "ExpressionStatement", "src": "13513:75:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2358, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "13648:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2360, "indexExpression": { "argumentTypes": null, "id": 2359, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "13656:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13648:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2361, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "13648:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13683:1:4", "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": 2362, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "13675:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13675:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "13648:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 2366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13687:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 2357, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13640:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2367, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13640:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2368, "nodeType": "ExpressionStatement", "src": "13640:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2370, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "13809:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2372, "indexExpression": { "argumentTypes": null, "id": 2371, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "13817:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13809:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2373, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "13809:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "id": 2374, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "13836:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "13809:33:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f49535f4f574e4552", "id": 2376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13844:17:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f58a81cc55bb520a1d1acfc778130cf8cb900523a6b2b4ee90303208d8d25068", "typeString": "literal_string \"SENDER_IS_OWNER\"" }, "value": "SENDER_IS_OWNER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f58a81cc55bb520a1d1acfc778130cf8cb900523a6b2b4ee90303208d8d25068", "typeString": "literal_string \"SENDER_IS_OWNER\"" } ], "id": 2369, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13801:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2377, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13801:61:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2378, "nodeType": "ExpressionStatement", "src": "13801:61:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2394, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2380, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "13974:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2382, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "13993:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "13993:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2384, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13993:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2381, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "13987:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13987:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "13974:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2387, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14041:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2389, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14060:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2390, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14060:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2391, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14060:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2388, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14054:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14054:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14041:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13974:114:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2395, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14108:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2397, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14127:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14127:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2399, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14127:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2396, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14121:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2400, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14121:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14108:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13974:190:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 2403, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14166:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 2379, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "13966:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2404, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13966:221:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2405, "nodeType": "ExpressionStatement", "src": "13966:221:4" }, { "assignments": [ 2407 ], "declarations": [ { "constant": false, "id": 2407, "name": "security", "nodeType": "VariableDeclaration", "scope": 2622, "src": "14274:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2406, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14274:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2409, "initialValue": { "argumentTypes": null, "hexValue": "30", "id": 2408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14293:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "14274:20:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2410, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14308:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2412, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14327:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14327:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2414, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14327:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2411, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14321:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14321:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14308:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2417, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14359:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2419, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14378:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14378:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2421, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14378:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2418, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14372:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14372:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14359:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "14308:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2448, "nodeType": "IfStatement", "src": "14304:371:4", "trueBody": { "id": 2447, "nodeType": "Block", "src": "14417:258:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2427, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14520:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2429, "indexExpression": { "argumentTypes": null, "id": 2428, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14528:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14520:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2430, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "14520:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2432, "indexExpression": { "argumentTypes": null, "id": 2431, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "14553:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14520:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2433, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "14520:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2426, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14514:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2434, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14514:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14572:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14514:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "414c52454144595f4a4f494e45445f41535f50524f5649444552", "id": 2437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14575:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b994fb7e9eb5d778352c51f1e85f1593e84f5e3a1351b6dd07d5e27a532f9bd1", "typeString": "literal_string \"ALREADY_JOINED_AS_PROVIDER\"" }, "value": "ALREADY_JOINED_AS_PROVIDER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_b994fb7e9eb5d778352c51f1e85f1593e84f5e3a1351b6dd07d5e27a532f9bd1", "typeString": "literal_string \"ALREADY_JOINED_AS_PROVIDER\"" } ], "id": 2425, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "14506:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2438, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14506:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2439, "nodeType": "ExpressionStatement", "src": "14506:98:4" }, { "expression": { "argumentTypes": null, "id": 2445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2440, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "14618:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2441, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14630:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2443, "indexExpression": { "argumentTypes": null, "id": 2442, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14638:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14630:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2444, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4397, "src": "14630:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14618:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2446, "nodeType": "ExpressionStatement", "src": "14618:46:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2449, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14689:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2451, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14708:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14708:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2453, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14708:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2450, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14702:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2454, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14702:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14689:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2456, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "14740:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2458, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "14759:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "14759:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2460, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14759:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2457, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14753:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14753:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "14740:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "14689:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2487, "nodeType": "IfStatement", "src": "14685:371:4", "trueBody": { "id": 2486, "nodeType": "Block", "src": "14798:258:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2466, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "14901:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2468, "indexExpression": { "argumentTypes": null, "id": 2467, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "14909:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14901:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "14901:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2471, "indexExpression": { "argumentTypes": null, "id": 2470, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "14934:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14901:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2472, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "14901:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2465, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "14895:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2473, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14895:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2474, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14953:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "14895:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "414c52454144595f4a4f494e45445f41535f434f4e53554d4552", "id": 2476, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14956:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7cd00d2c3fb84f58d81d1c72505d0dcbd54eef7cdcba84d7701760fd822264e3", "typeString": "literal_string \"ALREADY_JOINED_AS_CONSUMER\"" }, "value": "ALREADY_JOINED_AS_CONSUMER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7cd00d2c3fb84f58d81d1c72505d0dcbd54eef7cdcba84d7701760fd822264e3", "typeString": "literal_string \"ALREADY_JOINED_AS_CONSUMER\"" } ], "id": 2464, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "14887:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2477, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "14887:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2478, "nodeType": "ExpressionStatement", "src": "14887:98:4" }, { "expression": { "argumentTypes": null, "id": 2484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2479, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "14999:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "+=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2480, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15011:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2482, "indexExpression": { "argumentTypes": null, "id": 2481, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15019:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15011:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2483, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4399, "src": "15011:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14999:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2485, "nodeType": "ExpressionStatement", "src": "14999:46:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2490, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2488, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "15175:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15186:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "15175:12:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2514, "nodeType": "IfStatement", "src": "15171:292:4", "trueBody": { "id": 2513, "nodeType": "Block", "src": "15189:274:4", "statements": [ { "assignments": [ 2492 ], "declarations": [ { "constant": false, "id": 2492, "name": "success", "nodeType": "VariableDeclaration", "scope": 2513, "src": "15285:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2491, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15285:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2507, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2500, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15344:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2501, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15352:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2503, "indexExpression": { "argumentTypes": null, "id": 2502, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15360:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15352:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2504, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "15352:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2505, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "15377:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2494, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15307:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2496, "indexExpression": { "argumentTypes": null, "id": 2495, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15315:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15307:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2497, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "coin", "nodeType": "MemberAccess", "referencedDeclaration": 4389, "src": "15307:22:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2493, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6333, "src": "15300:6:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$6333_$", "typeString": "type(contract IERC20)" } }, "id": 2498, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15300:30:4", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$6333", "typeString": "contract IERC20" } }, "id": 2499, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 6316, "src": "15300:43:4", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, "id": 2506, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15300:86:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "15285:101:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2509, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2492, "src": "15408:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4a4f494e5f4d41524b45545f5452414e534645525f46524f4d5f4641494c4544", "id": 2510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15417:34:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bc36bbcd1f691e5b2bdc683c50eb7f571e587126cbd7ab6e7dcbd28836529dfe", "typeString": "literal_string \"JOIN_MARKET_TRANSFER_FROM_FAILED\"" }, "value": "JOIN_MARKET_TRANSFER_FROM_FAILED" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_bc36bbcd1f691e5b2bdc683c50eb7f571e587126cbd7ab6e7dcbd28836529dfe", "typeString": "literal_string \"JOIN_MARKET_TRANSFER_FROM_FAILED\"" } ], "id": 2508, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "15400:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2511, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15400:52:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2512, "nodeType": "ExpressionStatement", "src": "15400:52:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2521, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2515, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15536:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2517, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15555:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15555:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15555:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2516, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15549:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2520, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15549:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15536:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2528, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2522, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15587:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2524, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15606:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15606:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2526, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15606:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2523, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15600:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15600:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15587:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "15536:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2562, "nodeType": "IfStatement", "src": "15532:336:4", "trueBody": { "id": 2561, "nodeType": "Block", "src": "15645:223:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2530, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15659:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2532, "indexExpression": { "argumentTypes": null, "id": 2531, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15667:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15659:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2533, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "15659:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2535, "indexExpression": { "argumentTypes": null, "id": 2534, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15692:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "15659:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2538, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "15717:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2539, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15725:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2541, "indexExpression": { "argumentTypes": null, "id": 2540, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15733:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15725:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2542, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4397, "src": "15725:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2543, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "15761:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2544, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "15767:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15792:1:4", "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": 2547, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "15778:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2545, "name": "address", "nodeType": "ElementaryTypeName", "src": "15782:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2546, "length": null, "nodeType": "ArrayTypeName", "src": "15782:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15778:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2536, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15702:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Actor", "nodeType": "MemberAccess", "referencedDeclaration": 4381, "src": "15702:14:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Actor_$4381_storage_ptr_$", "typeString": "type(struct XBRTypes.Actor storage pointer)" } }, "id": 2550, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15702:93:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_memory", "typeString": "struct XBRTypes.Actor memory" } }, "src": "15659:136:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2552, "nodeType": "ExpressionStatement", "src": "15659:136:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2558, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "15850:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2553, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "15809:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2555, "indexExpression": { "argumentTypes": null, "id": 2554, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "15817:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15809:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2556, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4406, "src": "15809:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 2557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15809:40:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, "id": 2559, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15809:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2560, "nodeType": "ExpressionStatement", "src": "15809:48:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2563, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15882:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2565, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15901:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15901:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2567, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15901:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2564, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15895:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15895:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15882:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2570, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "15933:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2572, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "15952:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "15952:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2574, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "15952:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15946:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15946:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "15933:56:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "15882:107:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2610, "nodeType": "IfStatement", "src": "15878:336:4", "trueBody": { "id": 2609, "nodeType": "Block", "src": "15991:223:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2578, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16005:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2580, "indexExpression": { "argumentTypes": null, "id": 2579, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16013:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16005:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2581, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "16005:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2583, "indexExpression": { "argumentTypes": null, "id": 2582, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16038:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "16005:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2586, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "16063:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2587, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16071:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2589, "indexExpression": { "argumentTypes": null, "id": 2588, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16079:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16071:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2590, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerSecurity", "nodeType": "MemberAccess", "referencedDeclaration": 4399, "src": "16071:34:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2591, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "16107:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2592, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2334, "src": "16113:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "16138:1:4", "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": 2595, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "16124:13:4", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", "typeString": "function (uint256) pure returns (address[] memory)" }, "typeName": { "baseType": { "id": 2593, "name": "address", "nodeType": "ElementaryTypeName", "src": "16128:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2594, "length": null, "nodeType": "ArrayTypeName", "src": "16128:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } } }, "id": 2597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16124:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory", "typeString": "address[] memory" } ], "expression": { "argumentTypes": null, "id": 2584, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "16048:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Actor", "nodeType": "MemberAccess", "referencedDeclaration": 4381, "src": "16048:14:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Actor_$4381_storage_ptr_$", "typeString": "type(struct XBRTypes.Actor storage pointer)" } }, "id": 2598, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16048:93:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_memory", "typeString": "struct XBRTypes.Actor memory" } }, "src": "16005:136:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2600, "nodeType": "ExpressionStatement", "src": "16005:136:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2606, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16196:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2601, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "16155:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2603, "indexExpression": { "argumentTypes": null, "id": 2602, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16163:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "16155:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2604, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4409, "src": "16155:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 2605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16155:40:4", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, "id": 2607, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16155:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2608, "nodeType": "ExpressionStatement", "src": "16155:48:4" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2612, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "16407:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2613, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2324, "src": "16417:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2614, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2330, "src": "16425:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2615, "name": "joined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "16436:6:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2616, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "16444:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2617, "name": "meta", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2332, "src": "16454:4:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2611, "name": "ActorJoined", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1807, "src": "16395:11:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes16_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bytes16,address,uint8,uint256,uint256,string memory)" } }, "id": 2618, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16395:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2619, "nodeType": "EmitStatement", "src": "16390:69:4" }, { "expression": { "argumentTypes": null, "id": 2620, "name": "security", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2407, "src": "16526:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2338, "id": 2621, "nodeType": "Return", "src": "16519:15:4" } ] }, "documentation": null, "id": 2623, "implemented": true, "kind": "function", "modifiers": [], "name": "_joinMarket", "nodeType": "FunctionDefinition", "parameters": { "id": 2335, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2324, "name": "member", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13219:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2323, "name": "address", "nodeType": "ElementaryTypeName", "src": "13219:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2326, "name": "joined", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13235:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13235:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2328, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13251:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2327, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "13251:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2330, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13269:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2329, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "13269:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2332, "name": "meta", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13294:18:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2331, "name": "string", "nodeType": "ElementaryTypeName", "src": "13294:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2334, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13314:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2333, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "13314:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "13218:119:4" }, "returnParameters": { "id": 2338, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2337, "name": "", "nodeType": "VariableDeclaration", "scope": 2623, "src": "13355:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2336, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13355:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "13354:9:4" }, "scope": 3361, "src": "13197:3344:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 2652, "nodeType": "Block", "src": "17598:148:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2639, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6348, "src": "17628:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "17628:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2641, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "17640:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2642, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "17640:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2643, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2625, "src": "17654:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2644, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2627, "src": "17664:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2645, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2629, "src": "17674:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2646, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2631, "src": "17700:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2647, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2633, "src": "17712:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2648, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2635, "src": "17721:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "", "id": 2649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "17736:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 2638, "name": "_setConsent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3007, "src": "17616:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory,bytes memory)" } }, "id": 2650, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "17616:123:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "functionReturnParameters": 2637, "id": 2651, "nodeType": "Return", "src": "17609:130:4" } ] }, "documentation": "Track consent of an actor in a market to allow the specified seller or buyer delegate\n to provide or consume data under the respective API catalog in the given market.\n\n /// @param marketId The ID of the XBR data market in which to provide or consume data. Any\n terms attached to the market or the API apply.\n @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n of software acting on behalf and under consent of the actor in the market.\n @param delegateType The type of off-chain delegate, a data provider or data consumer.\n @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n @param consent Consent granted or revoked.\n @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.", "id": 2653, "implemented": true, "kind": "function", "modifiers": [], "name": "setConsent", "nodeType": "FunctionDefinition", "parameters": { "id": 2636, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2625, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17464:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2624, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "17464:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2627, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17482:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2626, "name": "address", "nodeType": "ElementaryTypeName", "src": "17482:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2629, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17500:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2628, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "17500:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2631, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17520:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2630, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "17520:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2633, "name": "consent", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17548:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2632, "name": "bool", "nodeType": "ElementaryTypeName", "src": "17548:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2635, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 2653, "src": "17562:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2634, "name": "string", "nodeType": "ElementaryTypeName", "src": "17562:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "17463:127:4" }, "returnParameters": { "id": 2637, "nodeType": "ParameterList", "parameters": [], "src": "17598:0:4" }, "scope": 3361, "src": "17443:303:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2738, "nodeType": "Block", "src": "19348:731:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2677, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19383:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2680, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19414:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingChain", "nodeType": "MemberAccess", "referencedDeclaration": 3417, "src": "19414:22:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2682, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19414:24:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2683, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19440:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyingContract", "nodeType": "MemberAccess", "referencedDeclaration": 3419, "src": "19440:25:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 2685, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19440:27:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2686, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19481:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2687, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19489:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2688, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2659, "src": "19498:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2689, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "19508:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2690, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "19518:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2691, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "19532:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2692, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2667, "src": "19544:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2693, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2669, "src": "19553:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2678, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "19391:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2679, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "EIP712Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4610, "src": "19391:22:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_EIP712Consent_$4610_storage_ptr_$", "typeString": "type(struct XBRTypes.EIP712Consent storage pointer)" } }, "id": 2694, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19391:176:4", "typeDescriptions": { "typeIdentifier": "t_struct$_EIP712Consent_$4610_memory", "typeString": "struct XBRTypes.EIP712Consent memory" } }, { "argumentTypes": null, "id": 2695, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2671, "src": "19569:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_struct$_EIP712Consent_$4610_memory", "typeString": "struct XBRTypes.EIP712Consent memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2675, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "19367:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2676, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verify", "nodeType": "MemberAccess", "referencedDeclaration": 5334, "src": "19367:15:4", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_struct$_EIP712Consent_$4610_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,struct XBRTypes.EIP712Consent memory,bytes memory) pure returns (bool)" } }, "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19367:212:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53454e545f5349474e4154555245", "id": 2697, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "19593:27:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ac380bc3032942b0b99d64d516f4a7178c8f044436ada39971d4566230908c67", "typeString": "literal_string \"INVALID_CONSENT_SIGNATURE\"" }, "value": "INVALID_CONSENT_SIGNATURE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ac380bc3032942b0b99d64d516f4a7178c8f044436ada39971d4566230908c67", "typeString": "literal_string \"INVALID_CONSENT_SIGNATURE\"" } ], "id": 2674, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "19359:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2698, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19359:262:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2699, "nodeType": "ExpressionStatement", "src": "19359:262:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2701, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19749:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2702, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19760:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19760:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19749:23:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2720, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2705, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19777:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2706, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19777:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2707, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19793:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "19793:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2709, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19793:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19777:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2711, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19840:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2712, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6338, "src": "19852:5:4", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 2713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "19852:12:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2714, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "19867:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "PRESIGNED_TXN_MAX_AGE", "nodeType": "MemberAccess", "referencedDeclaration": 3415, "src": "19867:29:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2716, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19867:31:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19852:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2718, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "19851:48:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "19840:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "19777:122:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 2721, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "19776:124:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "19749:151:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434f4e53454e545f424c4f434b5f4e554d424552", "id": 2723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "19902:30:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e0951219b86fc3aa3f411ba6b56fd72b2c87fcf1af5a7f71978922eb1565f506", "typeString": "literal_string \"INVALID_CONSENT_BLOCK_NUMBER\"" }, "value": "INVALID_CONSENT_BLOCK_NUMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_e0951219b86fc3aa3f411ba6b56fd72b2c87fcf1af5a7f71978922eb1565f506", "typeString": "literal_string \"INVALID_CONSENT_BLOCK_NUMBER\"" } ], "id": 2700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "19741:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19741:192:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2725, "nodeType": "ExpressionStatement", "src": "19741:192:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2727, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2655, "src": "19963:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2728, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2657, "src": "19971:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2729, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2659, "src": "19980:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2730, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "19990:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2731, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "20000:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 2732, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "20026:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2733, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2667, "src": "20038:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2734, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2669, "src": "20047:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2735, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2671, "src": "20062:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2726, "name": "_setConsent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3007, "src": "19951:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory,bytes memory)" } }, "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "19951:121:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "functionReturnParameters": 2673, "id": 2737, "nodeType": "Return", "src": "19944:128:4" } ] }, "documentation": "Track consent of an actor in a market to allow the specified seller or buyer delegate\n to provide or consume data under the respective API catalog in the given market.\n\n /// IMPORTANT: This version uses pre-signed data where the actual blockchain transaction is\n submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction.\n\n /// @param member Address of member (which must be actor in the market) that sets consent.\n @param updated Block number at which the consent setting member has created the signature.\n @param marketId The ID of the XBR data market in which to provide or consume data. Any\n terms attached to the market or the API apply.\n @param delegate The address of the off-chain provider or consumer delegate, which is a piece\n of software acting on behalf and under consent of the actor in the market.\n @param delegateType The type of off-chain delegate, a data provider or data consumer.\n @param apiCatalog The ID of the API or API catalog to which the consent shall apply.\n @param consent Consent granted or revoked.\n @param servicePrefix The WAMP URI prefix to be used by the delegate in the data plane realm.\n @param signature EIP712 signature, signed by the consent setting member.", "id": 2739, "implemented": true, "kind": "function", "modifiers": [], "name": "setConsentFor", "nodeType": "FunctionDefinition", "parameters": { "id": 2672, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2655, "name": "member", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19149:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2654, "name": "address", "nodeType": "ElementaryTypeName", "src": "19149:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2657, "name": "updated", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19165:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2656, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "19165:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2659, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19182:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2658, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "19182:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2661, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19200:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2660, "name": "address", "nodeType": "ElementaryTypeName", "src": "19200:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2663, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19226:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2662, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "19226:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2665, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19246:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2664, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "19246:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2667, "name": "consent", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19266:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2666, "name": "bool", "nodeType": "ElementaryTypeName", "src": "19266:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2669, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19280:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2668, "name": "string", "nodeType": "ElementaryTypeName", "src": "19280:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2671, "name": "signature", "nodeType": "VariableDeclaration", "scope": 2739, "src": "19317:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2670, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19317:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "19148:192:4" }, "returnParameters": { "id": 2673, "nodeType": "ParameterList", "parameters": [], "src": "19348:0:4" }, "scope": 3361, "src": "19125:954:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3006, "nodeType": "Block", "src": "20306:2662:4", "statements": [ { "assignments": [ null, null, null, 2763, null ], "declarations": [ null, null, null, { "constant": false, "id": 2763, "name": "member_level", "nodeType": "VariableDeclaration", "scope": 3006, "src": "20324:33:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "typeName": { "contractScope": null, "id": 2762, "name": "XBRTypes.MemberLevel", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4337, "src": "20324:20:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "value": null, "visibility": "internal" }, null ], "id": 2768, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2766, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "20379:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 2764, "name": "network", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1838, "src": "20363:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRNetwork_$3886", "typeString": "contract XBRNetwork" } }, "id": 2765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members", "nodeType": "MemberAccess", "referencedDeclaration": 3432, "src": "20363:15:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "function (address) view external returns (uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "id": 2767, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20363:23:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_enum$_MemberLevel_$4337_$_t_bytes_memory_$", "typeString": "tuple(uint256,string memory,string memory,enum XBRTypes.MemberLevel,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "20317:69:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" }, "id": 2774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2770, "name": "member_level", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2763, "src": "20463:12:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2771, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20479:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2772, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MemberLevel", "nodeType": "MemberAccess", "referencedDeclaration": 4337, "src": "20479:20:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MemberLevel_$4337_$", "typeString": "type(enum XBRTypes.MemberLevel)" } }, "id": 2773, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20479:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_MemberLevel_$4337", "typeString": "enum XBRTypes.MemberLevel" } }, "src": "20463:43:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "53454e4445525f4e4f545f415f4d454d424552", "id": 2775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20508:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" }, "value": "SENDER_NOT_A_MEMBER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_5fd1de0f9d1a25b0de511a326ce56348254806674edd224e6d62c38da0c45a12", "typeString": "literal_string \"SENDER_NOT_A_MEMBER\"" } ], "id": 2769, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20455:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2776, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20455:75:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2777, "nodeType": "ExpressionStatement", "src": "20455:75:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2779, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "20582:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2781, "indexExpression": { "argumentTypes": null, "id": 2780, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "20590:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "20582:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2782, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "20582:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "20617:1:4", "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": 2783, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20609:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20609:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "20582:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 2787, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20621:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 2778, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20574:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2788, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20574:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2789, "nodeType": "ExpressionStatement", "src": "20574:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2791, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20752:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2793, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20774:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20774:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2795, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20774:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2792, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20768:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20768:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20752:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2798, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20822:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2800, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20844:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20844:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2802, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20844:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2799, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20838:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2803, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20838:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20822:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20752:120:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2806, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20892:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2808, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "20914:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "20914:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "20914:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2807, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "20908:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20908:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20892:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20752:199:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 2814, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "20953:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 2790, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "20744:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2815, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "20744:230:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2816, "nodeType": "ExpressionStatement", "src": "20744:230:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2817, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "20989:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2819, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21011:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21011:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2821, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21011:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2818, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21005:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21005:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "20989:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2824, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21043:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2826, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21065:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21065:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2828, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21065:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2825, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21059:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21059:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21043:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "20989:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2848, "nodeType": "IfStatement", "src": "20985:300:4", "trueBody": { "id": 2847, "nodeType": "Block", "src": "21104:181:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2834, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "21197:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2836, "indexExpression": { "argumentTypes": null, "id": 2835, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "21205:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21197:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2837, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "21197:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2839, "indexExpression": { "argumentTypes": null, "id": 2838, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "21230:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21197:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2840, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "21197:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2833, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21191:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21191:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21249:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21191:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d454d4245525f4e4f545f50524f5649444552", "id": 2844, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21252:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fede3408468af9f887cd1048046b575a90273122e05e8dc171787c3488579dc5", "typeString": "literal_string \"MEMBER_NOT_PROVIDER\"" }, "value": "MEMBER_NOT_PROVIDER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_fede3408468af9f887cd1048046b575a90273122e05e8dc171787c3488579dc5", "typeString": "literal_string \"MEMBER_NOT_PROVIDER\"" } ], "id": 2832, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21183:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2845, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21183:91:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2846, "nodeType": "ExpressionStatement", "src": "21183:91:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2849, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21299:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2851, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21321:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21321:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21321:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2850, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21315:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21315:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21299:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2856, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "21353:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2858, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "21375:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "21375:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21375:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21369:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21369:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "21353:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "21299:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2880, "nodeType": "IfStatement", "src": "21295:300:4", "trueBody": { "id": 2879, "nodeType": "Block", "src": "21414:181:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2875, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2866, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "21507:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2868, "indexExpression": { "argumentTypes": null, "id": 2867, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "21515:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21507:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "21507:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2871, "indexExpression": { "argumentTypes": null, "id": 2870, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "21540:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "21507:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "21507:47:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21501:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2873, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21501:54:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2874, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21559:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21501:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d454d4245525f4e4f545f434f4e53554d4552", "id": 2876, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21562:21:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a21b4d5429f8592faed12e052fee81bd80fdcd1e759950c23d34ff6757fbe1de", "typeString": "literal_string \"MEMBER_NOT_CONSUMER\"" }, "value": "MEMBER_NOT_CONSUMER" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a21b4d5429f8592faed12e052fee81bd80fdcd1e759950c23d34ff6757fbe1de", "typeString": "literal_string \"MEMBER_NOT_CONSUMER\"" } ], "id": 2864, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21493:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2877, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21493:91:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2878, "nodeType": "ExpressionStatement", "src": "21493:91:4" } ] } }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2882, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "21707:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21727:1:4", "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": 2883, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "21719:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2885, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21719:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "21707:22:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4348414e4e454c5f44454c4547415445", "id": 2887, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21731:26:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_26aaab248edcb940cb884ea0bd51dda070c63cf449fc2089d3e6af46e4427321", "typeString": "literal_string \"INVALID_CHANNEL_DELEGATE\"" }, "value": "INVALID_CHANNEL_DELEGATE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_26aaab248edcb940cb884ea0bd51dda070c63cf449fc2089d3e6af46e4427321", "typeString": "literal_string \"INVALID_CHANNEL_DELEGATE\"" } ], "id": 2881, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21699:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2888, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21699:59:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2889, "nodeType": "ExpressionStatement", "src": "21699:59:4" }, { "assignments": [ 2891, null, null, null, null, null ], "declarations": [ { "constant": false, "id": 2891, "name": "catalogCreated", "nodeType": "VariableDeclaration", "scope": 3006, "src": "21804:22:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2890, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "21804:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, null, null, null, null, null ], "id": 2896, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2894, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "21857:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } ], "expression": { "argumentTypes": null, "id": 2892, "name": "catalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1840, "src": "21840:7:4", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRCatalog_$470", "typeString": "contract XBRCatalog" } }, "id": 2893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "catalogs", "nodeType": "MemberAccess", "referencedDeclaration": 104, "src": "21840:16:4", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes16_$returns$_t_uint256_$_t_uint32_$_t_address_$_t_string_memory_$_t_string_memory_$_t_bytes_memory_$", "typeString": "function (bytes16) view external returns (uint256,uint32,address,string memory,string memory,bytes memory)" } }, "id": 2895, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21840:28:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_address_$_t_string_memory_$_t_string_memory_$_t_bytes_memory_$", "typeString": "tuple(uint256,uint32,address,string memory,string memory,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "21803:65:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2898, "name": "catalogCreated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2891, "src": "21886:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "21904:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "21886:19:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f434154414c4f47", "id": 2901, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "21907:17:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_37ef41cf9dc4bffd38a2878fa0a1a5b51e3d9a6471bce7e518be3a256700790e", "typeString": "literal_string \"NO_SUCH_CATALOG\"" }, "value": "NO_SUCH_CATALOG" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_37ef41cf9dc4bffd38a2878fa0a1a5b51e3d9a6471bce7e518be3a256700790e", "typeString": "literal_string \"NO_SUCH_CATALOG\"" } ], "id": 2897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21878:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2902, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21878:47:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2903, "nodeType": "ExpressionStatement", "src": "21878:47:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 2917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2908, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22007:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2906, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6335, "src": "21996:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 2907, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "21996:10:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 2909, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21996:25:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2905, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6342, "src": "21986:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2910, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21986:36:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", "id": 2914, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "22047:2:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "expression": { "argumentTypes": null, "id": 2912, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6335, "src": "22036:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 2913, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22036:10:4", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 2915, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22036:14:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2911, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6342, "src": "22026:9:4", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22026:25:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "21986:65:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "534552564943455f5052454649585f454d505459", "id": 2918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "22053:22:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0616b3e2bd03c7980c8ffd564f8591f4cd54e4b642c25f8b16c9741edce711d4", "typeString": "literal_string \"SERVICE_PREFIX_EMPTY\"" }, "value": "SERVICE_PREFIX_EMPTY" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_0616b3e2bd03c7980c8ffd564f8591f4cd54e4b642c25f8b16c9741edce711d4", "typeString": "literal_string \"SERVICE_PREFIX_EMPTY\"" } ], "id": 2904, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "21978:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2919, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "21978:98:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2920, "nodeType": "ExpressionStatement", "src": "21978:98:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2921, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22144:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2923, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22166:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22166:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2925, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22166:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22160:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2926, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22160:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22144:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2928, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22198:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2930, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22220:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22220:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22220:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2929, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22214:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22214:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22198:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "22144:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2957, "nodeType": "IfStatement", "src": "22140:296:4", "trueBody": { "id": 2956, "nodeType": "Block", "src": "22259:177:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2954, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2936, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "22273:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2938, "indexExpression": { "argumentTypes": null, "id": 2937, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22281:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2939, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "22273:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2941, "indexExpression": { "argumentTypes": null, "id": 2940, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22306:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2942, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delegates", "nodeType": "MemberAccess", "referencedDeclaration": 4380, "src": "22273:50:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$_$", "typeString": "mapping(address => mapping(bytes16 => struct XBRTypes.Consent storage ref))" } }, "id": 2944, "indexExpression": { "argumentTypes": null, "id": 2943, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22324:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22273:60:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Consent storage ref)" } }, "id": 2946, "indexExpression": { "argumentTypes": null, "id": 2945, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22334:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "22273:72:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2949, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22382:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2950, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22391:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2951, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22400:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2952, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2757, "src": "22415:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2947, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22348:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4461, "src": "22348:16:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Consent_$4461_storage_ptr_$", "typeString": "type(struct XBRTypes.Consent storage pointer)" } }, "id": 2953, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22348:77:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_memory", "typeString": "struct XBRTypes.Consent memory" } }, "src": "22273:152:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "id": 2955, "nodeType": "ExpressionStatement", "src": "22273:152:4" } ] } }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2958, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22503:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2960, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22525:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22525:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2962, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22525:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2959, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22519:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22519:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22503:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 2971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2965, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22557:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2967, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22579:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "22579:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 2969, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER_CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "22579:36:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 2966, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "22573:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2970, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22573:43:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "22557:59:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "22503:113:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2994, "nodeType": "IfStatement", "src": "22499:296:4", "trueBody": { "id": 2993, "nodeType": "Block", "src": "22618:177:4", "statements": [ { "expression": { "argumentTypes": null, "id": 2991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2973, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "22632:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 2975, "indexExpression": { "argumentTypes": null, "id": 2974, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22640:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 2976, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "22632:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 2978, "indexExpression": { "argumentTypes": null, "id": 2977, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22665:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:40:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 2979, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delegates", "nodeType": "MemberAccess", "referencedDeclaration": 4380, "src": "22632:50:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$_$", "typeString": "mapping(address => mapping(bytes16 => struct XBRTypes.Consent storage ref))" } }, "id": 2981, "indexExpression": { "argumentTypes": null, "id": 2980, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22683:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "22632:60:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Consent_$4461_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Consent storage ref)" } }, "id": 2983, "indexExpression": { "argumentTypes": null, "id": 2982, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22693:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "22632:72:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2986, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22741:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2987, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22750:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 2988, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22759:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2989, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2757, "src": "22774:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "argumentTypes": null, "id": 2984, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "22707:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 2985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Consent", "nodeType": "MemberAccess", "referencedDeclaration": 4461, "src": "22707:16:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Consent_$4461_storage_ptr_$", "typeString": "type(struct XBRTypes.Consent storage pointer)" } }, "id": 2990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22707:77:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_memory", "typeString": "struct XBRTypes.Consent memory" } }, "src": "22632:152:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Consent_$4461_storage", "typeString": "struct XBRTypes.Consent storage ref" } }, "id": 2992, "nodeType": "ExpressionStatement", "src": "22632:152:4" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2996, "name": "member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2741, "src": "22875:6:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2997, "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2743, "src": "22883:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2998, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2745, "src": "22892:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 2999, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2747, "src": "22902:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 3000, "name": "delegateType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2749, "src": "22912:12:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 3001, "name": "apiCatalog", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2751, "src": "22926:10:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, { "argumentTypes": null, "id": 3002, "name": "consent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2753, "src": "22938:7:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "id": 3003, "name": "servicePrefix", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2755, "src": "22947:13:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" }, { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2995, "name": "ConsentSet", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1833, "src": "22864:10:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes16_$_t_address_$_t_uint8_$_t_bytes16_$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes16,address,uint8,bytes16,bool,string memory)" } }, "id": 3004, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "22864:97:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3005, "nodeType": "EmitStatement", "src": "22859:102:4" } ] }, "documentation": null, "id": 3007, "implemented": true, "kind": "function", "modifiers": [], "name": "_setConsent", "nodeType": "FunctionDefinition", "parameters": { "id": 2758, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2741, "name": "member", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20107:14:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2740, "name": "address", "nodeType": "ElementaryTypeName", "src": "20107:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2743, "name": "updated", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20123:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2742, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20123:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2745, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20140:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2744, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "20140:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2747, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20158:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2746, "name": "address", "nodeType": "ElementaryTypeName", "src": "20158:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2749, "name": "delegateType", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20184:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2748, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "20184:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2751, "name": "apiCatalog", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20204:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 2750, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "20204:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2753, "name": "consent", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20224:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2752, "name": "bool", "nodeType": "ElementaryTypeName", "src": "20224:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2755, "name": "servicePrefix", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20238:27:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2754, "name": "string", "nodeType": "ElementaryTypeName", "src": "20238:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2757, "name": "signature", "nodeType": "VariableDeclaration", "scope": 3007, "src": "20275:22:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2756, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20275:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "20106:192:4" }, "returnParameters": { "id": 2759, "nodeType": "ParameterList", "parameters": [], "src": "20306:0:4" }, "scope": 3361, "src": "20085:2883:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3015, "nodeType": "Block", "src": "23074:40:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3012, "name": "marketIds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1850, "src": "23091:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3013, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "23091:16:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3011, "id": 3014, "nodeType": "Return", "src": "23084:23:4" } ] }, "documentation": "Get the total number of markets defined.", "id": 3016, "implemented": true, "kind": "function", "modifiers": [], "name": "countMarkets", "nodeType": "FunctionDefinition", "parameters": { "id": 3008, "nodeType": "ParameterList", "parameters": [], "src": "23044:2:4" }, "returnParameters": { "id": 3011, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3010, "name": "", "nodeType": "VariableDeclaration", "scope": 3016, "src": "23068:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3009, "name": "uint", "nodeType": "ElementaryTypeName", "src": "23068:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "23067:6:4" }, "scope": 3361, "src": "23023:91:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3028, "nodeType": "Block", "src": "23488:47:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3023, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23505:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3025, "indexExpression": { "argumentTypes": null, "id": 3024, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3018, "src": "23513:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23505:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3026, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "23505:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3022, "id": 3027, "nodeType": "Return", "src": "23498:30:4" } ] }, "documentation": "Get the market owner for the given market.", "id": 3029, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3019, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3018, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3029, "src": "23440:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3017, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23440:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23439:18:4" }, "returnParameters": { "id": 3022, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3021, "name": "", "nodeType": "VariableDeclaration", "scope": 3029, "src": "23479:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3020, "name": "address", "nodeType": "ElementaryTypeName", "src": "23479:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "23478:9:4" }, "scope": 3361, "src": "23416:119:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3041, "nodeType": "Block", "src": "23683:46:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3036, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23700:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3038, "indexExpression": { "argumentTypes": null, "id": 3037, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3031, "src": "23708:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23700:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3039, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "coin", "nodeType": "MemberAccess", "referencedDeclaration": 4389, "src": "23700:22:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3035, "id": 3040, "nodeType": "Return", "src": "23693:29:4" } ] }, "documentation": "Get the coin ussed as a means of payment for the given market.", "id": 3042, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketCoin", "nodeType": "FunctionDefinition", "parameters": { "id": 3032, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3031, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3042, "src": "23635:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3030, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23635:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23634:18:4" }, "returnParameters": { "id": 3035, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3034, "name": "", "nodeType": "VariableDeclaration", "scope": 3042, "src": "23674:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3033, "name": "address", "nodeType": "ElementaryTypeName", "src": "23674:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "23673:9:4" }, "scope": 3361, "src": "23612:117:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3054, "nodeType": "Block", "src": "23894:51:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3049, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "23911:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3051, "indexExpression": { "argumentTypes": null, "id": 3050, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3044, "src": "23919:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "23911:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3052, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "marketFee", "nodeType": "MemberAccess", "referencedDeclaration": 4401, "src": "23911:27:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3048, "id": 3053, "nodeType": "Return", "src": "23904:34:4" } ] }, "documentation": "Get the market fee set by the market operator that applies for the given market.", "id": 3055, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketFee", "nodeType": "FunctionDefinition", "parameters": { "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3044, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3055, "src": "23846:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3043, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "23846:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "23845:18:4" }, "returnParameters": { "id": 3048, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3047, "name": "", "nodeType": "VariableDeclaration", "scope": 3055, "src": "23885:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3046, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "23885:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "23884:9:4" }, "scope": 3361, "src": "23824:121:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3067, "nodeType": "Block", "src": "24074:47:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3062, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24091:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3064, "indexExpression": { "argumentTypes": null, "id": 3063, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3057, "src": "24099:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24091:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3065, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "maker", "nodeType": "MemberAccess", "referencedDeclaration": 4395, "src": "24091:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3061, "id": 3066, "nodeType": "Return", "src": "24084:30:4" } ] }, "documentation": "Get the market maker for the given market.", "id": 3068, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketMaker", "nodeType": "FunctionDefinition", "parameters": { "id": 3058, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3057, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3068, "src": "24026:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3056, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24026:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "24025:18:4" }, "returnParameters": { "id": 3061, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3060, "name": "", "nodeType": "VariableDeclaration", "scope": 3068, "src": "24065:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3059, "name": "address", "nodeType": "ElementaryTypeName", "src": "24065:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "24064:9:4" }, "scope": 3361, "src": "24002:119:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3083, "nodeType": "Block", "src": "24266:52:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3077, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "24283:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 3079, "indexExpression": { "argumentTypes": null, "id": 3078, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3070, "src": "24298:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24283:21:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3081, "indexExpression": { "argumentTypes": null, "id": 3080, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3072, "src": "24305:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24283:28:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "functionReturnParameters": 3076, "id": 3082, "nodeType": "Return", "src": "24276:35:4" } ] }, "documentation": "Get the n-th market owned by the given member.", "id": 3084, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketsByOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3073, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3070, "name": "owner", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24209:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3069, "name": "address", "nodeType": "ElementaryTypeName", "src": "24209:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3072, "name": "index", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24224:10:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3071, "name": "uint", "nodeType": "ElementaryTypeName", "src": "24224:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "24208:27:4" }, "returnParameters": { "id": 3076, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3075, "name": "", "nodeType": "VariableDeclaration", "scope": 3084, "src": "24257:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3074, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24257:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "24256:9:4" }, "scope": 3361, "src": "24182:136:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3145, "nodeType": "Block", "src": "24499:457:4", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3095, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24513:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3097, "indexExpression": { "argumentTypes": null, "id": 3096, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24521:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24513:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "24513:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24548:1:4", "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": 3099, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "24540:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "24540:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "24513:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3143, "nodeType": "Block", "src": "24595:355:4", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "id": 3110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3106, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3090, "src": "24613:9:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3107, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "24627:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "24627:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3109, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "24627:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "src": "24613:41:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "id": 3126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3122, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3090, "src": "24756:9:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3123, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "24770:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "24770:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3125, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "24770:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "src": "24756:41:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3140, "nodeType": "Block", "src": "24895:45:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", "id": 3138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "24920:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 3094, "id": 3139, "nodeType": "Return", "src": "24913:12:4" } ] }, "id": 3141, "nodeType": "IfStatement", "src": "24752:188:4", "trueBody": { "id": 3137, "nodeType": "Block", "src": "24799:90:4", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3127, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24824:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3129, "indexExpression": { "argumentTypes": null, "id": 3128, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24832:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24824:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3130, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "24824:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3132, "indexExpression": { "argumentTypes": null, "id": 3131, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3088, "src": "24857:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24824:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3133, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "24824:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24873:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "24824:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3094, "id": 3136, "nodeType": "Return", "src": "24817:57:4" } ] } }, "id": 3142, "nodeType": "IfStatement", "src": "24609:331:4", "trueBody": { "id": 3121, "nodeType": "Block", "src": "24656:90:4", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3111, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "24681:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3113, "indexExpression": { "argumentTypes": null, "id": 3112, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3086, "src": "24689:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24681:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3114, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "24681:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3116, "indexExpression": { "argumentTypes": null, "id": 3115, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3088, "src": "24714:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "24681:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3117, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "24681:46:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3118, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "24730:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "24681:50:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3094, "id": 3120, "nodeType": "Return", "src": "24674:57:4" } ] } } ] }, "id": 3144, "nodeType": "IfStatement", "src": "24509:441:4", "trueBody": { "id": 3105, "nodeType": "Block", "src": "24552:37:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", "id": 3103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "24573:5:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 3094, "id": 3104, "nodeType": "Return", "src": "24566:12:4" } ] } } ] }, "documentation": "Check if the specified member is actor in the given market.", "id": 3146, "implemented": true, "kind": "function", "modifiers": [], "name": "isActor", "nodeType": "FunctionDefinition", "parameters": { "id": 3091, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3086, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24409:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3085, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "24409:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3088, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24427:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3087, "name": "address", "nodeType": "ElementaryTypeName", "src": "24427:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3090, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24442:28:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" }, "typeName": { "contractScope": null, "id": 3089, "name": "XBRTypes.ActorType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4342, "src": "24442:18:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } }, "value": null, "visibility": "internal" } ], "src": "24408:63:4" }, "returnParameters": { "id": 3094, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3093, "name": "", "nodeType": "VariableDeclaration", "scope": 3146, "src": "24493:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3092, "name": "bool", "nodeType": "ElementaryTypeName", "src": "24493:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "24492:6:4" }, "scope": 3361, "src": "24392:564:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3158, "nodeType": "Block", "src": "25097:52:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3153, "name": "marketsByOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1859, "src": "25114:14:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes16_$dyn_storage_$", "typeString": "mapping(address => bytes16[] storage ref)" } }, "id": 3155, "indexExpression": { "argumentTypes": null, "id": 3154, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3148, "src": "25129:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25114:21:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes16_$dyn_storage", "typeString": "bytes16[] storage ref" } }, "id": 3156, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25114:28:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3152, "id": 3157, "nodeType": "Return", "src": "25107:35:4" } ] }, "documentation": "Get the number of market owned by the specified member.", "id": 3159, "implemented": true, "kind": "function", "modifiers": [], "name": "countMarketsByOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 3149, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3148, "name": "owner", "nodeType": "VariableDeclaration", "scope": 3159, "src": "25055:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3147, "name": "address", "nodeType": "ElementaryTypeName", "src": "25055:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "25054:15:4" }, "returnParameters": { "id": 3152, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3151, "name": "", "nodeType": "VariableDeclaration", "scope": 3159, "src": "25091:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3150, "name": "uint", "nodeType": "ElementaryTypeName", "src": "25091:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "25090:6:4" }, "scope": 3361, "src": "25026:123:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3259, "nodeType": "Block", "src": "25407:773:4", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3177, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "25458:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3179, "indexExpression": { "argumentTypes": null, "id": 3178, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "25466:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25458:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3180, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 4387, "src": "25458:23:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "25493:1:4", "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": 3181, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25485:7:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25485:10:4", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "25458:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f5f535543485f4d41524b4554", "id": 3185, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "25497:16:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" }, "value": "NO_SUCH_MARKET" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a1c1e336118f0668bcb7c75adc2cc2afb67adbfb649ff84f5f8c877e9392dff7", "typeString": "literal_string \"NO_SUCH_MARKET\"" } ], "id": 3176, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "25450:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3186, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25450:64:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3187, "nodeType": "ExpressionStatement", "src": "25450:64:4" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3189, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25607:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3191, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25626:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25626:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "PROVIDER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25626:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25620:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3194, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25620:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25607:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3196, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25674:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3198, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25693:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25693:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3200, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25693:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3197, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25687:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25687:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25674:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "25607:114:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4143544f525f54595045", "id": 3204, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "25723:20:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" }, "value": "INVALID_ACTOR_TYPE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_36aed65210d236b5ebf3d39cb9bc89d873d1ff361258646952c69a20a41e6510", "typeString": "literal_string \"INVALID_ACTOR_TYPE\"" } ], "id": 3188, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6351, 6352 ], "referencedDeclaration": 6352, "src": "25599:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3205, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25599:145:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3206, "nodeType": "ExpressionStatement", "src": "25599:145:4" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 3213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3207, "name": "actorType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3165, "src": "25759:9:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3209, "name": "XBRTypes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5425, "src": "25778:8:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_XBRTypes_$5425_$", "typeString": "type(library XBRTypes)" } }, "id": 3210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ActorType", "nodeType": "MemberAccess", "referencedDeclaration": 4342, "src": "25778:18:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActorType_$4342_$", "typeString": "type(enum XBRTypes.ActorType)" } }, "id": 3211, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "CONSUMER", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "25778:27:4", "typeDescriptions": { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_enum$_ActorType_$4342", "typeString": "enum XBRTypes.ActorType" } ], "id": 3208, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "25772:5:4", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 3212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "25772:34:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "25759:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3257, "nodeType": "Block", "src": "25994:180:4", "statements": [ { "assignments": [ 3239 ], "declarations": [ { "constant": false, "id": 3239, "name": "_actor", "nodeType": "VariableDeclaration", "scope": 3257, "src": "26008:29:4", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" }, "typeName": { "contractScope": null, "id": 3238, "name": "XBRTypes.Actor", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4381, "src": "26008:14:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" } }, "value": null, "visibility": "internal" } ], "id": 3246, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3240, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26040:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3242, "indexExpression": { "argumentTypes": null, "id": 3241, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "26048:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26040:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3243, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "26040:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3245, "indexExpression": { "argumentTypes": null, "id": 3244, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3163, "src": "26073:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26040:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "26008:71:4" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3247, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26101:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3248, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "26101:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3249, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26116:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3250, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "security", "nodeType": "MemberAccess", "referencedDeclaration": 4367, "src": "26116:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3251, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26133:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "meta", "nodeType": "MemberAccess", "referencedDeclaration": 4369, "src": "26133:11:4", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3253, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3239, "src": "26146:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3254, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "signature", "nodeType": "MemberAccess", "referencedDeclaration": 4371, "src": "26146:16:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } } ], "id": 3255, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "26100:63:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bytes_storage_$", "typeString": "tuple(uint256,uint256,string storage ref,bytes storage ref)" } }, "functionReturnParameters": 3175, "id": 3256, "nodeType": "Return", "src": "26093:70:4" } ] }, "id": 3258, "nodeType": "IfStatement", "src": "25755:419:4", "trueBody": { "id": 3235, "nodeType": "Block", "src": "25808:180:4", "statements": [ { "assignments": [ 3217 ], "declarations": [ { "constant": false, "id": 3217, "name": "_actor", "nodeType": "VariableDeclaration", "scope": 3235, "src": "25822:29:4", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" }, "typeName": { "contractScope": null, "id": 3216, "name": "XBRTypes.Actor", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4381, "src": "25822:14:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor" } }, "value": null, "visibility": "internal" } ], "id": 3224, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3218, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "25854:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3220, "indexExpression": { "argumentTypes": null, "id": 3219, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3161, "src": "25862:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25854:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3221, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "25854:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3223, "indexExpression": { "argumentTypes": null, "id": 3222, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3163, "src": "25887:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "25854:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "25822:71:4" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3225, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25915:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "joined", "nodeType": "MemberAccess", "referencedDeclaration": 4365, "src": "25915:13:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3227, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25930:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3228, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "security", "nodeType": "MemberAccess", "referencedDeclaration": 4367, "src": "25930:15:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3229, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25947:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3230, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "meta", "nodeType": "MemberAccess", "referencedDeclaration": 4369, "src": "25947:11:4", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3231, "name": "_actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3217, "src": "25960:6:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage_ptr", "typeString": "struct XBRTypes.Actor storage pointer" } }, "id": 3232, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "signature", "nodeType": "MemberAccess", "referencedDeclaration": 4371, "src": "25960:16:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } } ], "id": 3233, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "25914:63:4", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bytes_storage_$", "typeString": "tuple(uint256,uint256,string storage ref,bytes storage ref)" } }, "functionReturnParameters": 3175, "id": 3234, "nodeType": "Return", "src": "25907:70:4" } ] } } ] }, "documentation": "Get market actor data for the given actor (address) and actor type in the specified market.", "id": 3260, "implemented": true, "kind": "function", "modifiers": [], "name": "getMarketActor", "nodeType": "FunctionDefinition", "parameters": { "id": 3166, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3161, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25280:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3160, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "25280:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3163, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25298:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3162, "name": "address", "nodeType": "ElementaryTypeName", "src": "25298:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3165, "name": "actorType", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25313:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 3164, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "25313:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" } ], "src": "25279:50:4" }, "returnParameters": { "id": 3175, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3168, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25359:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3167, "name": "uint", "nodeType": "ElementaryTypeName", "src": "25359:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3170, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25365:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3169, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "25365:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3172, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25374:13:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3171, "name": "string", "nodeType": "ElementaryTypeName", "src": "25374:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3174, "name": "", "nodeType": "VariableDeclaration", "scope": 3260, "src": "25389:12:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 3173, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25389:5:4", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "25358:44:4" }, "scope": 3361, "src": "25255:925:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3273, "nodeType": "Block", "src": "26473:59:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3268, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26490:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3270, "indexExpression": { "argumentTypes": null, "id": 3269, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3262, "src": "26498:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26490:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3271, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4406, "src": "26490:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3267, "id": 3272, "nodeType": "Return", "src": "26483:42:4" } ] }, "documentation": "Lookup all provider actors in a XBR Market.\n * @param marketId The XBR Market to provider actors for.\n@return List of provider actor addresses in the market.", "id": 3274, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllMarketProviders", "nodeType": "FunctionDefinition", "parameters": { "id": 3263, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3262, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3274, "src": "26416:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3261, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "26416:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "26415:18:4" }, "returnParameters": { "id": 3267, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3266, "name": "", "nodeType": "VariableDeclaration", "scope": 3274, "src": "26455:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3264, "name": "address", "nodeType": "ElementaryTypeName", "src": "26455:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3265, "length": null, "nodeType": "ArrayTypeName", "src": "26455:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "26454:18:4" }, "scope": 3361, "src": "26385:147:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3287, "nodeType": "Block", "src": "26825:59:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3282, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "26842:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3284, "indexExpression": { "argumentTypes": null, "id": 3283, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3276, "src": "26850:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "26842:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActorAdrs", "nodeType": "MemberAccess", "referencedDeclaration": 4409, "src": "26842:35:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3281, "id": 3286, "nodeType": "Return", "src": "26835:42:4" } ] }, "documentation": "Lookup all consumer actors in a XBR Market.\n * @param marketId The XBR Market to consumer actors for.\n@return List of consumer actor addresses in the market.", "id": 3288, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllMarketConsumers", "nodeType": "FunctionDefinition", "parameters": { "id": 3277, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3276, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3288, "src": "26768:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3275, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "26768:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" } ], "src": "26767:18:4" }, "returnParameters": { "id": 3281, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3280, "name": "", "nodeType": "VariableDeclaration", "scope": 3288, "src": "26807:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3278, "name": "address", "nodeType": "ElementaryTypeName", "src": "26807:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3279, "length": null, "nodeType": "ArrayTypeName", "src": "26807:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "26806:18:4" }, "scope": 3361, "src": "26737:147:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3306, "nodeType": "Block", "src": "27297:72:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3298, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "27314:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3300, "indexExpression": { "argumentTypes": null, "id": 3299, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3290, "src": "27322:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27314:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3301, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "consumerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4417, "src": "27314:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3303, "indexExpression": { "argumentTypes": null, "id": 3302, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3292, "src": "27347:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27314:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3304, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "channels", "nodeType": "MemberAccess", "referencedDeclaration": 4374, "src": "27314:48:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3297, "id": 3305, "nodeType": "Return", "src": "27307:55:4" } ] }, "documentation": "Lookup all payment channels for an consumer actor in a XBR Market.\n * @param marketId The XBR Market to get payment channels for.\n@param actor The XBR actor to get payment channels for.\n@return List of contract addresses of payment channels in the market.", "id": 3307, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllPaymentChannels", "nodeType": "FunctionDefinition", "parameters": { "id": 3293, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3290, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27225:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3289, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "27225:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3292, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27243:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3291, "name": "address", "nodeType": "ElementaryTypeName", "src": "27243:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "27224:33:4" }, "returnParameters": { "id": 3297, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3296, "name": "", "nodeType": "VariableDeclaration", "scope": 3307, "src": "27279:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3294, "name": "address", "nodeType": "ElementaryTypeName", "src": "27279:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3295, "length": null, "nodeType": "ArrayTypeName", "src": "27279:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "27278:18:4" }, "scope": 3361, "src": "27194:175:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3325, "nodeType": "Block", "src": "27777:72:4", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3317, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "27794:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3319, "indexExpression": { "argumentTypes": null, "id": 3318, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3309, "src": "27802:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27794:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3320, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "providerActors", "nodeType": "MemberAccess", "referencedDeclaration": 4413, "src": "27794:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Actor_$4381_storage_$", "typeString": "mapping(address => struct XBRTypes.Actor storage ref)" } }, "id": 3322, "indexExpression": { "argumentTypes": null, "id": 3321, "name": "actor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3311, "src": "27827:5:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "27794:39:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Actor_$4381_storage", "typeString": "struct XBRTypes.Actor storage ref" } }, "id": 3323, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "channels", "nodeType": "MemberAccess", "referencedDeclaration": 4374, "src": "27794:48:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 3316, "id": 3324, "nodeType": "Return", "src": "27787:55:4" } ] }, "documentation": "Lookup all paying channels for an provider actor in a XBR Market.\n * @param marketId The XBR Market to get paying channels for.\n@param actor The XBR actor to get paying channels for.\n@return List of contract addresses of paying channels in the market.", "id": 3326, "implemented": true, "kind": "function", "modifiers": [], "name": "getAllPayingChannels", "nodeType": "FunctionDefinition", "parameters": { "id": 3312, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3309, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27705:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3308, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "27705:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3311, "name": "actor", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27723:13:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3310, "name": "address", "nodeType": "ElementaryTypeName", "src": "27723:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "27704:33:4" }, "returnParameters": { "id": 3316, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3315, "name": "", "nodeType": "VariableDeclaration", "scope": 3326, "src": "27759:16:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 3313, "name": "address", "nodeType": "ElementaryTypeName", "src": "27759:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3314, "length": null, "nodeType": "ArrayTypeName", "src": "27759:9:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" } ], "src": "27758:18:4" }, "scope": 3361, "src": "27675:174:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3342, "nodeType": "Block", "src": "28326:83:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3335, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "28343:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3337, "indexExpression": { "argumentTypes": null, "id": 3336, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3328, "src": "28351:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28343:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentPaymentChannelByDelegate", "nodeType": "MemberAccess", "referencedDeclaration": 4421, "src": "28343:49:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, "id": 3340, "indexExpression": { "argumentTypes": null, "id": 3339, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3330, "src": "28393:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28343:59:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3334, "id": 3341, "nodeType": "Return", "src": "28336:66:4" } ] }, "documentation": "Lookup the current payment channel to use for the given delegate in the given market.\n * @param marketId The XBR Market to get the current payment channel address for.\n@param delegate The delegate to get the current payment channel address for.\n@return Current payment channel address for the given delegate/market.", "id": 3343, "implemented": true, "kind": "function", "modifiers": [], "name": "currentPaymentChannelByDelegate", "nodeType": "FunctionDefinition", "parameters": { "id": 3331, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3328, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28260:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3327, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "28260:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3330, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28278:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3329, "name": "address", "nodeType": "ElementaryTypeName", "src": "28278:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28259:36:4" }, "returnParameters": { "id": 3334, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3333, "name": "", "nodeType": "VariableDeclaration", "scope": 3343, "src": "28317:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3332, "name": "address", "nodeType": "ElementaryTypeName", "src": "28317:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28316:9:4" }, "scope": 3361, "src": "28219:190:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3359, "nodeType": "Block", "src": "28881:82:4", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3352, "name": "markets", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1847, "src": "28898:7:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes16_$_t_struct$_Market_$4426_storage_$", "typeString": "mapping(bytes16 => struct XBRTypes.Market storage ref)" } }, "id": 3354, "indexExpression": { "argumentTypes": null, "id": 3353, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "28906:8:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28898:17:4", "typeDescriptions": { "typeIdentifier": "t_struct$_Market_$4426_storage", "typeString": "struct XBRTypes.Market storage ref" } }, "id": 3355, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentPayingChannelByDelegate", "nodeType": "MemberAccess", "referencedDeclaration": 4425, "src": "28898:48:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, "id": 3357, "indexExpression": { "argumentTypes": null, "id": 3356, "name": "delegate", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3347, "src": "28947:8:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "28898:58:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3351, "id": 3358, "nodeType": "Return", "src": "28891:65:4" } ] }, "documentation": "Lookup the current paying channel to use for the given delegate in the given market.\n * @param marketId The XBR Market to get the current paying channel address for.\n@param delegate The delegate to get the current paying channel address for.\n@return Current paying channel address for the given delegate/market.", "id": 3360, "implemented": true, "kind": "function", "modifiers": [], "name": "currentPayingChannelByDelegate", "nodeType": "FunctionDefinition", "parameters": { "id": 3348, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3345, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28815:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" }, "typeName": { "id": 3344, "name": "bytes16", "nodeType": "ElementaryTypeName", "src": "28815:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes16", "typeString": "bytes16" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3347, "name": "delegate", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28833:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3346, "name": "address", "nodeType": "ElementaryTypeName", "src": "28833:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28814:36:4" }, "returnParameters": { "id": 3351, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3350, "name": "", "nodeType": "VariableDeclaration", "scope": 3360, "src": "28872:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3349, "name": "address", "nodeType": "ElementaryTypeName", "src": "28872:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "28871:9:4" }, "scope": 3361, "src": "28775:188:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 3362, "src": "1362:27603:4" } ], "src": "810:28156:4" }, "compiler": { "name": "solc", "version": "0.5.16+commit.9c3226ce.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.1.0", "updatedAt": "2020-04-13T15:29:57.168Z", "devdoc": { "methods": { "addMaintainer(address)": { "params": { "account": "The account to grant maintainer rights to." } }, "createMarket(bytes16,address,string,string,address,uint256,uint256,uint256)": { "params": { "coin": "The ERC20 coin to be used as the means of payment in the market.", "consumerSecurity": "The amount of coins a XBR consumer joining the market must deposit.", "maker": "The address of the XBR market maker that will run this market. The delegate of the market owner.", "marketFee": "The fee taken by the market (beneficiary is the market owner). The fee is a percentage of the revenue of the XBR Provider that receives coins paid for transactions. The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as a fraction of the total supply of coins in the ERC20 token specified for the market.", "marketId": "The ID of the market to create. Must be unique (not yet existing).", "meta": "Multihash for optional market metadata.", "providerSecurity": "The amount of coins a XBR provider joining the market must deposit.", "terms": "Multihash for market terms set by the market owner." } }, "createMarketFor(address,uint256,bytes16,address,string,string,address,uint256,uint256,uint256,bytes)": { "params": { "coin": "The ERC20 coin to be used as the means of payment in the market.", "consumerSecurity": "The amount of coins a XBR consumer joining the market must deposit.", "created": "Block number when the market was created.", "maker": "The address of the XBR market maker that will run this market. The delegate of the market owner.", "marketFee": "The fee taken by the market (beneficiary is the market owner). The fee is a percentage of the revenue of the XBR Provider that receives coins paid for transactions. The fee must be between 0% (inclusive) and 100% (inclusive), and is expressed as a fraction of the total supply of coins in the ERC20 token specified for the market.", "marketId": "The ID of the market to create. Must be unique (not yet existing).", "member": "The member that creates the market (will become market owner).", "meta": "Multihash for optional market metadata.", "providerSecurity": "The amount of coins a XBR provider joining the market must deposit.", "signature": "EIP712 signature created by the member.", "terms": "Multihash for market terms set by the market owner." } }, "currentPayingChannelByDelegate(bytes16,address)": { "params": { "delegate": "The delegate to get the current paying channel address for.", "marketId": "The XBR Market to get the current paying channel address for." }, "return": "Current paying channel address for the given delegate/market." }, "currentPaymentChannelByDelegate(bytes16,address)": { "params": { "delegate": "The delegate to get the current payment channel address for.", "marketId": "The XBR Market to get the current payment channel address for." }, "return": "Current payment channel address for the given delegate/market." }, "getAllMarketConsumers(bytes16)": { "params": { "marketId": "The XBR Market to consumer actors for." }, "return": "List of consumer actor addresses in the market." }, "getAllMarketProviders(bytes16)": { "params": { "marketId": "The XBR Market to provider actors for." }, "return": "List of provider actor addresses in the market." }, "getAllPayingChannels(bytes16,address)": { "params": { "actor": "The XBR actor to get paying channels for.", "marketId": "The XBR Market to get paying channels for." }, "return": "List of contract addresses of paying channels in the market." }, "getAllPaymentChannels(bytes16,address)": { "params": { "actor": "The XBR actor to get payment channels for.", "marketId": "The XBR Market to get payment channels for." }, "return": "List of contract addresses of payment channels in the market." }, "isMaintainer(address)": { "params": { "account": "The account to check." }, "return": "`true` if the account is maintainer, otherwise `false`." }, "joinMarket(bytes16,uint8,string)": { "params": { "actorType": "The type of actor under which to join: PROVIDER or CONSUMER.", "marketId": "The ID of the XBR data market to join.", "meta": "The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata." } }, "joinMarketFor(address,uint256,bytes16,uint8,string,bytes)": { "params": { "actorType": "The type of actor under which to join: PROVIDER or CONSUMER.", "joined": "Block number when the member joined the market.", "marketId": "The ID of the XBR data market to join.", "member": "The member that creates the market (will become market owner).", "meta": "The XBR market provider/consumer metadata. IPFS Multihash pointing to a JSON file with metadata.", "signature": "EIP712 signature created by the member." } }, "setConsent(bytes16,address,uint8,bytes16,bool,string)": { "params": { "apiCatalog": "The ID of the API or API catalog to which the consent shall apply.", "consent": "Consent granted or revoked.", "delegate": "The address of the off-chain provider or consumer delegate, which is a piece of software acting on behalf and under consent of the actor in the market.", "delegateType": "The type of off-chain delegate, a data provider or data consumer.", "marketId": "The ID of the XBR data market in which to provide or consume data. Any terms attached to the market or the API apply.", "servicePrefix": "The WAMP URI prefix to be used by the delegate in the data plane realm." } }, "setConsentFor(address,uint256,bytes16,address,uint8,bytes16,bool,string,bytes)": { "params": { "apiCatalog": "The ID of the API or API catalog to which the consent shall apply.", "consent": "Consent granted or revoked.", "delegate": "The address of the off-chain provider or consumer delegate, which is a piece of software acting on behalf and under consent of the actor in the market.", "delegateType": "The type of off-chain delegate, a data provider or data consumer.", "marketId": "The ID of the XBR data market in which to provide or consume data. Any terms attached to the market or the API apply.", "member": "Address of member (which must be actor in the market) that sets consent.", "servicePrefix": "The WAMP URI prefix to be used by the delegate in the data plane realm.", "signature": "EIP712 signature, signed by the consent setting member.", "updated": "Block number at which the consent setting member has created the signature." } } } }, "userdoc": { "methods": { "addMaintainer(address)": { "notice": "Add a new maintainer to the list of maintainers." }, "countMarkets()": { "notice": "Get the total number of markets defined." }, "countMarketsByOwner(address)": { "notice": "Get the number of market owned by the specified member." }, "createMarket(bytes16,address,string,string,address,uint256,uint256,uint256)": { "notice": "Create a new XBR market. The sender of the transaction must be XBR network member and automatically becomes owner of the new market. " }, "createMarketFor(address,uint256,bytes16,address,string,string,address,uint256,uint256,uint256,bytes)": { "notice": "Create a new XBR market for a member. The member must be XBR network member, must have signed the transaction data, and will become owner of the new market. /// Note: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. " }, "currentPayingChannelByDelegate(bytes16,address)": { "notice": "Lookup the current paying channel to use for the given delegate in the given market." }, "currentPaymentChannelByDelegate(bytes16,address)": { "notice": "Lookup the current payment channel to use for the given delegate in the given market." }, "getAllMarketConsumers(bytes16)": { "notice": "Lookup all consumer actors in a XBR Market." }, "getAllMarketProviders(bytes16)": { "notice": "Lookup all provider actors in a XBR Market." }, "getAllPayingChannels(bytes16,address)": { "notice": "Lookup all paying channels for an provider actor in a XBR Market." }, "getAllPaymentChannels(bytes16,address)": { "notice": "Lookup all payment channels for an consumer actor in a XBR Market." }, "getMarketActor(bytes16,address,uint8)": { "notice": "Get market actor data for the given actor (address) and actor type in the specified market." }, "getMarketCoin(bytes16)": { "notice": "Get the coin ussed as a means of payment for the given market." }, "getMarketFee(bytes16)": { "notice": "Get the market fee set by the market operator that applies for the given market." }, "getMarketMaker(bytes16)": { "notice": "Get the market maker for the given market." }, "getMarketOwner(bytes16)": { "notice": "Get the market owner for the given market." }, "getMarketsByOwner(address,uint256)": { "notice": "Get the n-th market owned by the given member." }, "isActor(bytes16,address,uint8)": { "notice": "Check if the specified member is actor in the given market." }, "isMaintainer(address)": { "notice": "Check if the given address is currently a maintainer." }, "joinMarket(bytes16,uint8,string)": { "notice": "Join the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER. " }, "joinMarketFor(address,uint256,bytes16,uint8,string,bytes)": { "notice": "Join the specified member to the given XBR market as the specified type of actor, which must be PROVIDER or CONSUMER. /// Note: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. " }, "renounceMaintainer()": { "notice": "Give away maintainer rights." }, "setConsent(bytes16,address,uint8,bytes16,bool,string)": { "notice": "Track consent of an actor in a market to allow the specified seller or buyer delegate to provide or consume data under the respective API catalog in the given market. " }, "setConsentFor(address,uint256,bytes16,address,uint8,bytes16,bool,string,bytes)": { "notice": "Track consent of an actor in a market to allow the specified seller or buyer delegate to provide or consume data under the respective API catalog in the given market. /// IMPORTANT: This version uses pre-signed data where the actual blockchain transaction is submitted by a gateway paying the respective gas (in ETH) for the blockchain transaction. " } }, "notice": "The `XBR Market `__ contract manages XBR data markets and serves as an anchor for all payment and paying channels for each respective market." } }