@meshsdk/core-csl 1.5.30 → 1.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/index.d.mts +119 -0
  2. package/dist/index.d.ts +119 -0
  3. package/dist/index.js +937 -0
  4. package/dist/index.mjs +844 -0
  5. package/package.json +7 -6
  6. package/dist/cjs/core/adaptor/data.d.ts +0 -3
  7. package/dist/cjs/core/adaptor/data.js +0 -21
  8. package/dist/cjs/core/adaptor/index.d.ts +0 -15
  9. package/dist/cjs/core/adaptor/index.js +0 -25
  10. package/dist/cjs/core/adaptor/mint.d.ts +0 -5
  11. package/dist/cjs/core/adaptor/mint.js +0 -42
  12. package/dist/cjs/core/adaptor/output.d.ts +0 -2
  13. package/dist/cjs/core/adaptor/output.js +0 -33
  14. package/dist/cjs/core/adaptor/script.d.ts +0 -3
  15. package/dist/cjs/core/adaptor/script.js +0 -46
  16. package/dist/cjs/core/adaptor/txIn.d.ts +0 -5
  17. package/dist/cjs/core/adaptor/txIn.js +0 -76
  18. package/dist/cjs/core/adaptor/utxo.d.ts +0 -2
  19. package/dist/cjs/core/adaptor/utxo.js +0 -20
  20. package/dist/cjs/core/adaptor/withdrawal.d.ts +0 -2
  21. package/dist/cjs/core/adaptor/withdrawal.js +0 -30
  22. package/dist/cjs/core/index.d.ts +0 -1
  23. package/dist/cjs/core/index.js +0 -17
  24. package/dist/cjs/core/serializer.d.ts +0 -12
  25. package/dist/cjs/core/serializer.js +0 -111
  26. package/dist/cjs/deser/constants.d.ts +0 -13
  27. package/dist/cjs/deser/constants.js +0 -16
  28. package/dist/cjs/deser/converter.d.ts +0 -17
  29. package/dist/cjs/deser/converter.js +0 -203
  30. package/dist/cjs/deser/csl.d.ts +0 -1
  31. package/dist/cjs/deser/csl.js +0 -27
  32. package/dist/cjs/deser/deserializer.d.ts +0 -19
  33. package/dist/cjs/deser/deserializer.js +0 -40
  34. package/dist/cjs/deser/index.d.ts +0 -5
  35. package/dist/cjs/deser/index.js +0 -21
  36. package/dist/cjs/deser/resolver.d.ts +0 -12
  37. package/dist/cjs/deser/resolver.js +0 -90
  38. package/dist/cjs/index.d.ts +0 -3
  39. package/dist/cjs/index.js +0 -19
  40. package/dist/cjs/utils/address.d.ts +0 -9
  41. package/dist/cjs/utils/address.js +0 -61
  42. package/dist/cjs/utils/aiken.d.ts +0 -17
  43. package/dist/cjs/utils/aiken.js +0 -52
  44. package/dist/cjs/utils/credentials.d.ts +0 -1
  45. package/dist/cjs/utils/credentials.js +0 -10
  46. package/dist/cjs/utils/datum.d.ts +0 -4
  47. package/dist/cjs/utils/datum.js +0 -18
  48. package/dist/cjs/utils/index.d.ts +0 -7
  49. package/dist/cjs/utils/index.js +0 -23
  50. package/dist/cjs/utils/scripts.d.ts +0 -1
  51. package/dist/cjs/utils/scripts.js +0 -6
  52. package/dist/cjs/utils/staking.d.ts +0 -4
  53. package/dist/cjs/utils/staking.js +0 -34
  54. package/dist/cjs/utils/transaction.d.ts +0 -2
  55. package/dist/cjs/utils/transaction.js +0 -15
  56. package/dist/mjs/core/adaptor/data.d.ts +0 -3
  57. package/dist/mjs/core/adaptor/data.js +0 -16
  58. package/dist/mjs/core/adaptor/index.d.ts +0 -15
  59. package/dist/mjs/core/adaptor/index.js +0 -21
  60. package/dist/mjs/core/adaptor/mint.d.ts +0 -5
  61. package/dist/mjs/core/adaptor/mint.js +0 -35
  62. package/dist/mjs/core/adaptor/output.d.ts +0 -2
  63. package/dist/mjs/core/adaptor/output.js +0 -29
  64. package/dist/mjs/core/adaptor/script.d.ts +0 -3
  65. package/dist/mjs/core/adaptor/script.js +0 -39
  66. package/dist/mjs/core/adaptor/txIn.d.ts +0 -5
  67. package/dist/mjs/core/adaptor/txIn.js +0 -68
  68. package/dist/mjs/core/adaptor/utxo.d.ts +0 -2
  69. package/dist/mjs/core/adaptor/utxo.js +0 -16
  70. package/dist/mjs/core/adaptor/withdrawal.d.ts +0 -2
  71. package/dist/mjs/core/adaptor/withdrawal.js +0 -26
  72. package/dist/mjs/core/index.d.ts +0 -1
  73. package/dist/mjs/core/index.js +0 -1
  74. package/dist/mjs/core/serializer.d.ts +0 -12
  75. package/dist/mjs/core/serializer.js +0 -105
  76. package/dist/mjs/deser/constants.d.ts +0 -13
  77. package/dist/mjs/deser/constants.js +0 -13
  78. package/dist/mjs/deser/converter.d.ts +0 -17
  79. package/dist/mjs/deser/converter.js +0 -184
  80. package/dist/mjs/deser/csl.d.ts +0 -1
  81. package/dist/mjs/deser/csl.js +0 -1
  82. package/dist/mjs/deser/deserializer.d.ts +0 -19
  83. package/dist/mjs/deser/deserializer.js +0 -20
  84. package/dist/mjs/deser/index.d.ts +0 -5
  85. package/dist/mjs/deser/index.js +0 -5
  86. package/dist/mjs/deser/resolver.d.ts +0 -12
  87. package/dist/mjs/deser/resolver.js +0 -75
  88. package/dist/mjs/index.d.ts +0 -3
  89. package/dist/mjs/index.js +0 -3
  90. package/dist/mjs/utils/address.d.ts +0 -9
  91. package/dist/mjs/utils/address.js +0 -50
  92. package/dist/mjs/utils/aiken.d.ts +0 -17
  93. package/dist/mjs/utils/aiken.js +0 -47
  94. package/dist/mjs/utils/credentials.d.ts +0 -1
  95. package/dist/mjs/utils/credentials.js +0 -6
  96. package/dist/mjs/utils/datum.d.ts +0 -4
  97. package/dist/mjs/utils/datum.js +0 -13
  98. package/dist/mjs/utils/index.d.ts +0 -7
  99. package/dist/mjs/utils/index.js +0 -7
  100. package/dist/mjs/utils/scripts.d.ts +0 -1
  101. package/dist/mjs/utils/scripts.js +0 -2
  102. package/dist/mjs/utils/staking.d.ts +0 -4
  103. package/dist/mjs/utils/staking.js +0 -25
  104. package/dist/mjs/utils/transaction.d.ts +0 -2
  105. package/dist/mjs/utils/transaction.js +0 -10
