@meshsdk/core-cst 1.9.0-beta.101 → 1.9.0-beta.103

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 CHANGED
@@ -2740,6 +2740,7 @@ __export(index_exports, {
2740
2740
  buildScriptPubkey: () => buildScriptPubkey,
2741
2741
  bytesToHex: () => bytesToHex,
2742
2742
  calculateFees: () => calculateFees,
2743
+ cborMapToUtxos: () => cborMapToUtxos,
2743
2744
  checkSignature: () => checkSignature,
2744
2745
  clampScalar: () => clampScalar,
2745
2746
  computeAuxiliaryDataHash: () => computeAuxiliaryDataHash,
@@ -2815,6 +2816,7 @@ __export(index_exports, {
2815
2816
  toValue: () => toValue,
2816
2817
  utf8ToBytes: () => utf8ToBytes,
2817
2818
  utf8ToHex: () => utf8ToHex,
2819
+ utxosToCborMap: () => utxosToCborMap,
2818
2820
  v2ScriptToBech32: () => v2ScriptToBech32
2819
2821
  });
2820
2822
  module.exports = __toCommonJS(index_exports);
@@ -3171,6 +3173,7 @@ var POOL_SIZE_MULTIPLIER = 128;
3171
3173
  var pool;
3172
3174
  var poolOffset;
3173
3175
  var fillPool = (bytes) => {
3176
+ if (bytes < 0 || bytes > 1024) throw new RangeError("Wrong ID size");
3174
3177
  if (!pool || pool.length < bytes) {
3175
3178
  pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
3176
3179
  import_crypto2.default.randomFillSync(pool);
@@ -3269,10 +3272,10 @@ var buildBaseAddress = (networkId, paymentKeyHash, stakeKeyHash, paymentCredType
3269
3272
  }
3270
3273
  );
3271
3274
  };
3272
- var buildEnterpriseAddress = (networkId, paymentKeyHash) => {
3275
+ var buildEnterpriseAddress = (networkId, paymentKeyHash, paymentCredType = CredentialType.KeyHash) => {
3273
3276
  return EnterpriseAddress.fromCredentials(networkId, {
3274
3277
  hash: paymentKeyHash,
3275
- type: CredentialType.KeyHash
3278
+ type: paymentCredType
3276
3279
  });
3277
3280
  };
3278
3281
  var clampScalar = (scalar) => {
@@ -3299,9 +3302,9 @@ var buildBip32PrivateKey = (entropy, password = "") => {
3299
3302
  );
3300
3303
  return Bip32PrivateKey2.fromBytes(clampScalar(xprv));
3301
3304
  };
3302
- var buildRewardAddress = (networkId, stakeKeyHash) => {
3305
+ var buildRewardAddress = (networkId, stakeKeyHash, stakeCredType = CredentialType.KeyHash) => {
3303
3306
  const cred = {
3304
- type: CredentialType.KeyHash,
3307
+ type: stakeCredType,
3305
3308
  hash: stakeKeyHash
3306
3309
  };
3307
3310
  return RewardAddress.fromCredentials(networkId, cred);
@@ -3960,6 +3963,42 @@ var toPlutusLanguageVersion = (version) => {
3960
3963
  return PlutusLanguageVersion.V3;
3961
3964
  }
3962
3965
  };
3966
+ var utxosToCborMap = (utxos) => {
3967
+ const cborWriter = new import_core3.Serialization.CborWriter();
3968
+ cborWriter.writeStartMap(utxos.length);
3969
+ for (const utxo of utxos) {
3970
+ const cardanoUtxo = toTxUnspentOutput(utxo);
3971
+ cborWriter.writeEncodedValue(
3972
+ Buffer.from(cardanoUtxo.input().toCbor(), "hex")
3973
+ );
3974
+ cborWriter.writeEncodedValue(
3975
+ Buffer.from(cardanoUtxo.output().toCbor(), "hex")
3976
+ );
3977
+ }
3978
+ return cborWriter.encodeAsHex();
3979
+ };
3980
+ var cborMapToUtxos = (cborMaps) => {
3981
+ const utxos = [];
3982
+ for (const cborMap of cborMaps) {
3983
+ const cborReader = new import_core3.Serialization.CborReader(
3984
+ Buffer.from(cborMap, "hex")
3985
+ );
3986
+ const mapLength = cborReader.readStartMap();
3987
+ if (!mapLength) {
3988
+ throw new Error("Invalid CBOR map: expected a map of UTxOs");
3989
+ }
3990
+ for (let i = 0; i < mapLength; i++) {
3991
+ const inputCbor = cborReader.readEncodedValue();
3992
+ const outputCbor = cborReader.readEncodedValue();
3993
+ const utxo = import_core3.Serialization.TransactionUnspentOutput.fromCore([
3994
+ import_core3.Serialization.TransactionInput.fromCbor(inputCbor).toCore(),
3995
+ import_core3.Serialization.TransactionOutput.fromCbor(outputCbor).toCore()
3996
+ ]);
3997
+ utxos.push(fromTxUnspentOutput(utxo));
3998
+ }
3999
+ }
4000
+ return utxos;
4001
+ };
3963
4002
 
3964
4003
  // src/utils/value.ts
3965
4004
  function mergeValue(a, b) {
@@ -5926,7 +5965,12 @@ var CardanoSDKSerializerCore = class {
5926
5965
  if (txBuilderBody.fee !== void 0) {
5927
5966
  this.txBody.setFee(BigInt(txBuilderBody.fee));
5928
5967
  }
5929
- this.buildWitnessSet();
5968
+ const setCostModels = Array.isArray(txBuilderBody.network) ? txBuilderBody.network : [
5969
+ import_common10.DEFAULT_V1_COST_MODEL_LIST,
5970
+ import_common10.DEFAULT_V2_COST_MODEL_LIST,
5971
+ import_common10.DEFAULT_V3_COST_MODEL_LIST
5972
+ ];
5973
+ this.buildWitnessSet(setCostModels);
5930
5974
  return new Transaction(
5931
5975
  bodyCore,
5932
5976
  this.txWitnessSet,
@@ -5935,9 +5979,15 @@ var CardanoSDKSerializerCore = class {
5935
5979
  }
5936
5980
  coreSerializeTxWithMockSignatures(txBuilderBody) {
5937
5981
  const bodyCore = this.coreSerializeTxBody(txBuilderBody);
5982
+ const setCostModels = Array.isArray(txBuilderBody.network) ? txBuilderBody.network : [
5983
+ import_common10.DEFAULT_V1_COST_MODEL_LIST,
5984
+ import_common10.DEFAULT_V2_COST_MODEL_LIST,
5985
+ import_common10.DEFAULT_V3_COST_MODEL_LIST
5986
+ ];
5938
5987
  const mockWitSet = this.createMockedWitnessSet(
5939
5988
  txBuilderBody.expectedNumberKeyWitnesses,
5940
- txBuilderBody.expectedByronAddressWitnesses
5989
+ txBuilderBody.expectedByronAddressWitnesses,
5990
+ setCostModels
5941
5991
  );
5942
5992
  return new Transaction(
5943
5993
  bodyCore,
@@ -6533,8 +6583,8 @@ var CardanoSDKSerializerCore = class {
6533
6583
  this.txAuxilliaryData.setPlutusV2Scripts(plutusV2ScriptArray);
6534
6584
  this.txAuxilliaryData.setPlutusV3Scripts(plutusV3ScriptArray);
6535
6585
  };
6536
- createMockedWitnessSet = (requiredSignaturesCount, requiredByronSignatures) => {
6537
- this.buildWitnessSet();
6586
+ createMockedWitnessSet = (requiredSignaturesCount, requiredByronSignatures, setCostModels) => {
6587
+ this.buildWitnessSet(setCostModels);
6538
6588
  const clonedWitnessSet = TransactionWitnessSet.fromCbor(
6539
6589
  this.txWitnessSet.toCbor()
6540
6590
  );
@@ -6550,7 +6600,7 @@ var CardanoSDKSerializerCore = class {
6550
6600
  clonedWitnessSet.setVkeys(vkeysSet);
6551
6601
  return clonedWitnessSet;
6552
6602
  };
6553
- buildWitnessSet = () => {
6603
+ buildWitnessSet = (setCostModels) => {
6554
6604
  let nativeScripts = this.txWitnessSet.nativeScripts() ?? import_core9.Serialization.CborSet.fromCore([], NativeScript.fromCore);
6555
6605
  let v1Scripts = this.txWitnessSet.plutusV1Scripts() ?? import_core9.Serialization.CborSet.fromCore([], PlutusV1Script.fromCore);
6556
6606
  let v2Scripts = this.txWitnessSet.plutusV2Scripts() ?? import_core9.Serialization.CborSet.fromCore([], PlutusV2Script.fromCore);
@@ -6587,13 +6637,13 @@ var CardanoSDKSerializerCore = class {
6587
6637
  datums.setValues(datumsList);
6588
6638
  this.txWitnessSet.setPlutusData(datums);
6589
6639
  let costModelV1 = import_core9.Serialization.CostModel.newPlutusV1(
6590
- import_common10.DEFAULT_V1_COST_MODEL_LIST
6640
+ setCostModels[0] ?? import_common10.DEFAULT_V1_COST_MODEL_LIST
6591
6641
  );
6592
6642
  let costModelV2 = import_core9.Serialization.CostModel.newPlutusV2(
6593
- import_common10.DEFAULT_V2_COST_MODEL_LIST
6643
+ setCostModels[1] ?? import_common10.DEFAULT_V2_COST_MODEL_LIST
6594
6644
  );
6595
6645
  let costModelV3 = import_core9.Serialization.CostModel.newPlutusV3(
6596
- import_common10.DEFAULT_V3_COST_MODEL_LIST
6646
+ setCostModels[2] ?? import_common10.DEFAULT_V3_COST_MODEL_LIST
6597
6647
  );
6598
6648
  let costModels = new import_core9.Serialization.Costmdls();
6599
6649
  if (this.usedLanguages[PlutusLanguageVersion.V1]) {
@@ -7243,6 +7293,7 @@ var CardanoSDK = __toESM(require("@cardano-sdk/core"), 1);
7243
7293
  buildScriptPubkey,
7244
7294
  bytesToHex,
7245
7295
  calculateFees,
7296
+ cborMapToUtxos,
7246
7297
  checkSignature,
7247
7298
  clampScalar,
7248
7299
  computeAuxiliaryDataHash,
@@ -7318,5 +7369,6 @@ var CardanoSDK = __toESM(require("@cardano-sdk/core"), 1);
7318
7369
  toValue,
7319
7370
  utf8ToBytes,
7320
7371
  utf8ToHex,
7372
+ utxosToCborMap,
7321
7373
  v2ScriptToBech32
7322
7374
  });
package/dist/index.d.cts CHANGED
@@ -337,10 +337,10 @@ declare class CardanoSDKSerializer implements IMeshTxSerializer {
337
337
  }
338
338
 
339
339
  declare const buildBaseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16, stakeKeyHash: Hash28ByteBase16, paymentCredType?: CredentialType, stakeCredType?: CredentialType) => BaseAddress;
340
- declare const buildEnterpriseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16) => EnterpriseAddress;
340
+ declare const buildEnterpriseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16, paymentCredType?: CredentialType) => EnterpriseAddress;
341
341
  declare const clampScalar: (scalar: Buffer) => Buffer;
342
342
  declare const buildBip32PrivateKey: (entropy: string, password?: string) => Bip32PrivateKey;
343
- declare const buildRewardAddress: (networkId: number, stakeKeyHash: Hash28ByteBase16) => RewardAddress;
343
+ declare const buildRewardAddress: (networkId: number, stakeKeyHash: Hash28ByteBase16, stakeCredType?: CredentialType) => RewardAddress;
344
344
  /**
345
345
  * Build a set of keys from a given private key
346
346
  *
@@ -380,6 +380,8 @@ declare const getDRepIds: (dRepId: string) => {
380
380
  cip129: string;
381
381
  };
382
382
  declare const toPlutusLanguageVersion: (version: LanguageVersion) => PlutusLanguageVersion;
383
+ declare const utxosToCborMap: (utxos: UTxO[]) => string;
384
+ declare const cborMapToUtxos: (cborMaps: string[]) => UTxO[];
383
385
 
384
386
  declare const deserializeEd25519KeyHash: (ed25519KeyHash: string) => Ed25519KeyHash;
385
387
  declare const deserializePlutusScript: (plutusScript: string, version: LanguageVersion) => PlutusV1Script | PlutusV2Script | PlutusV3Script;
@@ -456,4 +458,4 @@ declare const normalizePlutusScript: (plutusScript: string, encoding: OutputEnco
456
458
  declare const applyEncoding: (plutusScript: Uint8Array, outputEncoding: OutputEncoding) => Uint8Array;
457
459
  declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?: PlutusDataType) => string;
458
460
 
459
- export { Address, AddressType, AssetFingerprint, AssetId, AssetName, type AuxiliaryData, AuxilliaryData, BaseAddress, Bip32PrivateKey, Bip32PrivateKeyHex, Bip32PublicKey, Bip32PublicKeyHex, BootstrapWitness, type ByronAttributes, CardanoSDKSerializer, CborSet, CborWriter, CertIndex, Certificate, CertificateType, ConstrPlutusData, CoseSign1, CostModel, type CostModels, Costmdls, Credential, type CredentialCore, CredentialType, DRep, DRepID, Datum, DatumHash, DatumKind, Ed25519KeyHash, Ed25519KeyHashHex, Ed25519PrivateExtendedKeyHex, Ed25519PrivateKey, Ed25519PrivateNormalKeyHex, Ed25519PublicKey, Ed25519PublicKeyHex, Ed25519Signature, Ed25519SignatureHex, EnterpriseAddress, ExUnits, Hash, Hash28ByteBase16, Hash32ByteBase16, HexBlob, type Metadatum, MetadatumList, MetadatumMap, NativeScript, NetworkId, type OutputEncoding, PaymentAddress, PlutusData, PlutusDataKind, PlutusLanguageVersion, PlutusList, PlutusMap, PlutusV1Script, PlutusV2Script, PlutusV3Script, PointerAddress, PolicyId, PoolId, Redeemer, RedeemerPurpose, RedeemerTag, Redeemers, RequireAllOf, RequireAnyOf, RequireNOf, RequireSignature, RequireTimeAfter, RequireTimeBefore, RewardAccount, RewardAddress, Script, ScriptHash, ScriptPubkey, type Signatures, type Signer, Slot, StakeCredentialStatus, StakeDelegation, type StakeDelegationCertificate, StakeRegistration, type TokenMap, Transaction, TransactionBody, TransactionId, TransactionInput, type TransactionInputSet, TransactionMetadatum, TransactionOutput, TransactionUnspentOutput, type TransactionWitnessPlutusData, TransactionWitnessSet, TxCBOR, TxIndex, Value, VkeyWitness, VrfVkBech32, type Witness, addVKeyWitnessSetToTransaction, addrBech32ToPlutusDataHex, addrBech32ToPlutusDataObj, addressToBech32, applyEncoding, applyParamsToScript, assetTypes, blake2b, buildBaseAddress, buildBip32PrivateKey, buildDRepID, buildEd25519PrivateKeyFromSecretKey, buildEnterpriseAddress, buildKeys, buildRewardAddress, buildScriptPubkey, bytesToHex, calculateFees, checkSignature, clampScalar, computeAuxiliaryDataHash, deserializeAddress, deserializeBech32Address, deserializeDataHash, deserializeEd25519KeyHash, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxHash, deserializeTxUnspentOutput, deserializeValue, empty, fromBuilderToPlutusData, fromJsonToPlutusData, fromNativeScript, fromPlutusDataToJson, fromScriptRef, fromTxUnspentOutput, fromValue, generateNonce, getCoseKeyFromPublicKey, getDRepIds, getPublicKeyFromCoseKey, hexToBech32, hexToBytes, keyHashToRewardAddress, mergeValue, negateValue, negatives, normalizePlutusScript, parseDatumCbor, parseInlineDatum, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolvePaymentKeyHash, resolvePlutusScriptAddress, resolvePlutusScriptHash, resolvePoolId, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, resolveTxHash, scriptHashToBech32, scriptHashToRewardAddress, serializeAddress, serializeAddressObj, serializePlutusAddressToBech32, signData, subValue, toAddress, toBaseAddress, toCardanoAddress, toCardanoAnchor, toCardanoGovernanceActionId, toCardanoProposalProcedure, toDRep, toEnterpriseAddress, toNativeScript, toPlutusData, toPlutusLanguageVersion, toRewardAddress, toScriptRef, toTxUnspentOutput, toValue, utf8ToBytes, utf8ToHex, v2ScriptToBech32 };
461
+ export { Address, AddressType, AssetFingerprint, AssetId, AssetName, type AuxiliaryData, AuxilliaryData, BaseAddress, Bip32PrivateKey, Bip32PrivateKeyHex, Bip32PublicKey, Bip32PublicKeyHex, BootstrapWitness, type ByronAttributes, CardanoSDKSerializer, CborSet, CborWriter, CertIndex, Certificate, CertificateType, ConstrPlutusData, CoseSign1, CostModel, type CostModels, Costmdls, Credential, type CredentialCore, CredentialType, DRep, DRepID, Datum, DatumHash, DatumKind, Ed25519KeyHash, Ed25519KeyHashHex, Ed25519PrivateExtendedKeyHex, Ed25519PrivateKey, Ed25519PrivateNormalKeyHex, Ed25519PublicKey, Ed25519PublicKeyHex, Ed25519Signature, Ed25519SignatureHex, EnterpriseAddress, ExUnits, Hash, Hash28ByteBase16, Hash32ByteBase16, HexBlob, type Metadatum, MetadatumList, MetadatumMap, NativeScript, NetworkId, type OutputEncoding, PaymentAddress, PlutusData, PlutusDataKind, PlutusLanguageVersion, PlutusList, PlutusMap, PlutusV1Script, PlutusV2Script, PlutusV3Script, PointerAddress, PolicyId, PoolId, Redeemer, RedeemerPurpose, RedeemerTag, Redeemers, RequireAllOf, RequireAnyOf, RequireNOf, RequireSignature, RequireTimeAfter, RequireTimeBefore, RewardAccount, RewardAddress, Script, ScriptHash, ScriptPubkey, type Signatures, type Signer, Slot, StakeCredentialStatus, StakeDelegation, type StakeDelegationCertificate, StakeRegistration, type TokenMap, Transaction, TransactionBody, TransactionId, TransactionInput, type TransactionInputSet, TransactionMetadatum, TransactionOutput, TransactionUnspentOutput, type TransactionWitnessPlutusData, TransactionWitnessSet, TxCBOR, TxIndex, Value, VkeyWitness, VrfVkBech32, type Witness, addVKeyWitnessSetToTransaction, addrBech32ToPlutusDataHex, addrBech32ToPlutusDataObj, addressToBech32, applyEncoding, applyParamsToScript, assetTypes, blake2b, buildBaseAddress, buildBip32PrivateKey, buildDRepID, buildEd25519PrivateKeyFromSecretKey, buildEnterpriseAddress, buildKeys, buildRewardAddress, buildScriptPubkey, bytesToHex, calculateFees, cborMapToUtxos, checkSignature, clampScalar, computeAuxiliaryDataHash, deserializeAddress, deserializeBech32Address, deserializeDataHash, deserializeEd25519KeyHash, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxHash, deserializeTxUnspentOutput, deserializeValue, empty, fromBuilderToPlutusData, fromJsonToPlutusData, fromNativeScript, fromPlutusDataToJson, fromScriptRef, fromTxUnspentOutput, fromValue, generateNonce, getCoseKeyFromPublicKey, getDRepIds, getPublicKeyFromCoseKey, hexToBech32, hexToBytes, keyHashToRewardAddress, mergeValue, negateValue, negatives, normalizePlutusScript, parseDatumCbor, parseInlineDatum, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolvePaymentKeyHash, resolvePlutusScriptAddress, resolvePlutusScriptHash, resolvePoolId, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, resolveTxHash, scriptHashToBech32, scriptHashToRewardAddress, serializeAddress, serializeAddressObj, serializePlutusAddressToBech32, signData, subValue, toAddress, toBaseAddress, toCardanoAddress, toCardanoAnchor, toCardanoGovernanceActionId, toCardanoProposalProcedure, toDRep, toEnterpriseAddress, toNativeScript, toPlutusData, toPlutusLanguageVersion, toRewardAddress, toScriptRef, toTxUnspentOutput, toValue, utf8ToBytes, utf8ToHex, utxosToCborMap, v2ScriptToBech32 };
package/dist/index.d.ts CHANGED
@@ -337,10 +337,10 @@ declare class CardanoSDKSerializer implements IMeshTxSerializer {
337
337
  }
338
338
 
339
339
  declare const buildBaseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16, stakeKeyHash: Hash28ByteBase16, paymentCredType?: CredentialType, stakeCredType?: CredentialType) => BaseAddress;
340
- declare const buildEnterpriseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16) => EnterpriseAddress;
340
+ declare const buildEnterpriseAddress: (networkId: number, paymentKeyHash: Hash28ByteBase16, paymentCredType?: CredentialType) => EnterpriseAddress;
341
341
  declare const clampScalar: (scalar: Buffer) => Buffer;
342
342
  declare const buildBip32PrivateKey: (entropy: string, password?: string) => Bip32PrivateKey;
343
- declare const buildRewardAddress: (networkId: number, stakeKeyHash: Hash28ByteBase16) => RewardAddress;
343
+ declare const buildRewardAddress: (networkId: number, stakeKeyHash: Hash28ByteBase16, stakeCredType?: CredentialType) => RewardAddress;
344
344
  /**
345
345
  * Build a set of keys from a given private key
346
346
  *
@@ -380,6 +380,8 @@ declare const getDRepIds: (dRepId: string) => {
380
380
  cip129: string;
381
381
  };
382
382
  declare const toPlutusLanguageVersion: (version: LanguageVersion) => PlutusLanguageVersion;
383
+ declare const utxosToCborMap: (utxos: UTxO[]) => string;
384
+ declare const cborMapToUtxos: (cborMaps: string[]) => UTxO[];
383
385
 
384
386
  declare const deserializeEd25519KeyHash: (ed25519KeyHash: string) => Ed25519KeyHash;
385
387
  declare const deserializePlutusScript: (plutusScript: string, version: LanguageVersion) => PlutusV1Script | PlutusV2Script | PlutusV3Script;
@@ -456,4 +458,4 @@ declare const normalizePlutusScript: (plutusScript: string, encoding: OutputEnco
456
458
  declare const applyEncoding: (plutusScript: Uint8Array, outputEncoding: OutputEncoding) => Uint8Array;
457
459
  declare const applyParamsToScript: (rawScript: string, params: object[] | Data[], type?: PlutusDataType) => string;
458
460
 
459
- export { Address, AddressType, AssetFingerprint, AssetId, AssetName, type AuxiliaryData, AuxilliaryData, BaseAddress, Bip32PrivateKey, Bip32PrivateKeyHex, Bip32PublicKey, Bip32PublicKeyHex, BootstrapWitness, type ByronAttributes, CardanoSDKSerializer, CborSet, CborWriter, CertIndex, Certificate, CertificateType, ConstrPlutusData, CoseSign1, CostModel, type CostModels, Costmdls, Credential, type CredentialCore, CredentialType, DRep, DRepID, Datum, DatumHash, DatumKind, Ed25519KeyHash, Ed25519KeyHashHex, Ed25519PrivateExtendedKeyHex, Ed25519PrivateKey, Ed25519PrivateNormalKeyHex, Ed25519PublicKey, Ed25519PublicKeyHex, Ed25519Signature, Ed25519SignatureHex, EnterpriseAddress, ExUnits, Hash, Hash28ByteBase16, Hash32ByteBase16, HexBlob, type Metadatum, MetadatumList, MetadatumMap, NativeScript, NetworkId, type OutputEncoding, PaymentAddress, PlutusData, PlutusDataKind, PlutusLanguageVersion, PlutusList, PlutusMap, PlutusV1Script, PlutusV2Script, PlutusV3Script, PointerAddress, PolicyId, PoolId, Redeemer, RedeemerPurpose, RedeemerTag, Redeemers, RequireAllOf, RequireAnyOf, RequireNOf, RequireSignature, RequireTimeAfter, RequireTimeBefore, RewardAccount, RewardAddress, Script, ScriptHash, ScriptPubkey, type Signatures, type Signer, Slot, StakeCredentialStatus, StakeDelegation, type StakeDelegationCertificate, StakeRegistration, type TokenMap, Transaction, TransactionBody, TransactionId, TransactionInput, type TransactionInputSet, TransactionMetadatum, TransactionOutput, TransactionUnspentOutput, type TransactionWitnessPlutusData, TransactionWitnessSet, TxCBOR, TxIndex, Value, VkeyWitness, VrfVkBech32, type Witness, addVKeyWitnessSetToTransaction, addrBech32ToPlutusDataHex, addrBech32ToPlutusDataObj, addressToBech32, applyEncoding, applyParamsToScript, assetTypes, blake2b, buildBaseAddress, buildBip32PrivateKey, buildDRepID, buildEd25519PrivateKeyFromSecretKey, buildEnterpriseAddress, buildKeys, buildRewardAddress, buildScriptPubkey, bytesToHex, calculateFees, checkSignature, clampScalar, computeAuxiliaryDataHash, deserializeAddress, deserializeBech32Address, deserializeDataHash, deserializeEd25519KeyHash, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxHash, deserializeTxUnspentOutput, deserializeValue, empty, fromBuilderToPlutusData, fromJsonToPlutusData, fromNativeScript, fromPlutusDataToJson, fromScriptRef, fromTxUnspentOutput, fromValue, generateNonce, getCoseKeyFromPublicKey, getDRepIds, getPublicKeyFromCoseKey, hexToBech32, hexToBytes, keyHashToRewardAddress, mergeValue, negateValue, negatives, normalizePlutusScript, parseDatumCbor, parseInlineDatum, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolvePaymentKeyHash, resolvePlutusScriptAddress, resolvePlutusScriptHash, resolvePoolId, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, resolveTxHash, scriptHashToBech32, scriptHashToRewardAddress, serializeAddress, serializeAddressObj, serializePlutusAddressToBech32, signData, subValue, toAddress, toBaseAddress, toCardanoAddress, toCardanoAnchor, toCardanoGovernanceActionId, toCardanoProposalProcedure, toDRep, toEnterpriseAddress, toNativeScript, toPlutusData, toPlutusLanguageVersion, toRewardAddress, toScriptRef, toTxUnspentOutput, toValue, utf8ToBytes, utf8ToHex, v2ScriptToBech32 };
461
+ export { Address, AddressType, AssetFingerprint, AssetId, AssetName, type AuxiliaryData, AuxilliaryData, BaseAddress, Bip32PrivateKey, Bip32PrivateKeyHex, Bip32PublicKey, Bip32PublicKeyHex, BootstrapWitness, type ByronAttributes, CardanoSDKSerializer, CborSet, CborWriter, CertIndex, Certificate, CertificateType, ConstrPlutusData, CoseSign1, CostModel, type CostModels, Costmdls, Credential, type CredentialCore, CredentialType, DRep, DRepID, Datum, DatumHash, DatumKind, Ed25519KeyHash, Ed25519KeyHashHex, Ed25519PrivateExtendedKeyHex, Ed25519PrivateKey, Ed25519PrivateNormalKeyHex, Ed25519PublicKey, Ed25519PublicKeyHex, Ed25519Signature, Ed25519SignatureHex, EnterpriseAddress, ExUnits, Hash, Hash28ByteBase16, Hash32ByteBase16, HexBlob, type Metadatum, MetadatumList, MetadatumMap, NativeScript, NetworkId, type OutputEncoding, PaymentAddress, PlutusData, PlutusDataKind, PlutusLanguageVersion, PlutusList, PlutusMap, PlutusV1Script, PlutusV2Script, PlutusV3Script, PointerAddress, PolicyId, PoolId, Redeemer, RedeemerPurpose, RedeemerTag, Redeemers, RequireAllOf, RequireAnyOf, RequireNOf, RequireSignature, RequireTimeAfter, RequireTimeBefore, RewardAccount, RewardAddress, Script, ScriptHash, ScriptPubkey, type Signatures, type Signer, Slot, StakeCredentialStatus, StakeDelegation, type StakeDelegationCertificate, StakeRegistration, type TokenMap, Transaction, TransactionBody, TransactionId, TransactionInput, type TransactionInputSet, TransactionMetadatum, TransactionOutput, TransactionUnspentOutput, type TransactionWitnessPlutusData, TransactionWitnessSet, TxCBOR, TxIndex, Value, VkeyWitness, VrfVkBech32, type Witness, addVKeyWitnessSetToTransaction, addrBech32ToPlutusDataHex, addrBech32ToPlutusDataObj, addressToBech32, applyEncoding, applyParamsToScript, assetTypes, blake2b, buildBaseAddress, buildBip32PrivateKey, buildDRepID, buildEd25519PrivateKeyFromSecretKey, buildEnterpriseAddress, buildKeys, buildRewardAddress, buildScriptPubkey, bytesToHex, calculateFees, cborMapToUtxos, checkSignature, clampScalar, computeAuxiliaryDataHash, deserializeAddress, deserializeBech32Address, deserializeDataHash, deserializeEd25519KeyHash, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxHash, deserializeTxUnspentOutput, deserializeValue, empty, fromBuilderToPlutusData, fromJsonToPlutusData, fromNativeScript, fromPlutusDataToJson, fromScriptRef, fromTxUnspentOutput, fromValue, generateNonce, getCoseKeyFromPublicKey, getDRepIds, getPublicKeyFromCoseKey, hexToBech32, hexToBytes, keyHashToRewardAddress, mergeValue, negateValue, negatives, normalizePlutusScript, parseDatumCbor, parseInlineDatum, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolvePaymentKeyHash, resolvePlutusScriptAddress, resolvePlutusScriptHash, resolvePoolId, resolvePrivateKey, resolveRewardAddress, resolveScriptHashDRepId, resolveScriptRef, resolveStakeKeyHash, resolveTxHash, scriptHashToBech32, scriptHashToRewardAddress, serializeAddress, serializeAddressObj, serializePlutusAddressToBech32, signData, subValue, toAddress, toBaseAddress, toCardanoAddress, toCardanoAnchor, toCardanoGovernanceActionId, toCardanoProposalProcedure, toDRep, toEnterpriseAddress, toNativeScript, toPlutusData, toPlutusLanguageVersion, toRewardAddress, toScriptRef, toTxUnspentOutput, toValue, utf8ToBytes, utf8ToHex, utxosToCborMap, v2ScriptToBech32 };
package/dist/index.js CHANGED
@@ -2981,6 +2981,7 @@ var POOL_SIZE_MULTIPLIER = 128;
2981
2981
  var pool;
2982
2982
  var poolOffset;
2983
2983
  var fillPool = (bytes) => {
2984
+ if (bytes < 0 || bytes > 1024) throw new RangeError("Wrong ID size");
2984
2985
  if (!pool || pool.length < bytes) {
2985
2986
  pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
2986
2987
  crypto2.randomFillSync(pool);
@@ -3089,10 +3090,10 @@ var buildBaseAddress = (networkId, paymentKeyHash, stakeKeyHash, paymentCredType
3089
3090
  }
3090
3091
  );
3091
3092
  };
3092
- var buildEnterpriseAddress = (networkId, paymentKeyHash) => {
3093
+ var buildEnterpriseAddress = (networkId, paymentKeyHash, paymentCredType = CredentialType.KeyHash) => {
3093
3094
  return EnterpriseAddress.fromCredentials(networkId, {
3094
3095
  hash: paymentKeyHash,
3095
- type: CredentialType.KeyHash
3096
+ type: paymentCredType
3096
3097
  });
3097
3098
  };
3098
3099
  var clampScalar = (scalar) => {
@@ -3119,9 +3120,9 @@ var buildBip32PrivateKey = (entropy, password = "") => {
3119
3120
  );
3120
3121
  return Bip32PrivateKey2.fromBytes(clampScalar(xprv));
3121
3122
  };
3122
- var buildRewardAddress = (networkId, stakeKeyHash) => {
3123
+ var buildRewardAddress = (networkId, stakeKeyHash, stakeCredType = CredentialType.KeyHash) => {
3123
3124
  const cred = {
3124
- type: CredentialType.KeyHash,
3125
+ type: stakeCredType,
3125
3126
  hash: stakeKeyHash
3126
3127
  };
3127
3128
  return RewardAddress.fromCredentials(networkId, cred);
@@ -3782,6 +3783,42 @@ var toPlutusLanguageVersion = (version) => {
3782
3783
  return PlutusLanguageVersion.V3;
3783
3784
  }
3784
3785
  };
3786
+ var utxosToCborMap = (utxos) => {
3787
+ const cborWriter = new Serialization3.CborWriter();
3788
+ cborWriter.writeStartMap(utxos.length);
3789
+ for (const utxo of utxos) {
3790
+ const cardanoUtxo = toTxUnspentOutput(utxo);
3791
+ cborWriter.writeEncodedValue(
3792
+ Buffer.from(cardanoUtxo.input().toCbor(), "hex")
3793
+ );
3794
+ cborWriter.writeEncodedValue(
3795
+ Buffer.from(cardanoUtxo.output().toCbor(), "hex")
3796
+ );
3797
+ }
3798
+ return cborWriter.encodeAsHex();
3799
+ };
3800
+ var cborMapToUtxos = (cborMaps) => {
3801
+ const utxos = [];
3802
+ for (const cborMap of cborMaps) {
3803
+ const cborReader = new Serialization3.CborReader(
3804
+ Buffer.from(cborMap, "hex")
3805
+ );
3806
+ const mapLength = cborReader.readStartMap();
3807
+ if (!mapLength) {
3808
+ throw new Error("Invalid CBOR map: expected a map of UTxOs");
3809
+ }
3810
+ for (let i = 0; i < mapLength; i++) {
3811
+ const inputCbor = cborReader.readEncodedValue();
3812
+ const outputCbor = cborReader.readEncodedValue();
3813
+ const utxo = Serialization3.TransactionUnspentOutput.fromCore([
3814
+ Serialization3.TransactionInput.fromCbor(inputCbor).toCore(),
3815
+ Serialization3.TransactionOutput.fromCbor(outputCbor).toCore()
3816
+ ]);
3817
+ utxos.push(fromTxUnspentOutput(utxo));
3818
+ }
3819
+ }
3820
+ return utxos;
3821
+ };
3785
3822
 
3786
3823
  // src/utils/value.ts
3787
3824
  function mergeValue(a, b) {
@@ -5766,7 +5803,12 @@ var CardanoSDKSerializerCore = class {
5766
5803
  if (txBuilderBody.fee !== void 0) {
5767
5804
  this.txBody.setFee(BigInt(txBuilderBody.fee));
5768
5805
  }
5769
- this.buildWitnessSet();
5806
+ const setCostModels = Array.isArray(txBuilderBody.network) ? txBuilderBody.network : [
5807
+ DEFAULT_V1_COST_MODEL_LIST,
5808
+ DEFAULT_V2_COST_MODEL_LIST,
5809
+ DEFAULT_V3_COST_MODEL_LIST
5810
+ ];
5811
+ this.buildWitnessSet(setCostModels);
5770
5812
  return new Transaction(
5771
5813
  bodyCore,
5772
5814
  this.txWitnessSet,
@@ -5775,9 +5817,15 @@ var CardanoSDKSerializerCore = class {
5775
5817
  }
5776
5818
  coreSerializeTxWithMockSignatures(txBuilderBody) {
5777
5819
  const bodyCore = this.coreSerializeTxBody(txBuilderBody);
5820
+ const setCostModels = Array.isArray(txBuilderBody.network) ? txBuilderBody.network : [
5821
+ DEFAULT_V1_COST_MODEL_LIST,
5822
+ DEFAULT_V2_COST_MODEL_LIST,
5823
+ DEFAULT_V3_COST_MODEL_LIST
5824
+ ];
5778
5825
  const mockWitSet = this.createMockedWitnessSet(
5779
5826
  txBuilderBody.expectedNumberKeyWitnesses,
5780
- txBuilderBody.expectedByronAddressWitnesses
5827
+ txBuilderBody.expectedByronAddressWitnesses,
5828
+ setCostModels
5781
5829
  );
5782
5830
  return new Transaction(
5783
5831
  bodyCore,
@@ -6373,8 +6421,8 @@ var CardanoSDKSerializerCore = class {
6373
6421
  this.txAuxilliaryData.setPlutusV2Scripts(plutusV2ScriptArray);
6374
6422
  this.txAuxilliaryData.setPlutusV3Scripts(plutusV3ScriptArray);
6375
6423
  };
6376
- createMockedWitnessSet = (requiredSignaturesCount, requiredByronSignatures) => {
6377
- this.buildWitnessSet();
6424
+ createMockedWitnessSet = (requiredSignaturesCount, requiredByronSignatures, setCostModels) => {
6425
+ this.buildWitnessSet(setCostModels);
6378
6426
  const clonedWitnessSet = TransactionWitnessSet.fromCbor(
6379
6427
  this.txWitnessSet.toCbor()
6380
6428
  );
@@ -6390,7 +6438,7 @@ var CardanoSDKSerializerCore = class {
6390
6438
  clonedWitnessSet.setVkeys(vkeysSet);
6391
6439
  return clonedWitnessSet;
6392
6440
  };
6393
- buildWitnessSet = () => {
6441
+ buildWitnessSet = (setCostModels) => {
6394
6442
  let nativeScripts = this.txWitnessSet.nativeScripts() ?? Serialization8.CborSet.fromCore([], NativeScript.fromCore);
6395
6443
  let v1Scripts = this.txWitnessSet.plutusV1Scripts() ?? Serialization8.CborSet.fromCore([], PlutusV1Script.fromCore);
6396
6444
  let v2Scripts = this.txWitnessSet.plutusV2Scripts() ?? Serialization8.CborSet.fromCore([], PlutusV2Script.fromCore);
@@ -6427,13 +6475,13 @@ var CardanoSDKSerializerCore = class {
6427
6475
  datums.setValues(datumsList);
6428
6476
  this.txWitnessSet.setPlutusData(datums);
6429
6477
  let costModelV1 = Serialization8.CostModel.newPlutusV1(
6430
- DEFAULT_V1_COST_MODEL_LIST
6478
+ setCostModels[0] ?? DEFAULT_V1_COST_MODEL_LIST
6431
6479
  );
6432
6480
  let costModelV2 = Serialization8.CostModel.newPlutusV2(
6433
- DEFAULT_V2_COST_MODEL_LIST
6481
+ setCostModels[1] ?? DEFAULT_V2_COST_MODEL_LIST
6434
6482
  );
6435
6483
  let costModelV3 = Serialization8.CostModel.newPlutusV3(
6436
- DEFAULT_V3_COST_MODEL_LIST
6484
+ setCostModels[2] ?? DEFAULT_V3_COST_MODEL_LIST
6437
6485
  );
6438
6486
  let costModels = new Serialization8.Costmdls();
6439
6487
  if (this.usedLanguages[PlutusLanguageVersion.V1]) {
@@ -7088,6 +7136,7 @@ export {
7088
7136
  buildScriptPubkey,
7089
7137
  bytesToHex,
7090
7138
  calculateFees,
7139
+ cborMapToUtxos,
7091
7140
  checkSignature,
7092
7141
  clampScalar,
7093
7142
  computeAuxiliaryDataHash,
@@ -7163,5 +7212,6 @@ export {
7163
7212
  toValue,
7164
7213
  utf8ToBytes,
7165
7214
  utf8ToHex,
7215
+ utxosToCborMap,
7166
7216
  v2ScriptToBech32
7167
7217
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshsdk/core-cst",
3
- "version": "1.9.0-beta.101",
3
+ "version": "1.9.0-beta.103",
4
4
  "description": "Types and utilities functions between Mesh and cardano-js-sdk",
5
5
  "main": "./dist/index.cjs",
6
6
  "browser": "./dist/index.js",
@@ -44,14 +44,13 @@
44
44
  "@harmoniclabs/pair": "^1.0.0",
45
45
  "@harmoniclabs/plutus-data": "1.2.6",
46
46
  "@harmoniclabs/uplc": "1.4.1",
47
- "@meshsdk/common": "1.9.0-beta.101",
47
+ "@meshsdk/common": "1.9.0-beta.103",
48
48
  "@types/base32-encoding": "^1.0.2",
49
49
  "base32-encoding": "^1.0.0",
50
50
  "bech32": "^2.0.0",
51
51
  "blakejs": "^1.2.1",
52
52
  "bn.js": "^5.2.0",
53
- "hash.js": "^1.1.7",
54
- "scalus": "^0.14.2"
53
+ "hash.js": "^1.1.7"
55
54
  },
56
55
  "overrides": {
57
56
  "@cardano-sdk/crypto": {