UNPKG

@unilogin/sdk

Version:

SDK is a JS library, that communicates with relayer. SDK allows managing contract, by creating basic contract-calling messages.

84 lines 4.12 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var chai_1 = require("chai"); var ethers_1 = require("ethers"); var commons_1 = require("@unilogin/commons"); var encodeTransferToMessage_1 = require("../../../src/core/utils/encodeTransferToMessage"); var contracts_1 = require("@unilogin/contracts"); describe('UNIT: encodeTransferToMessage', function () { var from = commons_1.TEST_CONTRACT_ADDRESS; var to = commons_1.TEST_ACCOUNT_ADDRESS; var gasPrice = ethers_1.utils.bigNumberify(commons_1.TEST_GAS_PRICE); var gasLimit = ethers_1.utils.bigNumberify(commons_1.TEST_GAS_LIMIT); var amount = '1'; var basicMessage = { from: from, to: to, value: ethers_1.utils.parseEther(amount), gasLimit: gasLimit, }; it('ether transfer and ether refund', function () { var gasParameters = { gasToken: commons_1.ETHER_NATIVE_TOKEN.address, gasPrice: gasPrice }; var transfer = { from: from, to: to, amount: amount, transferToken: commons_1.ETHER_NATIVE_TOKEN.address, gasLimit: gasLimit, gasParameters: gasParameters, }; var expectedMessage = __assign(__assign({}, basicMessage), { data: '0x', gasPrice: gasPrice, gasToken: gasParameters.gasToken }); chai_1.expect(encodeTransferToMessage_1.encodeTransferToMessage(transfer)).to.deep.eq(expectedMessage); }); it('ether transfer and token refund', function () { var gasParameters = { gasToken: commons_1.TEST_TOKEN_ADDRESS, gasPrice: gasPrice }; var transfer = { from: from, to: to, amount: amount, gasLimit: gasLimit, transferToken: commons_1.ETHER_NATIVE_TOKEN.address, gasParameters: gasParameters, }; var expectedMessage = __assign(__assign({}, basicMessage), { data: '0x', gasPrice: gasPrice, gasToken: gasParameters.gasToken }); chai_1.expect(encodeTransferToMessage_1.encodeTransferToMessage(transfer)).to.deep.eq(expectedMessage); }); it('token transfer and ether refund', function () { var gasParameters = { gasToken: commons_1.ETHER_NATIVE_TOKEN.address, gasPrice: gasPrice }; var transfer = { from: from, to: to, amount: amount, gasLimit: gasLimit, transferToken: commons_1.TEST_TOKEN_ADDRESS, gasParameters: gasParameters, }; var expectedMessage = __assign(__assign({}, basicMessage), { data: contracts_1.IERC20Interface.functions.transfer.encode([to, ethers_1.utils.parseEther(amount)]), value: 0, to: commons_1.TEST_TOKEN_ADDRESS, gasPrice: gasPrice, gasToken: gasParameters.gasToken }); chai_1.expect(encodeTransferToMessage_1.encodeTransferToMessage(transfer)).to.deep.eq(expectedMessage); }); it('token transfer and token refund', function () { var gasParameters = { gasToken: commons_1.TEST_TOKEN_ADDRESS, gasPrice: gasPrice }; var transfer = { from: from, to: to, amount: amount, gasLimit: gasLimit, transferToken: commons_1.TEST_TOKEN_ADDRESS, gasParameters: gasParameters, }; var expectedMessage = __assign(__assign({}, basicMessage), { value: 0, to: commons_1.TEST_TOKEN_ADDRESS, data: contracts_1.IERC20Interface.functions.transfer.encode([to, ethers_1.utils.parseEther(amount)]), gasPrice: gasPrice, gasToken: gasParameters.gasToken }); chai_1.expect(encodeTransferToMessage_1.encodeTransferToMessage(transfer)).to.deep.eq(expectedMessage); }); }); //# sourceMappingURL=encodeTransferToMessage.test.js.map