wiki/examples/js/poloniex-limits-amount-min.md
// @NO_AUTO_TRANSPILE
import ccxt from '../../js/ccxt.js';
import fs from 'fs';
import ololog from 'ololog';
const log = ololog.configure.unlimited.noLocate, verbose = process.argv.includes('--verbose'), keysGlobal = 'keys.json', keysLocal = 'keys.local.json', keysFile = fs.existsSync(keysLocal) ? keysLocal : (fs.existsSync(keysGlobal) ? keysGlobal : false), config = keysFile ? require('../../' + keysFile) : {}, exchange = new ccxt.poloniex(ccxt.extend({
enableRateLimit: true,
verbose,
}, config.poloniex || {}));
(async () => {
const test = async function (symbol) {
try {
await exchange.createOrder(symbol, 'limit', 'buy', 0, 0);
}
catch (e) {
if (e instanceof ccxt.InvalidOrder) {
const words = e.message.split(' ');
let minAmount = parseFloat(words[words.length - 1]);
log.green("'" + symbol + "': " + minAmount.toString() + ',');
}
else {
throw e;
}
}
};
await exchange.loadMarkets();
for (let i = 0; i < exchange.symbols.length; i++) {
try {
await test(exchange.symbols[i]);
}
catch (e) {
if (e instanceof ccxt.InvalidNonce) {
log.yellow(e);
}
else {
log.red(e);
throw e;
}
}
await ccxt.sleep(5000); // sleep 5 seconds, no rush, safe delay
}
})();