@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.
- package/dist/index.d.mts +119 -0
- package/dist/index.d.ts +119 -0
- package/dist/index.js +937 -0
- package/dist/index.mjs +844 -0
- package/package.json +7 -6
- package/dist/cjs/core/adaptor/data.d.ts +0 -3
- package/dist/cjs/core/adaptor/data.js +0 -21
- package/dist/cjs/core/adaptor/index.d.ts +0 -15
- package/dist/cjs/core/adaptor/index.js +0 -25
- package/dist/cjs/core/adaptor/mint.d.ts +0 -5
- package/dist/cjs/core/adaptor/mint.js +0 -42
- package/dist/cjs/core/adaptor/output.d.ts +0 -2
- package/dist/cjs/core/adaptor/output.js +0 -33
- package/dist/cjs/core/adaptor/script.d.ts +0 -3
- package/dist/cjs/core/adaptor/script.js +0 -46
- package/dist/cjs/core/adaptor/txIn.d.ts +0 -5
- package/dist/cjs/core/adaptor/txIn.js +0 -76
- package/dist/cjs/core/adaptor/utxo.d.ts +0 -2
- package/dist/cjs/core/adaptor/utxo.js +0 -20
- package/dist/cjs/core/adaptor/withdrawal.d.ts +0 -2
- package/dist/cjs/core/adaptor/withdrawal.js +0 -30
- package/dist/cjs/core/index.d.ts +0 -1
- package/dist/cjs/core/index.js +0 -17
- package/dist/cjs/core/serializer.d.ts +0 -12
- package/dist/cjs/core/serializer.js +0 -111
- package/dist/cjs/deser/constants.d.ts +0 -13
- package/dist/cjs/deser/constants.js +0 -16
- package/dist/cjs/deser/converter.d.ts +0 -17
- package/dist/cjs/deser/converter.js +0 -203
- package/dist/cjs/deser/csl.d.ts +0 -1
- package/dist/cjs/deser/csl.js +0 -27
- package/dist/cjs/deser/deserializer.d.ts +0 -19
- package/dist/cjs/deser/deserializer.js +0 -40
- package/dist/cjs/deser/index.d.ts +0 -5
- package/dist/cjs/deser/index.js +0 -21
- package/dist/cjs/deser/resolver.d.ts +0 -12
- package/dist/cjs/deser/resolver.js +0 -90
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/utils/address.d.ts +0 -9
- package/dist/cjs/utils/address.js +0 -61
- package/dist/cjs/utils/aiken.d.ts +0 -17
- package/dist/cjs/utils/aiken.js +0 -52
- package/dist/cjs/utils/credentials.d.ts +0 -1
- package/dist/cjs/utils/credentials.js +0 -10
- package/dist/cjs/utils/datum.d.ts +0 -4
- package/dist/cjs/utils/datum.js +0 -18
- package/dist/cjs/utils/index.d.ts +0 -7
- package/dist/cjs/utils/index.js +0 -23
- package/dist/cjs/utils/scripts.d.ts +0 -1
- package/dist/cjs/utils/scripts.js +0 -6
- package/dist/cjs/utils/staking.d.ts +0 -4
- package/dist/cjs/utils/staking.js +0 -34
- package/dist/cjs/utils/transaction.d.ts +0 -2
- package/dist/cjs/utils/transaction.js +0 -15
- package/dist/mjs/core/adaptor/data.d.ts +0 -3
- package/dist/mjs/core/adaptor/data.js +0 -16
- package/dist/mjs/core/adaptor/index.d.ts +0 -15
- package/dist/mjs/core/adaptor/index.js +0 -21
- package/dist/mjs/core/adaptor/mint.d.ts +0 -5
- package/dist/mjs/core/adaptor/mint.js +0 -35
- package/dist/mjs/core/adaptor/output.d.ts +0 -2
- package/dist/mjs/core/adaptor/output.js +0 -29
- package/dist/mjs/core/adaptor/script.d.ts +0 -3
- package/dist/mjs/core/adaptor/script.js +0 -39
- package/dist/mjs/core/adaptor/txIn.d.ts +0 -5
- package/dist/mjs/core/adaptor/txIn.js +0 -68
- package/dist/mjs/core/adaptor/utxo.d.ts +0 -2
- package/dist/mjs/core/adaptor/utxo.js +0 -16
- package/dist/mjs/core/adaptor/withdrawal.d.ts +0 -2
- package/dist/mjs/core/adaptor/withdrawal.js +0 -26
- package/dist/mjs/core/index.d.ts +0 -1
- package/dist/mjs/core/index.js +0 -1
- package/dist/mjs/core/serializer.d.ts +0 -12
- package/dist/mjs/core/serializer.js +0 -105
- package/dist/mjs/deser/constants.d.ts +0 -13
- package/dist/mjs/deser/constants.js +0 -13
- package/dist/mjs/deser/converter.d.ts +0 -17
- package/dist/mjs/deser/converter.js +0 -184
- package/dist/mjs/deser/csl.d.ts +0 -1
- package/dist/mjs/deser/csl.js +0 -1
- package/dist/mjs/deser/deserializer.d.ts +0 -19
- package/dist/mjs/deser/deserializer.js +0 -20
- package/dist/mjs/deser/index.d.ts +0 -5
- package/dist/mjs/deser/index.js +0 -5
- package/dist/mjs/deser/resolver.d.ts +0 -12
- package/dist/mjs/deser/resolver.js +0 -75
- package/dist/mjs/index.d.ts +0 -3
- package/dist/mjs/index.js +0 -3
- package/dist/mjs/utils/address.d.ts +0 -9
- package/dist/mjs/utils/address.js +0 -50
- package/dist/mjs/utils/aiken.d.ts +0 -17
- package/dist/mjs/utils/aiken.js +0 -47
- package/dist/mjs/utils/credentials.d.ts +0 -1
- package/dist/mjs/utils/credentials.js +0 -6
- package/dist/mjs/utils/datum.d.ts +0 -4
- package/dist/mjs/utils/datum.js +0 -13
- package/dist/mjs/utils/index.d.ts +0 -7
- package/dist/mjs/utils/index.js +0 -7
- package/dist/mjs/utils/scripts.d.ts +0 -1
- package/dist/mjs/utils/scripts.js +0 -2
- package/dist/mjs/utils/staking.d.ts +0 -4
- package/dist/mjs/utils/staking.js +0 -25
- package/dist/mjs/utils/transaction.d.ts +0 -2
- 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
|
+
});
|