pulsar_sdk_js
Version:
A convenient way for you to interact with Pulsar's Third Party APIs, using typified classes.
42 lines (41 loc) • 1.86 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const base_1 = __importDefault(require("./base"));
const schema_1 = require("../data/dataclasses/schema");
class TokenRestClient extends base_1.default {
async get_token_info_by_id(token_id) {
const response = await this._request(`/token/${token_id}`, 'GET');
return (0, class_transformer_1.plainToInstance)(schema_1.ExtendedToken, response);
}
async get_token_info_by_address_and_chain(token_type, chain, address) {
const response = await this._request(`/token/${token_type}/${address}`, 'GET', {}, {
chain,
});
return (0, class_transformer_1.plainToInstance)(schema_1.ExtendedToken, response);
}
async list_tokens(options = {}) {
const { minimum_liquidity = 0, chains = undefined, text = undefined, sort_by = undefined, whitelisted_only = false, remove_blacklisted = false, offset = 0, limit = 10, } = options;
const response = await this._request('/tokens', 'GET', {}, {
minimum_liquidity,
chains,
text,
sort_by,
whitelisted_only,
remove_blacklisted,
offset,
limit,
});
return (0, class_transformer_1.plainToInstance)(schema_1.PaginatedTokens, response);
}
async get_token_timeseries(token_id, tier_name) {
const response = await this._request(`/tokens/${token_id}/timeseries`, 'GET', {}, {
tier_name,
});
return (0, class_transformer_1.plainToInstance)(schema_1.TokenPriceTimeseries, response);
}
}
exports.default = TokenRestClient;