@renec-foundation/rpl-token-registry
Version:
Renec Token Registry
62 lines • 6.78 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const ava_1 = __importDefault(require("ava"));
const tokenlist_1 = require("./tokenlist");
(0, ava_1.default)('Token list is filterable by a tag', async (t) => {
const list = (await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static))
.filterByChainId(tokenlist_1.ENV.MainnetBeta)
.filterByTag('nft')
.getList();
t.false(list.some((item) => item.symbol === 'SOL'));
});
(0, ava_1.default)('Token list can exclude by a tag', async (t) => {
const list = (await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static))
.filterByChainId(tokenlist_1.ENV.MainnetBeta)
.excludeByTag('nft')
.getList();
t.false(list.some((item) => item.tags === ['nft']));
});
(0, ava_1.default)('Token list can exclude by a chain', async (t) => {
const list = (await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static))
.excludeByChainId(tokenlist_1.ENV.MainnetBeta)
.getList();
t.false(list.some((item) => item.chainId === tokenlist_1.ENV.MainnetBeta));
});
(0, ava_1.default)('Token list returns new object upon filter', async (t) => {
const list = await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static);
const filtered = list.filterByChainId(tokenlist_1.ENV.MainnetBeta);
t.true(list !== filtered);
t.true(list.getList().length !== filtered.getList().length);
});
(0, ava_1.default)('Token list throws error when calling filterByClusterSlug with slug that does not exist', async (t) => {
const list = await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static);
const error = await t.throwsAsync(async () => list.filterByClusterSlug('whoop'), { instanceOf: Error });
t.is(error.message, `Unknown slug: whoop, please use one of ${Object.keys(tokenlist_1.CLUSTER_SLUGS)}`);
});
(0, ava_1.default)('Token list is a valid json', async (t) => {
t.notThrows(() => {
const content = fs_1.default
.readFileSync('./src/tokens/renec.tokenlist.json')
.toString();
JSON.parse(content.toString());
});
});
(0, ava_1.default)('Token list does not have duplicate entries', async (t) => {
const list = await new tokenlist_1.TokenListProvider().resolve(tokenlist_1.Strategy.Static);
list
.filterByChainId(tokenlist_1.ENV.MainnetBeta)
.getList()
.reduce((agg, item) => {
if (agg.has(item.address)) {
console.log(item.address);
}
t.false(agg.has(item.address));
agg.set(item.address, item);
return agg;
}, new Map());
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5saXN0LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VubGlzdC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBRXBCLDhDQUF1QjtBQUV2QiwyQ0FNcUI7QUFFckIsSUFBQSxhQUFJLEVBQUMsbUNBQW1DLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ3BELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLDZCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEUsZUFBZSxDQUFDLGVBQUcsQ0FBQyxXQUFXLENBQUM7U0FDaEMsV0FBVyxDQUFDLEtBQUssQ0FBQztTQUNsQixPQUFPLEVBQUUsQ0FBQztJQUViLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxhQUFJLEVBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2xELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLDZCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEUsZUFBZSxDQUFDLGVBQUcsQ0FBQyxXQUFXLENBQUM7U0FDaEMsWUFBWSxDQUFDLEtBQUssQ0FBQztTQUNuQixPQUFPLEVBQUUsQ0FBQztJQUViLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FB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