@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
JavaScript
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
;