Skip to content

Commit 830a176

Browse files
committed
new regression tests
There were two issues: - One was caused by CSL being outdated - The other was caused by CSL serializing TransactionWitnessSet.{plutus_scrits_v1, v2, v3} together, breaking the original ordering present in the spec. This is fixed in the next commit
1 parent 3d6ec1f commit 830a176

File tree

1 file changed

+279
-0
lines changed

1 file changed

+279
-0
lines changed

tests/csl-compat/regressions.test.ts

Lines changed: 279 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,282 @@ describe("PlutusData Hash regression", () => {
7878
);
7979
});
8080
});
81+
82+
/*
83+
witnessSetFixture3Value :: TransactionWitnessSet
84+
witnessSetFixture3Value =
85+
TransactionWitnessSet
86+
{ bootstraps: []
87+
, nativeScripts: []
88+
, plutusData:
89+
[ Bytes
90+
( byteArrayFromIntArrayUnsafe
91+
[ 43 , 184 , 13 , 83 , 123 , 29 , 163 , 227 , 139 , 211 , 3 , 97 , 170 , 133 , 86 , 134 , 189 , 224 , 234 , 205 , 113 , 98 , 254 , 246 , 162 , 95 , 233 , 123 , 245 , 39 , 162 , 91 ]
92+
)
93+
]
94+
, plutusScripts: [ plutusScriptFixture1, plutusScriptFixture2, plutusScriptFixture3 ]
95+
, redeemers: []
96+
, vkeys:
97+
[ Vkeywitness
98+
{ vkey: Vkey
99+
( unsafePartial $ fromJust $ PublicKey.fromBech32
100+
"ed25519_pk1p9sf9wz3t46u9ghht44203gerxt82kzqaqw74fqrmwjmdy8sjxmqknzq8j"
101+
)
102+
, signature:
103+
( unsafePartial $ fromJust <<< Ed25519Signature.fromBech32 $
104+
"ed25519_sig1clmhgxx9e9t24wzgkmcsr44uq98j935evsjnrj8nn7ge08\
105+
\qrz0mgdxv5qtz8dyghs47q3lxwk4akq3u2ty8v4egeqvtl02ll0nfcqqq\
106+
\6faxl6"
107+
)
108+
}
109+
]
110+
}
111+
*/
112+
113+
describe("Transaction Witness Set regression", () => {
114+
let plutusScriptFixture1Hex = "4d01000033222220051200120011";
115+
let plutusScriptFixture2Hex = "4d010000deadbeef33222220051200120011";
116+
let plutusScriptFixture3Hex =
117+
"59088501000032332232323233223232323232323232323322323232323232322223232533532325335001101b13357389211d556e657870656374656420646174756d206174206f776e20696e7075740001a323253335002153335001101c2101c2101c2153335002101c21333573466ebc00800407807484074854ccd400840708407484ccd5cd19b8f00200101e01d323500122220023235001220013553353500222350022222222222223333500d2501e2501e2501e233355302d12001321233001225335002210031001002501e2350012253355335333573466e3cd400888008d4010880080b40b04ccd5cd19b873500222001350042200102d02c102c1350220031502100d21123001002162001300a0053333573466e1cd55cea80124000466442466002006004646464646464646464646464646666ae68cdc39aab9d500c480008cccccccccccc88888888888848cccccccccccc00403403002c02802402001c01801401000c008cd4054058d5d0a80619a80a80b1aba1500b33501501735742a014666aa034eb94064d5d0a804999aa80d3ae501935742a01066a02a0426ae85401cccd54068089d69aba150063232323333573466e1cd55cea801240004664424660020060046464646666ae68cdc39aab9d5002480008cc8848cc00400c008cd40b1d69aba15002302d357426ae8940088c98c80bccd5ce01901881689aab9e5001137540026ae854008c8c8c8cccd5cd19b8735573aa004900011991091980080180119a8163ad35742a004605a6ae84d5d1280111931901799ab9c03203102d135573ca00226ea8004d5d09aba2500223263202b33573805c05a05226aae7940044dd50009aba1500533501575c6ae854010ccd540680788004d5d0a801999aa80d3ae200135742a00460406ae84d5d1280111931901399ab9c02a029025135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa00135742a00460206ae84d5d1280111931900c99ab9c01c01b017101a132632018335738921035054350001a135573ca00226ea800448c88c008dd6000990009aa80d111999aab9f0012501c233501b30043574200460066ae8800805c8c8c8cccd5cd19b8735573aa004900011991091980080180118069aba150023005357426ae8940088c98c8054cd5ce00c00b80989aab9e5001137540024646464646666ae68cdc39aab9d5004480008cccc888848cccc00401401000c008c8c8c8cccd5cd19b8735573aa0049000119910919800801801180b1aba1500233500e015357426ae8940088c98c8068cd5ce00e80e00c09aab9e5001137540026ae854010ccd54025d728041aba150033232323333573466e1d400520042300b357426aae79400c8cccd5cd19b875002480088c84888c004010dd71aba135573ca00846666ae68cdc3a801a400042444006464c6403866ae7007c0780680640604d55cea80089baa00135742a00466a014eb8d5d09aba2500223263201633573803203002826ae8940044d5d1280089aab9e500113754002424446004008266aa002eb9d6889119118011bab00132001355016223233335573e0044a032466a03066442466002006004600c6aae754008c014d55cf280118021aba200301413574200224464646666ae68cdc3a800a400046a00e600a6ae84d55cf280191999ab9a3370ea00490011280391931900919ab9c01501401000f135573aa00226ea800448488c00800c44880048c8c8cccd5cd19b875001480188c848888c010014c01cd5d09aab9e500323333573466e1d400920042321222230020053009357426aae7940108cccd5cd19b875003480088c848888c004014c01cd5d09aab9e500523333573466e1d40112000232122223003005375c6ae84d55cf280311931900819ab9c01301200e00d00c00b135573aa00226ea80048c8c8cccd5cd19b8735573aa004900011991091980080180118029aba15002375a6ae84d5d1280111931900619ab9c00f00e00a135573ca00226ea80048c8cccd5cd19b8735573aa002900011bae357426aae7940088c98c8028cd5ce00680600409baa001232323232323333573466e1d4005200c21222222200323333573466e1d4009200a21222222200423333573466e1d400d2008233221222222233001009008375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c4664424444444660040120106eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc8848888888cc018024020c030d5d0a8049bae357426ae8940248cccd5cd19b875006480088c848888888c01c020c034d5d09aab9e500b23333573466e1d401d2000232122222223005008300e357426aae7940308c98c804ccd5ce00b00a80880800780700680600589aab9d5004135573ca00626aae7940084d55cf280089baa0012323232323333573466e1d400520022333222122333001005004003375a6ae854010dd69aba15003375a6ae84d5d1280191999ab9a3370ea0049000119091180100198041aba135573ca00c464c6401866ae7003c0380280244d55cea80189aba25001135573ca00226ea80048c8c8cccd5cd19b875001480088c8488c00400cdd71aba135573ca00646666ae68cdc3a8012400046424460040066eb8d5d09aab9e500423263200933573801801600e00c26aae7540044dd500089119191999ab9a3370ea00290021091100091999ab9a3370ea00490011190911180180218031aba135573ca00846666ae68cdc3a801a400042444004464c6401466ae7003403002001c0184d55cea80089baa0012323333573466e1d40052002200623333573466e1d40092000200623263200633573801201000800626aae74dd5000a4c24400424400224002920103505431003200135500322112225335001135003220012213335005220023004002333553007120010050040011122002122122330010040031123230010012233003300200200101";
118+
let plutusDataBytes = new Uint8Array([
119+
43, 184, 13, 83, 123, 29, 163, 227, 139, 211, 3, 97, 170, 133, 86, 134, 189,
120+
224, 234, 205, 113, 98, 254, 246, 162, 95, 233, 123, 245, 39, 162, 91,
121+
]);
122+
let vkeyPubkeyBech32 =
123+
"ed25519_pk1p9sf9wz3t46u9ghht44203gerxt82kzqaqw74fqrmwjmdy8sjxmqknzq8j";
124+
let vkeySignatureBech32 =
125+
"ed25519_sig1clmhgxx9e9t24wzgkmcsr44uq98j935evsjnrj8nn7ge08qrz0mgdxv5qtz8dyghs47q3lxwk4akq3u2ty8v4egeqvtl02ll0nfcqqq6faxl6";
126+
127+
let plutusDataBytesFixture = (lib: typeof CSL) => {
128+
let x = lib.PlutusList.new();
129+
x.add(lib.PlutusData.new_bytes(plutusDataBytes));
130+
return x;
131+
};
132+
133+
let vkeysFixture = (lib: typeof CSL) => {
134+
let vkeys = lib.Vkeywitnesses.new();
135+
vkeys.add(
136+
lib.Vkeywitness.new(
137+
lib.Vkey.new(lib.PublicKey.from_bech32(vkeyPubkeyBech32)),
138+
lib.Ed25519Signature.from_bech32(vkeySignatureBech32),
139+
),
140+
);
141+
return vkeys;
142+
};
143+
144+
let txWitnessSetFixture = (lib: typeof CSL) => {
145+
let txwset = lib.TransactionWitnessSet.new();
146+
txwset.set_plutus_data(plutusDataBytesFixture(lib));
147+
txwset.set_vkeys(vkeysFixture(lib));
148+
return txwset;
149+
};
150+
151+
let csl = txWitnessSetFixture(CSL);
152+
let cslPlutusScripts = CSL.PlutusScripts.new();
153+
cslPlutusScripts.add(
154+
CSL.PlutusScript.from_hex_with_version(
155+
plutusScriptFixture1Hex,
156+
CSL.Language.new_plutus_v1(),
157+
),
158+
);
159+
cslPlutusScripts.add(
160+
CSL.PlutusScript.from_hex_with_version(
161+
plutusScriptFixture2Hex,
162+
CSL.Language.new_plutus_v2(),
163+
),
164+
);
165+
cslPlutusScripts.add(
166+
CSL.PlutusScript.from_hex_with_version(
167+
plutusScriptFixture3Hex,
168+
CSL.Language.new_plutus_v3(),
169+
),
170+
);
171+
csl.set_plutus_scripts(cslPlutusScripts);
172+
173+
let cdl = txWitnessSetFixture(CDL as any) as any as CDL.TransactionWitnessSet;
174+
let cdlPlutusScripts1 = CDL.PlutusScripts.new();
175+
cdlPlutusScripts1.add(CDL.PlutusScript.from_hex(plutusScriptFixture1Hex));
176+
cdl.set_plutus_scripts_v1(cdlPlutusScripts1);
177+
let cdlPlutusScripts2 = CDL.PlutusScripts.new();
178+
cdlPlutusScripts2.add(CDL.PlutusScript.from_hex(plutusScriptFixture2Hex));
179+
cdl.set_plutus_scripts_v2(cdlPlutusScripts2);
180+
let cdlPlutusScripts3 = CDL.PlutusScripts.new();
181+
cdlPlutusScripts3.add(CDL.PlutusScript.from_hex(plutusScriptFixture3Hex));
182+
cdl.set_plutus_scripts_v3(cdlPlutusScripts3);
183+
184+
test("serialize", () => {
185+
expect(cdl.to_hex()).toStrictEqual(csl.to_hex());
186+
});
187+
188+
test("deserialize", () => {
189+
let cdl2 = CDL.TransactionWitnessSet.from_hex(csl.to_hex());
190+
expect(cdl2.to_hex()).toStrictEqual(csl.to_hex());
191+
});
192+
});
193+
194+
describe("Transaction Witness Set regression 2", () => {
195+
let plutusScriptFixture1Hex = "4d01000033222220051200120011";
196+
let plutusScriptFixture2Hex = "4d010000deadbeef33222220051200120011";
197+
let plutusScriptFixture3Hex =
198+
"59088501000032332232323233223232323232323232323322323232323232322223232533532325335001101b13357389211d556e657870656374656420646174756d206174206f776e20696e7075740001a323253335002153335001101c2101c2101c2153335002101c21333573466ebc00800407807484074854ccd400840708407484ccd5cd19b8f00200101e01d323500122220023235001220013553353500222350022222222222223333500d2501e2501e2501e233355302d12001321233001225335002210031001002501e2350012253355335333573466e3cd400888008d4010880080b40b04ccd5cd19b873500222001350042200102d02c102c1350220031502100d21123001002162001300a0053333573466e1cd55cea80124000466442466002006004646464646464646464646464646666ae68cdc39aab9d500c480008cccccccccccc88888888888848cccccccccccc00403403002c02802402001c01801401000c008cd4054058d5d0a80619a80a80b1aba1500b33501501735742a014666aa034eb94064d5d0a804999aa80d3ae501935742a01066a02a0426ae85401cccd54068089d69aba150063232323333573466e1cd55cea801240004664424660020060046464646666ae68cdc39aab9d5002480008cc8848cc00400c008cd40b1d69aba15002302d357426ae8940088c98c80bccd5ce01901881689aab9e5001137540026ae854008c8c8c8cccd5cd19b8735573aa004900011991091980080180119a8163ad35742a004605a6ae84d5d1280111931901799ab9c03203102d135573ca00226ea8004d5d09aba2500223263202b33573805c05a05226aae7940044dd50009aba1500533501575c6ae854010ccd540680788004d5d0a801999aa80d3ae200135742a00460406ae84d5d1280111931901399ab9c02a029025135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa00135742a00460206ae84d5d1280111931900c99ab9c01c01b017101a132632018335738921035054350001a135573ca00226ea800448c88c008dd6000990009aa80d111999aab9f0012501c233501b30043574200460066ae8800805c8c8c8cccd5cd19b8735573aa004900011991091980080180118069aba150023005357426ae8940088c98c8054cd5ce00c00b80989aab9e5001137540024646464646666ae68cdc39aab9d5004480008cccc888848cccc00401401000c008c8c8c8cccd5cd19b8735573aa0049000119910919800801801180b1aba1500233500e015357426ae8940088c98c8068cd5ce00e80e00c09aab9e5001137540026ae854010ccd54025d728041aba150033232323333573466e1d400520042300b357426aae79400c8cccd5cd19b875002480088c84888c004010dd71aba135573ca00846666ae68cdc3a801a400042444006464c6403866ae7007c0780680640604d55cea80089baa00135742a00466a014eb8d5d09aba2500223263201633573803203002826ae8940044d5d1280089aab9e500113754002424446004008266aa002eb9d6889119118011bab00132001355016223233335573e0044a032466a03066442466002006004600c6aae754008c014d55cf280118021aba200301413574200224464646666ae68cdc3a800a400046a00e600a6ae84d55cf280191999ab9a3370ea00490011280391931900919ab9c01501401000f135573aa00226ea800448488c00800c44880048c8c8cccd5cd19b875001480188c848888c010014c01cd5d09aab9e500323333573466e1d400920042321222230020053009357426aae7940108cccd5cd19b875003480088c848888c004014c01cd5d09aab9e500523333573466e1d40112000232122223003005375c6ae84d55cf280311931900819ab9c01301200e00d00c00b135573aa00226ea80048c8c8cccd5cd19b8735573aa004900011991091980080180118029aba15002375a6ae84d5d1280111931900619ab9c00f00e00a135573ca00226ea80048c8cccd5cd19b8735573aa002900011bae357426aae7940088c98c8028cd5ce00680600409baa001232323232323333573466e1d4005200c21222222200323333573466e1d4009200a21222222200423333573466e1d400d2008233221222222233001009008375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c4664424444444660040120106eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc8848888888cc018024020c030d5d0a8049bae357426ae8940248cccd5cd19b875006480088c848888888c01c020c034d5d09aab9e500b23333573466e1d401d2000232122222223005008300e357426aae7940308c98c804ccd5ce00b00a80880800780700680600589aab9d5004135573ca00626aae7940084d55cf280089baa0012323232323333573466e1d400520022333222122333001005004003375a6ae854010dd69aba15003375a6ae84d5d1280191999ab9a3370ea0049000119091180100198041aba135573ca00c464c6401866ae7003c0380280244d55cea80189aba25001135573ca00226ea80048c8c8cccd5cd19b875001480088c8488c00400cdd71aba135573ca00646666ae68cdc3a8012400046424460040066eb8d5d09aab9e500423263200933573801801600e00c26aae7540044dd500089119191999ab9a3370ea00290021091100091999ab9a3370ea00490011190911180180218031aba135573ca00846666ae68cdc3a801a400042444004464c6401466ae7003403002001c0184d55cea80089baa0012323333573466e1d40052002200623333573466e1d40092000200623263200633573801201000800626aae74dd5000a4c24400424400224002920103505431003200135500322112225335001135003220012213335005220023004002333553007120010050040011122002122122330010040031123230010012233003300200200101";
199+
200+
let txWitnessSetFixture = (lib: typeof CSL) => {
201+
let txwset = lib.TransactionWitnessSet.new();
202+
return txwset;
203+
};
204+
205+
let csl = txWitnessSetFixture(CSL);
206+
let cslPlutusScripts = CSL.PlutusScripts.new();
207+
cslPlutusScripts.add(
208+
CSL.PlutusScript.from_hex_with_version(
209+
plutusScriptFixture1Hex,
210+
CSL.Language.new_plutus_v1(),
211+
),
212+
);
213+
cslPlutusScripts.add(
214+
CSL.PlutusScript.from_hex_with_version(
215+
plutusScriptFixture2Hex,
216+
CSL.Language.new_plutus_v2(),
217+
),
218+
);
219+
cslPlutusScripts.add(
220+
CSL.PlutusScript.from_hex_with_version(
221+
plutusScriptFixture3Hex,
222+
CSL.Language.new_plutus_v3(),
223+
),
224+
);
225+
csl.set_plutus_scripts(cslPlutusScripts);
226+
227+
let cdl = txWitnessSetFixture(CDL as any) as any as CDL.TransactionWitnessSet;
228+
let cdlPlutusScripts1 = CDL.PlutusScripts.new();
229+
cdlPlutusScripts1.add(CDL.PlutusScript.from_hex(plutusScriptFixture1Hex));
230+
cdl.set_plutus_scripts_v1(cdlPlutusScripts1);
231+
let cdlPlutusScripts2 = CDL.PlutusScripts.new();
232+
cdlPlutusScripts2.add(CDL.PlutusScript.from_hex(plutusScriptFixture2Hex));
233+
cdl.set_plutus_scripts_v2(cdlPlutusScripts2);
234+
let cdlPlutusScripts3 = CDL.PlutusScripts.new();
235+
cdlPlutusScripts3.add(CDL.PlutusScript.from_hex(plutusScriptFixture3Hex));
236+
cdl.set_plutus_scripts_v3(cdlPlutusScripts3);
237+
238+
test("serialize", () => {
239+
expect(cdl.to_hex()).toStrictEqual(csl.to_hex());
240+
});
241+
242+
test("deserialize", () => {
243+
let cdl2 = CDL.TransactionWitnessSet.from_hex(csl.to_hex());
244+
expect(cdl2.to_hex()).toStrictEqual(csl.to_hex());
245+
});
246+
});
247+
248+
describe("Transaction Witness Set regression 3", () => {
249+
let plutusScriptFixture1Hex = "4d01000033222220051200120011";
250+
let plutusScriptFixture2Hex = "4d010000deadbeef33222220051200120011";
251+
252+
let txWitnessSetFixture = (lib: typeof CSL) => {
253+
let txwset = lib.TransactionWitnessSet.new();
254+
return txwset;
255+
};
256+
257+
let csl = txWitnessSetFixture(CSL);
258+
let cslPlutusScripts = CSL.PlutusScripts.new();
259+
cslPlutusScripts.add(
260+
CSL.PlutusScript.from_hex_with_version(
261+
plutusScriptFixture1Hex,
262+
CSL.Language.new_plutus_v1(),
263+
),
264+
);
265+
cslPlutusScripts.add(
266+
CSL.PlutusScript.from_hex_with_version(
267+
plutusScriptFixture2Hex,
268+
CSL.Language.new_plutus_v2(),
269+
),
270+
);
271+
csl.set_plutus_scripts(cslPlutusScripts);
272+
273+
let cdl = txWitnessSetFixture(CDL as any) as any as CDL.TransactionWitnessSet;
274+
let cdlPlutusScripts1 = CDL.PlutusScripts.new();
275+
cdlPlutusScripts1.add(CDL.PlutusScript.from_hex(plutusScriptFixture1Hex));
276+
cdl.set_plutus_scripts_v1(cdlPlutusScripts1);
277+
let cdlPlutusScripts2 = CDL.PlutusScripts.new();
278+
cdlPlutusScripts2.add(CDL.PlutusScript.from_hex(plutusScriptFixture2Hex));
279+
cdl.set_plutus_scripts_v2(cdlPlutusScripts2);
280+
281+
test("serialize", () => {
282+
expect(cdl.to_hex()).toStrictEqual(csl.to_hex());
283+
});
284+
285+
test("deserialize", () => {
286+
let cdl2 = CDL.TransactionWitnessSet.from_hex(csl.to_hex());
287+
expect(cdl2.to_hex()).toStrictEqual(csl.to_hex());
288+
});
289+
});
290+
291+
describe("Transaction Witness Set regression 4", () => {
292+
let plutusScriptFixture1Hex = "4d01000033222220051200120011";
293+
let plutusScriptFixture2Hex = "4d010000deadbeef33222220051200120011";
294+
let plutusDataBytes = new Uint8Array([
295+
43, 184, 13, 83, 123, 29, 163, 227, 139, 211, 3, 97, 170, 133, 86, 134, 189,
296+
224, 234, 205, 113, 98, 254, 246, 162, 95, 233, 123, 245, 39, 162, 91,
297+
]);
298+
let vkeyPubkeyBech32 =
299+
"ed25519_pk1p9sf9wz3t46u9ghht44203gerxt82kzqaqw74fqrmwjmdy8sjxmqknzq8j";
300+
let vkeySignatureBech32 =
301+
"ed25519_sig1clmhgxx9e9t24wzgkmcsr44uq98j935evsjnrj8nn7ge08qrz0mgdxv5qtz8dyghs47q3lxwk4akq3u2ty8v4egeqvtl02ll0nfcqqq6faxl6";
302+
303+
let plutusDataBytesFixture = (lib: typeof CSL) => {
304+
let x = lib.PlutusList.new();
305+
x.add(lib.PlutusData.new_bytes(plutusDataBytes));
306+
return x;
307+
};
308+
309+
let vkeysFixture = (lib: typeof CSL) => {
310+
let vkeys = lib.Vkeywitnesses.new();
311+
vkeys.add(
312+
lib.Vkeywitness.new(
313+
lib.Vkey.new(lib.PublicKey.from_bech32(vkeyPubkeyBech32)),
314+
lib.Ed25519Signature.from_bech32(vkeySignatureBech32),
315+
),
316+
);
317+
return vkeys;
318+
};
319+
320+
let txWitnessSetFixture = (lib: typeof CSL) => {
321+
let txwset = lib.TransactionWitnessSet.new();
322+
txwset.set_plutus_data(plutusDataBytesFixture(lib));
323+
txwset.set_vkeys(vkeysFixture(lib));
324+
return txwset;
325+
};
326+
327+
let csl = txWitnessSetFixture(CSL);
328+
let cslPlutusScripts = CSL.PlutusScripts.new();
329+
cslPlutusScripts.add(
330+
CSL.PlutusScript.from_hex_with_version(
331+
plutusScriptFixture1Hex,
332+
CSL.Language.new_plutus_v1(),
333+
),
334+
);
335+
cslPlutusScripts.add(
336+
CSL.PlutusScript.from_hex_with_version(
337+
plutusScriptFixture2Hex,
338+
CSL.Language.new_plutus_v2(),
339+
),
340+
);
341+
csl.set_plutus_scripts(cslPlutusScripts);
342+
343+
let cdl = txWitnessSetFixture(CDL as any) as any as CDL.TransactionWitnessSet;
344+
let cdlPlutusScripts1 = CDL.PlutusScripts.new();
345+
cdlPlutusScripts1.add(CDL.PlutusScript.from_hex(plutusScriptFixture1Hex));
346+
cdl.set_plutus_scripts_v1(cdlPlutusScripts1);
347+
let cdlPlutusScripts2 = CDL.PlutusScripts.new();
348+
cdlPlutusScripts2.add(CDL.PlutusScript.from_hex(plutusScriptFixture2Hex));
349+
cdl.set_plutus_scripts_v2(cdlPlutusScripts2);
350+
351+
test("serialize", () => {
352+
expect(cdl.to_hex()).toStrictEqual(csl.to_hex());
353+
});
354+
355+
test("deserialize", () => {
356+
let cdl2 = CDL.TransactionWitnessSet.from_hex(csl.to_hex());
357+
expect(cdl2.to_hex()).toStrictEqual(csl.to_hex());
358+
});
359+
});

0 commit comments

Comments
 (0)