{"version":3,"sources":["logo.svg","latest_thumbnail.png","market.js","App.js","reportWebVitals.js","index.js"],"names":["hubs","Jita","region","location","name","Amarr","Rens","Dodixie","Hek","Oursulaert","TashMurkonPrime","Agil","Arnon","hubs_by_id","esi_host","makeAjax","url","cb","fetch","then","response","json","statusText","headers","range","start","end","Array","from","keys","filter","x","request_cache","loadMultipageQuery","a","timeout","i_to","Date","timestamp","d","data","textStatus","header","pagecnt","Promise","all","map","pagenum","datas","reduce","y","concat","result","console","log","error","r","setTimeout","queryPrice","typeid","batchPriceLimit","is_buy_order","location_id","sort","price","total_cost","volume_remain","total_cnt","on_sale_volume","id","queryLowestPrice","Math","min","Infinity","e","queryCheapestOrder","queryVolumeBelowPrice","treshold_price","queryPriceHistoryAndVolume","period","slice","average","volume","avg_price","daily_volume","calculateProfitability","types","dest","maxUnitPrice","maxUnitVolume","ignoredTypeIds","setReport","setQueryInProgress","start_hub","dest_hub","buy","sell","history","info","types_and_prices","ignoredInLocation","includes","price_delta","price_margin","selectedTypes","result_unsorted","Number","toPrecision","tid","t","Market","useState","activeTab","setActiveTab","selectedStart","setSelectedStart","selectedEnd","setSelectedEnd","maxValue","setMaxValue","setMaxUnitPrice","setMaxUnitVolume","profitReport","setProfitReport","tradableTypes","setTradableTypes","allTypes","setAllTypes","setSelectedTypes","buyOrderLines","setBuyOrderLines","setEstimatedBuyVolume","queryInProgress","ignoreExistingOrders","setIgnoreExistingOrders","setIgnoredTypeIds","inventoryRaw","setInventoryRaw","suggestedSell","setSuggestedSell","underCutReport","setUnderCutReport","label","value","valueSplit","setValueSplit","devMode","window","hostname","maxPrice","useEffect","j","totalDailyTurnoverExpectation","totalConservativeDailyTurnoverExpectation","toggle","tab","_estimatedBuyVolume","Container","style","minHeight","padding","Col","sm","lg","size","offset","xl","background","borderRadius","opacity","Nav","tabs","NavItem","NavLink","className","classnames","active","onClick","color","fontSize","TabContent","TabPane","tabId","paddind","Row","margin","maxWidth","isMulti","onChange","options","Object","Input","width","type","max","step","target","Button","onDrop","acceptedFiles","forEach","file","reader","FileReader","onabort","alert","onerror","onload","lines","split","location_index","indexOf","type_index","l","parseInt","readAsText","getRootProps","getInputProps","length","disabled","volumeToBuy","toFixed","JSON","stringify","Table","dark","striped","checked","push","newList","placeholder","typenames","tn","tmp","reverse","getSuggestedSellPrice","fileData","order_index","region_index","name_index","price_index","parseFloat","order","type_name","location_name","trader_name","my_orders","order_id","o","type_id","my","cheapest","undercut","cheapest_orders","zIndex","position","Card","CardImg","src","latest_thumbnail","CardBody","CardTitle","open","Navbar","NavbarBrand","href","alt","maxHeight","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.fa70032c.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo.6ce24c58.svg\";","export default __webpack_public_path__ + \"static/media/latest_thumbnail.03dd2a84.png\";","import React, { useState, useEffect } from 'react';\nimport Dropzone from 'react-dropzone'\nimport InputAutoSuggest from 'react-input-autosuggest'\n//import 'react-input-autosuggest/dist/index.css'\nimport { NavbarBrand, Navbar, Progress, Container, Col, Row, Nav, NavItem, NavLink, TabContent, TabPane, Button, Input,FormText } from 'reactstrap';\nimport { InputGroup, InputGroupAddon, InputGroupText, Table } from 'reactstrap';\nimport {\n Card, CardImg, CardText, CardBody,\n CardTitle, CardSubtitle,\n} from 'reactstrap';\nimport classnames from 'classnames';\nimport Select from 'react-select';\n//import makeAnimated from 'react-select/animated';\nimport latest_thumbnail from './latest_thumbnail.png'\n\n/*\nvar commodities = {9850:[\"Spirits\",0.2],\n 43:[\"Antibiotics\",0.5],\n 3717:[\"Dairy Products\",0.5],\n 3715:[\"Frozen Food\",0.5],\n 45:[\"Frozen Plant Seeds\",0.5],\n 3647:[\"Holoreels\",0.5],\n 12478:[\"Khumaak\",0.3],\n 3777:[\"Long-limb Roes\",1],\n 11855:[\"Protein Delicacies\",0.5],\n 3699:[\"Quafe\",0.1],\n 42:[\"Spiced Wine\",0.5],\n 9852:[\"Tobacco\",0.2],\n 3673:[\"Wheat\",1.15],\n 3812:[\"Data Sheets\",1],\n 3687:[\"Electronic Parts\",1],\n 41:[\"Garbage\",0.25],\n 3773:[\"Hydrochloric Acid\",0.5],\n 3685:[\"Hydrogen Batteries\",1],\n 3643:[\"Soil\",1.5],\n 3713:[\"Vitoc\",0.5],\n 3723:[\"Slaver Hound\",1],\n 3729:[\"Toxic Waste\",1],\n 3721:[\"Slaves\",5]\n };*/\n\nvar hubs = {Jita: {region: 10000002, location: 60003760, name: \"Jita\"},\n Amarr: {region: 10000043, location: 60008494, name: \"Amarr\"},\n Rens: {region: 10000030, location: 60004588, name: \"Rens\"},\n Dodixie: {region: 10000032, location: 60011866, name: \"Dodixie\"},\n Hek: {region: 10000042, location: 60005686, name: \"Hek\"},\n Oursulaert: {region: 10000064, location: 60011740, name: \"Oursulaert\"},\n TashMurkonPrime: {region: 10000020, location: 60001096, name: \"Tash-Murkon Prime\"},\n Agil: {region: 10000049, location: 60012412, name: \"Agil\"},\n Arnon: {region: 10000064, location: 60012607, name: \"Arnon\"}};\n\nvar hubs_by_id = {60003760: hubs.Jita,\n 60008494: hubs.Amarr,\n 60004588: hubs.Rens,\n 60011866: hubs.Dodixie,\n 60005686: hubs.Hek,\n 60011740: hubs.Oursulaert,\n 60001096: hubs.TashMurkonPrime,\n 60012412: hubs.Agil,\n 60012607: hubs.Arnon}\n/*\nvar tradeble_ids = [34, 35, 36, 38, 638, 4051, 4246, 4247, 4347, 4349, 9848, 11399, 11993, 12005, 15632, 15681, 15806, 15963,\n 16274, 16636, 16641, 16643, 16644, 16648, 16650, 16651, 16652, 16653, 16678, 16683, 17559, 17715, 17736,\n 17738, 17740, 17887, 17888, 17889, 17918, 18789, 19045, 19191, 19198, 19200, 19207, 19208, 19359, 19417,\n 19421, 20160, 20161, 20185, 25594, 25617, 25619, 25624, 25625, 28444, 28606, 28659, 28661, 28665, 28668,\n 28710, 29984, 29986, 29990, 30251, 30744, 30745, 30746, 30747, 31796, 31930, 31932, 33468, 33470, 33472,\n 33681, 33820, 33844, 34133, 35835, 40519, 40520, 41218, 44992, 45635, 47270, 47271, 47466, 48112, 48121,\n 48582, 49711, 52252, 52568, 55826, 56202, 57457];*/\n/*\nvar empire_regions = [10000054, 10000036, 10000043,\n 10000067, 10000052, 10000065, 10000020, 10000038,\n 10000016, 10000033, 10000002,\n 10000064, 10000037, 10000048, 10000032, 10000044, 10000068,\n 10000042, 10000030, 10000028,\n 10000049, 10000001];*/\n\nvar esi_host = 'https://esi-cache.pterippi.fi/';\n/*\nvar mineraldata = JSON.parse(\"[{\\\"ore\\\":1230,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":415},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1228,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":346},{\\\"mineral\\\":35,\\\"quantity\\\":173},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1224,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":351},{\\\"mineral\\\":35,\\\"quantity\\\":25},{\\\"mineral\\\":36,\\\"quantity\\\":50},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":5},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":18,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":107},{\\\"mineral\\\":35,\\\"quantity\\\":213},{\\\"mineral\\\":36,\\\"quantity\\\":107},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1227,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":800},{\\\"mineral\\\":35,\\\"quantity\\\":100},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":85},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":20,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":134},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":267},{\\\"mineral\\\":37,\\\"quantity\\\":134},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1226,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":0},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":350},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":75},{\\\"mineral\\\":39,\\\"quantity\\\":8},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1231,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":2200},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":100},{\\\"mineral\\\":38,\\\"quantity\\\":120},{\\\"mineral\\\":39,\\\"quantity\\\":15},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":21,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":0},{\\\"mineral\\\":35,\\\"quantity\\\":1000},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":200},{\\\"mineral\\\":38,\\\"quantity\\\":100},{\\\"mineral\\\":39,\\\"quantity\\\":19},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1229,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":0},{\\\"mineral\\\":35,\\\"quantity\\\":2200},{\\\"mineral\\\":36,\\\"quantity\\\":2400},{\\\"mineral\\\":37,\\\"quantity\\\":300},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1232,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":10000},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":1600},{\\\"mineral\\\":38,\\\"quantity\\\":120},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1225,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":21000},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":760},{\\\"mineral\\\":39,\\\"quantity\\\":135},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":19,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":56000},{\\\"mineral\\\":35,\\\"quantity\\\":12050},{\\\"mineral\\\":36,\\\"quantity\\\":2100},{\\\"mineral\\\":37,\\\"quantity\\\":450},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":1223,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":0},{\\\"mineral\\\":35,\\\"quantity\\\":12000},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":450},{\\\"mineral\\\":40,\\\"quantity\\\":100},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":22,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":22000},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":2500},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":320},{\\\"mineral\\\":11399,\\\"quantity\\\":0}]},{\\\"ore\\\":11396,\\\"composition\\\":[{\\\"mineral\\\":34,\\\"quantity\\\":0},{\\\"mineral\\\":35,\\\"quantity\\\":0},{\\\"mineral\\\":36,\\\"quantity\\\":0},{\\\"mineral\\\":37,\\\"quantity\\\":0},{\\\"mineral\\\":38,\\\"quantity\\\":0},{\\\"mineral\\\":39,\\\"quantity\\\":0},{\\\"mineral\\\":40,\\\"quantity\\\":0},{\\\"mineral\\\":11399,\\\"quantity\\\":300}]}]\");\nvar ore_flavors = {22: {plus_5: 17425, plus_10: 17426},\n 1223: {plus_5: 17428, plus_10: 17429},\n 1224: {plus_5: 17459, plus_10: 17460},\n 18: {plus_5: 17455, plus_10: 17456},\n 19: {plus_5: 17466, plus_10: 17467},\n 1230: {plus_5: 17470, plus_10: 17471},\n 1228: {plus_5: 17463, plus_10: 17464},\n 1225: {plus_5: 17432, plus_10: 17433},\n 1232: {plus_5: 17436, plus_10: 17437},\n 20: {plus_5: 17452, plus_10: 17453},\n 1229: {plus_5: 17865, plus_10: 17866},\n 1227: {plus_5: 17867, plus_10: 17868},\n 21: {plus_5: 17440, plus_10: 17441},\n 1231: {plus_5: 17444, plus_10: 17445},\n 1226: {plus_5: 17448, plus_10: 17449},\n 11396: {plus_5: 17869, plus_10: 17870}};*/\n//var compressed_ores = []\n\nfunction makeAjax(url, cb)\n{\n return fetch(url)\n .then(response => cb(response.json(), response.statusText, response.headers));\n}\n/*\nfunction ajaxPost(url, json_data, cb)\n{\n const requestOptions = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: json_data\n };\n fetch(url, requestOptions)\n .then(response => response.json())\n .then(x => cb(x))\n}*/\n\nfunction range(start, end)\n{\n return Array.from(Array(end + 1).keys()).filter(x => (x >= start));\n}\n\n\nvar request_cache = {};\nasync function loadMultipageQuery(url)\n{\n //'https://esi.tech.ccp.is/latest/markets/10000067/orders/?datasource=tranquility&type_id=3687&page=1'\n var timeout = 5000;\n var i_to = 3;\n if (request_cache[url])\n {\n if ((new Date() - request_cache[url].timestamp) < 300000)\n {\n return request_cache[url].d;\n }\n }\n while (true)\n {\n try\n {\n let result = await makeAjax(url+'&page=1', (data, textStatus, header) => {\n var pagecnt = header['x-pages'];\n //console.log(pagecnt);\n if (pagecnt > 1)\n {\n let result = Promise.all(range(2,pagecnt).map(\n pagenum => makeAjax(url+'&page='+pagenum, (x)=>x))\n ).then(datas => datas.reduce((x,y) => x.concat(y), data))\n return result;\n }\n else\n {\n return data;\n }\n\n })\n if (!result.filter)\n {\n console.log(result)\n }\n request_cache[url] = {timestamp: new Date(), d: result};\n return result;\n }\n catch (e)\n {\n console.error(e)\n await new Promise(r => setTimeout(r, timeout));\n timeout *= i_to;\n i_to += 1;\n }\n }\n}\n\nfunction queryPrice(typeid, region, location, batchPriceLimit)\n{\n\n return loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)\n .then(data => data.filter(x => (!x.is_buy_order && x.location_id === location))\n .sort((x, y) => (x.price - y.price))\n .reduce((x, y) => ((x.total_cost < batchPriceLimit)?\n {total_cost: batchPriceLimit < (x.total_cost + y.price*y.volume_remain)?batchPriceLimit:(x.total_cost + y.price*y.volume_remain),\n total_cnt: batchPriceLimit < (x.total_cost + y.price*y.volume_remain)?(x.total_cnt + (batchPriceLimit - x.total_cost)/y.price):(x.total_cnt + y.volume_remain),\n on_sale_volume: (x.on_sale_volume + y.volume_remain)}\n :x), {total_cost: 0, total_cnt: 0, on_sale_volume: 0}))\n .then(x => ({id: typeid,\n price: x.total_cnt > 0 ? (x.total_cost/x.total_cnt) : 0,\n on_sale_volume: x.on_sale_volume}))\n}\n\nfunction queryLowestPrice(typeid, region, location)\n{\n\n try\n {\n return loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)\n .then(data => data.filter(x => (!x.is_buy_order && x.location_id === location))\n .map(x => x.price)\n .reduce((x,y) => Math.min(x, y), Infinity))\n .then(x => ({id: typeid,\n price: x}))\n }\n catch (e)\n {\n return [];\n }\n}\n\nfunction queryCheapestOrder(typeid, region, location)\n{\n try\n {\n return loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)\n .then(data => data.filter(x => (!x.is_buy_order && x.location_id === location))\n .sort((x, y) => (x.price - y.price))[0])\n }\n catch (e)\n {\n return [];\n }\n}\n\nfunction queryVolumeBelowPrice(typeid, treshold_price, region, location)\n{\n try\n {\n return loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)\n .then(data => data.filter(x => (!x.is_buy_order && x.location_id === location))\n .filter(x => (x.price < treshold_price))\n .reduce((x, y) => x + y.volume_remain, 0))\n }\n catch (e)\n {\n return [];\n }\n}\n\nfunction queryPriceHistoryAndVolume(typeid, region, period)\n{\n\n try\n {\n return loadMultipageQuery(esi_host+'latest/markets/'+region+'/history/?datasource=tranquility&type_id='+typeid)\n .then(data => data.slice(-period)\n .reduce((x, y) => ({total_cost: x.total_cost + y.average*y.volume,\n total_cnt: x.total_cnt + y.volume}),\n {total_cost: 0, total_cnt: 0}))\n .then(x => ({id: typeid,\n avg_price: x.total_cnt > 0 ? (x.total_cost/x.total_cnt) : 0,\n daily_volume: x.total_cnt/period}))\n }\n catch (e)\n {\n return [];\n }\n}\n\nasync function calculateProfitability(types, start, dest, maxUnitPrice, maxUnitVolume, ignoredTypeIds, setReport, setQueryInProgress)\n{\n let start_hub = hubs[start];\n let dest_hub = hubs[dest];\n let result = [];\n let types_and_prices = await Promise.all(types.map(async (x) => ({id: x.id,\n buy: await queryPrice(x.id, start_hub.region, start_hub.location, 100000000),\n sell: await queryPrice(x.id, dest_hub.region, dest_hub.location, 100000000),\n history: await queryPriceHistoryAndVolume(x.id, dest_hub.region, 14),\n info: x})));\n console.log(types_and_prices)\n let ignoredInLocation = ignoredTypeIds.filter(x => x[1] === dest_hub.location)\n .map(x => x[0]);\n result = types_and_prices.filter(x => !ignoredInLocation.includes(x.id) )\n .map(x => ({id: x.id,\n price_delta: (x.sell.price > 0 ? x.sell.price : x.history.avg_price * 1.5) - x.buy.price,\n price_margin: 100*((x.sell.price > 0 ? x.sell.price : x.history.avg_price * 1.5) - x.buy.price)/(x.sell.price > 0 ? x.sell.price : x.history.avg_price * 1.5),\n history: x.history,\n sell: x.sell,\n buy: x.buy,\n info: x.info}))\n .filter(x => x.buy.on_sale_volume > 0)\n .filter(x => x.buy.price < maxUnitPrice*1000000)\n .filter(x => x.info.volume < maxUnitVolume)\n .filter(x => x.sell.on_sale_volume/x.history.daily_volume < 1)\n .filter(x => x.price_margin > 0)\n .sort((x, y) => (y.price_margin - x.price_margin))\n\n\n setReport(result);\n setQueryInProgress(false);\n}\n\n\nasync function getSuggestedSellPrice(types, selectedTypes, dest, setReport, setQueryInProgress)\n{\n let dest_hub = hubs[dest];\n let types_and_prices = await Promise.all(types.filter(x => selectedTypes.includes(x.id) )\n .map(async (x) => ({id: x.id,\n sell: await queryLowestPrice(x.id, dest_hub.region, dest_hub.location, 100000000),\n history: await queryPriceHistoryAndVolume(x.id, dest_hub.region, 14),\n info: x})));\n console.log(types_and_prices)\n let result_unsorted = types_and_prices.map(x => ({id: x.id,\n history: x.history,\n sell: {price: Number(((x.sell.price < Infinity) ? (x.sell.price*0.995):(x.history.avg_price * 1.99)).toPrecision(4))},\n info: x.info}))\n let result = selectedTypes.map(tid => result_unsorted.filter(t => t.id === tid)[0])\n\n setReport(result);\n setQueryInProgress(false);\n}\n\n\n//var orders_cache = {}\n/*\nasync function queryNPCOrdersInEmpires(typeid)\n{\n if (orders_cache[typeid])\n {\n if (Date.now() - orders_cache[typeid].time < 300000)\n {\n return orders_cache[typeid].data;\n }\n }\n\n var orders_by_regions = Promise.all(empire_regions.map((region) => loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)))\n var orders = [].concat.apply([], await orders_by_regions);\n //console.log(orders)\n var max_sell_volume = 0;\n var max_buy_volume = 0;\n var max_buy_price = 0;\n var min_sell_price = 100000000000000000;\n\n var sell_orders = orders.filter(x => (!x.is_buy_order && x.duration === 365));\n var buy_orders = orders.filter(x => (x.is_buy_order && x.duration === 365));\n sell_orders.map((x) => {\n if (x.volume_remain > max_sell_volume)\n {\n max_sell_volume = x.volume_remain;\n }\n if (x.price < min_sell_price)\n {\n min_sell_price = x.price ;\n }\n })\n buy_orders.map((x) => {\n if (x.volume_remain > max_buy_volume)\n {\n max_buy_volume = x.volume_remain;\n }\n if (x.price > max_buy_price)\n {\n max_buy_price = x.price ;\n }\n })\n\n sell_orders = sell_orders.filter(x => (x.price < max_buy_price));\n buy_orders = buy_orders.filter(x => (x.price > min_sell_price));\n sell_orders = sell_orders.filter(x => (x.volume_remain > 0.2*max_sell_volume));\n buy_orders = buy_orders.filter(x => (x.volume_remain > 0.2*max_buy_volume));\n\n\n orders_cache[typeid] = {time:Date.now(), data: [sell_orders, buy_orders]}\n return [sell_orders, buy_orders];\n}\n*//*\nasync function queryOrdersByLocation(typeid, region, threshold)\n{\n var orders = await loadMultipageQuery(esi_host+'latest/markets/'+region+'/orders/?datasource=tranquility&type_id='+typeid)\n .then(data => data.filter(x => (!x.is_buy_order && x.price < threshold))\n .sort((x, y) => (x.price - y.price)));\n\n var stations = orders.reduce((x, y) => x.add(y.location_id), new Set());\n\n var station_volume = []\n stations.forEach((v1,v2,s) => {station_volume.push([v1, orders.filter(x => x.location_id === v1)\n .reduce((x, y) => ({oreid: typeid, total_cost: x.total_cost + y.price*y.volume_remain, total_cnt: x.tota_cnt + y.volume_remain}), {total_cost: 0, tota_cnt: 0})\n ])});\n return station_volume;\n}**/\n\n/*\nasync function getStationJumps(id)\n{\n var info = await makeAjax(esi_host+'latest/universe/stations/'+id+'/?datasource=tranquility', stinfo => [stinfo.name, stinfo.system_id]);\n\n var route = await makeAjax(esi_host+'latest/route/30002188/'+info[1]+'/?datasource=tranquility&flag=shortest', (x) => x);\n return [info[0], route];\n}*/\n/*\nasync function finalizeReport(ndata, stations_orders, stations_total, types, setReportData)\n{\n var names = ndata.reduce((x, y) => {x[y.id]= y.name; return x; }, {});\n stations_total.sort((x,y)=>y[1]-x[1])\n\n\n var jumps = await Promise.all(stations_total.map(st => getStationJumps(st[0])));\n console.log(jumps)\n //\n var data = stations_total.map(st => [names[st[0]], jumps.filter(x=>x[0]===names[st[0]]).map(x=> x[1])[0], st[1], stations_orders.filter(x => x[0] === st[0]).map(x => [types[x[1].oreid], x[1].total_cost, x[1].total_cost/x[1].total_cnt])])\n console.log(data)\n setReportData(data)\n //$('#ore_report').html('
'+[x[0],x[2],x[3].join(' ')].join(' | ')+' |
Drag 'n' drop latest market order export here
\n {(ignoredTypeIds.length > 0 ? (Currently ignoring {ignoredTypeIds.filter(x => x[1] === hubs[selectedEnd].location).length} types.
):())}\n{x.info.name} | {\n ((() => {\n let volumeToBuy = 0;\n if (valueSplit.value === \"equal\")\n {\n volumeToBuy = (maxPrice/buyOrderLines.length/x.buy.price).toFixed(0);\n } else if (valueSplit.value === \"proportional\")\n {\n volumeToBuy = (x.buy.price*x.history.daily_volume / totalDailyTurnoverExpectation * maxPrice /x.buy.price).toFixed(0);\n } else if (valueSplit.value === \"proportional_conservative\")\n {\n volumeToBuy = (x.buy.price*(x.history.daily_volume > x.sell.on_sale_volume ? x.history.daily_volume - x.sell.on_sale_volume : 0)/ totalConservativeDailyTurnoverExpectation * maxPrice /x.buy.price).toFixed(0);\n }\n _estimatedBuyVolume += volumeToBuy * x.info.volume;\n return volumeToBuy;\n })())\n } |
Item | Competition, h | Margin, % | ISK/m3 | |
---|---|---|---|---|
\n {\n console.log(selectedTypes)\n if (e.target.checked)\n {\n if (!selectedTypes.includes(x.id))\n {\n selectedTypes.push(x.id);\n setSelectedTypes(selectedTypes.slice());\n setBuyOrderLines(profitReport.filter(x => selectedTypes.includes(x.id) ));\n }\n }\n else {\n if (selectedTypes.includes(x.id))\n {\n let newList = selectedTypes.filter( y => y !== x.id);\n setSelectedTypes(newList);\n setBuyOrderLines(profitReport.filter(x => newList.includes(x.id) ));\n }\n }\n }}/>\n | \n\n {x.info.name}\n | \n{((x.sell.on_sale_volume / x.history.daily_volume)*24).toFixed(1)} | \n{x.price_margin.toFixed(1)} | \n{(x.buy.price / x.info.volume).toFixed(0.1)} |
Item | Suggested sell price |
---|---|
{x.info.name} | {x.sell.price.toFixed(2)} |
Select recent export of corporation or personal orders to check if you need to update the price
\nDrag 'n' drop latest market order export here
\nTrader | \nHub | \nItem | \nSuggested price | \nDiscount, % | \nUndercutting volume, h | \n
---|---|---|---|---|---|
{x[0]} | \n{x[1]} | \n{x[2]} | \n{x[3]} | \n{x[4]} | \n{x[5]} | \n