import { CborTransaction } from "./transaction"; describe("Cbor", () => { describe("decodeTransaction", () => { let decodedTransaction: ReturnType; describe("transaction with multiasset", () => { beforeAll(() => { decodedTransaction = CborTransaction.decode( "82825820610b4ef721ac542cd96af0e4e58dde5aac51641a29f7497a14ba3835281687dd0182583900e922e8166852073d6c1c9be0736530404c9c26d9ba1773e11d32d11c0f7b2c7f8924528d797a8f86d8210d6276e09f47b82ecd53a24900e7821a001e8480a1581c24d41af96ef693136a5c1eb616114f028dfdb92b10f31c648b2fac92a14a4d7574616e7443726f6301" ); }); test("should return transaction hash 610b4ef721ac542cd96af0e4e58dde5aac51641a29f7497a14ba3835281687dd", () => { expect(decodedTransaction.transaction.hash).toBe( "610b4ef721ac542cd96af0e4e58dde5aac51641a29f7497a14ba3835281687dd" ); }); test("should return transaction index 1", () => { expect(decodedTransaction.transaction.index).toBe(1); }); test("should return utxo address addr_test1qr5j96qkdpfqw0tvrjd7qum9xpqye8pxmxapwulpr5edz8q00vk8lzfy22xhj750smvzzrtzwmsf73ac9mx48gjfqrnszk8s3g", () => { expect(decodedTransaction.utxo.address).toBe( "addr_test1qr5j96qkdpfqw0tvrjd7qum9xpqye8pxmxapwulpr5edz8q00vk8lzfy22xhj750smvzzrtzwmsf73ac9mx48gjfqrnszk8s3g" ); }); test("should return utxo coin 20000000", () => { expect(decodedTransaction.utxo.amount.coin).toBe(2000000); }); test("should return multiasset", () => { expect(decodedTransaction.utxo.amount.multiasset).toEqual({ "24d41af96ef693136a5c1eb616114f028dfdb92b10f31c648b2fac92": { "4d7574616e7443726f63": 1, }, }); }); }); describe("transaction with ADA", () => { beforeAll(() => { decodedTransaction = CborTransaction.decode( "828258209e37f422f1421f2cbdfb69c7931cd0b0192c1c6a651df84e51760b09b2be0f890082583901e922e8166852073d6c1c9be0736530404c9c26d9ba1773e11d32d11c0f7b2c7f8924528d797a8f86d8210d6276e09f47b82ecd53a24900e71a0027f9fc" ); }); test("should return transaction hash 9e37f422f1421f2cbdfb69c7931cd0b0192c1c6a651df84e51760b09b2be0f89", () => { expect(decodedTransaction.transaction.hash).toBe( "9e37f422f1421f2cbdfb69c7931cd0b0192c1c6a651df84e51760b09b2be0f89" ); }); test("should return transaction index 0", () => { expect(decodedTransaction.transaction.index).toBe(0); }); test("should return utxo address addr_test1q85j96qkdpfqw0tvrjd7qum9xpqye8pxmxapwulpr5edz8q00vk8lzfy22xhj750smvzzrtzwmsf73ac9mx48gjfqrnsnqwhr4", () => { expect(decodedTransaction.utxo.address).toBe( "addr_test1q85j96qkdpfqw0tvrjd7qum9xpqye8pxmxapwulpr5edz8q00vk8lzfy22xhj750smvzzrtzwmsf73ac9mx48gjfqrnsnqwhr4" ); }); test("should return utxo coin 2619900", () => { expect(decodedTransaction.utxo.amount.coin).toBe(2619900); }); }); describe("transaction with multiple assets", () => { beforeAll(() => { decodedTransaction = CborTransaction.decode( "8282582012e5d18431858908c9d02c8c16f956ddea5c6d43e966dd869f1cc1db1a2500fb0182583900e922e8166852073d6c1c9be0736530404c9c26d9ba1773e11d32d11c0f7b2c7f8924528d797a8f86d8210d6276e09f47b82ecd53a24900e7821a21f5311ca2581cc1d6bcc626533ed8217ffb131473f1103d55e059a1d32e7d85f11502a14a4d7574616e7443726f6301581cd346ccbb8497e232671dcb993c9b051ef695565aaca99755deb960f4a14a4d7574616e7443726f6301" ); }); test("should map multissets correctly", () => { expect(decodedTransaction.utxo.amount.multiasset).toEqual({ c1d6bcc626533ed8217ffb131473f1103d55e059a1d32e7d85f11502: { "4d7574616e7443726f63": 1, }, d346ccbb8497e232671dcb993c9b051ef695565aaca99755deb960f4: { "4d7574616e7443726f63": 1, }, }); }); }); }); });