UNPKG

@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
"use strict"; 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"); }); });