Skip to content

Commit

Permalink
feat: add tokpie
Browse files Browse the repository at this point in the history
  • Loading branch information
wouthoekstra committed Mar 27, 2024
1 parent b7a6c60 commit 0b727ee
Show file tree
Hide file tree
Showing 3 changed files with 12,536 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ exports.Timex = require('./timex');
exports.Tokenize = require('./tokenize');
exports.Tokens = require('./tokens');
exports.Tokenstore = require('./tokenstore');
exports.Tokpie = require('./tokpie');
exports.Tradeogre = require('./tradeogre');
exports.Traderjoe = require('./traderjoe');
exports.Tradesatoshi = require('./tradesatoshi');
Expand Down
47 changes: 47 additions & 0 deletions drivers/tokpie.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
const Driver = require('../models/driver');
const request = require('../lib/request');
const Ticker = require('../models/ticker');
const { parseToFloat } = require('../lib/utils');

/**
* @memberof Driver
* @augments Driver
*/
class Tokpie extends Driver {
/**
* @augments Driver.fetchTickers
* @returns {Promise.Array<Ticker>} Returns a promise of an array with tickers.
*/
async fetchTickers() {
const markets = await request('https://tokpie.com/api_ticker/');

return Object.keys(markets).flatMap((market) => {
const ticker = markets[market];
if (ticker.isFrozen) return [];

const [base, quote] = ticker.pair.split('@');

const close = parseToFloat(ticker.last);
const baseVolume = parseToFloat(ticker.baseVolume);
const quoteVolume = parseToFloat(ticker.quoteVolume);

if (!close) return [];
if (!baseVolume && !quoteVolume) return [];

return new Ticker({
base,
quote,
open: parseToFloat(ticker.at_first24),
high: parseToFloat(ticker.high24hr),
low: parseToFloat(ticker.low24hr),
close,
bid: parseToFloat(ticker.highestBid),
ask: parseToFloat(ticker.lowestAsk),
baseVolume,
quoteVolume,
});
});
}
}

module.exports = Tokpie;

0 comments on commit 0b727ee

Please sign in to comment.