package/dist/index.js ADDED
@@ -0,0 +1,937 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ CSLSerializer: () => CSLSerializer,
34
+ LANGUAGE_VERSIONS: () => LANGUAGE_VERSIONS,
35
+ POLICY_ID_LENGTH: () => POLICY_ID_LENGTH,
36
+ REDEEMER_TAGS: () => REDEEMER_TAGS,
37
+ addrBech32ToHex: () => addrBech32ToHex,
38
+ addrBech32ToObj: () => addrBech32ToObj,
39
+ applyCborEncoding: () => applyCborEncoding,
40
+ applyParamsToScript: () => applyParamsToScript,
41
+ baseAddressToStakeAddress: () => baseAddressToStakeAddress,
42
+ calculateTxHash: () => calculateTxHash,
43
+ castDataToPlutusData: () => castDataToPlutusData,
44
+ castRawDataToJsonString: () => castRawDataToJsonString,
45
+ csl: () => csl,
46
+ deserializeAddress: () => deserializeAddress,
47
+ deserializeBech32Address: () => deserializeBech32Address,
48
+ deserializeBip32PrivateKey: () => deserializeBip32PrivateKey,
49
+ deserializeDataHash: () => deserializeDataHash,
50
+ deserializeEd25519KeyHash: () => deserializeEd25519KeyHash,
51
+ deserializeEd25519Signature: () => deserializeEd25519Signature,
52
+ deserializeNativeScript: () => deserializeNativeScript,
53
+ deserializePlutusData: () => deserializePlutusData,
54
+ deserializePlutusScript: () => deserializePlutusScript,
55
+ deserializePublicKey: () => deserializePublicKey,
56
+ deserializeScriptHash: () => deserializeScriptHash,
57
+ deserializeScriptRef: () => deserializeScriptRef,
58
+ deserializeTx: () => deserializeTx,
59
+ deserializeTxBody: () => deserializeTxBody,
60
+ deserializeTxHash: () => deserializeTxHash,
61
+ deserializeTxUnspentOutput: () => deserializeTxUnspentOutput,
62
+ deserializeTxWitnessSet: () => deserializeTxWitnessSet,
63
+ deserializeValue: () => deserializeValue,
64
+ fromBytes: () => fromBytes,
65
+ fromLovelace: () => fromLovelace,
66
+ fromUTF8: () => fromUTF8,
67
+ getV2ScriptHash: () => getV2ScriptHash,
68
+ parseDatumCbor: () => parseDatumCbor,
69
+ parseInlineDatum: () => parseInlineDatum,
70
+ poolIdBech32ToHex: () => poolIdBech32ToHex,
71
+ poolIdHexToBech32: () => poolIdHexToBech32,
72
+ resolveDataHash: () => resolveDataHash,
73
+ resolveEd25519KeyHash: () => resolveEd25519KeyHash,
74
+ resolveNativeScriptAddress: () => resolveNativeScriptAddress,
75
+ resolveNativeScriptHash: () => resolveNativeScriptHash,
76
+ resolveNativeScriptHex: () => resolveNativeScriptHex,
77
+ resolvePlutusScriptAddress: () => resolvePlutusScriptAddress,
78
+ resolvePoolId: () => resolvePoolId,
79
+ resolvePrivateKey: () => resolvePrivateKey,
80
+ resolveRewardAddress: () => resolveRewardAddress,
81
+ resolveScriptRef: () => resolveScriptRef,
82
+ resolveStakeKeyHash: () => resolveStakeKeyHash,
83
+ rewardAddressToKeyHash: () => rewardAddressToKeyHash,
84
+ scriptHashToBech32: () => scriptHashToBech32,
85
+ serializeAddressObj: () => serializeAddressObj,
86
+ serializePlutusAddressToBech32: () => serializePlutusAddressToBech32,
87
+ serialzeAddress: () => serialzeAddress,
88
+ signTransaction: () => signTransaction,
89
+ skeyToPubKeyHash: () => skeyToPubKeyHash,
90
+ toAddress: () => toAddress,
91
+ toBaseAddress: () => toBaseAddress,
92
+ toBytes: () => toBytes,
93
+ toEnterpriseAddress: () => toEnterpriseAddress,
94
+ toLovelace: () => toLovelace,
95
+ toNativeScript: () => toNativeScript,
96
+ toPlutusData: () => toPlutusData,
97
+ toRewardAddress: () => toRewardAddress,
98
+ toScriptRef: () => toScriptRef,
99
+ toUTF8: () => toUTF8,
100
+ v2ScriptToBech32: () => v2ScriptToBech32
101
+ });
102
+ module.exports = __toCommonJS(src_exports);
103
+
104
+ // src/utils/address.ts
105
+ var import_common2 = require("@meshsdk/common");
106
+
107
+ // src/deser/csl.ts
108
+ var csl = __toESM(require("@sidan-lab/sidan-csl-rs-nodejs"));
109
+
110
+ // src/deser/constants.ts
111
+ var LANGUAGE_VERSIONS = {
112
+ V1: csl.Language.new_plutus_v1(),
113
+ V2: csl.Language.new_plutus_v2(),
114
+ V3: csl.Language.new_plutus_v3()
115
+ };
116
+ var REDEEMER_TAGS = {
117
+ CERT: csl.RedeemerTag.new_cert(),
118
+ MINT: csl.RedeemerTag.new_mint(),
119
+ REWARD: csl.RedeemerTag.new_reward(),
120
+ SPEND: csl.RedeemerTag.new_spend()
121
+ };
122
+ var POLICY_ID_LENGTH = 56;
123
+
124
+ // src/deser/converter.ts
125
+ var import_json_bigint = __toESM(require("json-bigint"));
126
+ var toAddress = (bech32) => csl.Address.from_bech32(bech32);
127
+ var toBaseAddress = (bech32) => csl.BaseAddress.from_address(toAddress(bech32));
128
+ var toEnterpriseAddress = (bech32) => csl.EnterpriseAddress.from_address(toAddress(bech32));
129
+ var toRewardAddress = (bech32) => csl.RewardAddress.from_address(toAddress(bech32));
130
+ var fromBytes = (bytes) => Buffer.from(bytes).toString("hex");
131
+ var toBytes = (hex) => {
132
+ if (hex.length % 2 === 0 && /^[0-9A-F]*$/i.test(hex))
133
+ return Buffer.from(hex, "hex");
134
+ return Buffer.from(hex, "utf-8");
135
+ };
136
+ var fromUTF8 = (utf8) => {
137
+ if (utf8.length % 2 === 0 && /^[0-9A-F]*$/i.test(utf8)) return utf8;
138
+ return fromBytes(Buffer.from(utf8, "utf-8"));
139
+ };
140
+ var toUTF8 = (hex) => Buffer.from(hex, "hex").toString("utf-8");
141
+ var fromLovelace = (lovelace) => lovelace / 1e6;
142
+ var toLovelace = (ada) => ada * 1e6;
143
+ var toScriptRef = (script) => {
144
+ if ("code" in script) {
145
+ const plutusScript = deserializePlutusScript(script.code, script.version);
146
+ return csl.ScriptRef.new_plutus_script(plutusScript);
147
+ }
148
+ return csl.ScriptRef.new_native_script(toNativeScript(script));
149
+ };
150
+ var toPlutusData = (data) => {
151
+ const toPlutusList = (dataArray) => {
152
+ const plutusList = csl.PlutusList.new();
153
+ dataArray.forEach((element) => {
154
+ plutusList.add(toPlutusData(element));
155
+ });
156
+ return plutusList;
157
+ };
158
+ switch (typeof data) {
159
+ case "string":
160
+ return csl.PlutusData.new_bytes(toBytes(data));
161
+ case "number":
162
+ return csl.PlutusData.new_integer(csl.BigInt.from_str(data.toString()));
163
+ case "bigint":
164
+ return csl.PlutusData.new_integer(csl.BigInt.from_str(data.toString()));
165
+ case "object":
166
+ if (data instanceof Array) {
167
+ const plutusList = toPlutusList(data);
168
+ return csl.PlutusData.new_list(plutusList);
169
+ }
170
+ if (data instanceof Map) {
171
+ const plutusMap = csl.PlutusMap.new();
172
+ data.forEach((value, key) => {
173
+ const plutusMapValue = csl.PlutusMapValues.new();
174
+ plutusMapValue.add(toPlutusData(value));
175
+ plutusMap.insert(toPlutusData(key), plutusMapValue);
176
+ });
177
+ return csl.PlutusData.new_map(plutusMap);
178
+ }
179
+ return csl.PlutusData.new_constr_plutus_data(
180
+ csl.ConstrPlutusData.new(
181
+ csl.BigNum.from_str(data.alternative.toString()),
182
+ toPlutusList(data.fields)
183
+ )
184
+ );
185
+ }
186
+ };
187
+ var castRawDataToJsonString = (rawData) => {
188
+ if (typeof rawData === "object") {
189
+ return import_json_bigint.default.stringify(rawData);
190
+ }
191
+ return rawData;
192
+ };
193
+ var castDataToPlutusData = ({
194
+ type,
195
+ content
196
+ }) => {
197
+ if (type === "Mesh") {
198
+ return toPlutusData(content);
199
+ }
200
+ if (type === "CBOR") {
201
+ return csl.PlutusData.from_hex(content);
202
+ }
203
+ return csl.PlutusData.from_json(
204
+ content,
205
+ csl.PlutusDatumSchema.DetailedSchema
206
+ );
207
+ };
208
+ var toNativeScript = (script) => {
209
+ const toNativeScripts = (scripts) => {
210
+ const nativeScripts = csl.NativeScripts.new();
211
+ scripts.forEach((script2) => {
212
+ nativeScripts.add(toNativeScript(script2));
213
+ });
214
+ return nativeScripts;
215
+ };
216
+ switch (script.type) {
217
+ case "all":
218
+ return csl.NativeScript.new_script_all(
219
+ csl.ScriptAll.new(toNativeScripts(script.scripts))
220
+ );
221
+ case "any":
222
+ return csl.NativeScript.new_script_any(
223
+ csl.ScriptAny.new(toNativeScripts(script.scripts))
224
+ );
225
+ case "atLeast":
226
+ return csl.NativeScript.new_script_n_of_k(
227
+ csl.ScriptNOfK.new(script.required, toNativeScripts(script.scripts))
228
+ );
229
+ case "after":
230
+ return csl.NativeScript.new_timelock_start(
231
+ csl.TimelockStart.new_timelockstart(csl.BigNum.from_str(script.slot))
232
+ );
233
+ case "before":
234
+ return csl.NativeScript.new_timelock_expiry(
235
+ csl.TimelockExpiry.new_timelockexpiry(csl.BigNum.from_str(script.slot))
236
+ );
237
+ case "sig":
238
+ return csl.NativeScript.new_script_pubkey(
239
+ csl.ScriptPubkey.new(deserializeEd25519KeyHash(script.keyHash))
240
+ );
241
+ }
242
+ };
243
+
244
+ // src/deser/deserializer.ts
245
+ var deserializeAddress = (address) => csl.Address.from_bytes(toBytes(address));
246
+ var deserializeBip32PrivateKey = (bip32PrivateKey) => csl.Bip32PrivateKey.from_bytes(toBytes(bip32PrivateKey));
247
+ var deserializeDataHash = (dataHash) => csl.DataHash.from_bytes(toBytes(dataHash));
248
+ var deserializeEd25519KeyHash = (ed25519KeyHash) => csl.Ed25519KeyHash.from_bytes(toBytes(ed25519KeyHash));
249
+ var deserializeEd25519Signature = (ed25519Signature) => csl.Ed25519Signature.from_bytes(toBytes(ed25519Signature));
250
+ var deserializeNativeScript = (nativeScript) => csl.NativeScript.from_bytes(toBytes(nativeScript));
251
+ var deserializePublicKey = (publicKey) => csl.PublicKey.from_bytes(toBytes(publicKey));
252
+ var deserializePlutusData = (plutusData) => csl.PlutusData.from_bytes(toBytes(plutusData));
253
+ var deserializePlutusScript = (plutusScript, version) => csl.PlutusScript.from_bytes_with_version(
254
+ toBytes(plutusScript),
255
+ LANGUAGE_VERSIONS[version]
256
+ );
257
+ var deserializeScriptRef = (scriptRef) => csl.ScriptRef.from_bytes(toBytes(scriptRef));
258
+ var deserializeScriptHash = (scriptHash) => csl.ScriptHash.from_bytes(toBytes(scriptHash));
259
+ var deserializeTx = (tx) => csl.Transaction.from_bytes(toBytes(tx));
260
+ var deserializeTxBody = (txBody) => csl.TransactionBody.from_bytes(toBytes(txBody));
261
+ var deserializeTxHash = (txHash) => csl.TransactionHash.from_bytes(toBytes(txHash));
262
+ var deserializeTxUnspentOutput = (txUnspentOutput) => csl.TransactionUnspentOutput.from_bytes(toBytes(txUnspentOutput));
263
+ var deserializeTxWitnessSet = (txWitnessSet) => csl.TransactionWitnessSet.from_bytes(toBytes(txWitnessSet));
264
+ var deserializeValue = (value) => csl.Value.from_bytes(toBytes(value));
265
+
266
+ // src/deser/resolver.ts
267
+ var import_common = require("@meshsdk/common");
268
+ var resolveStakeKeyHash = (bech32) => {
269
+ try {
270
+ const stakeKeyHash = [
271
+ toBaseAddress(bech32)?.stake_cred().to_keyhash(),
272
+ toRewardAddress(bech32)?.payment_cred().to_keyhash()
273
+ ].find((kh) => kh !== void 0);
274
+ if (stakeKeyHash !== void 0) return stakeKeyHash.to_hex();
275
+ throw new Error(`Couldn't resolve stake key hash from address: ${bech32}`);
276
+ } catch (error) {
277
+ throw new Error(`An error occurred during resolveStakeKeyHash: ${error}.`);
278
+ }
279
+ };
280
+ var resolvePrivateKey = (words) => {
281
+ const buildBip32PrivateKey = (entropy2, password = "") => {
282
+ return csl.Bip32PrivateKey.from_bip39_entropy(
283
+ toBytes(entropy2),
284
+ toBytes(fromUTF8(password))
285
+ );
286
+ };
287
+ const entropy = (0, import_common.mnemonicToEntropy)(words.join(" "));
288
+ const bip32PrivateKey = buildBip32PrivateKey(entropy);
289
+ const bech32PrivateKey = bip32PrivateKey.to_bech32();
290
+ bip32PrivateKey.free();
291
+ return bech32PrivateKey;
292
+ };
293
+ var resolveNativeScriptAddress = (script, networkId = 0) => {
294
+ const nativeScript = toNativeScript(script);
295
+ const enterpriseAddress = csl.EnterpriseAddress.new(
296
+ networkId,
297
+ csl.Credential.from_scripthash(nativeScript.hash())
298
+ );
299
+ return enterpriseAddress.to_address().to_bech32();
300
+ };
301
+ var resolvePlutusScriptAddress = (script, networkId = 0) => {
302
+ const plutusScript = deserializePlutusScript(script.code, script.version);
303
+ const enterpriseAddress = csl.EnterpriseAddress.new(
304
+ networkId,
305
+ csl.Credential.from_scripthash(plutusScript.hash())
306
+ );
307
+ return enterpriseAddress.to_address().to_bech32();
308
+ };
309
+ var resolveNativeScriptHash = (script) => {
310
+ return toNativeScript(script).hash().to_hex();
311
+ };
312
+ var resolveRewardAddress = (bech32) => {
313
+ const buildRewardAddress = (networkId, stakeKeyHash) => {
314
+ return csl.RewardAddress.new(
315
+ networkId,
316
+ csl.Credential.from_keyhash(stakeKeyHash)
317
+ );
318
+ };
319
+ try {
320
+ const address = toAddress(bech32);
321
+ const baseAddress = toBaseAddress(bech32);
322
+ const stakeKeyHash = baseAddress?.stake_cred().to_keyhash();
323
+ if (stakeKeyHash !== void 0)
324
+ return buildRewardAddress(address.network_id(), stakeKeyHash).to_address().to_bech32();
325
+ throw new Error(`Couldn't resolve reward address from address: ${bech32}`);
326
+ } catch (error) {
327
+ throw new Error(`An error occurred during resolveRewardAddress: ${error}.`);
328
+ }
329
+ };
330
+ var resolveDataHash = (data) => {
331
+ const plutusData = toPlutusData(data);
332
+ const dataHash = csl.hash_plutus_data(plutusData);
333
+ return dataHash.to_hex();
334
+ };
335
+ var resolveNativeScriptHex = (script) => {
336
+ return toNativeScript(script).to_hex();
337
+ };
338
+ var resolvePoolId = (hash) => {
339
+ return csl.Ed25519KeyHash.from_hex(hash).to_bech32("pool1");
340
+ };
341
+ var resolveScriptRef = (script) => {
342
+ return toScriptRef(script).to_hex();
343
+ };
344
+ var resolveEd25519KeyHash = (bech32) => {
345
+ return csl.Ed25519KeyHash.from_bech32(bech32).to_hex();
346
+ };
347
+
348
+ // src/utils/scripts.ts
349
+ var getV2ScriptHash = (script) => csl.get_v2_script_hash(script);
350
+
351
+ // src/utils/address.ts
352
+ var serialzeAddress = (deserializedAddress, networkId = 0) => {
353
+ const {
354
+ pubKeyHash,
355
+ scriptHash,
356
+ stakeCredentialHash,
357
+ stakeScriptCredentialHash
358
+ } = deserializedAddress;
359
+ const isPaymentScript = !pubKeyHash;
360
+ const isStakeScript = !stakeCredentialHash;
361
+ const paymentHash = isPaymentScript ? scriptHash : pubKeyHash;
362
+ const stakeHash = isStakeScript ? stakeScriptCredentialHash : stakeCredentialHash;
363
+ if (!paymentHash)
364
+ throw new Error(
365
+ "Error: serializeAddress: Address must contain a payment part"
366
+ );
367
+ const addressObj = isPaymentScript ? (0, import_common2.pubKeyAddress)(paymentHash, stakeHash, isStakeScript) : (0, import_common2.scriptAddress)(paymentHash, stakeHash, isStakeScript);
368
+ return serializeAddressObj(addressObj, networkId);
369
+ };
370
+ var addrBech32ToHex = (bech32) => {
371
+ const hexAddress = csl.Address.from_bech32(bech32).to_hex();
372
+ const cslAddress = csl.Address.from_hex(hexAddress);
373
+ const hex = csl.PlutusData.from_address(cslAddress).to_hex();
374
+ return hex;
375
+ };
376
+ var addrBech32ToObj = (bech32) => {
377
+ const hexAddress = csl.Address.from_bech32(bech32).to_hex();
378
+ const cslAddress = csl.Address.from_hex(hexAddress);
379
+ const json = JSON.parse(csl.PlutusData.from_address(cslAddress).to_json(1));
380
+ return json;
381
+ };
382
+ var serializeAddressObj = (plutusDataAddressObject, networkId = 0) => {
383
+ const bech32Addr = csl.parse_plutus_address_obj_to_bech32(
384
+ JSON.stringify(plutusDataAddressObject),
385
+ networkId
386
+ );
387
+ return bech32Addr;
388
+ };
389
+ var serializePlutusAddressToBech32 = (plutusHex, networkId = 0) => {
390
+ const cslPlutusDataAddress = csl.PlutusData.from_hex(plutusHex);
391
+ const plutusDataAddressObject = JSON.parse(
392
+ cslPlutusDataAddress.to_json(csl.PlutusDatumSchema.DetailedSchema)
393
+ );
394
+ return serializeAddressObj(plutusDataAddressObject, networkId);
395
+ };
396
+ var deserializeBech32Address = (bech32Addr) => {
397
+ const serializedAddress = csl.serialize_bech32_address(bech32Addr);
398
+ return {
399
+ pubKeyHash: serializedAddress.get_pub_key_hash(),
400
+ scriptHash: serializedAddress.get_script_hash(),
401
+ stakeCredentialHash: serializedAddress.get_stake_key_hash(),
402
+ stakeScriptCredentialHash: serializedAddress.get_stake_key_script_hash()
403
+ };
404
+ };
405
+ var scriptHashToBech32 = (scriptHash, stakeCredentialHash, networkId = 0, isScriptStakeCredentialHash = false) => csl.wasm_script_to_address(
406
+ networkId,
407
+ scriptHash,
408
+ stakeCredentialHash,
409
+ isScriptStakeCredentialHash
410
+ );
411
+ var v2ScriptToBech32 = (scriptCbor, stakeCredential, networkId = 0, isScriptStakeCredential = false) => scriptHashToBech32(
412
+ getV2ScriptHash(scriptCbor),
413
+ stakeCredential,
414
+ networkId,
415
+ isScriptStakeCredential
416
+ );
417
+
418
+ // src/utils/datum.ts
419
+ var parseInlineDatum = (utxo) => {
420
+ const datumCbor = utxo.inline_datum || "";
421
+ const parsedDatum = csl.PlutusData.from_hex(datumCbor);
422
+ const datum = JSON.parse(parsedDatum.to_json(1));
423
+ return datum;
424
+ };
425
+ var parseDatumCbor = (datumCbor) => {
426
+ const parsedDatum = csl.PlutusData.from_hex(datumCbor);
427
+ const datum = JSON.parse(parsedDatum.to_json(1));
428
+ return datum;
429
+ };
430
+
431
+ // src/utils/credentials.ts
432
+ var skeyToPubKeyHash = (skeyHex) => {
433
+ const isHexUnclean = skeyHex.slice(0, 4) === "5820" && skeyHex.length === 68;
434
+ const cleanHex = isHexUnclean ? skeyHex.slice(4) : skeyHex;
435
+ return csl.PrivateKey.from_hex(cleanHex).to_public().hash().to_hex();
436
+ };
437
+
438
+ // src/utils/staking.ts
439
+ var poolIdHexToBech32 = (poolIdHash) => {
440
+ const cslPoolIdHash = csl.Ed25519KeyHash.from_hex(poolIdHash);
441
+ return cslPoolIdHash.to_bech32("pool");
442
+ };
443
+ var poolIdBech32ToHex = (poolIdBech32) => {
444
+ const cslPoolIdHash = csl.Ed25519KeyHash.from_bech32(poolIdBech32);
445
+ return Buffer.from(cslPoolIdHash.to_bytes()).toString("hex");
446
+ };
447
+ var baseAddressToStakeAddress = (baseAddressBech32, network = 1) => {
448
+ const networkId = network === 1 ? csl.NetworkId.mainnet().kind() : csl.NetworkId.testnet().kind();
449
+ const stakeCred = csl.BaseAddress.from_address(
450
+ csl.Address.from_bech32(baseAddressBech32)
451
+ )?.stake_cred();
452
+ if (stakeCred) {
453
+ const stakeAddress = csl.RewardAddress.new(networkId, stakeCred).to_address().to_bech32();
454
+ return stakeAddress;
455
+ }
456
+ return "";
457
+ };
458
+ var rewardAddressToKeyHash = (rewardBech32) => {
459
+ return toRewardAddress(rewardBech32)?.payment_cred().to_keyhash()?.to_hex();
460
+ };
461
+
462
+ // src/utils/transaction.ts
463
+ var calculateTxHash = (txHex) => csl.calculate_tx_hash(txHex);
464
+ var signTransaction = (txHex, signingKeys) => {
465
+ const cslSigningKeys = csl.JsVecString.new();
466
+ signingKeys.forEach((key) => {
467
+ cslSigningKeys.add(key);
468
+ });
469
+ const signedTx = csl.sign_transaction(txHex, cslSigningKeys);
470
+ return signedTx;
471
+ };
472
+
473
+ // src/utils/aiken.ts
474
+ var applyParamsToScript = (rawScript, params, type = "Mesh") => {
475
+ const cslParams = csl.JsVecString.new();
476
+ let paramType = csl.BuilderDataType.CBOR;
477
+ switch (type) {
478
+ case "JSON":
479
+ paramType = csl.BuilderDataType.JSON;
480
+ params.forEach((param) => {
481
+ if (typeof param === "object") {
482
+ cslParams.add(JSON.stringify(param));
483
+ } else if (typeof param === "string") {
484
+ cslParams.add(param);
485
+ }
486
+ });
487
+ break;
488
+ case "Mesh":
489
+ params.forEach((param) => {
490
+ const paramCbor = toPlutusData(param);
491
+ cslParams.add(paramCbor.to_hex());
492
+ });
493
+ break;
494
+ default:
495
+ params.forEach((param) => {
496
+ cslParams.add(param);
497
+ });
498
+ break;
499
+ }
500
+ return csl.apply_params_to_script(rawScript, cslParams, paramType);
501
+ };
502
+ var applyCborEncoding = (rawScript) => {
503
+ return csl.apply_params_to_script(
504
+ rawScript,
505
+ csl.JsVecString.new(),
506
+ csl.BuilderDataType.CBOR
507
+ );
508
+ };
509
+
510
+ // src/core/serializer.ts
511
+ var import_json_bigint2 = __toESM(require("json-bigint"));
512
+ var import_common4 = require("@meshsdk/common");
513
+
514
+ // src/core/adaptor/index.ts
515
+ var import_common3 = require("@meshsdk/common");
516
+
517
+ // src/core/adaptor/data.ts
518
+ var builderDataToCbor = ({ type, content }) => {
519
+ if (type === "Mesh") {
520
+ return toPlutusData(content).to_hex();
521
+ }
522
+ if (type === "CBOR") {
523
+ return csl.PlutusData.from_hex(content).to_hex();
524
+ }
525
+ return csl.PlutusData.from_json(
526
+ content,
527
+ csl.PlutusDatumSchema.DetailedSchema
528
+ ).to_hex();
529
+ };
530
+ var redeemerToObj = (redeemer) => {
531
+ return {
532
+ data: builderDataToCbor(redeemer.data),
533
+ exUnits: redeemer.exUnits
534
+ };
535
+ };
536
+
537
+ // src/core/adaptor/script.ts
538
+ var scriptSourceToObj = (scriptSource) => {
539
+ if (scriptSource.type === "Provided") {
540
+ return {
541
+ providedScriptSource: {
542
+ scriptCbor: scriptSource.script.code,
543
+ languageVersion: scriptSource.script.version.toLocaleLowerCase()
544
+ }
545
+ };
546
+ }
547
+ return {
548
+ inlineScriptSource: {
549
+ refTxIn: {
550
+ txHash: scriptSource.txHash,
551
+ txIndex: scriptSource.txIndex
552
+ },
553
+ spendingScriptHash: scriptSource.scriptHash ?? "",
554
+ languageVersion: scriptSource.version.toLocaleLowerCase(),
555
+ scriptSize: BigInt(scriptSource.scriptSize ?? "0")
556
+ }
557
+ };
558
+ };
559
+ var simpleScriptSourceToObj = (scriptSource) => {
560
+ if (scriptSource.type === "Provided") {
561
+ return {
562
+ providedSimpleScriptSource: {
563
+ scriptCbor: scriptSource.scriptCode
564
+ }
565
+ };
566
+ }
567
+ return {
568
+ inlineSimpleScriptSource: {
569
+ refTxIn: {
570
+ txHash: scriptSource.txHash,
571
+ txIndex: scriptSource.txIndex
572
+ },
573
+ simpleScriptHash: scriptSource.simpleScriptHash ?? ""
574
+ }
575
+ };
576
+ };
577
+
578
+ // src/core/adaptor/mint.ts
579
+ var mintItemToObj = (mintItem) => {
580
+ switch (mintItem.type) {
581
+ case "Plutus":
582
+ return {
583
+ scriptMint: plutusMintItemToObj(mintItem)
584
+ };
585
+ case "Native":
586
+ return {
587
+ simpleScriptMint: nativeMintItemToObj(
588
+ mintItem
589
+ )
590
+ };
591
+ }
592
+ };
593
+ var plutusMintItemToObj = (mintItem) => {
594
+ let scriptSource = scriptSourceToObj(
595
+ mintItem.scriptSource
596
+ );
597
+ return {
598
+ mint: mintParametersObj(mintItem),
599
+ redeemer: mintItem.redeemer ? redeemerToObj(mintItem.redeemer) : null,
600
+ scriptSource
601
+ };
602
+ };
603
+ var nativeMintItemToObj = (mintItem) => {
604
+ return {
605
+ mint: mintParametersObj(mintItem),
606
+ scriptSource: simpleScriptSourceToObj(
607
+ mintItem.scriptSource
608
+ )
609
+ };
610
+ };
611
+ var mintParametersObj = (mintItem) => {
612
+ return {
613
+ policyId: mintItem.policyId,
614
+ assetName: mintItem.assetName,
615
+ amount: BigInt(mintItem.amount)
616
+ };
617
+ };
618
+
619
+ // src/core/adaptor/output.ts
620
+ var outputToObj = (output) => {
621
+ let datum = null;
622
+ if (output.datum) {
623
+ switch (output.datum.type) {
624
+ case "Inline":
625
+ datum = { inline: builderDataToCbor(output.datum.data) };
626
+ break;
627
+ case "Hash":
628
+ datum = { hash: builderDataToCbor(output.datum.data) };
629
+ break;
630
+ }
631
+ }
632
+ const refScript = output.referenceScript;
633
+ return {
634
+ address: output.address,
635
+ amount: output.amount,
636
+ datum,
637
+ referenceScript: output.referenceScript ? {
638
+ providedScriptSource: {
639
+ scriptCbor: refScript.code,
640
+ languageVersion: refScript.version.toLocaleLowerCase()
641
+ }
642
+ } : null
643
+ };
644
+ };
645
+
646
+ // src/core/adaptor/txIn.ts
647
+ var txInToObj = (txIn) => {
648
+ switch (txIn.type) {
649
+ case "PubKey":
650
+ return {
651
+ pubKeyTxIn: {
652
+ txIn: txInParameterToObj(txIn.txIn)
653
+ }
654
+ };
655
+ case "Script":
656
+ return {
657
+ scriptTxIn: {
658
+ txIn: txInParameterToObj(txIn.txIn),
659
+ scriptTxIn: scriptTxInParameterToObj(txIn.scriptTxIn)
660
+ }
661
+ };
662
+ case "SimpleScript":
663
+ return {};
664
+ }
665
+ };
666
+ var collateralTxInToObj = (txIn) => {
667
+ return {
668
+ txIn: txInParameterToObj(txIn.txIn)
669
+ };
670
+ };
671
+ var txInParameterToObj = (txInParameter) => {
672
+ return {
673
+ txHash: txInParameter.txHash,
674
+ txIndex: txInParameter.txIndex,
675
+ amount: txInParameter.amount ?? null,
676
+ address: txInParameter.address ?? null
677
+ };
678
+ };
679
+ var scriptTxInParameterToObj = (scriptTxInParameter) => {
680
+ let scriptSource = null;
681
+ let datumSource = null;
682
+ if (scriptTxInParameter.scriptSource) {
683
+ scriptSource = scriptSourceToObj(scriptTxInParameter.scriptSource);
684
+ }
685
+ if (scriptTxInParameter.datumSource) {
686
+ switch (scriptTxInParameter.datumSource.type) {
687
+ case "Provided":
688
+ datumSource = {
689
+ providedDatumSource: {
690
+ data: builderDataToCbor(scriptTxInParameter.datumSource.data)
691
+ }
692
+ };
693
+ break;
694
+ case "Inline":
695
+ datumSource = {
696
+ inlineDatumSource: {
697
+ txHash: scriptTxInParameter.datumSource.txHash,
698
+ txIndex: scriptTxInParameter.datumSource.txIndex
699
+ }
700
+ };
701
+ break;
702
+ }
703
+ }
704
+ return {
705
+ scriptSource,
706
+ datumSource,
707
+ redeemer: scriptTxInParameter.redeemer ? redeemerToObj(scriptTxInParameter.redeemer) : null
708
+ };
709
+ };
710
+
711
+ // src/core/adaptor/withdrawal.ts
712
+ var withdrawalToObj = (withdrawal) => {
713
+ if ("pubKeyWithdrawal" in withdrawal) {
714
+ return {
715
+ pubKeyWithdrawal: {
716
+ address: withdrawal.pubKeyWithdrawal.address,
717
+ coin: BigInt(withdrawal.pubKeyWithdrawal.coin)
718
+ }
719
+ };
720
+ }
721
+ if (!withdrawal.plutusScriptWithdrawal.scriptSource) {
722
+ throw new Error(
723
+ "withdrawalToObj: missing scriptSource in plutusScriptWithdrawal."
724
+ );
725
+ }
726
+ if (!withdrawal.plutusScriptWithdrawal.redeemer) {
727
+ throw new Error(
728
+ "withdrawalToObj: missing redeemer in plutusScriptWithdrawal."
729
+ );
730
+ }
731
+ return {
732
+ plutusScriptWithdrawal: {
733
+ address: withdrawal.plutusScriptWithdrawal.address,
734
+ coin: BigInt(withdrawal.plutusScriptWithdrawal.coin),
735
+ scriptSource: scriptSourceToObj(
736
+ withdrawal.plutusScriptWithdrawal.scriptSource
737
+ ),
738
+ redeemer: redeemerToObj(withdrawal.plutusScriptWithdrawal.redeemer)
739
+ }
740
+ };
741
+ };
742
+
743
+ // src/core/adaptor/index.ts
744
+ var meshTxBuilderBodyToObj = ({
745
+ inputs,
746
+ outputs,
747
+ collaterals,
748
+ requiredSignatures,
749
+ referenceInputs,
750
+ mints,
751
+ changeAddress,
752
+ metadata,
753
+ validityRange,
754
+ certificates,
755
+ signingKey,
756
+ withdrawals
757
+ }) => {
758
+ return {
759
+ inputs: inputs.map(txInToObj),
760
+ outputs: outputs.map(outputToObj),
761
+ collaterals: collaterals.map(collateralTxInToObj),
762
+ requiredSignatures,
763
+ referenceInputs,
764
+ mints: mints.map((mint) => mintItemToObj(mint)),
765
+ changeAddress,
766
+ metadata,
767
+ validityRange: (0, import_common3.validityRangeToObj)(validityRange),
768
+ certificates: certificates.map(import_common3.certificateToObj),
769
+ signingKey,
770
+ withdrawals: withdrawals.map(withdrawalToObj)
771
+ };
772
+ };
773
+
774
+ // src/core/serializer.ts
775
+ var CSLSerializer = class {
776
+ constructor(protocolParams) {
777
+ this.meshTxBuilderBody = (0, import_common4.emptyTxBuilderBody)();
778
+ this.deserializer = {
779
+ key: {
780
+ deserializeAddress: function(bech32) {
781
+ return deserializeBech32Address(bech32);
782
+ }
783
+ },
784
+ script: {
785
+ deserializeNativeScript: function(script) {
786
+ const nativeScript = toNativeScript(script);
787
+ const scriptCbor = nativeScript.to_hex();
788
+ const scriptHash = nativeScript.hash().to_hex();
789
+ return {
790
+ scriptHash,
791
+ scriptCbor
792
+ };
793
+ },
794
+ deserializePlutusScript: function(script) {
795
+ const scriptHash = deserializePlutusScript(script.code, script.version).hash().to_hex();
796
+ return { scriptHash, scriptCbor: script.code };
797
+ }
798
+ }
799
+ };
800
+ this.resolver = {
801
+ keys: {
802
+ resolveStakeKeyHash: function(bech32) {
803
+ return rewardAddressToKeyHash(bech32) || deserializeBech32Address(bech32).stakeCredentialHash;
804
+ },
805
+ // resolveStakeScriptHash: function (bech32: string): string {
806
+ // return (
807
+ // rewardAddressToKeyHash(bech32) ||
808
+ // serializeBech32Address(bech32).stakeScriptCredentialHash
809
+ // );
810
+ // },
811
+ resolvePrivateKey: function(words) {
812
+ return resolvePrivateKey(words);
813
+ },
814
+ resolveRewardAddress: function(bech32) {
815
+ return resolveRewardAddress(bech32);
816
+ },
817
+ resolveEd25519KeyHash: function(bech32) {
818
+ return resolveEd25519KeyHash(bech32);
819
+ }
820
+ },
821
+ tx: {
822
+ resolveTxHash: function(txHex) {
823
+ return calculateTxHash(txHex);
824
+ }
825
+ },
826
+ data: {
827
+ resolveDataHash: function(data) {
828
+ return resolveDataHash(data);
829
+ }
830
+ },
831
+ script: {
832
+ resolveScriptRef: function(script) {
833
+ return resolveScriptRef(script);
834
+ }
835
+ },
836
+ pool: {
837
+ resolvePoolId: function(hash) {
838
+ return resolvePoolId(hash);
839
+ }
840
+ }
841
+ };
842
+ this.protocolParams = protocolParams || import_common4.DEFAULT_PROTOCOL_PARAMETERS;
843
+ }
844
+ serializeTxBody(txBody, protocolParams) {
845
+ const txBodyJson = import_json_bigint2.default.stringify(meshTxBuilderBodyToObj(txBody));
846
+ const params = import_json_bigint2.default.stringify(protocolParams || this.protocolParams);
847
+ console.log("txBodyJson", txBodyJson);
848
+ const txBuildResult = csl.js_serialize_tx_body(txBodyJson, params);
849
+ if (txBuildResult.get_status() !== "success") {
850
+ throw new Error(txBuildResult.get_data());
851
+ }
852
+ return txBuildResult.get_data();
853
+ }
854
+ addSigningKeys(txHex, signingKeys) {
855
+ if (signingKeys.length > 0) {
856
+ return signTransaction(txHex, signingKeys);
857
+ }
858
+ return txHex;
859
+ }
860
+ serializeData(data) {
861
+ return builderDataToCbor(data);
862
+ }
863
+ serializeAddress(address, networkId) {
864
+ return serialzeAddress(address, networkId);
865
+ }
866
+ };
867
+ // Annotate the CommonJS export names for ESM import in node:
868
+ 0 && (module.exports = {
869
+ CSLSerializer,
870
+ LANGUAGE_VERSIONS,
871
+ POLICY_ID_LENGTH,
872
+ REDEEMER_TAGS,
873
+ addrBech32ToHex,
874
+ addrBech32ToObj,
875
+ applyCborEncoding,
876
+ applyParamsToScript,
877
+ baseAddressToStakeAddress,
878
+ calculateTxHash,
879
+ castDataToPlutusData,
880
+ castRawDataToJsonString,
881
+ csl,
882
+ deserializeAddress,
883
+ deserializeBech32Address,
884
+ deserializeBip32PrivateKey,
885
+ deserializeDataHash,
886
+ deserializeEd25519KeyHash,
887
+ deserializeEd25519Signature,
888
+ deserializeNativeScript,
889
+ deserializePlutusData,
890
+ deserializePlutusScript,
891
+ deserializePublicKey,
892
+ deserializeScriptHash,
893
+ deserializeScriptRef,
894
+ deserializeTx,
895
+ deserializeTxBody,
896
+ deserializeTxHash,
897
+ deserializeTxUnspentOutput,
898
+ deserializeTxWitnessSet,
899
+ deserializeValue,
900
+ fromBytes,
901
+ fromLovelace,
902
+ fromUTF8,
903
+ getV2ScriptHash,
904
+ parseDatumCbor,
905
+ parseInlineDatum,
906
+ poolIdBech32ToHex,
907
+ poolIdHexToBech32,
908
+ resolveDataHash,
909
+ resolveEd25519KeyHash,
910
+ resolveNativeScriptAddress,
911
+ resolveNativeScriptHash,
912
+ resolveNativeScriptHex,
913
+ resolvePlutusScriptAddress,
914
+ resolvePoolId,
915
+ resolvePrivateKey,
916
+ resolveRewardAddress,
917
+ resolveScriptRef,
918
+ resolveStakeKeyHash,
919
+ rewardAddressToKeyHash,
920
+ scriptHashToBech32,
921
+ serializeAddressObj,
922
+ serializePlutusAddressToBech32,
923
+ serialzeAddress,
924
+ signTransaction,
925
+ skeyToPubKeyHash,
926
+ toAddress,
927
+ toBaseAddress,
928
+ toBytes,
929
+ toEnterpriseAddress,
930
+ toLovelace,
931
+ toNativeScript,
932
+ toPlutusData,
933
+ toRewardAddress,
934
+ toScriptRef,
935
+ toUTF8,
936
+ v2ScriptToBech32
937
+ });