@meshsdk/core-csl 1.6.2 → 1.6.3

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
@@ -39,9 +39,13 @@ __export(src_exports, {
39
39
  applyCborEncoding: () => applyCborEncoding,
40
40
  applyParamsToScript: () => applyParamsToScript,
41
41
  baseAddressToStakeAddress: () => baseAddressToStakeAddress,
42
+ baseCertToObj: () => baseCertToObj,
43
+ builderDataToCbor: () => builderDataToCbor,
42
44
  calculateTxHash: () => calculateTxHash,
43
45
  castDataToPlutusData: () => castDataToPlutusData,
44
46
  castRawDataToJsonString: () => castRawDataToJsonString,
47
+ certificateToObj: () => certificateToObj,
48
+ collateralTxInToObj: () => collateralTxInToObj,
45
49
  csl: () => csl,
46
50
  deserializeAddress: () => deserializeAddress,
47
51
  deserializeBech32Address: () => deserializeBech32Address,
@@ -65,10 +69,21 @@ __export(src_exports, {
65
69
  fromLovelace: () => fromLovelace,
66
70
  fromUTF8: () => fromUTF8,
67
71
  getV2ScriptHash: () => getV2ScriptHash,
72
+ keyHashToRewardAddress: () => keyHashToRewardAddress,
73
+ meshTxBuilderBodyToObj: () => meshTxBuilderBodyToObj,
74
+ mintItemToObj: () => mintItemToObj,
75
+ mintParametersObj: () => mintParametersObj,
76
+ nativeMintItemToObj: () => nativeMintItemToObj,
77
+ outputToObj: () => outputToObj,
68
78
  parseDatumCbor: () => parseDatumCbor,
69
79
  parseInlineDatum: () => parseInlineDatum,
80
+ plutusMintItemToObj: () => plutusMintItemToObj,
70
81
  poolIdBech32ToHex: () => poolIdBech32ToHex,
71
82
  poolIdHexToBech32: () => poolIdHexToBech32,
83
+ poolMetadataToObj: () => poolMetadataToObj,
84
+ poolParamsToObj: () => poolParamsToObj,
85
+ redeemerToObj: () => redeemerToObj,
86
+ relayToObj: () => relayToObj,
72
87
  resolveDataHash: () => resolveDataHash,
73
88
  resolveEd25519KeyHash: () => resolveEd25519KeyHash,
74
89
  resolveNativeScriptAddress: () => resolveNativeScriptAddress,
@@ -81,11 +96,15 @@ __export(src_exports, {
81
96
  resolveStakeKeyHash: () => resolveStakeKeyHash,
82
97
  rewardAddressToKeyHash: () => rewardAddressToKeyHash,
83
98
  scriptHashToBech32: () => scriptHashToBech32,
99
+ scriptHashToRewardAddress: () => scriptHashToRewardAddress,
100
+ scriptSourceToObj: () => scriptSourceToObj,
101
+ scriptTxInParameterToObj: () => scriptTxInParameterToObj,
84
102
  serializeAddressObj: () => serializeAddressObj,
85
103
  serializePlutusAddressToBech32: () => serializePlutusAddressToBech32,
86
104
  serializePoolId: () => serializePoolId,
87
105
  serialzeAddress: () => serialzeAddress,
88
106
  signTransaction: () => signTransaction,
107
+ simpleScriptSourceToObj: () => simpleScriptSourceToObj,
89
108
  skeyToPubKeyHash: () => skeyToPubKeyHash,
90
109
  toAddress: () => toAddress,
91
110
  toBaseAddress: () => toBaseAddress,
@@ -97,7 +116,11 @@ __export(src_exports, {
97
116
  toRewardAddress: () => toRewardAddress,
98
117
  toScriptRef: () => toScriptRef,
99
118
  toUTF8: () => toUTF8,
100
- v2ScriptToBech32: () => v2ScriptToBech32
119
+ txInParameterToObj: () => txInParameterToObj,
120
+ txInToObj: () => txInToObj,
121
+ utxoToObj: () => utxoToObj,
122
+ v2ScriptToBech32: () => v2ScriptToBech32,
123
+ withdrawalToObj: () => withdrawalToObj
101
124
  });
102
125
  module.exports = __toCommonJS(src_exports);
103
126
 
@@ -394,12 +417,12 @@ var serializePlutusAddressToBech32 = (plutusHex, networkId = 0) => {
394
417
  return serializeAddressObj(plutusDataAddressObject, networkId);
395
418
  };
396
419
  var deserializeBech32Address = (bech32Addr) => {
397
- const serializedAddress = csl.serialize_bech32_address(bech32Addr);
420
+ const deserializedAddress = csl.deserialize_bech32_address(bech32Addr);
398
421
  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()
422
+ pubKeyHash: deserializedAddress.get_pub_key_hash(),
423
+ scriptHash: deserializedAddress.get_script_hash(),
424
+ stakeCredentialHash: deserializedAddress.get_stake_key_hash(),
425
+ stakeScriptCredentialHash: deserializedAddress.get_stake_key_script_hash()
403
426
  };
404
427
  };
405
428
  var scriptHashToBech32 = (scriptHash, stakeCredentialHash, networkId = 0, isScriptStakeCredentialHash = false) => csl.wasm_script_to_address(
@@ -458,6 +481,20 @@ var baseAddressToStakeAddress = (baseAddressBech32, network = 1) => {
458
481
  var rewardAddressToKeyHash = (rewardBech32) => {
459
482
  return toRewardAddress(rewardBech32)?.payment_cred().to_keyhash()?.to_hex();
460
483
  };
484
+ var scriptHashToRewardAddress = (scriptHashHex, network = 1) => {
485
+ const networkId = network === 1 ? csl.NetworkId.mainnet().kind() : csl.NetworkId.testnet().kind();
486
+ const scriptHash = csl.ScriptHash.from_hex(scriptHashHex);
487
+ const credential = csl.Credential.from_scripthash(scriptHash);
488
+ const rewardAddress = csl.RewardAddress.new(networkId, credential).to_address().to_bech32();
489
+ return rewardAddress;
490
+ };
491
+ var keyHashToRewardAddress = (keyHashHex, network = 1) => {
492
+ const networkId = network === 1 ? csl.NetworkId.mainnet().kind() : csl.NetworkId.testnet().kind();
493
+ const keyHash = csl.Ed25519KeyHash.from_hex(keyHashHex);
494
+ const credential = csl.Credential.from_scripthash(keyHash);
495
+ const rewardAddress = csl.RewardAddress.new(networkId, credential).to_address().to_bech32();
496
+ return rewardAddress;
497
+ };
461
498
 
462
499
  // src/utils/transaction.ts
463
500
  var calculateTxHash = (txHex) => csl.calculate_tx_hash(txHex);
@@ -497,10 +534,10 @@ var applyParamsToScript = (rawScript, params, type = "Mesh") => {
497
534
  });
498
535
  break;
499
536
  }
500
- return csl.apply_params_to_script(rawScript, cslParams, paramType);
537
+ return csl.js_apply_params_to_script(rawScript, cslParams, paramType);
501
538
  };
502
539
  var applyCborEncoding = (rawScript) => {
503
- return csl.apply_params_to_script(
540
+ return csl.js_apply_params_to_script(
504
541
  rawScript,
505
542
  csl.JsVecString.new(),
506
543
  csl.BuilderDataType.CBOR
@@ -575,6 +612,190 @@ var simpleScriptSourceToObj = (scriptSource) => {
575
612
  };
576
613
  };
577
614
 
615
+ // src/core/adaptor/certificate.ts
616
+ var certificateToObj = (certificate) => {
617
+ const baseCert = certificate.certType;
618
+ switch (certificate.type) {
619
+ case "BasicCertificate":
620
+ return {
621
+ basicCertificate: baseCertToObj(baseCert)
622
+ };
623
+ case "ScriptCertificate":
624
+ return {
625
+ scriptCertificate: {
626
+ cert: baseCertToObj(baseCert),
627
+ redeemer: certificate.redeemer ? redeemerToObj(certificate.redeemer) : null,
628
+ scriptSource: certificate.scriptSource ? scriptSourceToObj(certificate.scriptSource) : null
629
+ }
630
+ };
631
+ case "SimpleScriptCertificate":
632
+ return {
633
+ simpleScriptCertificate: {
634
+ cert: baseCertToObj(baseCert),
635
+ simpleScriptSource: certificate.simpleScriptSource ? simpleScriptSourceToObj(certificate.simpleScriptSource) : null
636
+ }
637
+ };
638
+ }
639
+ };
640
+ var baseCertToObj = (baseCert) => {
641
+ switch (baseCert.type) {
642
+ case "RegisterPool":
643
+ return {
644
+ registerPool: {
645
+ poolParams: poolParamsToObj(baseCert.poolParams)
646
+ }
647
+ };
648
+ case "RegisterStake":
649
+ return {
650
+ registerStake: {
651
+ stakeKeyAddress: baseCert.stakeKeyAddress,
652
+ coin: 2e6
653
+ // TODO: change in conway era
654
+ }
655
+ };
656
+ case "DelegateStake":
657
+ return {
658
+ delegateStake: {
659
+ stakeKeyAddress: baseCert.stakeKeyAddress,
660
+ poolId: baseCert.poolId
661
+ }
662
+ };
663
+ case "DeregisterStake":
664
+ return {
665
+ deregisterStake: {
666
+ stakeKeyAddress: baseCert.stakeKeyAddress
667
+ }
668
+ };
669
+ case "RetirePool":
670
+ return {
671
+ retirePool: {
672
+ poolId: baseCert.poolId,
673
+ epoch: baseCert.epoch
674
+ }
675
+ };
676
+ case "VoteDelegation":
677
+ return {
678
+ voteDelegation: {
679
+ stakeKeyAddress: baseCert.stakeKeyAddress,
680
+ drep: baseCert.drep
681
+ }
682
+ };
683
+ case "StakeAndVoteDelegation":
684
+ return {
685
+ stakeAndVoteDelegation: {
686
+ stakeKeyAddress: baseCert.stakeKeyAddress,
687
+ poolKeyHash: baseCert.poolKeyHash,
688
+ drep: baseCert.drep
689
+ }
690
+ };
691
+ case "StakeRegistrationAndDelegation":
692
+ return {
693
+ stakeRegistrationAndDelegation: {
694
+ stakeKeyAddress: baseCert.stakeKeyAddress,
695
+ poolKeyHash: baseCert.poolKeyHash,
696
+ coin: baseCert.coin
697
+ }
698
+ };
699
+ case "VoteRegistrationAndDelegation":
700
+ return {
701
+ voteRegistrationAndDelegation: {
702
+ stakeKeyAddress: baseCert.stakeKeyAddress,
703
+ drep: baseCert.drep,
704
+ coin: baseCert.coin
705
+ }
706
+ };
707
+ case "StakeVoteRegistrationAndDelegation":
708
+ return {
709
+ stakeVoteRegistrationAndDelegation: {
710
+ stakeKeyAddress: baseCert.stakeKeyAddress,
711
+ poolKeyHash: baseCert.poolKeyHash,
712
+ drep: baseCert.drep,
713
+ coin: baseCert.coin
714
+ }
715
+ };
716
+ case "CommitteeHotAuth":
717
+ return {
718
+ committeeHotAuth: {
719
+ committeeColdKeyAddress: baseCert.committeeColdKeyAddress,
720
+ committeeHotKeyAddress: baseCert.committeeHotKeyAddress
721
+ }
722
+ };
723
+ case "CommitteeColdResign":
724
+ return {
725
+ committeeColdResign: {
726
+ committeeColdKeyAddress: baseCert.committeeColdKeyAddress,
727
+ anchor: baseCert.anchor ?? null
728
+ }
729
+ };
730
+ case "DRepRegistration":
731
+ return {
732
+ dRepRegistration: {
733
+ votingKeyAddress: baseCert.votingKeyAddress,
734
+ coin: baseCert.coin,
735
+ anchor: baseCert.anchor ?? null
736
+ }
737
+ };
738
+ case "DRepDeregistration":
739
+ return {
740
+ dRepDeregistration: {
741
+ votingKeyAddress: baseCert.votingKeyAddress,
742
+ coin: baseCert.coin
743
+ }
744
+ };
745
+ case "DRepUpdate":
746
+ return {
747
+ dRepUpdate: {
748
+ votingKeyAddress: baseCert.votingKeyAddress,
749
+ anchor: baseCert.anchor
750
+ }
751
+ };
752
+ }
753
+ };
754
+ var poolParamsToObj = (poolParams) => {
755
+ return {
756
+ vrfKeyHash: poolParams.vrfKeyHash,
757
+ operator: poolParams.operator,
758
+ pledge: poolParams.pledge,
759
+ cost: poolParams.cost,
760
+ margin: poolParams.margin,
761
+ relays: poolParams.relays.map((relay) => relayToObj(relay)),
762
+ owners: poolParams.owners,
763
+ rewardAddress: poolParams.rewardAddress,
764
+ metadata: poolParams.metadata ? poolMetadataToObj(poolParams.metadata) : void 0
765
+ };
766
+ };
767
+ var poolMetadataToObj = (poolMetadata) => {
768
+ return {
769
+ url: poolMetadata.URL,
770
+ metadata: poolMetadata.hash
771
+ };
772
+ };
773
+ var relayToObj = (relay) => {
774
+ switch (relay.type) {
775
+ case "SingleHostAddr":
776
+ return {
777
+ singleHostAddr: {
778
+ ipv4: relay.IPV4,
779
+ ipv6: relay.IPV6,
780
+ port: relay.port
781
+ }
782
+ };
783
+ case "SingleHostName":
784
+ return {
785
+ singleHostName: {
786
+ hostname: relay.domainName,
787
+ port: relay.port
788
+ }
789
+ };
790
+ case "MultiHostName":
791
+ return {
792
+ multiHostName: {
793
+ dnsName: relay.domainName
794
+ }
795
+ };
796
+ }
797
+ };
798
+
578
799
  // src/core/adaptor/mint.ts
579
800
  var mintItemToObj = (mintItem) => {
580
801
  switch (mintItem.type) {
@@ -710,32 +931,65 @@ var scriptTxInParameterToObj = (scriptTxInParameter) => {
710
931
 
711
932
  // src/core/adaptor/withdrawal.ts
712
933
  var withdrawalToObj = (withdrawal) => {
713
- if ("pubKeyWithdrawal" in withdrawal) {
934
+ if (withdrawal.type === "PubKeyWithdrawal") {
714
935
  return {
715
936
  pubKeyWithdrawal: {
716
- address: withdrawal.pubKeyWithdrawal.address,
717
- coin: BigInt(withdrawal.pubKeyWithdrawal.coin)
937
+ address: withdrawal.address,
938
+ coin: BigInt(withdrawal.coin)
939
+ }
940
+ };
941
+ } else if (withdrawal.type === "ScriptWithdrawal") {
942
+ if (!withdrawal.scriptSource) {
943
+ throw new Error(
944
+ "withdrawalToObj: missing scriptSource in plutusScriptWithdrawal."
945
+ );
946
+ }
947
+ if (!withdrawal.redeemer) {
948
+ throw new Error(
949
+ "withdrawalToObj: missing redeemer in plutusScriptWithdrawal."
950
+ );
951
+ }
952
+ return {
953
+ plutusScriptWithdrawal: {
954
+ address: withdrawal.address,
955
+ coin: BigInt(withdrawal.coin),
956
+ scriptSource: scriptSourceToObj(withdrawal.scriptSource),
957
+ redeemer: redeemerToObj(withdrawal.redeemer)
958
+ }
959
+ };
960
+ } else {
961
+ if (!withdrawal.scriptSource) {
962
+ throw new Error(
963
+ "withdrawalToObj: missing script source in simpleScriptWithdrawal"
964
+ );
965
+ }
966
+ return {
967
+ simpleScriptWithdrawal: {
968
+ address: withdrawal.address,
969
+ coin: BigInt(withdrawal.coin),
970
+ scriptSource: simpleScriptSourceToObj(withdrawal.scriptSource)
718
971
  }
719
972
  };
720
973
  }
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
- }
974
+ };
975
+
976
+ // src/core/adaptor/utxo.ts
977
+ var utxoToObj = ({
978
+ input: { outputIndex, txHash },
979
+ output: { address, amount, dataHash, plutusData, scriptRef, scriptHash }
980
+ }) => {
731
981
  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)
982
+ input: {
983
+ outputIndex,
984
+ txHash
985
+ },
986
+ output: {
987
+ address,
988
+ amount,
989
+ dataHash: dataHash ?? null,
990
+ plutusData: plutusData ?? null,
991
+ scriptRef: scriptRef ?? null,
992
+ scriptHash: scriptHash ?? null
739
993
  }
740
994
  };
741
995
  };
@@ -765,7 +1019,7 @@ var meshTxBuilderBodyToObj = ({
765
1019
  changeAddress,
766
1020
  metadata,
767
1021
  validityRange: (0, import_common3.validityRangeToObj)(validityRange),
768
- certificates: certificates.map(import_common3.certificateToObj),
1022
+ certificates: certificates.map(certificateToObj),
769
1023
  signingKey,
770
1024
  withdrawals: withdrawals.map(withdrawalToObj)
771
1025
  };
@@ -810,6 +1064,9 @@ var CSLSerializer = class {
810
1064
  serializePoolId(hash) {
811
1065
  return serializePoolId(hash);
812
1066
  }
1067
+ serializeRewardAddress(stakeKeyHash, isScriptHash, network_id) {
1068
+ return isScriptHash ? scriptHashToRewardAddress(stakeKeyHash, network_id) : keyHashToRewardAddress(stakeKeyHash, network_id);
1069
+ }
813
1070
  deserializer = {
814
1071
  key: {
815
1072
  deserializeAddress: function(bech32) {
@@ -880,9 +1137,13 @@ var CSLSerializer = class {
880
1137
  applyCborEncoding,
881
1138
  applyParamsToScript,
882
1139
  baseAddressToStakeAddress,
1140
+ baseCertToObj,
1141
+ builderDataToCbor,
883
1142
  calculateTxHash,
884
1143
  castDataToPlutusData,
885
1144
  castRawDataToJsonString,
1145
+ certificateToObj,
1146
+ collateralTxInToObj,
886
1147
  csl,
887
1148
  deserializeAddress,
888
1149
  deserializeBech32Address,
@@ -906,10 +1167,21 @@ var CSLSerializer = class {
906
1167
  fromLovelace,
907
1168
  fromUTF8,
908
1169
  getV2ScriptHash,
1170
+ keyHashToRewardAddress,
1171
+ meshTxBuilderBodyToObj,
1172
+ mintItemToObj,
1173
+ mintParametersObj,
1174
+ nativeMintItemToObj,
1175
+ outputToObj,
909
1176
  parseDatumCbor,
910
1177
  parseInlineDatum,
1178
+ plutusMintItemToObj,
911
1179
  poolIdBech32ToHex,
912
1180
  poolIdHexToBech32,
1181
+ poolMetadataToObj,
1182
+ poolParamsToObj,
1183
+ redeemerToObj,
1184
+ relayToObj,
913
1185
  resolveDataHash,
914
1186
  resolveEd25519KeyHash,
915
1187
  resolveNativeScriptAddress,
@@ -922,11 +1194,15 @@ var CSLSerializer = class {
922
1194
  resolveStakeKeyHash,
923
1195
  rewardAddressToKeyHash,
924
1196
  scriptHashToBech32,
1197
+ scriptHashToRewardAddress,
1198
+ scriptSourceToObj,
1199
+ scriptTxInParameterToObj,
925
1200
  serializeAddressObj,
926
1201
  serializePlutusAddressToBech32,
927
1202
  serializePoolId,
928
1203
  serialzeAddress,
929
1204
  signTransaction,
1205
+ simpleScriptSourceToObj,
930
1206
  skeyToPubKeyHash,
931
1207
  toAddress,
932
1208
  toBaseAddress,
@@ -938,5 +1214,9 @@ var CSLSerializer = class {
938
1214
  toRewardAddress,
939
1215
  toScriptRef,
940
1216
  toUTF8,
941
- v2ScriptToBech32
1217
+ txInParameterToObj,
1218
+ txInToObj,
1219
+ utxoToObj,
1220
+ v2ScriptToBech32,
1221
+ withdrawalToObj
942
1222
  });
package/dist/index.d.cts CHANGED
@@ -1,4 +1,5 @@
1
- import { DeserializedAddress, PubKeyAddress, ScriptAddress, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, LanguageVersion, PlutusScript, NativeScript } from '@meshsdk/common';
1
+ import * as _meshsdk_common from '@meshsdk/common';
2
+ import { DeserializedAddress, PubKeyAddress, ScriptAddress, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, UTxO, Withdrawal, LanguageVersion, PlutusScript, NativeScript } from '@meshsdk/common';
2
3
  import * as csl from '@sidan-lab/sidan-csl-rs-nodejs';
3
4
  export { csl };
4
5
 
@@ -24,6 +25,8 @@ declare const poolIdHexToBech32: (poolIdHash: string) => string;
24
25
  declare const poolIdBech32ToHex: (poolIdBech32: string) => string;
25
26
  declare const baseAddressToStakeAddress: (baseAddressBech32: string, network?: number) => string;
26
27
  declare const rewardAddressToKeyHash: (rewardBech32: string) => string | undefined;
28
+ declare const scriptHashToRewardAddress: (scriptHashHex: string, network?: number) => string;
29
+ declare const keyHashToRewardAddress: (keyHashHex: string, network?: number) => string;
27
30
 
28
31
  declare const calculateTxHash: (txHex: string) => string;
29
32
  declare const signTransaction: (txHex: string, signingKeys: string[]) => string;
@@ -58,10 +61,54 @@ declare class CSLSerializer implements IMeshTxSerializer {
58
61
  serializeData(data: BuilderData): string;
59
62
  serializeAddress(address: Partial<DeserializedAddress>, networkId?: number): string;
60
63
  serializePoolId(hash: string): string;
64
+ serializeRewardAddress(stakeKeyHash: string, isScriptHash?: boolean, network_id?: 0 | 1): string;
61
65
  deserializer: IDeserializer;
62
66
  resolver: IResolver;
63
67
  }
64
68
 
69
+ declare const certificateToObj: (certificate: Certificate) => object;
70
+ declare const baseCertToObj: (baseCert: CertificateType) => object;
71
+ declare const poolParamsToObj: (poolParams: PoolParams) => object;
72
+ declare const poolMetadataToObj: (poolMetadata: PoolMetadata) => object;
73
+ declare const relayToObj: (relay: Relay) => object;
74
+
75
+ declare const builderDataToCbor: ({ type, content }: BuilderData) => string;
76
+ declare const redeemerToObj: (redeemer: Redeemer) => object;
77
+
78
+ declare const mintItemToObj: (mintItem: MintItem) => object;
79
+ declare const plutusMintItemToObj: (mintItem: Required<MintItem>) => object;
80
+ declare const nativeMintItemToObj: (mintItem: Omit<Required<MintItem>, "redeemer">) => object;
81
+ declare const mintParametersObj: (mintItem: MintItem) => object;
82
+
83
+ declare const outputToObj: (output: Output) => object;
84
+
85
+ declare const scriptSourceToObj: (scriptSource: ScriptSource) => object;
86
+ declare const simpleScriptSourceToObj: (scriptSource: SimpleScriptSourceInfo) => object;
87
+
88
+ declare const txInToObj: (txIn: TxIn) => object;
89
+ declare const collateralTxInToObj: (txIn: TxIn) => object;
90
+ declare const txInParameterToObj: (txInParameter: TxInParameter) => object;
91
+ declare const scriptTxInParameterToObj: (scriptTxInParameter: ScriptTxInParameter) => object;
92
+
93
+ declare const utxoToObj: ({ input: { outputIndex, txHash }, output: { address, amount, dataHash, plutusData, scriptRef, scriptHash }, }: UTxO) => object;
94
+
95
+ declare const withdrawalToObj: (withdrawal: Withdrawal) => object;
96
+
97
+ declare const meshTxBuilderBodyToObj: ({ inputs, outputs, collaterals, requiredSignatures, referenceInputs, mints, changeAddress, metadata, validityRange, certificates, signingKey, withdrawals, }: MeshTxBuilderBody) => {
98
+ inputs: object[];
99
+ outputs: object[];
100
+ collaterals: object[];
101
+ requiredSignatures: string[];
102
+ referenceInputs: _meshsdk_common.RefTxIn[];
103
+ mints: object[];
104
+ changeAddress: string;
105
+ metadata: _meshsdk_common.Metadata[];
106
+ validityRange: object;
107
+ certificates: object[];
108
+ signingKey: string[];
109
+ withdrawals: object[];
110
+ };
111
+
65
112
  declare const deserializeAddress: (address: string) => csl.Address;
66
113
  declare const deserializeBip32PrivateKey: (bip32PrivateKey: string) => csl.Bip32PrivateKey;
67
114
  declare const deserializeDataHash: (dataHash: string) => csl.DataHash;
@@ -121,4 +168,4 @@ declare const serializePoolId: (hash: string) => string;
121
168
  declare const resolveScriptRef: (script: PlutusScript | NativeScript) => string;
122
169
  declare const resolveEd25519KeyHash: (bech32: string) => string;
123
170
 
124
- export { CSLSerializer, LANGUAGE_VERSIONS, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, fromBytes, fromLovelace, fromUTF8, getV2ScriptHash, parseDatumCbor, parseInlineDatum, poolIdBech32ToHex, poolIdHexToBech32, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, v2ScriptToBech32 };
171
+ export { CSLSerializer, LANGUAGE_VERSIONS, 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, fromBytes, fromLovelace, fromUTF8, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { DeserializedAddress, PubKeyAddress, ScriptAddress, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, LanguageVersion, PlutusScript, NativeScript } from '@meshsdk/common';
1
+ import * as _meshsdk_common from '@meshsdk/common';
2
+ import { DeserializedAddress, PubKeyAddress, ScriptAddress, Data, IMeshTxSerializer, Protocol, MeshTxBuilderBody, BuilderData, IDeserializer, IResolver, Certificate, CertificateType, PoolParams, PoolMetadata, Relay, Redeemer, MintItem, Output, ScriptSource, SimpleScriptSourceInfo, TxIn, TxInParameter, ScriptTxInParameter, UTxO, Withdrawal, LanguageVersion, PlutusScript, NativeScript } from '@meshsdk/common';
2
3
  import * as csl from '@sidan-lab/sidan-csl-rs-nodejs';
3
4
  export { csl };
4
5
 
@@ -24,6 +25,8 @@ declare const poolIdHexToBech32: (poolIdHash: string) => string;
24
25
  declare const poolIdBech32ToHex: (poolIdBech32: string) => string;
25
26
  declare const baseAddressToStakeAddress: (baseAddressBech32: string, network?: number) => string;
26
27
  declare const rewardAddressToKeyHash: (rewardBech32: string) => string | undefined;
28
+ declare const scriptHashToRewardAddress: (scriptHashHex: string, network?: number) => string;
29
+ declare const keyHashToRewardAddress: (keyHashHex: string, network?: number) => string;
27
30
 
28
31
  declare const calculateTxHash: (txHex: string) => string;
29
32
  declare const signTransaction: (txHex: string, signingKeys: string[]) => string;
@@ -58,10 +61,54 @@ declare class CSLSerializer implements IMeshTxSerializer {
58
61
  serializeData(data: BuilderData): string;
59
62
  serializeAddress(address: Partial<DeserializedAddress>, networkId?: number): string;
60
63
  serializePoolId(hash: string): string;
64
+ serializeRewardAddress(stakeKeyHash: string, isScriptHash?: boolean, network_id?: 0 | 1): string;
61
65
  deserializer: IDeserializer;
62
66
  resolver: IResolver;
63
67
  }
64
68
 
69
+ declare const certificateToObj: (certificate: Certificate) => object;
70
+ declare const baseCertToObj: (baseCert: CertificateType) => object;
71
+ declare const poolParamsToObj: (poolParams: PoolParams) => object;
72
+ declare const poolMetadataToObj: (poolMetadata: PoolMetadata) => object;
73
+ declare const relayToObj: (relay: Relay) => object;
74
+
75
+ declare const builderDataToCbor: ({ type, content }: BuilderData) => string;
76
+ declare const redeemerToObj: (redeemer: Redeemer) => object;
77
+
78
+ declare const mintItemToObj: (mintItem: MintItem) => object;
79
+ declare const plutusMintItemToObj: (mintItem: Required<MintItem>) => object;
80
+ declare const nativeMintItemToObj: (mintItem: Omit<Required<MintItem>, "redeemer">) => object;
81
+ declare const mintParametersObj: (mintItem: MintItem) => object;
82
+
83
+ declare const outputToObj: (output: Output) => object;
84
+
85
+ declare const scriptSourceToObj: (scriptSource: ScriptSource) => object;
86
+ declare const simpleScriptSourceToObj: (scriptSource: SimpleScriptSourceInfo) => object;
87
+
88
+ declare const txInToObj: (txIn: TxIn) => object;
89
+ declare const collateralTxInToObj: (txIn: TxIn) => object;
90
+ declare const txInParameterToObj: (txInParameter: TxInParameter) => object;
91
+ declare const scriptTxInParameterToObj: (scriptTxInParameter: ScriptTxInParameter) => object;
92
+
93
+ declare const utxoToObj: ({ input: { outputIndex, txHash }, output: { address, amount, dataHash, plutusData, scriptRef, scriptHash }, }: UTxO) => object;
94
+
95
+ declare const withdrawalToObj: (withdrawal: Withdrawal) => object;
96
+
97
+ declare const meshTxBuilderBodyToObj: ({ inputs, outputs, collaterals, requiredSignatures, referenceInputs, mints, changeAddress, metadata, validityRange, certificates, signingKey, withdrawals, }: MeshTxBuilderBody) => {
98
+ inputs: object[];
99
+ outputs: object[];
100
+ collaterals: object[];
101
+ requiredSignatures: string[];
102
+ referenceInputs: _meshsdk_common.RefTxIn[];
103
+ mints: object[];
104
+ changeAddress: string;
105
+ metadata: _meshsdk_common.Metadata[];
106
+ validityRange: object;
107
+ certificates: object[];
108
+ signingKey: string[];
109
+ withdrawals: object[];
110
+ };
111
+
65
112
  declare const deserializeAddress: (address: string) => csl.Address;
66
113
  declare const deserializeBip32PrivateKey: (bip32PrivateKey: string) => csl.Bip32PrivateKey;
67
114
  declare const deserializeDataHash: (dataHash: string) => csl.DataHash;
@@ -121,4 +168,4 @@ declare const serializePoolId: (hash: string) => string;
121
168
  declare const resolveScriptRef: (script: PlutusScript | NativeScript) => string;
122
169
  declare const resolveEd25519KeyHash: (bech32: string) => string;
123
170
 
124
- export { CSLSerializer, LANGUAGE_VERSIONS, POLICY_ID_LENGTH, REDEEMER_TAGS, addrBech32ToHex, addrBech32ToObj, applyCborEncoding, applyParamsToScript, baseAddressToStakeAddress, calculateTxHash, castDataToPlutusData, castRawDataToJsonString, deserializeAddress, deserializeBech32Address, deserializeBip32PrivateKey, deserializeDataHash, deserializeEd25519KeyHash, deserializeEd25519Signature, deserializeNativeScript, deserializePlutusData, deserializePlutusScript, deserializePublicKey, deserializeScriptHash, deserializeScriptRef, deserializeTx, deserializeTxBody, deserializeTxHash, deserializeTxUnspentOutput, deserializeTxWitnessSet, deserializeValue, fromBytes, fromLovelace, fromUTF8, getV2ScriptHash, parseDatumCbor, parseInlineDatum, poolIdBech32ToHex, poolIdHexToBech32, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, v2ScriptToBech32 };
171
+ export { CSLSerializer, LANGUAGE_VERSIONS, 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, fromBytes, fromLovelace, fromUTF8, getV2ScriptHash, keyHashToRewardAddress, meshTxBuilderBodyToObj, mintItemToObj, mintParametersObj, nativeMintItemToObj, outputToObj, parseDatumCbor, parseInlineDatum, plutusMintItemToObj, poolIdBech32ToHex, poolIdHexToBech32, poolMetadataToObj, poolParamsToObj, redeemerToObj, relayToObj, resolveDataHash, resolveEd25519KeyHash, resolveNativeScriptAddress, resolveNativeScriptHash, resolveNativeScriptHex, resolvePlutusScriptAddress, resolvePrivateKey, resolveRewardAddress, resolveScriptRef, resolveStakeKeyHash, rewardAddressToKeyHash, scriptHashToBech32, scriptHashToRewardAddress, scriptSourceToObj, scriptTxInParameterToObj, serializeAddressObj, serializePlutusAddressToBech32, serializePoolId, serialzeAddress, signTransaction, simpleScriptSourceToObj, skeyToPubKeyHash, toAddress, toBaseAddress, toBytes, toEnterpriseAddress, toLovelace, toNativeScript, toPlutusData, toRewardAddress, toScriptRef, toUTF8, txInParameterToObj, txInToObj, utxoToObj, v2ScriptToBech32, withdrawalToObj };
package/dist/index.js CHANGED
@@ -296,12 +296,12 @@ var serializePlutusAddressToBech32 = (plutusHex, networkId = 0) => {
296
296
  return serializeAddressObj(plutusDataAddressObject, networkId);
297
297
  };
298
298
  var deserializeBech32Address = (bech32Addr) => {
299
- const serializedAddress = csl.serialize_bech32_address(bech32Addr);
299
+ const deserializedAddress = csl.deserialize_bech32_address(bech32Addr);
300
300
  return {
301
- pubKeyHash: serializedAddress.get_pub_key_hash(),
302
- scriptHash: serializedAddress.get_script_hash(),
303
- stakeCredentialHash: serializedAddress.get_stake_key_hash(),
304
- stakeScriptCredentialHash: serializedAddress.get_stake_key_script_hash()
301
+ pubKeyHash: deserializedAddress.get_pub_key_hash(),
302
+ scriptHash: deserializedAddress.get_script_hash(),
303
+ stakeCredentialHash: deserializedAddress.get_stake_key_hash(),
304
+ stakeScriptCredentialHash: deserializedAddress.get_stake_key_script_hash()
305
305
  };
306
306
  };
307
307
  var scriptHashToBech32 = (scriptHash, stakeCredentialHash, networkId = 0, isScriptStakeCredentialHash = false) => csl.wasm_script_to_address(
@@ -360,6 +360,20 @@ var baseAddressToStakeAddress = (baseAddressBech32, network = 1) => {
360
360
  var rewardAddressToKeyHash = (rewardBech32) => {
361
361
  return toRewardAddress(rewardBech32)?.payment_cred().to_keyhash()?.to_hex();
362
362
  };
363
+ var scriptHashToRewardAddress = (scriptHashHex, network = 1) => {
364
+ const networkId = network === 1 ? csl.NetworkId.mainnet().kind() : csl.NetworkId.testnet().kind();
365
+ const scriptHash = csl.ScriptHash.from_hex(scriptHashHex);
366
+ const credential = csl.Credential.from_scripthash(scriptHash);
367
+ const rewardAddress = csl.RewardAddress.new(networkId, credential).to_address().to_bech32();
368
+ return rewardAddress;
369
+ };
370
+ var keyHashToRewardAddress = (keyHashHex, network = 1) => {
371
+ const networkId = network === 1 ? csl.NetworkId.mainnet().kind() : csl.NetworkId.testnet().kind();
372
+ const keyHash = csl.Ed25519KeyHash.from_hex(keyHashHex);
373
+ const credential = csl.Credential.from_scripthash(keyHash);
374
+ const rewardAddress = csl.RewardAddress.new(networkId, credential).to_address().to_bech32();
375
+ return rewardAddress;
376
+ };
363
377
 
364
378
  // src/utils/transaction.ts
365
379
  var calculateTxHash = (txHex) => csl.calculate_tx_hash(txHex);
@@ -399,10 +413,10 @@ var applyParamsToScript = (rawScript, params, type = "Mesh") => {
399
413
  });
400
414
  break;
401
415
  }
402
- return csl.apply_params_to_script(rawScript, cslParams, paramType);
416
+ return csl.js_apply_params_to_script(rawScript, cslParams, paramType);
403
417
  };
404
418
  var applyCborEncoding = (rawScript) => {
405
- return csl.apply_params_to_script(
419
+ return csl.js_apply_params_to_script(
406
420
  rawScript,
407
421
  csl.JsVecString.new(),
408
422
  csl.BuilderDataType.CBOR
@@ -417,10 +431,7 @@ import {
417
431
  } from "@meshsdk/common";
418
432
 
419
433
  // src/core/adaptor/index.ts
420
- import {
421
- certificateToObj,
422
- validityRangeToObj
423
- } from "@meshsdk/common";
434
+ import { validityRangeToObj } from "@meshsdk/common";
424
435
 
425
436
  // src/core/adaptor/data.ts
426
437
  var builderDataToCbor = ({ type, content }) => {
@@ -483,6 +494,190 @@ var simpleScriptSourceToObj = (scriptSource) => {
483
494
  };
484
495
  };
485
496
 
497
+ // src/core/adaptor/certificate.ts
498
+ var certificateToObj = (certificate) => {
499
+ const baseCert = certificate.certType;
500
+ switch (certificate.type) {
501
+ case "BasicCertificate":
502
+ return {
503
+ basicCertificate: baseCertToObj(baseCert)
504
+ };
505
+ case "ScriptCertificate":
506
+ return {
507
+ scriptCertificate: {
508
+ cert: baseCertToObj(baseCert),
509
+ redeemer: certificate.redeemer ? redeemerToObj(certificate.redeemer) : null,
510
+ scriptSource: certificate.scriptSource ? scriptSourceToObj(certificate.scriptSource) : null
511
+ }
512
+ };
513
+ case "SimpleScriptCertificate":
514
+ return {
515
+ simpleScriptCertificate: {
516
+ cert: baseCertToObj(baseCert),
517
+ simpleScriptSource: certificate.simpleScriptSource ? simpleScriptSourceToObj(certificate.simpleScriptSource) : null
518
+ }
519
+ };
520
+ }
521
+ };
522
+ var baseCertToObj = (baseCert) => {
523
+ switch (baseCert.type) {
524
+ case "RegisterPool":
525
+ return {
526
+ registerPool: {
527
+ poolParams: poolParamsToObj(baseCert.poolParams)
528
+ }
529
+ };
530
+ case "RegisterStake":
531
+ return {
532
+ registerStake: {
533
+ stakeKeyAddress: baseCert.stakeKeyAddress,
534
+ coin: 2e6
535
+ // TODO: change in conway era
536
+ }
537
+ };
538
+ case "DelegateStake":
539
+ return {
540
+ delegateStake: {
541
+ stakeKeyAddress: baseCert.stakeKeyAddress,
542
+ poolId: baseCert.poolId
543
+ }
544
+ };
545
+ case "DeregisterStake":
546
+ return {
547
+ deregisterStake: {
548
+ stakeKeyAddress: baseCert.stakeKeyAddress
549
+ }
550
+ };
551
+ case "RetirePool":
552
+ return {
553
+ retirePool: {
554
+ poolId: baseCert.poolId,
555
+ epoch: baseCert.epoch
556
+ }
557
+ };
558
+ case "VoteDelegation":
559
+ return {
560
+ voteDelegation: {
561
+ stakeKeyAddress: baseCert.stakeKeyAddress,
562
+ drep: baseCert.drep
563
+ }
564
+ };
565
+ case "StakeAndVoteDelegation":
566
+ return {
567
+ stakeAndVoteDelegation: {
568
+ stakeKeyAddress: baseCert.stakeKeyAddress,
569
+ poolKeyHash: baseCert.poolKeyHash,
570
+ drep: baseCert.drep
571
+ }
572
+ };
573
+ case "StakeRegistrationAndDelegation":
574
+ return {
575
+ stakeRegistrationAndDelegation: {
576
+ stakeKeyAddress: baseCert.stakeKeyAddress,
577
+ poolKeyHash: baseCert.poolKeyHash,
578
+ coin: baseCert.coin
579
+ }
580
+ };
581
+ case "VoteRegistrationAndDelegation":
582
+ return {
583
+ voteRegistrationAndDelegation: {
584
+ stakeKeyAddress: baseCert.stakeKeyAddress,
585
+ drep: baseCert.drep,
586
+ coin: baseCert.coin
587
+ }
588
+ };
589
+ case "StakeVoteRegistrationAndDelegation":
590
+ return {
591
+ stakeVoteRegistrationAndDelegation: {
592
+ stakeKeyAddress: baseCert.stakeKeyAddress,
593
+ poolKeyHash: baseCert.poolKeyHash,
594
+ drep: baseCert.drep,
595
+ coin: baseCert.coin
596
+ }
597
+ };
598
+ case "CommitteeHotAuth":
599
+ return {
600
+ committeeHotAuth: {
601
+ committeeColdKeyAddress: baseCert.committeeColdKeyAddress,
602
+ committeeHotKeyAddress: baseCert.committeeHotKeyAddress
603
+ }
604
+ };
605
+ case "CommitteeColdResign":
606
+ return {
607
+ committeeColdResign: {
608
+ committeeColdKeyAddress: baseCert.committeeColdKeyAddress,
609
+ anchor: baseCert.anchor ?? null
610
+ }
611
+ };
612
+ case "DRepRegistration":
613
+ return {
614
+ dRepRegistration: {
615
+ votingKeyAddress: baseCert.votingKeyAddress,
616
+ coin: baseCert.coin,
617
+ anchor: baseCert.anchor ?? null
618
+ }
619
+ };
620
+ case "DRepDeregistration":
621
+ return {
622
+ dRepDeregistration: {
623
+ votingKeyAddress: baseCert.votingKeyAddress,
624
+ coin: baseCert.coin
625
+ }
626
+ };
627
+ case "DRepUpdate":
628
+ return {
629
+ dRepUpdate: {
630
+ votingKeyAddress: baseCert.votingKeyAddress,
631
+ anchor: baseCert.anchor
632
+ }
633
+ };
634
+ }
635
+ };
636
+ var poolParamsToObj = (poolParams) => {
637
+ return {
638
+ vrfKeyHash: poolParams.vrfKeyHash,
639
+ operator: poolParams.operator,
640
+ pledge: poolParams.pledge,
641
+ cost: poolParams.cost,
642
+ margin: poolParams.margin,
643
+ relays: poolParams.relays.map((relay) => relayToObj(relay)),
644
+ owners: poolParams.owners,
645
+ rewardAddress: poolParams.rewardAddress,
646
+ metadata: poolParams.metadata ? poolMetadataToObj(poolParams.metadata) : void 0
647
+ };
648
+ };
649
+ var poolMetadataToObj = (poolMetadata) => {
650
+ return {
651
+ url: poolMetadata.URL,
652
+ metadata: poolMetadata.hash
653
+ };
654
+ };
655
+ var relayToObj = (relay) => {
656
+ switch (relay.type) {
657
+ case "SingleHostAddr":
658
+ return {
659
+ singleHostAddr: {
660
+ ipv4: relay.IPV4,
661
+ ipv6: relay.IPV6,
662
+ port: relay.port
663
+ }
664
+ };
665
+ case "SingleHostName":
666
+ return {
667
+ singleHostName: {
668
+ hostname: relay.domainName,
669
+ port: relay.port
670
+ }
671
+ };
672
+ case "MultiHostName":
673
+ return {
674
+ multiHostName: {
675
+ dnsName: relay.domainName
676
+ }
677
+ };
678
+ }
679
+ };
680
+
486
681
  // src/core/adaptor/mint.ts
487
682
  var mintItemToObj = (mintItem) => {
488
683
  switch (mintItem.type) {
@@ -618,32 +813,65 @@ var scriptTxInParameterToObj = (scriptTxInParameter) => {
618
813
 
619
814
  // src/core/adaptor/withdrawal.ts
620
815
  var withdrawalToObj = (withdrawal) => {
621
- if ("pubKeyWithdrawal" in withdrawal) {
816
+ if (withdrawal.type === "PubKeyWithdrawal") {
622
817
  return {
623
818
  pubKeyWithdrawal: {
624
- address: withdrawal.pubKeyWithdrawal.address,
625
- coin: BigInt(withdrawal.pubKeyWithdrawal.coin)
819
+ address: withdrawal.address,
820
+ coin: BigInt(withdrawal.coin)
821
+ }
822
+ };
823
+ } else if (withdrawal.type === "ScriptWithdrawal") {
824
+ if (!withdrawal.scriptSource) {
825
+ throw new Error(
826
+ "withdrawalToObj: missing scriptSource in plutusScriptWithdrawal."
827
+ );
828
+ }
829
+ if (!withdrawal.redeemer) {
830
+ throw new Error(
831
+ "withdrawalToObj: missing redeemer in plutusScriptWithdrawal."
832
+ );
833
+ }
834
+ return {
835
+ plutusScriptWithdrawal: {
836
+ address: withdrawal.address,
837
+ coin: BigInt(withdrawal.coin),
838
+ scriptSource: scriptSourceToObj(withdrawal.scriptSource),
839
+ redeemer: redeemerToObj(withdrawal.redeemer)
840
+ }
841
+ };
842
+ } else {
843
+ if (!withdrawal.scriptSource) {
844
+ throw new Error(
845
+ "withdrawalToObj: missing script source in simpleScriptWithdrawal"
846
+ );
847
+ }
848
+ return {
849
+ simpleScriptWithdrawal: {
850
+ address: withdrawal.address,
851
+ coin: BigInt(withdrawal.coin),
852
+ scriptSource: simpleScriptSourceToObj(withdrawal.scriptSource)
626
853
  }
627
854
  };
628
855
  }
629
- if (!withdrawal.plutusScriptWithdrawal.scriptSource) {
630
- throw new Error(
631
- "withdrawalToObj: missing scriptSource in plutusScriptWithdrawal."
632
- );
633
- }
634
- if (!withdrawal.plutusScriptWithdrawal.redeemer) {
635
- throw new Error(
636
- "withdrawalToObj: missing redeemer in plutusScriptWithdrawal."
637
- );
638
- }
856
+ };
857
+
858
+ // src/core/adaptor/utxo.ts
859
+ var utxoToObj = ({
860
+ input: { outputIndex, txHash },
861
+ output: { address, amount, dataHash, plutusData, scriptRef, scriptHash }
862
+ }) => {
639
863
  return {
640
- plutusScriptWithdrawal: {
641
- address: withdrawal.plutusScriptWithdrawal.address,
642
- coin: BigInt(withdrawal.plutusScriptWithdrawal.coin),
643
- scriptSource: scriptSourceToObj(
644
- withdrawal.plutusScriptWithdrawal.scriptSource
645
- ),
646
- redeemer: redeemerToObj(withdrawal.plutusScriptWithdrawal.redeemer)
864
+ input: {
865
+ outputIndex,
866
+ txHash
867
+ },
868
+ output: {
869
+ address,
870
+ amount,
871
+ dataHash: dataHash ?? null,
872
+ plutusData: plutusData ?? null,
873
+ scriptRef: scriptRef ?? null,
874
+ scriptHash: scriptHash ?? null
647
875
  }
648
876
  };
649
877
  };
@@ -718,6 +946,9 @@ var CSLSerializer = class {
718
946
  serializePoolId(hash) {
719
947
  return serializePoolId(hash);
720
948
  }
949
+ serializeRewardAddress(stakeKeyHash, isScriptHash, network_id) {
950
+ return isScriptHash ? scriptHashToRewardAddress(stakeKeyHash, network_id) : keyHashToRewardAddress(stakeKeyHash, network_id);
951
+ }
721
952
  deserializer = {
722
953
  key: {
723
954
  deserializeAddress: function(bech32) {
@@ -787,9 +1018,13 @@ export {
787
1018
  applyCborEncoding,
788
1019
  applyParamsToScript,
789
1020
  baseAddressToStakeAddress,
1021
+ baseCertToObj,
1022
+ builderDataToCbor,
790
1023
  calculateTxHash,
791
1024
  castDataToPlutusData,
792
1025
  castRawDataToJsonString,
1026
+ certificateToObj,
1027
+ collateralTxInToObj,
793
1028
  csl,
794
1029
  deserializeAddress,
795
1030
  deserializeBech32Address,
@@ -813,10 +1048,21 @@ export {
813
1048
  fromLovelace,
814
1049
  fromUTF8,
815
1050
  getV2ScriptHash,
1051
+ keyHashToRewardAddress,
1052
+ meshTxBuilderBodyToObj,
1053
+ mintItemToObj,
1054
+ mintParametersObj,
1055
+ nativeMintItemToObj,
1056
+ outputToObj,
816
1057
  parseDatumCbor,
817
1058
  parseInlineDatum,
1059
+ plutusMintItemToObj,
818
1060
  poolIdBech32ToHex,
819
1061
  poolIdHexToBech32,
1062
+ poolMetadataToObj,
1063
+ poolParamsToObj,
1064
+ redeemerToObj,
1065
+ relayToObj,
820
1066
  resolveDataHash,
821
1067
  resolveEd25519KeyHash,
822
1068
  resolveNativeScriptAddress,
@@ -829,11 +1075,15 @@ export {
829
1075
  resolveStakeKeyHash,
830
1076
  rewardAddressToKeyHash,
831
1077
  scriptHashToBech32,
1078
+ scriptHashToRewardAddress,
1079
+ scriptSourceToObj,
1080
+ scriptTxInParameterToObj,
832
1081
  serializeAddressObj,
833
1082
  serializePlutusAddressToBech32,
834
1083
  serializePoolId,
835
1084
  serialzeAddress,
836
1085
  signTransaction,
1086
+ simpleScriptSourceToObj,
837
1087
  skeyToPubKeyHash,
838
1088
  toAddress,
839
1089
  toBaseAddress,
@@ -845,5 +1095,9 @@ export {
845
1095
  toRewardAddress,
846
1096
  toScriptRef,
847
1097
  toUTF8,
848
- v2ScriptToBech32
1098
+ txInParameterToObj,
1099
+ txInToObj,
1100
+ utxoToObj,
1101
+ v2ScriptToBech32,
1102
+ withdrawalToObj
849
1103
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshsdk/core-csl",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -17,20 +17,20 @@
17
17
  "dist/**"
18
18
  ],
19
19
  "scripts": {
20
+ "build:docs": "typedoc src/index.ts --json ../../apps/docs/src/data/mesh-core-csl.json",
20
21
  "build:mesh": "tsup src/index.ts --format esm,cjs --dts",
21
- "dev": "tsup src/index.ts --format esm,cjs --watch --dts",
22
- "lint": "eslint",
23
22
  "clean": "rm -rf .turbo && rm -rf dist && rm -rf node_modules",
23
+ "dev": "tsup src/index.ts --format esm,cjs --watch --dts",
24
24
  "format": "prettier --check . --ignore-path ../../.gitignore",
25
- "build:docs": "typedoc src/index.ts --json ../../apps/docs/src/data/mesh-core-csl.json",
25
+ "lint": "eslint",
26
+ "pack": "npm pack --pack-destination=./dist",
26
27
  "test": "jest"
27
28
  },
28
29
  "browser": {
29
30
  "@sidan-lab/sidan-csl-rs-nodejs": "@sidan-lab/sidan-csl-rs-browser"
30
31
  },
31
32
  "devDependencies": {
32
- "@meshsdk/eslint-config": "*",
33
- "@meshsdk/typescript-config": "*",
33
+ "@meshsdk/configs": "*",
34
34
  "@types/json-bigint": "^1.0.4",
35
35
  "eslint": "^8.57.0",
36
36
  "ts-jest": "^29.1.4",
@@ -39,11 +39,11 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@meshsdk/common": "*",
42
- "@sidan-lab/sidan-csl-rs-browser": "^0.6.13",
43
- "@sidan-lab/sidan-csl-rs-nodejs": "^0.6.13",
42
+ "@sidan-lab/sidan-csl-rs-browser": "0.6.14",
43
+ "@sidan-lab/sidan-csl-rs-nodejs": "0.6.14",
44
44
  "json-bigint": "^1.0.0"
45
45
  },
46
- "prettier": "@meshsdk/prettier-config",
46
+ "prettier": "@meshsdk/configs/prettier",
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },