@kaiachain/kss-bridges-celer
Version:
TypeScript client and use-cases for cBridge
60 lines • 3.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const use_cases_1 = require("../../use-cases");
describe("burnCanonicalToken", async () => {
let CBRIDGE_GATEWAY_URL;
let WALLET_ADDRESS;
let PRIVATE_KEY;
let SRC_CHAIN_ID;
let DST_CHAIN_ID;
let SRC_CHAIN_RPC;
let TOKEN_SYMBOL;
let AMOUNT;
let CONFIRMATIONS;
it("should init the params", async () => {
CBRIDGE_GATEWAY_URL = process.env.CBRIDGE_GATEWAY_URL;
WALLET_ADDRESS = process.env.WALLET_ADDRESS;
PRIVATE_KEY = process.env.PRIVATE_KEY;
SRC_CHAIN_ID = parseInt(process.env.SRC_CHAIN_ID);
DST_CHAIN_ID = parseInt(process.env.DST_CHAIN_ID);
SRC_CHAIN_RPC = process.env.SRC_CHAIN_RPC;
TOKEN_SYMBOL = process.env.TOKEN_SYMBOL;
AMOUNT = process.env.AMOUNT;
CONFIRMATIONS = parseInt(process.env.CONFIRMATIONS);
(0, chai_1.expect)(CBRIDGE_GATEWAY_URL, 'CBRIDGE_GATEWAY_URL is required').to.not.be.empty;
(0, chai_1.expect)(WALLET_ADDRESS, 'WALLET_ADDRESS is required').to.not.be.empty;
(0, chai_1.expect)(PRIVATE_KEY, 'PRIVATE_KEY is required').to.not.be.empty;
(0, chai_1.expect)(SRC_CHAIN_ID, 'SRC_CHAIN_ID is required').to.not.be.NaN;
(0, chai_1.expect)(DST_CHAIN_ID, 'DST_CHAIN_ID is required').to.not.be.NaN;
(0, chai_1.expect)(SRC_CHAIN_RPC, 'SRC_CHAIN_RPC is required').to.not.be.empty;
(0, chai_1.expect)(TOKEN_SYMBOL, 'TOKEN_SYMBOL is required').to.not.be.empty;
(0, chai_1.expect)(AMOUNT, 'AMOUNT is required').to.not.be.empty;
(0, chai_1.expect)(CONFIRMATIONS, 'CONFIRMATIONS is required').to.not.be.NaN;
});
it("invalid/unsupported SRC_CHAIN_ID should throw error", async () => {
const invalidSrcChainId = 2;
try {
await (0, use_cases_1.burnCanonicalToken)(CBRIDGE_GATEWAY_URL, SRC_CHAIN_RPC, WALLET_ADDRESS, PRIVATE_KEY, invalidSrcChainId, DST_CHAIN_ID, TOKEN_SYMBOL, AMOUNT, CONFIRMATIONS);
}
catch (e) {
// @ts-ignore
(0, chai_1.expect)(e.message).to.equal('SRC_CHAIN_ID not yet supported by cBridge');
}
});
it("invalid/unsupported TOKEN_SYMBOL should throw error", async () => {
const invalidTokenSymbol = 'MAT';
try {
await (0, use_cases_1.burnCanonicalToken)(CBRIDGE_GATEWAY_URL, SRC_CHAIN_RPC, WALLET_ADDRESS, PRIVATE_KEY, SRC_CHAIN_ID, DST_CHAIN_ID, invalidTokenSymbol, AMOUNT, CONFIRMATIONS);
}
catch (e) {
// @ts-ignore
(0, chai_1.expect)(e.message).to.equal('Please choose valid TOKEN_SYMBOL that is supported by given pair of chains');
}
});
it("should perform burnCanonicalToken action", async () => {
const burnId = await (0, use_cases_1.burnCanonicalToken)(CBRIDGE_GATEWAY_URL, SRC_CHAIN_RPC, WALLET_ADDRESS, PRIVATE_KEY, SRC_CHAIN_ID, DST_CHAIN_ID, TOKEN_SYMBOL, AMOUNT, CONFIRMATIONS);
(0, chai_1.expect)(burnId).to.contains('0x', "invalid burn id");
});
});
//# sourceMappingURL=burnCanonicalToken-test.js.map