@ledgerhq/coin-tron
Version:
Ledger Tron Coin integration
121 lines • 5.03 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const config_1 = __importDefault(require("../config"));
const format_1 = require("../network/format");
const craftTransaction_1 = require("./craftTransaction");
const utils_1 = require("./utils");
describe("craftTransaction Integration Tests", () => {
beforeAll(() => {
config_1.default.setCoinConfig(() => ({
status: {
type: "active",
},
explorer: {
url: "https://tron.coin.ledger.com",
},
}));
});
it("should create a valid transaction with minimum required fields", async () => {
const amount = BigInt(3);
const sender = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
const recipient = "TPswDDCAWhJAZGdHPidFg5nEf8TkNToDX1";
// WHEN
const result = await (0, craftTransaction_1.craftTransaction)({
type: "send",
asset: {
standard: "trc10",
tokenId: "1002000",
},
sender,
recipient,
amount,
});
const decodeResult = await (0, utils_1.decodeTransaction)(result);
expect(decodeResult).toEqual(expect.objectContaining({
raw_data: expect.objectContaining({
contract: [
expect.objectContaining({
type: "TransferAssetContract",
parameter: expect.objectContaining({
value: expect.objectContaining({
amount: 3,
asset_name: "1002000",
owner_address: (0, format_1.decode58Check)(sender),
to_address: (0, format_1.decode58Check)(recipient),
}),
type_url: "type.googleapis.com/protocol.TransferAssetContract",
}),
}),
],
}),
}));
});
it("should create a valid transaction for TRC20", async () => {
const amount = BigInt(20);
const sender = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
const recipient = "TPswDDCAWhJAZGdHPidFg5nEf8TkNToDX1";
// WHEN
const result = await (0, craftTransaction_1.craftTransaction)({
type: "send",
asset: {
standard: "trc20",
contractAddress: "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7",
},
sender,
recipient,
amount,
});
const decodeResult = await (0, utils_1.decodeTransaction)(result);
expect(decodeResult).toEqual(expect.objectContaining({
raw_data: expect.objectContaining({
contract: [
expect.objectContaining({
type: "TriggerSmartContract",
parameter: expect.objectContaining({
value: expect.objectContaining({
data: expect.any(String),
owner_address: (0, format_1.decode58Check)(sender),
contract_address: (0, format_1.decode58Check)("TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7"),
}),
type_url: "type.googleapis.com/protocol.TriggerSmartContract",
}),
}),
],
}),
}));
});
it("should create a valid transaction for native TRX", async () => {
const amount = BigInt(20);
const sender = "TRqkRnAj6ceJFYAn2p1eE7aWrgBBwtdhS9";
const recipient = "TPswDDCAWhJAZGdHPidFg5nEf8TkNToDX1";
// WHEN
const result = await (0, craftTransaction_1.craftTransaction)({
type: "send",
sender,
recipient,
amount,
});
const decodeResult = await (0, utils_1.decodeTransaction)(result);
expect(decodeResult).toEqual(expect.objectContaining({
raw_data: expect.objectContaining({
contract: [
expect.objectContaining({
type: "TransferContract",
parameter: expect.objectContaining({
value: expect.objectContaining({
amount: 20,
owner_address: (0, format_1.decode58Check)(sender),
to_address: (0, format_1.decode58Check)(recipient),
}),
type_url: "type.googleapis.com/protocol.TransferContract",
}),
}),
],
}),
}));
});
});
//# sourceMappingURL=craftTransaction.integ.test.js.map