@mutants/cardano-tx-builder
Version:
A package that provides utility functions to build and destructure a cardano transaction
64 lines (63 loc) • 5.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Plutusv1CostModel_json_1 = __importDefault(require("../Plutusv1CostModel.json"));
const Plutusv2CostModel_json_1 = __importDefault(require("../Plutusv2CostModel.json"));
const hexToHash_1 = require("../hexToHash");
const tagPlutusData_1 = require("../tagPlutusData");
const toScriptDataHash_1 = require("../toScriptDataHash");
describe("toScriptDataHash", () => {
it("should return the correct hash 1", () => {
const redeemers = [
[0, 1, (0, tagPlutusData_1.tagPlutusData)({ constructor: 0, fields: [] }), [42879, 15615619]],
];
const encodedPlutusDatas = "81d87983a54a61747472696275746573a84a4261636b67726f756e6445426569676545436c6f7468524d54545320507572706c6520486f6f64696543456172444e6f6e65444579657346436c6f73656444486561644d4f72616e6765204265616e6965454d6f75746845536d69726b444e6f736546436f6d6d6f6e44536b696e46507572706c654566696c657383a3496d656469615479706549696d6167652f706e67446e616d654c4d7574616e74202337383930437372635835697066733a2f2f516d6644324c79426b674a61636556427564653354473433626a3941456b7a3547797254573868324d73754e7257a3496d656469615479706549696d6167652f706e67446e616d654f4d7574616e7443726f633033353033437372635835697066733a2f2f516d52734878696d73656264424a46354d6739744770655a46515850364a6d7747596557394d6746433666327335a3496d656469615479706549696d6167652f706e67446e616d65504d7574616e744d6f7573653034353433437372635835697066733a2f2f516d6544797747634a694835597562546237363850544d617a727a595a70464559336f643465657675535277535045696d6167655835697066733a2f2f516d6644324c79426b674a61636556427564653354473433626a3941456b7a3547797254573868324d73754e7257496d656469615479706549696d6167652f706e67446e616d654c4d7574616e7420233738393001d87981a0";
expect((0, toScriptDataHash_1.toScriptDataHash)(redeemers, encodedPlutusDatas, Plutusv2CostModel_json_1.default.costModel)).toBe("ae62f131d4fa51c9b12f593af1b0545fbd40a60d95fa5b4c232966cbfd1d8fd9");
});
it("should return the correct hash 2", () => {
const redeemers = [
[0, 0, (0, tagPlutusData_1.tagPlutusData)({ constructor: 0, fields: [] }), [6300, 992100]],
];
expect((0, toScriptDataHash_1.toScriptDataHash)(redeemers, "", Plutusv2CostModel_json_1.default.costModel)).toBe("b53544fb55d7790eb05281d61b591df8b9f2a4f0c92d7da7a77b6e56b2164c1a");
});
it("should return the correct hash 3", () => {
const redeemers = [
[0, 2, (0, tagPlutusData_1.tagPlutusData)({ constructor: 0, fields: [] }), [0, 0]],
];
const data = [{ constructor: 0, fields: [] }];
expect((0, toScriptDataHash_1.toScriptDataHash)(redeemers, data, Plutusv2CostModel_json_1.default.costModel)).toBe("1bef8e6920f681691f5e0b1ea3b50fc1c2b8822064b67e590134cbdab671237b");
});
it("should return the correct hash 4", () => {
expect((0, hexToHash_1.hexToHash)("81840000d879808219a77f1a00ee4683" +
// "81d8799fa0ff" +
"a10198af1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a0223accc0a1a0374f693194a1f0a1a02515e841980b30a")).toBe("f1fbf3ed359e3a50d81fd89c413e9599a11439e7c2f9f38d83d71a9d74ce7ed7");
});
it("should return the correct hash 5", () => {
const redeemers = [
[
0,
1,
(0, tagPlutusData_1.tagPlutusData)({
constructor: 0,
fields: [],
}),
[42500, 6784100],
],
];
const data = [
{
constructor: 0,
fields: [
{
bytes: Buffer.from("D7C4967B97302DF103B002A8C13BD4A5E96BD6AD08CB52D8DC15C121", "hex"),
},
],
},
];
expect((0, toScriptDataHash_1.toScriptDataHash)(redeemers, // "81840001D879808219A6041A00678464",
data, // "81D87981581CD7C4967B97302DF103B002A8C13BD4A5E96BD6AD08CB52D8DC15C121",
Plutusv1CostModel_json_1.default.costModel)).toBe("5321bb1c310a9c3258907bf3115770f8d177a2512df62b152e09ae6a5e5ad002");
});
});