@mutants/cardano-tx-builder
Version:
A package that provides utility functions to build and destructure a cardano transaction
133 lines (132 loc) • 9.89 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const decodeUtxo_1 = require("../decodeUtxo");
describe("decodeUtxo", () => {
it("should decode an utxo with multiple assets", () => {
const utxo = "828258200ff96c00a61623b5a08d081a9a2d52800c8f4997f43edfbc0a3ce0b16825a4900182583901c59dc72ab0bd904dc9a430bd0b6d9d3b3c2d32dfa3dcf5affd309002fa02bb733c2b7f9684260bc4b53fb8655cb4b31bfd879a127cf684b2821a0045cc7ca5581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a02fa6239581c2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411b8234e000de1404d5554414e5430313439014e000de1404d5554414e5430343131014e000de1404d5554414e5430353332014e000de1404d5554414e5430353939014e000de1404d5554414e5430363235014e000de1404d5554414e5430383832014e000de1404d5554414e5431303131014e000de1404d5554414e5431323138014e000de1404d5554414e5431323937014e000de1404d5554414e5431363035014e000de1404d5554414e5431383239014e000de1404d5554414e5431383533014e000de1404d5554414e5432313730014e000de1404d5554414e5432333230014e000de1404d5554414e5432343533014e000de1404d5554414e5432383432014e000de1404d5554414e5433313634014e000de1404d5554414e5433323233014e000de1404d5554414e5433333238014e000de1404d5554414e5433333631014e000de1404d5554414e5434333731014e000de1404d5554414e5434343434014e000de1404d5554414e5434363838014e000de1404d5554414e5434393634014e000de1404d5554414e5435313939014e000de1404d5554414e5435333430014e000de1404d5554414e5435353733014e000de1404d5554414e5435363038014e000de1404d5554414e5436323336014e000de1404d5554414e5436343238014e000de1404d5554414e5436353035014e000de1404d5554414e5437313334014e000de1404d5554414e5437343339014e000de1404d5554414e5437363830014e000de1404d5554414e543738393001581c5b2fa063c299c443dbbad0a186574abbdcbbc323318cccb8f207e224a1581a5370616365746f6b656e73466f756e646572734e46543130343501581cdbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745eea1434655441b00000033ac1e50c0581cffb1abe9fe93ee9f13874403a3d4f8addaa65fbf22d5d7f41c087d8ea1464d5554414e5419bba4";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8zem3e2kz7eqnwf5sct6zmdn5anctfjm73aead0l5cfqqh6q2ahx0pt07tggfstcj6nlwr9tj6txxlas7dpyl8ksjeqn8nrly",
txHash: "0ff96c00a61623b5a08d081a9a2d52800c8f4997f43edfbc0a3ce0b16825a490",
txIndex: 1,
value: {
assets: {
"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6": {
"4d494e": 49963577n,
},
"2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411": {
"000de1404d5554414e5430313439": 1n,
"000de1404d5554414e5430343131": 1n,
"000de1404d5554414e5430353332": 1n,
"000de1404d5554414e5430353939": 1n,
"000de1404d5554414e5430363235": 1n,
"000de1404d5554414e5430383832": 1n,
"000de1404d5554414e5431303131": 1n,
"000de1404d5554414e5431323138": 1n,
"000de1404d5554414e5431323937": 1n,
"000de1404d5554414e5431363035": 1n,
"000de1404d5554414e5431383239": 1n,
"000de1404d5554414e5431383533": 1n,
"000de1404d5554414e5432313730": 1n,
"000de1404d5554414e5432333230": 1n,
"000de1404d5554414e5432343533": 1n,
"000de1404d5554414e5432383432": 1n,
"000de1404d5554414e5433313634": 1n,
"000de1404d5554414e5433323233": 1n,
"000de1404d5554414e5433333238": 1n,
"000de1404d5554414e5433333631": 1n,
"000de1404d5554414e5434333731": 1n,
"000de1404d5554414e5434343434": 1n,
"000de1404d5554414e5434363838": 1n,
"000de1404d5554414e5434393634": 1n,
"000de1404d5554414e5435313939": 1n,
"000de1404d5554414e5435333430": 1n,
"000de1404d5554414e5435353733": 1n,
"000de1404d5554414e5435363038": 1n,
"000de1404d5554414e5436323336": 1n,
"000de1404d5554414e5436343238": 1n,
"000de1404d5554414e5436353035": 1n,
"000de1404d5554414e5437313334": 1n,
"000de1404d5554414e5437343339": 1n,
"000de1404d5554414e5437363830": 1n,
"000de1404d5554414e5437383930": 1n,
},
"5b2fa063c299c443dbbad0a186574abbdcbbc323318cccb8f207e224": {
"5370616365746f6b656e73466f756e646572734e465431303435": 1n,
},
dbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745ee: {
"465544": 221931000000n,
},
ffb1abe9fe93ee9f13874403a3d4f8addaa65fbf22d5d7f41c087d8e: {
"4d5554414e54": 48036n,
},
},
coin: 4574332,
},
});
});
it("should decode an utxo with datum", () => {
const utxo = "828258200FF96C00A61623B5A08D081A9A2D52800C8F4997F43EDFBC0A3CE0B16825A4900183583901C59DC72AB0BD904DC9A430BD0B6D9D3B3C2D32DFA3DCF5AFFD309002FA02BB733C2B7F9684260BC4B53FB8655CB4B31BFD879A127CF684B2821A0045CC7CA1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A02FA6239581C2D37295347D9FBD197ECFD0E4DDEF32EF757083C23985049326A5411";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8zem3e2kz7eqnwf5sct6zmdn5anctfjm73aead0l5cfqqh6q2ahx0pt07tggfstcj6nlwr9tj6txxlas7dpyl8ksjeqn8nrly",
txHash: "0ff96c00a61623b5a08d081a9a2d52800c8f4997f43edfbc0a3ce0b16825a490",
txIndex: 1,
datumHash: "2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411",
value: {
assets: {
"29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6": {
"4d494e": 49963577n,
},
},
coin: 4574332,
},
});
});
it("should decode an utxo without assets (lovelace only)", () => {
const utxo = "82825820d91208ea94940dfed5a44a13498217c26a4706717fe46436b2157ad59883d2fe0382583901c59dc72ab0bd904dc9a430bd0b6d9d3b3c2d32dfa3dcf5affd309002fa02bb733c2b7f9684260bc4b53fb8655cb4b31bfd879a127cf684b21a07a91852";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8zem3e2kz7eqnwf5sct6zmdn5anctfjm73aead0l5cfqqh6q2ahx0pt07tggfstcj6nlwr9tj6txxlas7dpyl8ksjeqn8nrly",
txHash: "d91208ea94940dfed5a44a13498217c26a4706717fe46436b2157ad59883d2fe",
txIndex: 3,
value: { assets: undefined, coin: 128522322 },
});
});
it("should decode an utxo with post alonzo format and inline tagged datums", () => {
const utxo = "82825820aab914f4b36f15b85bc2cd94309bd88b367dc27a1e5b5744773213f527f36eef00a300583901f2ed09b9f2353b655e6f5be68c209f7751308f6eb4cead93197f5f3387a3a41ac8d8c4d31b72de9d74e3c58bb4b295593ba6703876181b5a011a0016e360028201d81858349f47454e434f494e5347506f6c6c202333581c87a3a41ac8d8c4d31b72de9d74e3c58bb4b295593ba6703876181b5a43596573ff";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8ew6zde7g6nke27dad7drpqnam4zvy0d66vatvnr9l47vu85wjp4jxccnf3kuk7n46w83vtkjef2kfm5ecrsascrddqvscrlx",
txHash: "aab914f4b36f15b85bc2cd94309bd88b367dc27a1e5b5744773213f527f36eef",
txIndex: 0,
datumInlined: "9f47454e434f494e5347506f6c6c202333581c87a3a41ac8d8c4d31b72de9d74e3c58bb4b295593ba6703876181b5a43596573ff",
value: {
assets: undefined,
coin: 1500000,
},
});
});
it("should decode an utxo with post alonzo format and inline byte datums", () => {
const utxo = "82825820AAB914F4B36F15B85BC2CD94309BD88B367DC27A1E5B5744773213F527F36EEF00A300583901F2ED09B9F2353B655E6F5BE68C209F7751308F6EB4CEAD93197F5F3387A3A41AC8D8C4D31B72DE9D74E3C58BB4B295593BA6703876181B5A011A0016E36002820158349F47454E434F494E5347506F6C6C202333581C87A3A41AC8D8C4D31B72DE9D74E3C58BB4B295593BA6703876181B5A43596573FF";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8ew6zde7g6nke27dad7drpqnam4zvy0d66vatvnr9l47vu85wjp4jxccnf3kuk7n46w83vtkjef2kfm5ecrsascrddqvscrlx",
txHash: "aab914f4b36f15b85bc2cd94309bd88b367dc27a1e5b5744773213f527f36eef",
txIndex: 0,
datumInlined: "9f47454e434f494e5347506f6c6c202333581c87a3a41ac8d8c4d31b72de9d74e3c58bb4b295593ba6703876181b5a43596573ff",
value: {
assets: undefined,
coin: 1500000,
},
});
});
it("should decode an utxo with post alonzo format and datum hash", () => {
const utxo = "82825820AAB914F4B36F15B85BC2CD94309BD88B367DC27A1E5B5744773213F527F36EEF00A300583901F2ED09B9F2353B655E6F5BE68C209F7751308F6EB4CEAD93197F5F3387A3A41AC8D8C4D31B72DE9D74E3C58BB4B295593BA6703876181B5A011A0016E360028200549F47454E434F494E5347506F6C6C202333581C87";
expect((0, decodeUtxo_1.decodeUtxo)(utxo)).toEqual({
address: "addr1q8ew6zde7g6nke27dad7drpqnam4zvy0d66vatvnr9l47vu85wjp4jxccnf3kuk7n46w83vtkjef2kfm5ecrsascrddqvscrlx",
txHash: "aab914f4b36f15b85bc2cd94309bd88b367dc27a1e5b5744773213f527f36eef",
txIndex: 0,
datumHash: "9f47454e434f494e5347506f6c6c202333581c87",
value: {
assets: undefined,
coin: 1500000,
},
});
});
});