
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Node.js library for Exante's API.
npm install exante
The library currently supports the following API versions: 2.0
and 3.0
(see API versions). For more detailed documentation please see docs.
import { RestClient } from "exante";
const client_id = "d0c5340b-6d6c-49d9-b567-48c4bfca13d2";
const app_id = "6cca6a14-a5e3-4219-9542-86123fc9d6c3";
const shared_key = "5eeac64cc46b34f5332e5326/CHo4bRWq6pqqynnWKQg";
const demo = false;
const client = new RestClient({ client_id, app_id, shared_key, demo });
const version = "3.0";
const accounts = await client.getAccounts({ version });
const version = "2.0";
const changes = await client.getDailyChanges({ version });
const version = "3.0";
const symbolId = ["AAPL.NASDAQ", "MSFT.NASDAQ"];
const changes = await client.getDailyChange({ version, symbolId });
const version = "2.0";
const currencies = await client.getCurrencies({ version });
const from = "USD";
const to = "EUR";
const crossrate = await client.getCrossrate({ from, to });
const version = "3.0";
const exchanges = await client.getExchanges({ version });
const version = "2.0";
const exchangeId = "NASDAQ";
const symbols = await client.getExchangeSymbols({ version, exchangeId });
const groups = await client.getGroups({});
const version = "3.0";
const groupId = "NG";
const symbols = await client.getGroupSymbols({ version, groupId });
const version = "2.0";
const groupId = "NG";
const symbol = await client.getGroupNearestSymbol({ version, groupId });
const symbols = await client.getSymbols();
const version = "3.0";
const symbolId = "AAPL.NASDAQ";
const symbol = await client.getSymbol({ version, symbolId });
const version = "2.0";
const symbolId = "AAPL.NASDAQ";
const types = true;
const schedule = await client.getSymbolSchedule({ version, symbolId, types });
const symbolId = "AAPL.NASDAQ";
const specification = await client.getSymbolSpecification({ symbolId });
const version = "3.0";
const types = await client.getTypes({ version });
const version = "2.0";
const symbolType = "OPTION";
const symbols = await client.getTypeSymbols({ version, symbolType });
const symbolIds = ["MSFT.NASDAQ", "AAPL.NASDAQ", "GAZP.MICEX"];
const stream = await client.getTradesStream({ symbolIds });
for await (const update of stream) {
console.log(update);
}
const version = "3.0";
const symbolIds = ["MSFT.NASDAQ", "AAPL.NASDAQ", "GAZP.MICEX"];
const level = "market_depth";
const ac = new AbortController();
const stream = await client.getQuoteStream(
{ version, symbolIds, level },
{ signal: ac.signal }
);
for await (const update of stream) {
console.log(update);
}
const symbolIds = ["MSFT.NASDAQ", "AAPL.NASDAQ"];
const level = "market_depth";
const quote = await client.getLastQuote({ symbolIds, level });
const version = "3.0";
const duration = "3600";
const symbolId = "AAPL.NASDAQ";
const from = 1481565600000;
const to = 1481572800000;
const size = 1;
const candles = await client.getCandles({
version,
duration,
symbolId,
from,
to,
size,
});
const version = "2.0";
const symbolId = "AAPL.NASDAQ";
const from = "1481565600000";
const to = 1481572800000;
const size = 1;
const type = "trades";
const ticks = await client.getTicks({
version,
symbolId,
from,
to,
size,
type,
});
const version = "3.0";
const id = "ABC1234.001";
const currency = "EUR";
const summary = await client.getAccountSummary({ version, id, currency });
const version = "3.0";
const id = "ABC1234.001";
const date = "2013-02-16";
const currency = "EUR";
const summary = await client.getAccountSummary({
version,
id,
date,
currency,
});
const symbolId = "AAPL.NASDAQ";
const operationType = ["TRADE"];
const limit = 1;
const transactions = await client.getTransactions({
symbolId,
operationType,
limit,
});
const version = "3.0";
const symbolId = "AAPL.NASDAQ";
const side = "sell";
const quantity = "1";
const limitPrice = "10000";
const duration = "good_till_cancel";
const orderType = "limit";
const accountId = "ABC1234.001";
const order = await client.placeOrder({
version,
symbolId,
side,
quantity,
limitPrice,
duration,
orderType,
accountId,
});
const version = "2.0";
const limit = "10";
const from = "2017-05-18T10:00:00.000Z";
const to = "2017-05-21T17:59:59.999Z";
const account = "ABC1234.001";
const orders = await client.getOrders({ version, limit, from, to, account });
const instrument = "APL.NASDAQ";
const account = "ABC1234.001";
const orders = await client.getActiveOrders({ instrument, account });
const version = "3.0";
const orderId = "d642d2ca-fcb5-4910-9de4-7c91f275ca23";
const action = "replace";
const limitPrice = "101.0";
const quantity = "7";
const stopPrice = "102.0";
const priceDistance = "1.0";
const order = await client.modifyOrder({
version,
orderId,
action,
parameters: { limitPrice, quantity, stopPrice, priceDistance },
});
const version = "3.0";
const orderId = "ffecfac8-ccf9-4015-9a0f-b49a6b9673b8";
const order = await client.getOrder({ version, orderId });
const version = "2.0";
const stream = await client.orderUpdatesHttp({ version });
for await (const update of stream) {
console.log(update);
}
const version = "3.0";
const stream = await client.tradesHttp({ version });
for await (const update of stream) {
console.log(update);
}
npm test
FAQs
Exante Node.js client
The npm package exante receives a total of 0 weekly downloads. As such, exante popularity was classified as not popular.
We found that exante demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.