@meshsdk/core-csl 1.7.19 → 1.7.21
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.cjs +89 -26
- package/dist/index.d.cts +8 -3
- package/dist/index.d.ts +8 -3
- package/dist/index.js +88 -26
- package/package.json +7 -4
package/dist/index.cjs
CHANGED
|
@@ -70,6 +70,7 @@ __export(src_exports, {
|
|
|
70
70
|
fromBytes: () => fromBytes,
|
|
71
71
|
fromLovelace: () => fromLovelace,
|
|
72
72
|
fromUTF8: () => fromUTF8,
|
|
73
|
+
getDRepIds: () => getDRepIds,
|
|
73
74
|
getTransactionInputs: () => getTransactionInputs,
|
|
74
75
|
getV2ScriptHash: () => getV2ScriptHash,
|
|
75
76
|
keyHashToRewardAddress: () => keyHashToRewardAddress,
|
|
@@ -151,10 +152,10 @@ var POLICY_ID_LENGTH = 56;
|
|
|
151
152
|
|
|
152
153
|
// src/deser/converter.ts
|
|
153
154
|
var import_json_bigint = __toESM(require("json-bigint"), 1);
|
|
154
|
-
var toAddress = (
|
|
155
|
-
var toBaseAddress = (
|
|
156
|
-
var toEnterpriseAddress = (
|
|
157
|
-
var toRewardAddress = (
|
|
155
|
+
var toAddress = (bech322) => csl.Address.from_bech32(bech322);
|
|
156
|
+
var toBaseAddress = (bech322) => csl.BaseAddress.from_address(toAddress(bech322));
|
|
157
|
+
var toEnterpriseAddress = (bech322) => csl.EnterpriseAddress.from_address(toAddress(bech322));
|
|
158
|
+
var toRewardAddress = (bech322) => csl.RewardAddress.from_address(toAddress(bech322));
|
|
158
159
|
var fromBytes = (bytes) => Buffer.from(bytes).toString("hex");
|
|
159
160
|
var toBytes = (hex) => {
|
|
160
161
|
if (hex.length % 2 === 0 && /^[0-9A-F]*$/i.test(hex))
|
|
@@ -293,14 +294,14 @@ var deserializeValue = (value) => csl.Value.from_bytes(toBytes(value));
|
|
|
293
294
|
|
|
294
295
|
// src/deser/resolver.ts
|
|
295
296
|
var import_common = require("@meshsdk/common");
|
|
296
|
-
var resolveStakeKeyHash = (
|
|
297
|
+
var resolveStakeKeyHash = (bech322) => {
|
|
297
298
|
try {
|
|
298
299
|
const stakeKeyHash = [
|
|
299
|
-
toBaseAddress(
|
|
300
|
-
toRewardAddress(
|
|
300
|
+
toBaseAddress(bech322)?.stake_cred().to_keyhash(),
|
|
301
|
+
toRewardAddress(bech322)?.payment_cred().to_keyhash()
|
|
301
302
|
].find((kh) => kh !== void 0);
|
|
302
303
|
if (stakeKeyHash !== void 0) return stakeKeyHash.to_hex();
|
|
303
|
-
throw new Error(`Couldn't resolve stake key hash from address: ${
|
|
304
|
+
throw new Error(`Couldn't resolve stake key hash from address: ${bech322}`);
|
|
304
305
|
} catch (error) {
|
|
305
306
|
throw new Error(`An error occurred during resolveStakeKeyHash: ${error}.`);
|
|
306
307
|
}
|
|
@@ -342,7 +343,7 @@ var resolveScriptHashDRepId = (scriptHash) => {
|
|
|
342
343
|
csl.ScriptHash.from_hex(scriptHash)
|
|
343
344
|
).to_bech32();
|
|
344
345
|
};
|
|
345
|
-
var resolveRewardAddress = (
|
|
346
|
+
var resolveRewardAddress = (bech322) => {
|
|
346
347
|
const buildRewardAddress = (networkId, stakeKeyHash) => {
|
|
347
348
|
return csl.RewardAddress.new(
|
|
348
349
|
networkId,
|
|
@@ -350,12 +351,12 @@ var resolveRewardAddress = (bech32) => {
|
|
|
350
351
|
);
|
|
351
352
|
};
|
|
352
353
|
try {
|
|
353
|
-
const address = toAddress(
|
|
354
|
-
const baseAddress = toBaseAddress(
|
|
354
|
+
const address = toAddress(bech322);
|
|
355
|
+
const baseAddress = toBaseAddress(bech322);
|
|
355
356
|
const stakeKeyHash = baseAddress?.stake_cred().to_keyhash();
|
|
356
357
|
if (stakeKeyHash !== void 0)
|
|
357
358
|
return buildRewardAddress(address.network_id(), stakeKeyHash).to_address().to_bech32();
|
|
358
|
-
throw new Error(`Couldn't resolve reward address from address: ${
|
|
359
|
+
throw new Error(`Couldn't resolve reward address from address: ${bech322}`);
|
|
359
360
|
} catch (error) {
|
|
360
361
|
throw new Error(`An error occurred during resolveRewardAddress: ${error}.`);
|
|
361
362
|
}
|
|
@@ -374,8 +375,8 @@ var serializePoolId = (hash) => {
|
|
|
374
375
|
var resolveScriptRef = (script) => {
|
|
375
376
|
return toScriptRef(script).to_hex();
|
|
376
377
|
};
|
|
377
|
-
var resolveEd25519KeyHash = (
|
|
378
|
-
return csl.Ed25519KeyHash.from_bech32(
|
|
378
|
+
var resolveEd25519KeyHash = (bech322) => {
|
|
379
|
+
return csl.Ed25519KeyHash.from_bech32(bech322).to_hex();
|
|
379
380
|
};
|
|
380
381
|
|
|
381
382
|
// src/utils/scripts.ts
|
|
@@ -400,14 +401,14 @@ var serialzeAddress = (deserializedAddress, networkId = 0) => {
|
|
|
400
401
|
const addressObj = isPaymentScript ? (0, import_common2.scriptAddress)(paymentHash, stakeHash, isStakeScript) : (0, import_common2.pubKeyAddress)(paymentHash, stakeHash, isStakeScript);
|
|
401
402
|
return serializeAddressObj(addressObj, networkId);
|
|
402
403
|
};
|
|
403
|
-
var addrBech32ToHex = (
|
|
404
|
-
const hexAddress = csl.Address.from_bech32(
|
|
404
|
+
var addrBech32ToHex = (bech322) => {
|
|
405
|
+
const hexAddress = csl.Address.from_bech32(bech322).to_hex();
|
|
405
406
|
const cslAddress = csl.Address.from_hex(hexAddress);
|
|
406
407
|
const hex = csl.PlutusData.from_address(cslAddress).to_hex();
|
|
407
408
|
return hex;
|
|
408
409
|
};
|
|
409
|
-
var addrBech32ToObj = (
|
|
410
|
-
const hexAddress = csl.Address.from_bech32(
|
|
410
|
+
var addrBech32ToObj = (bech322) => {
|
|
411
|
+
const hexAddress = csl.Address.from_bech32(bech322).to_hex();
|
|
411
412
|
const cslAddress = csl.Address.from_hex(hexAddress);
|
|
412
413
|
const json = JSON.parse(csl.PlutusData.from_address(cslAddress).to_json(1));
|
|
413
414
|
return json;
|
|
@@ -645,6 +646,67 @@ var applyCborEncoding = (rawScript) => {
|
|
|
645
646
|
);
|
|
646
647
|
};
|
|
647
648
|
|
|
649
|
+
// src/utils/drep.ts
|
|
650
|
+
var import_base32_encoding = __toESM(require("base32-encoding"), 1);
|
|
651
|
+
var import_bech32 = require("bech32");
|
|
652
|
+
var getDRepIds = (dRepId) => {
|
|
653
|
+
let result = {
|
|
654
|
+
cip105: "",
|
|
655
|
+
cip129: ""
|
|
656
|
+
};
|
|
657
|
+
if (dRepId.length === 58) {
|
|
658
|
+
result.cip129 = dRepId;
|
|
659
|
+
const { prefix, words } = import_bech32.bech32.decode(dRepId);
|
|
660
|
+
if (prefix !== "drep") {
|
|
661
|
+
throw new Error("Malformed CIP129 DRepId");
|
|
662
|
+
}
|
|
663
|
+
const bytes = import_base32_encoding.default.decode(new Uint8Array(words));
|
|
664
|
+
if (bytes[0] === 34) {
|
|
665
|
+
result.cip105 = csl.DRep.new_key_hash(
|
|
666
|
+
csl.Ed25519KeyHash.from_hex(bytes.subarray(1).toString("hex"))
|
|
667
|
+
).to_bech32();
|
|
668
|
+
} else if (bytes[0] === 35) {
|
|
669
|
+
result.cip105 = csl.DRep.new_script_hash(
|
|
670
|
+
csl.ScriptHash.from_hex(bytes.subarray(1).toString("hex"))
|
|
671
|
+
).to_bech32();
|
|
672
|
+
} else {
|
|
673
|
+
throw new Error("Malformed CIP129 DRepId");
|
|
674
|
+
}
|
|
675
|
+
} else {
|
|
676
|
+
result.cip105 = dRepId;
|
|
677
|
+
try {
|
|
678
|
+
const cslDRep = csl.DRep.from_bech32(dRepId);
|
|
679
|
+
if (cslDRep.kind() === csl.DRepKind.KeyHash) {
|
|
680
|
+
let rawBytes = cslDRep.to_key_hash()?.to_bytes();
|
|
681
|
+
if (!rawBytes) {
|
|
682
|
+
throw new Error("Malformed key hash in DRepId");
|
|
683
|
+
}
|
|
684
|
+
let rawBytesWithPrefix = new Uint8Array(rawBytes.length + 1);
|
|
685
|
+
rawBytesWithPrefix.set([34]);
|
|
686
|
+
rawBytesWithPrefix.set(rawBytes, 1);
|
|
687
|
+
let base32RawBytes = import_base32_encoding.default.encode(rawBytesWithPrefix);
|
|
688
|
+
result.cip129 = import_bech32.bech32.encode("drep", base32RawBytes);
|
|
689
|
+
} else if (cslDRep.kind() === csl.DRepKind.ScriptHash) {
|
|
690
|
+
let rawBytes = cslDRep.to_script_hash()?.to_bytes();
|
|
691
|
+
if (!rawBytes) {
|
|
692
|
+
throw new Error("Malformed script hash in DRepId");
|
|
693
|
+
}
|
|
694
|
+
let rawBytesWithPrefix = new Uint8Array(rawBytes.length + 1);
|
|
695
|
+
rawBytesWithPrefix.set([35]);
|
|
696
|
+
rawBytesWithPrefix.set(rawBytes, 1);
|
|
697
|
+
let base32RawBytes = import_base32_encoding.default.encode(rawBytesWithPrefix);
|
|
698
|
+
result.cip129 = import_bech32.bech32.encode("drep", base32RawBytes);
|
|
699
|
+
} else {
|
|
700
|
+
throw new Error("Can only calculate DRepIds for script/key DReps");
|
|
701
|
+
}
|
|
702
|
+
} catch (e) {
|
|
703
|
+
console.error(e);
|
|
704
|
+
throw new Error("Malformed DRepId");
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
return result;
|
|
708
|
+
};
|
|
709
|
+
|
|
648
710
|
// src/core/serializer.ts
|
|
649
711
|
var import_json_bigint2 = __toESM(require("json-bigint"), 1);
|
|
650
712
|
var import_common4 = require("@meshsdk/common");
|
|
@@ -1324,8 +1386,8 @@ var CSLSerializer = class {
|
|
|
1324
1386
|
}
|
|
1325
1387
|
deserializer = {
|
|
1326
1388
|
key: {
|
|
1327
|
-
deserializeAddress: function(
|
|
1328
|
-
return deserializeBech32Address(
|
|
1389
|
+
deserializeAddress: function(bech322) {
|
|
1390
|
+
return deserializeBech32Address(bech322);
|
|
1329
1391
|
}
|
|
1330
1392
|
},
|
|
1331
1393
|
script: {
|
|
@@ -1351,17 +1413,17 @@ var CSLSerializer = class {
|
|
|
1351
1413
|
};
|
|
1352
1414
|
resolver = {
|
|
1353
1415
|
keys: {
|
|
1354
|
-
resolveStakeKeyHash: function(
|
|
1355
|
-
return rewardAddressToKeyHash(
|
|
1416
|
+
resolveStakeKeyHash: function(bech322) {
|
|
1417
|
+
return rewardAddressToKeyHash(bech322) || deserializeBech32Address(bech322).stakeCredentialHash;
|
|
1356
1418
|
},
|
|
1357
1419
|
resolvePrivateKey: function(words) {
|
|
1358
1420
|
return resolvePrivateKey(words);
|
|
1359
1421
|
},
|
|
1360
|
-
resolveRewardAddress: function(
|
|
1361
|
-
return resolveRewardAddress(
|
|
1422
|
+
resolveRewardAddress: function(bech322) {
|
|
1423
|
+
return resolveRewardAddress(bech322);
|
|
1362
1424
|
},
|
|
1363
|
-
resolveEd25519KeyHash: function(
|
|
1364
|
-
return resolveEd25519KeyHash(
|
|
1425
|
+
resolveEd25519KeyHash: function(bech322) {
|
|
1426
|
+
return resolveEd25519KeyHash(bech322);
|
|
1365
1427
|
}
|
|
1366
1428
|
},
|
|
1367
1429
|
tx: {
|
|
@@ -1475,6 +1537,7 @@ var OfflineEvaluator = class {
|
|
|
1475
1537
|
fromBytes,
|
|
1476
1538
|
fromLovelace,
|
|
1477
1539
|
fromUTF8,
|
|
1540
|
+
getDRepIds,
|
|
1478
1541
|
getTransactionInputs,
|
|
1479
1542
|
getV2ScriptHash,
|
|
1480
1543
|
keyHashToRewardAddress,
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _meshsdk_common from '@meshsdk/common';
|
|
2
|
-
import { DeserializedAddress, PubKeyAddress, ScriptAddress, UTxO, Network, Action, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, SimpleScriptTxInParameter, Withdrawal, LanguageVersion, PlutusScript, NativeScript, IEvaluator, IFetcher } from '@meshsdk/common';
|
|
2
|
+
import { DeserializedAddress, PubKeyAddress, ScriptAddress, UTxO, Network, Action, Data, PlutusDataType, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, SimpleScriptTxInParameter, Withdrawal, LanguageVersion, PlutusScript, NativeScript, IEvaluator, IFetcher } from '@meshsdk/common';
|
|
3
3
|
import * as csl from '@sidan-lab/sidan-csl-rs-nodejs';
|
|
4
4
|
export { csl };
|
|
5
5
|
|
|
@@ -44,7 +44,7 @@ declare const getTransactionInputs: (txHex: string) => {
|
|
|
44
44
|
* @param type - The type of the parameters, default to be Mesh's Data type. It could also be in JSON and raw CBOR.
|
|
45
45
|
* @returns The double-cbor encoded script CborHex with the parameters applied.
|
|
46
46
|
*/
|
|
47
|
-
declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?:
|
|
47
|
+
declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?: PlutusDataType) => string;
|
|
48
48
|
/**
|
|
49
49
|
* Apply Cbor encoding.
|
|
50
50
|
*
|
|
@@ -53,6 +53,11 @@ declare const applyParamsToScript: (rawScript: string, params: object[] | Data[]
|
|
|
53
53
|
*/
|
|
54
54
|
declare const applyCborEncoding: (rawScript: string) => string;
|
|
55
55
|
|
|
56
|
+
declare const getDRepIds: (dRepId: string) => {
|
|
57
|
+
cip105: string;
|
|
58
|
+
cip129: string;
|
|
59
|
+
};
|
|
60
|
+
|
|
56
61
|
declare class CSLSerializer implements IMeshTxSerializer {
|
|
57
62
|
/**
|
|
58
63
|
* Set to true to enable verbose logging for the txBodyJson prior going into build
|
|
@@ -259,4 +264,4 @@ declare class OfflineEvaluator implements IEvaluator {
|
|
|
259
264
|
evaluateTx(tx: string): Promise<Omit<Action, "data">[]>;
|
|
260
265
|
}
|
|
261
266
|
|
|
262
|
-
export { CSLSerializer, LANGUAGE_VERSIONS, OfflineEvaluator, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, baseCertToObj, builderDataToCbor, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, certificateToObj, collateralTxInToObj, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, evaluateTransaction, fromBytes, fromLovelace, fromUTF8, getTransactionInputs, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, simpleScriptTxInParameterToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
|
|
267
|
+
export { CSLSerializer, LANGUAGE_VERSIONS, OfflineEvaluator, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, baseCertToObj, builderDataToCbor, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, certificateToObj, collateralTxInToObj, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, evaluateTransaction, fromBytes, fromLovelace, fromUTF8, getDRepIds, getTransactionInputs, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, simpleScriptTxInParameterToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _meshsdk_common from '@meshsdk/common';
|
|
2
|
-
import { DeserializedAddress, PubKeyAddress, ScriptAddress, UTxO, Network, Action, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, SimpleScriptTxInParameter, Withdrawal, LanguageVersion, PlutusScript, NativeScript, IEvaluator, IFetcher } from '@meshsdk/common';
|
|
2
|
+
import { DeserializedAddress, PubKeyAddress, ScriptAddress, UTxO, Network, Action, Data, PlutusDataType, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, SimpleScriptTxInParameter, Withdrawal, LanguageVersion, PlutusScript, NativeScript, IEvaluator, IFetcher } from '@meshsdk/common';
|
|
3
3
|
import * as csl from '@sidan-lab/sidan-csl-rs-nodejs';
|
|
4
4
|
export { csl };
|
|
5
5
|
|
|
@@ -44,7 +44,7 @@ declare const getTransactionInputs: (txHex: string) => {
|
|
|
44
44
|
* @param type - The type of the parameters, default to be Mesh's Data type. It could also be in JSON and raw CBOR.
|
|
45
45
|
* @returns The double-cbor encoded script CborHex with the parameters applied.
|
|
46
46
|
*/
|
|
47
|
-
declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?:
|
|
47
|
+
declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?: PlutusDataType) => string;
|
|
48
48
|
/**
|
|
49
49
|
* Apply Cbor encoding.
|
|
50
50
|
*
|
|
@@ -53,6 +53,11 @@ declare const applyParamsToScript: (rawScript: string, params: object[] | Data[]
|
|
|
53
53
|
*/
|
|
54
54
|
declare const applyCborEncoding: (rawScript: string) => string;
|
|
55
55
|
|
|
56
|
+
declare const getDRepIds: (dRepId: string) => {
|
|
57
|
+
cip105: string;
|
|
58
|
+
cip129: string;
|
|
59
|
+
};
|
|
60
|
+
|
|
56
61
|
declare class CSLSerializer implements IMeshTxSerializer {
|
|
57
62
|
/**
|
|
58
63
|
* Set to true to enable verbose logging for the txBodyJson prior going into build
|
|
@@ -259,4 +264,4 @@ declare class OfflineEvaluator implements IEvaluator {
|
|
|
259
264
|
evaluateTx(tx: string): Promise<Omit<Action, "data">[]>;
|
|
260
265
|
}
|
|
261
266
|
|
|
262
|
-
export { CSLSerializer, LANGUAGE_VERSIONS, OfflineEvaluator, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, baseCertToObj, builderDataToCbor, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, certificateToObj, collateralTxInToObj, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, evaluateTransaction, fromBytes, fromLovelace, fromUTF8, getTransactionInputs, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, simpleScriptTxInParameterToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
|
|
267
|
+
export { CSLSerializer, LANGUAGE_VERSIONS, OfflineEvaluator, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, baseCertToObj, builderDataToCbor, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, certificateToObj, collateralTxInToObj, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, evaluateTransaction, fromBytes, fromLovelace, fromUTF8, getDRepIds, getTransactionInputs, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, simpleScriptTxInParameterToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
|
package/dist/index.js
CHANGED
|
@@ -23,10 +23,10 @@ var POLICY_ID_LENGTH = 56;
|
|
|
23
23
|
|
|
24
24
|
// src/deser/converter.ts
|
|
25
25
|
import JSONbig from "json-bigint";
|
|
26
|
-
var toAddress = (
|
|
27
|
-
var toBaseAddress = (
|
|
28
|
-
var toEnterpriseAddress = (
|
|
29
|
-
var toRewardAddress = (
|
|
26
|
+
var toAddress = (bech322) => csl.Address.from_bech32(bech322);
|
|
27
|
+
var toBaseAddress = (bech322) => csl.BaseAddress.from_address(toAddress(bech322));
|
|
28
|
+
var toEnterpriseAddress = (bech322) => csl.EnterpriseAddress.from_address(toAddress(bech322));
|
|
29
|
+
var toRewardAddress = (bech322) => csl.RewardAddress.from_address(toAddress(bech322));
|
|
30
30
|
var fromBytes = (bytes) => Buffer.from(bytes).toString("hex");
|
|
31
31
|
var toBytes = (hex) => {
|
|
32
32
|
if (hex.length % 2 === 0 && /^[0-9A-F]*$/i.test(hex))
|
|
@@ -167,14 +167,14 @@ var deserializeValue = (value) => csl.Value.from_bytes(toBytes(value));
|
|
|
167
167
|
import {
|
|
168
168
|
mnemonicToEntropy
|
|
169
169
|
} from "@meshsdk/common";
|
|
170
|
-
var resolveStakeKeyHash = (
|
|
170
|
+
var resolveStakeKeyHash = (bech322) => {
|
|
171
171
|
try {
|
|
172
172
|
const stakeKeyHash = [
|
|
173
|
-
toBaseAddress(
|
|
174
|
-
toRewardAddress(
|
|
173
|
+
toBaseAddress(bech322)?.stake_cred().to_keyhash(),
|
|
174
|
+
toRewardAddress(bech322)?.payment_cred().to_keyhash()
|
|
175
175
|
].find((kh) => kh !== void 0);
|
|
176
176
|
if (stakeKeyHash !== void 0) return stakeKeyHash.to_hex();
|
|
177
|
-
throw new Error(`Couldn't resolve stake key hash from address: ${
|
|
177
|
+
throw new Error(`Couldn't resolve stake key hash from address: ${bech322}`);
|
|
178
178
|
} catch (error) {
|
|
179
179
|
throw new Error(`An error occurred during resolveStakeKeyHash: ${error}.`);
|
|
180
180
|
}
|
|
@@ -216,7 +216,7 @@ var resolveScriptHashDRepId = (scriptHash) => {
|
|
|
216
216
|
csl.ScriptHash.from_hex(scriptHash)
|
|
217
217
|
).to_bech32();
|
|
218
218
|
};
|
|
219
|
-
var resolveRewardAddress = (
|
|
219
|
+
var resolveRewardAddress = (bech322) => {
|
|
220
220
|
const buildRewardAddress = (networkId, stakeKeyHash) => {
|
|
221
221
|
return csl.RewardAddress.new(
|
|
222
222
|
networkId,
|
|
@@ -224,12 +224,12 @@ var resolveRewardAddress = (bech32) => {
|
|
|
224
224
|
);
|
|
225
225
|
};
|
|
226
226
|
try {
|
|
227
|
-
const address = toAddress(
|
|
228
|
-
const baseAddress = toBaseAddress(
|
|
227
|
+
const address = toAddress(bech322);
|
|
228
|
+
const baseAddress = toBaseAddress(bech322);
|
|
229
229
|
const stakeKeyHash = baseAddress?.stake_cred().to_keyhash();
|
|
230
230
|
if (stakeKeyHash !== void 0)
|
|
231
231
|
return buildRewardAddress(address.network_id(), stakeKeyHash).to_address().to_bech32();
|
|
232
|
-
throw new Error(`Couldn't resolve reward address from address: ${
|
|
232
|
+
throw new Error(`Couldn't resolve reward address from address: ${bech322}`);
|
|
233
233
|
} catch (error) {
|
|
234
234
|
throw new Error(`An error occurred during resolveRewardAddress: ${error}.`);
|
|
235
235
|
}
|
|
@@ -248,8 +248,8 @@ var serializePoolId = (hash) => {
|
|
|
248
248
|
var resolveScriptRef = (script) => {
|
|
249
249
|
return toScriptRef(script).to_hex();
|
|
250
250
|
};
|
|
251
|
-
var resolveEd25519KeyHash = (
|
|
252
|
-
return csl.Ed25519KeyHash.from_bech32(
|
|
251
|
+
var resolveEd25519KeyHash = (bech322) => {
|
|
252
|
+
return csl.Ed25519KeyHash.from_bech32(bech322).to_hex();
|
|
253
253
|
};
|
|
254
254
|
|
|
255
255
|
// src/utils/scripts.ts
|
|
@@ -274,14 +274,14 @@ var serialzeAddress = (deserializedAddress, networkId = 0) => {
|
|
|
274
274
|
const addressObj = isPaymentScript ? scriptAddress(paymentHash, stakeHash, isStakeScript) : pubKeyAddress(paymentHash, stakeHash, isStakeScript);
|
|
275
275
|
return serializeAddressObj(addressObj, networkId);
|
|
276
276
|
};
|
|
277
|
-
var addrBech32ToHex = (
|
|
278
|
-
const hexAddress = csl.Address.from_bech32(
|
|
277
|
+
var addrBech32ToHex = (bech322) => {
|
|
278
|
+
const hexAddress = csl.Address.from_bech32(bech322).to_hex();
|
|
279
279
|
const cslAddress = csl.Address.from_hex(hexAddress);
|
|
280
280
|
const hex = csl.PlutusData.from_address(cslAddress).to_hex();
|
|
281
281
|
return hex;
|
|
282
282
|
};
|
|
283
|
-
var addrBech32ToObj = (
|
|
284
|
-
const hexAddress = csl.Address.from_bech32(
|
|
283
|
+
var addrBech32ToObj = (bech322) => {
|
|
284
|
+
const hexAddress = csl.Address.from_bech32(bech322).to_hex();
|
|
285
285
|
const cslAddress = csl.Address.from_hex(hexAddress);
|
|
286
286
|
const json = JSON.parse(csl.PlutusData.from_address(cslAddress).to_json(1));
|
|
287
287
|
return json;
|
|
@@ -519,6 +519,67 @@ var applyCborEncoding = (rawScript) => {
|
|
|
519
519
|
);
|
|
520
520
|
};
|
|
521
521
|
|
|
522
|
+
// src/utils/drep.ts
|
|
523
|
+
import base32 from "base32-encoding";
|
|
524
|
+
import { bech32 } from "bech32";
|
|
525
|
+
var getDRepIds = (dRepId) => {
|
|
526
|
+
let result = {
|
|
527
|
+
cip105: "",
|
|
528
|
+
cip129: ""
|
|
529
|
+
};
|
|
530
|
+
if (dRepId.length === 58) {
|
|
531
|
+
result.cip129 = dRepId;
|
|
532
|
+
const { prefix, words } = bech32.decode(dRepId);
|
|
533
|
+
if (prefix !== "drep") {
|
|
534
|
+
throw new Error("Malformed CIP129 DRepId");
|
|
535
|
+
}
|
|
536
|
+
const bytes = base32.decode(new Uint8Array(words));
|
|
537
|
+
if (bytes[0] === 34) {
|
|
538
|
+
result.cip105 = csl.DRep.new_key_hash(
|
|
539
|
+
csl.Ed25519KeyHash.from_hex(bytes.subarray(1).toString("hex"))
|
|
540
|
+
).to_bech32();
|
|
541
|
+
} else if (bytes[0] === 35) {
|
|
542
|
+
result.cip105 = csl.DRep.new_script_hash(
|
|
543
|
+
csl.ScriptHash.from_hex(bytes.subarray(1).toString("hex"))
|
|
544
|
+
).to_bech32();
|
|
545
|
+
} else {
|
|
546
|
+
throw new Error("Malformed CIP129 DRepId");
|
|
547
|
+
}
|
|
548
|
+
} else {
|
|
549
|
+
result.cip105 = dRepId;
|
|
550
|
+
try {
|
|
551
|
+
const cslDRep = csl.DRep.from_bech32(dRepId);
|
|
552
|
+
if (cslDRep.kind() === csl.DRepKind.KeyHash) {
|
|
553
|
+
let rawBytes = cslDRep.to_key_hash()?.to_bytes();
|
|
554
|
+
if (!rawBytes) {
|
|
555
|
+
throw new Error("Malformed key hash in DRepId");
|
|
556
|
+
}
|
|
557
|
+
let rawBytesWithPrefix = new Uint8Array(rawBytes.length + 1);
|
|
558
|
+
rawBytesWithPrefix.set([34]);
|
|
559
|
+
rawBytesWithPrefix.set(rawBytes, 1);
|
|
560
|
+
let base32RawBytes = base32.encode(rawBytesWithPrefix);
|
|
561
|
+
result.cip129 = bech32.encode("drep", base32RawBytes);
|
|
562
|
+
} else if (cslDRep.kind() === csl.DRepKind.ScriptHash) {
|
|
563
|
+
let rawBytes = cslDRep.to_script_hash()?.to_bytes();
|
|
564
|
+
if (!rawBytes) {
|
|
565
|
+
throw new Error("Malformed script hash in DRepId");
|
|
566
|
+
}
|
|
567
|
+
let rawBytesWithPrefix = new Uint8Array(rawBytes.length + 1);
|
|
568
|
+
rawBytesWithPrefix.set([35]);
|
|
569
|
+
rawBytesWithPrefix.set(rawBytes, 1);
|
|
570
|
+
let base32RawBytes = base32.encode(rawBytesWithPrefix);
|
|
571
|
+
result.cip129 = bech32.encode("drep", base32RawBytes);
|
|
572
|
+
} else {
|
|
573
|
+
throw new Error("Can only calculate DRepIds for script/key DReps");
|
|
574
|
+
}
|
|
575
|
+
} catch (e) {
|
|
576
|
+
console.error(e);
|
|
577
|
+
throw new Error("Malformed DRepId");
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
return result;
|
|
581
|
+
};
|
|
582
|
+
|
|
522
583
|
// src/core/serializer.ts
|
|
523
584
|
import JSONbig2 from "json-bigint";
|
|
524
585
|
import {
|
|
@@ -1201,8 +1262,8 @@ var CSLSerializer = class {
|
|
|
1201
1262
|
}
|
|
1202
1263
|
deserializer = {
|
|
1203
1264
|
key: {
|
|
1204
|
-
deserializeAddress: function(
|
|
1205
|
-
return deserializeBech32Address(
|
|
1265
|
+
deserializeAddress: function(bech322) {
|
|
1266
|
+
return deserializeBech32Address(bech322);
|
|
1206
1267
|
}
|
|
1207
1268
|
},
|
|
1208
1269
|
script: {
|
|
@@ -1228,17 +1289,17 @@ var CSLSerializer = class {
|
|
|
1228
1289
|
};
|
|
1229
1290
|
resolver = {
|
|
1230
1291
|
keys: {
|
|
1231
|
-
resolveStakeKeyHash: function(
|
|
1232
|
-
return rewardAddressToKeyHash(
|
|
1292
|
+
resolveStakeKeyHash: function(bech322) {
|
|
1293
|
+
return rewardAddressToKeyHash(bech322) || deserializeBech32Address(bech322).stakeCredentialHash;
|
|
1233
1294
|
},
|
|
1234
1295
|
resolvePrivateKey: function(words) {
|
|
1235
1296
|
return resolvePrivateKey(words);
|
|
1236
1297
|
},
|
|
1237
|
-
resolveRewardAddress: function(
|
|
1238
|
-
return resolveRewardAddress(
|
|
1298
|
+
resolveRewardAddress: function(bech322) {
|
|
1299
|
+
return resolveRewardAddress(bech322);
|
|
1239
1300
|
},
|
|
1240
|
-
resolveEd25519KeyHash: function(
|
|
1241
|
-
return resolveEd25519KeyHash(
|
|
1301
|
+
resolveEd25519KeyHash: function(bech322) {
|
|
1302
|
+
return resolveEd25519KeyHash(bech322);
|
|
1242
1303
|
}
|
|
1243
1304
|
},
|
|
1244
1305
|
tx: {
|
|
@@ -1351,6 +1412,7 @@ export {
|
|
|
1351
1412
|
fromBytes,
|
|
1352
1413
|
fromLovelace,
|
|
1353
1414
|
fromUTF8,
|
|
1415
|
+
getDRepIds,
|
|
1354
1416
|
getTransactionInputs,
|
|
1355
1417
|
getV2ScriptHash,
|
|
1356
1418
|
keyHashToRewardAddress,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshsdk/core-csl",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "1.7.21",
|
|
4
|
+
"description": "Types and utilities functions between Mesh and cardano-serialization-lib",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@meshsdk/configs": "*",
|
|
34
|
-
"@meshsdk/provider": "1.7.
|
|
34
|
+
"@meshsdk/provider": "1.7.21",
|
|
35
35
|
"@types/json-bigint": "^1.0.4",
|
|
36
36
|
"eslint": "^8.57.0",
|
|
37
37
|
"ts-jest": "^29.1.4",
|
|
@@ -39,9 +39,12 @@
|
|
|
39
39
|
"typescript": "^5.3.3"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@meshsdk/common": "1.7.
|
|
42
|
+
"@meshsdk/common": "1.7.21",
|
|
43
43
|
"@sidan-lab/sidan-csl-rs-browser": "0.9.6",
|
|
44
44
|
"@sidan-lab/sidan-csl-rs-nodejs": "0.9.6",
|
|
45
|
+
"@types/base32-encoding": "^1.0.2",
|
|
46
|
+
"base32-encoding": "^1.0.0",
|
|
47
|
+
"bech32": "^2.0.0",
|
|
45
48
|
"json-bigint": "^1.0.0"
|
|
46
49
|
},
|
|
47
50
|
"prettier": "@meshsdk/configs/prettier",
|