@hashgraphonline/standards-sdk 0.1.167 → 0.1.168

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +20 -7
  2. package/dist/browser/hcs-10/sdk.d.ts.map +1 -1
  3. package/dist/browser/hcs-10/types.d.ts +3 -1
  4. package/dist/browser/hcs-10/types.d.ts.map +1 -1
  5. package/dist/browser/hcs-11/client.d.ts.map +1 -1
  6. package/dist/browser/hcs-11/types.d.ts +2 -1
  7. package/dist/browser/hcs-11/types.d.ts.map +1 -1
  8. package/dist/browser/hcs-12/sdk.d.ts +2 -0
  9. package/dist/browser/hcs-12/sdk.d.ts.map +1 -1
  10. package/dist/browser/hcs-15/sdk.d.ts.map +1 -1
  11. package/dist/browser/hcs-15/types.d.ts +2 -1
  12. package/dist/browser/hcs-15/types.d.ts.map +1 -1
  13. package/dist/browser/hcs-16/sdk.d.ts +2 -1
  14. package/dist/browser/hcs-16/sdk.d.ts.map +1 -1
  15. package/dist/browser/hcs-17/sdk.d.ts.map +1 -1
  16. package/dist/browser/hcs-17/types.d.ts +2 -1
  17. package/dist/browser/hcs-17/types.d.ts.map +1 -1
  18. package/dist/browser/hcs-18/sdk.d.ts +2 -1
  19. package/dist/browser/hcs-18/sdk.d.ts.map +1 -1
  20. package/dist/browser/hcs-2/client.d.ts +2 -1
  21. package/dist/browser/hcs-2/client.d.ts.map +1 -1
  22. package/dist/browser/hcs-20/sdk.d.ts.map +1 -1
  23. package/dist/browser/hcs-20/types.d.ts +2 -1
  24. package/dist/browser/hcs-20/types.d.ts.map +1 -1
  25. package/dist/browser/hcs-21/sdk.d.ts +2 -1
  26. package/dist/browser/hcs-21/sdk.d.ts.map +1 -1
  27. package/dist/browser/hcs-5/sdk.d.ts.map +1 -1
  28. package/dist/browser/hcs-5/types.d.ts +2 -1
  29. package/dist/browser/hcs-5/types.d.ts.map +1 -1
  30. package/dist/browser/hcs-6/sdk.d.ts +2 -1
  31. package/dist/browser/hcs-6/sdk.d.ts.map +1 -1
  32. package/dist/browser/hcs-7/sdk.d.ts.map +1 -1
  33. package/dist/browser/hcs-7/types.d.ts +2 -1
  34. package/dist/browser/hcs-7/types.d.ts.map +1 -1
  35. package/dist/browser/standards-sdk.browser.js +4 -3
  36. package/dist/browser/standards-sdk.browser.js.map +1 -1
  37. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  38. package/dist/cjs/hcs-10/types.d.ts +3 -1
  39. package/dist/cjs/hcs-10/types.d.ts.map +1 -1
  40. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  41. package/dist/cjs/hcs-11/types.d.ts +2 -1
  42. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  43. package/dist/cjs/hcs-12/sdk.d.ts +2 -0
  44. package/dist/cjs/hcs-12/sdk.d.ts.map +1 -1
  45. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  46. package/dist/cjs/hcs-15/types.d.ts +2 -1
  47. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  48. package/dist/cjs/hcs-16/sdk.d.ts +2 -1
  49. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  50. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  51. package/dist/cjs/hcs-17/types.d.ts +2 -1
  52. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  53. package/dist/cjs/hcs-18/sdk.d.ts +2 -1
  54. package/dist/cjs/hcs-18/sdk.d.ts.map +1 -1
  55. package/dist/cjs/hcs-2/client.d.ts +2 -1
  56. package/dist/cjs/hcs-2/client.d.ts.map +1 -1
  57. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  58. package/dist/cjs/hcs-20/types.d.ts +2 -1
  59. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  60. package/dist/cjs/hcs-21/sdk.d.ts +2 -1
  61. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  62. package/dist/cjs/hcs-5/sdk.d.ts.map +1 -1
  63. package/dist/cjs/hcs-5/types.d.ts +2 -1
  64. package/dist/cjs/hcs-5/types.d.ts.map +1 -1
  65. package/dist/cjs/hcs-6/sdk.d.ts +2 -1
  66. package/dist/cjs/hcs-6/sdk.d.ts.map +1 -1
  67. package/dist/cjs/hcs-7/sdk.d.ts.map +1 -1
  68. package/dist/cjs/hcs-7/types.d.ts +2 -1
  69. package/dist/cjs/hcs-7/types.d.ts.map +1 -1
  70. package/dist/cjs/standards-sdk.cjs +1 -1
  71. package/dist/cjs/standards-sdk.cjs.map +1 -1
  72. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  73. package/dist/es/hcs-10/types.d.ts +3 -1
  74. package/dist/es/hcs-10/types.d.ts.map +1 -1
  75. package/dist/es/hcs-11/client.d.ts.map +1 -1
  76. package/dist/es/hcs-11/types.d.ts +2 -1
  77. package/dist/es/hcs-11/types.d.ts.map +1 -1
  78. package/dist/es/hcs-12/sdk.d.ts +2 -0
  79. package/dist/es/hcs-12/sdk.d.ts.map +1 -1
  80. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  81. package/dist/es/hcs-15/types.d.ts +2 -1
  82. package/dist/es/hcs-15/types.d.ts.map +1 -1
  83. package/dist/es/hcs-16/sdk.d.ts +2 -1
  84. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  85. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-17/types.d.ts +2 -1
  87. package/dist/es/hcs-17/types.d.ts.map +1 -1
  88. package/dist/es/hcs-18/sdk.d.ts +2 -1
  89. package/dist/es/hcs-18/sdk.d.ts.map +1 -1
  90. package/dist/es/hcs-2/client.d.ts +2 -1
  91. package/dist/es/hcs-2/client.d.ts.map +1 -1
  92. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  93. package/dist/es/hcs-20/types.d.ts +2 -1
  94. package/dist/es/hcs-20/types.d.ts.map +1 -1
  95. package/dist/es/hcs-21/sdk.d.ts +2 -1
  96. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  97. package/dist/es/hcs-5/sdk.d.ts.map +1 -1
  98. package/dist/es/hcs-5/types.d.ts +2 -1
  99. package/dist/es/hcs-5/types.d.ts.map +1 -1
  100. package/dist/es/hcs-6/sdk.d.ts +2 -1
  101. package/dist/es/hcs-6/sdk.d.ts.map +1 -1
  102. package/dist/es/hcs-7/sdk.d.ts.map +1 -1
  103. package/dist/es/hcs-7/types.d.ts +2 -1
  104. package/dist/es/hcs-7/types.d.ts.map +1 -1
  105. package/dist/es/standards-sdk.es102.js.map +1 -1
  106. package/dist/es/standards-sdk.es104.js +1 -1
  107. package/dist/es/standards-sdk.es104.js.map +1 -1
  108. package/dist/es/standards-sdk.es108.js +1 -1
  109. package/dist/es/standards-sdk.es108.js.map +1 -1
  110. package/dist/es/standards-sdk.es11.js +2 -1
  111. package/dist/es/standards-sdk.es11.js.map +1 -1
  112. package/dist/es/standards-sdk.es116.js +1 -1
  113. package/dist/es/standards-sdk.es123.js +5 -5
  114. package/dist/es/standards-sdk.es133.js +1 -1
  115. package/dist/es/standards-sdk.es134.js +1 -1
  116. package/dist/es/standards-sdk.es135.js +5 -5
  117. package/dist/es/standards-sdk.es137.js +2 -2
  118. package/dist/es/standards-sdk.es138.js +1 -1
  119. package/dist/es/standards-sdk.es143.js +1 -1
  120. package/dist/es/standards-sdk.es144.js +1 -1
  121. package/dist/es/standards-sdk.es155.js +54 -12480
  122. package/dist/es/standards-sdk.es155.js.map +1 -1
  123. package/dist/es/standards-sdk.es156.js +76 -48
  124. package/dist/es/standards-sdk.es156.js.map +1 -1
  125. package/dist/es/standards-sdk.es157.js +66 -69
  126. package/dist/es/standards-sdk.es157.js.map +1 -1
  127. package/dist/es/standards-sdk.es158.js +180 -61
  128. package/dist/es/standards-sdk.es158.js.map +1 -1
  129. package/dist/es/standards-sdk.es159.js +12438 -156
  130. package/dist/es/standards-sdk.es159.js.map +1 -1
  131. package/dist/es/standards-sdk.es161.js +68 -545
  132. package/dist/es/standards-sdk.es161.js.map +1 -1
  133. package/dist/es/standards-sdk.es162.js +538 -160
  134. package/dist/es/standards-sdk.es162.js.map +1 -1
  135. package/dist/es/standards-sdk.es163.js +139 -289
  136. package/dist/es/standards-sdk.es163.js.map +1 -1
  137. package/dist/es/standards-sdk.es164.js +274 -298
  138. package/dist/es/standards-sdk.es164.js.map +1 -1
  139. package/dist/es/standards-sdk.es165.js +262 -369
  140. package/dist/es/standards-sdk.es165.js.map +1 -1
  141. package/dist/es/standards-sdk.es166.js +316 -194
  142. package/dist/es/standards-sdk.es166.js.map +1 -1
  143. package/dist/es/standards-sdk.es167.js +319 -64
  144. package/dist/es/standards-sdk.es167.js.map +1 -1
  145. package/dist/es/standards-sdk.es168.js +66 -63
  146. package/dist/es/standards-sdk.es168.js.map +1 -1
  147. package/dist/es/standards-sdk.es169.js +1 -1
  148. package/dist/es/standards-sdk.es173.js +1 -1
  149. package/dist/es/standards-sdk.es18.js +4 -3
  150. package/dist/es/standards-sdk.es18.js.map +1 -1
  151. package/dist/es/standards-sdk.es19.js +1 -1
  152. package/dist/es/standards-sdk.es27.js +2 -2
  153. package/dist/es/standards-sdk.es27.js.map +1 -1
  154. package/dist/es/standards-sdk.es28.js.map +1 -1
  155. package/dist/es/standards-sdk.es30.js +1 -1
  156. package/dist/es/standards-sdk.es31.js +1 -1
  157. package/dist/es/standards-sdk.es35.js +1 -1
  158. package/dist/es/standards-sdk.es36.js +2 -2
  159. package/dist/es/standards-sdk.es36.js.map +1 -1
  160. package/dist/es/standards-sdk.es37.js +1 -1
  161. package/dist/es/standards-sdk.es4.js +1 -1
  162. package/dist/es/standards-sdk.es4.js.map +1 -1
  163. package/dist/es/standards-sdk.es56.js +1 -1
  164. package/dist/es/standards-sdk.es59.js +1 -1
  165. package/dist/es/standards-sdk.es60.js +1 -1
  166. package/dist/es/standards-sdk.es62.js +1 -1
  167. package/dist/es/standards-sdk.es63.js +2 -2
  168. package/dist/es/standards-sdk.es64.js +1 -1
  169. package/dist/es/standards-sdk.es65.js +1 -1
  170. package/dist/es/standards-sdk.es66.js +1 -1
  171. package/dist/es/standards-sdk.es69.js +1 -1
  172. package/dist/es/standards-sdk.es70.js.map +1 -1
  173. package/dist/es/standards-sdk.es72.js +2 -1
  174. package/dist/es/standards-sdk.es72.js.map +1 -1
  175. package/dist/es/standards-sdk.es75.js +2 -2
  176. package/dist/es/standards-sdk.es75.js.map +1 -1
  177. package/dist/es/standards-sdk.es79.js.map +1 -1
  178. package/dist/es/standards-sdk.es8.js.map +1 -1
  179. package/dist/es/standards-sdk.es83.js +5 -3
  180. package/dist/es/standards-sdk.es83.js.map +1 -1
  181. package/dist/es/standards-sdk.es90.js +1 -1
  182. package/dist/es/standards-sdk.es90.js.map +1 -1
  183. package/dist/es/standards-sdk.es94.js +1 -1
  184. package/dist/es/standards-sdk.es94.js.map +1 -1
  185. package/dist/es/standards-sdk.es99.js +1 -1
  186. package/dist/es/standards-sdk.es99.js.map +1 -1
  187. package/package.json +1 -1
@@ -1,76 +1,79 @@
1
- import BigNumber from "bignumber.js";
2
- const TINYBAR_DIVISOR = 1e8;
3
- function safePositiveTransfers(transfers) {
4
- if (!Array.isArray(transfers)) {
5
- return [];
1
+ import { proto } from "@hashgraph/proto";
2
+ import { ContractId } from "@hashgraph/sdk";
3
+ import { Buffer } from "buffer";
4
+ function parseKey(key) {
5
+ if (!key) {
6
+ return void 0;
6
7
  }
7
- return transfers.filter(
8
- (transfer) => typeof transfer.amount === "number" && transfer.amount > 0
9
- ).map((transfer) => ({
10
- account: transfer.account,
11
- amountTinybar: transfer.amount
12
- }));
13
- }
14
- function resolvePayerDebitTinybar(transfers, payerAccountId) {
15
- if (!Array.isArray(transfers)) {
16
- return null;
8
+ if (key.contractID) {
9
+ return `ContractID: ${new ContractId(
10
+ key.contractID.shardNum ?? 0,
11
+ key.contractID.realmNum ?? 0,
12
+ key.contractID.contractNum ?? 0
13
+ ).toString()}`;
17
14
  }
18
- const payerDebit = transfers.find(
19
- (transfer) => transfer.account === payerAccountId && typeof transfer.amount === "number" && transfer.amount < 0
20
- );
21
- if (!payerDebit || typeof payerDebit.amount !== "number") {
22
- return null;
15
+ if (key.ed25519) {
16
+ return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
23
17
  }
24
- return Math.abs(payerDebit.amount);
25
- }
26
- function toHbarString(tinybar) {
27
- return new BigNumber(tinybar).dividedBy(TINYBAR_DIVISOR).toFixed();
28
- }
29
- function fallbackFeeTinybar(chargedTxFee) {
30
- if (typeof chargedTxFee !== "number" || !Number.isFinite(chargedTxFee)) {
31
- return null;
18
+ if (key.ECDSASecp256k1) {
19
+ return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
20
+ "hex"
21
+ )}`;
32
22
  }
33
- if (chargedTxFee <= 0) {
34
- return null;
23
+ if (key?.keyList?.keys?.length > 0) {
24
+ const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
25
+ return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
35
26
  }
36
- return chargedTxFee;
37
- }
38
- function computeInscriptionCostSummary(params) {
39
- const { txn, payerAccountId } = params;
40
- const positiveTransfers = safePositiveTransfers(txn.transfers);
41
- const payerDebitTinybar = resolvePayerDebitTinybar(
42
- txn.transfers,
43
- payerAccountId
44
- );
45
- const transferOutflowTinybar = payerDebitTinybar ?? positiveTransfers.reduce((sum, t) => sum + t.amountTinybar, 0);
46
- const chargedFeeTinybar = fallbackFeeTinybar(txn.charged_tx_fee);
47
- const resolvedTotalTinybar = transferOutflowTinybar > 0 ? transferOutflowTinybar : chargedFeeTinybar;
48
- if (!resolvedTotalTinybar || resolvedTotalTinybar <= 0) {
49
- return null;
27
+ if (key?.thresholdKey?.keys?.keys?.length > 0) {
28
+ const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
29
+ return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
50
30
  }
51
- const totalCostHbar = toHbarString(resolvedTotalTinybar);
52
- const breakdownTransfers = positiveTransfers.length > 0 ? positiveTransfers.map((transfer) => ({
53
- to: transfer.account,
54
- amount: toHbarString(transfer.amountTinybar),
55
- description: `HBAR transfer from ${payerAccountId}`
56
- })) : [
57
- {
58
- to: "Hedera network",
59
- amount: totalCostHbar,
60
- description: `Transaction fee debited from ${payerAccountId}`
31
+ if (key.delegatableContractId) {
32
+ return `DelegatableContractID: ${new ContractId(
33
+ key.delegatableContractId.shardNum ?? 0,
34
+ key.delegatableContractId.realmNum ?? 0,
35
+ key.delegatableContractId.contractNum ?? 0
36
+ ).toString()}`;
37
+ }
38
+ if (Object.keys(key).length === 0) {
39
+ return "Empty Key Structure";
40
+ }
41
+ return "Unknown or Unset Key Type";
42
+ }
43
+ function extractTransactionBody(transaction) {
44
+ try {
45
+ const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
46
+ if (!bytes) {
47
+ return null;
48
+ }
49
+ const decoded = proto.TransactionList.decode(bytes);
50
+ if (!decoded.transactionList || decoded.transactionList.length === 0) {
51
+ return null;
52
+ }
53
+ const tx = decoded.transactionList[0];
54
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
55
+ return proto.TransactionBody.decode(tx.bodyBytes);
61
56
  }
62
- ];
63
- return {
64
- totalTinybar: resolvedTotalTinybar,
65
- summary: {
66
- totalCostHbar,
67
- breakdown: {
68
- transfers: breakdownTransfers
57
+ if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
58
+ const signedTx = proto.SignedTransaction.decode(
59
+ tx.signedTransactionBytes
60
+ );
61
+ if (signedTx.bodyBytes) {
62
+ return proto.TransactionBody.decode(signedTx.bodyBytes);
69
63
  }
70
64
  }
71
- };
65
+ return null;
66
+ } catch (error) {
67
+ return null;
68
+ }
69
+ }
70
+ function hasTransactionType(transaction, transactionField) {
71
+ const txBody = extractTransactionBody(transaction);
72
+ return !!(txBody && txBody[transactionField]);
72
73
  }
73
74
  export {
74
- computeInscriptionCostSummary
75
+ extractTransactionBody,
76
+ hasTransactionType,
77
+ parseKey
75
78
  };
76
79
  //# sourceMappingURL=standards-sdk.es168.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/inscribe/inscription-cost.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { Transaction } from '../services/types';\nimport { QuoteResult, InscriptionCostSummary } from './types';\n\nconst TINYBAR_DIVISOR = 100000000;\n\ntype MirrorNodeTransactionLike = Pick<\n Transaction,\n 'charged_tx_fee' | 'transfers'\n>;\n\ntype CostTransfer = QuoteResult['breakdown']['transfers'][number];\n\nfunction safePositiveTransfers(\n transfers: Transaction['transfers'] | undefined,\n): Array<{ account: string; amountTinybar: number }> {\n if (!Array.isArray(transfers)) {\n return [];\n }\n\n return transfers\n .filter(\n transfer => typeof transfer.amount === 'number' && transfer.amount > 0,\n )\n .map(transfer => ({\n account: transfer.account,\n amountTinybar: transfer.amount,\n }));\n}\n\nfunction resolvePayerDebitTinybar(\n transfers: Transaction['transfers'] | undefined,\n payerAccountId: string,\n): number | null {\n if (!Array.isArray(transfers)) {\n return null;\n }\n\n const payerDebit = transfers.find(\n transfer =>\n transfer.account === payerAccountId &&\n typeof transfer.amount === 'number' &&\n transfer.amount < 0,\n );\n\n if (!payerDebit || typeof payerDebit.amount !== 'number') {\n return null;\n }\n\n return Math.abs(payerDebit.amount);\n}\n\nfunction toHbarString(tinybar: number): string {\n return new BigNumber(tinybar).dividedBy(TINYBAR_DIVISOR).toFixed();\n}\n\nfunction fallbackFeeTinybar(chargedTxFee: unknown): number | null {\n if (typeof chargedTxFee !== 'number' || !Number.isFinite(chargedTxFee)) {\n return null;\n }\n if (chargedTxFee <= 0) {\n return null;\n }\n return chargedTxFee;\n}\n\nexport function computeInscriptionCostSummary(params: {\n txn: MirrorNodeTransactionLike;\n payerAccountId: string;\n}): { summary: InscriptionCostSummary; totalTinybar: number } | null {\n const { txn, payerAccountId } = params;\n\n const positiveTransfers = safePositiveTransfers(txn.transfers);\n const payerDebitTinybar = resolvePayerDebitTinybar(\n txn.transfers,\n payerAccountId,\n );\n\n const transferOutflowTinybar =\n payerDebitTinybar ??\n positiveTransfers.reduce((sum, t) => sum + t.amountTinybar, 0);\n const chargedFeeTinybar = fallbackFeeTinybar(txn.charged_tx_fee);\n\n const resolvedTotalTinybar =\n transferOutflowTinybar > 0 ? transferOutflowTinybar : chargedFeeTinybar;\n\n if (!resolvedTotalTinybar || resolvedTotalTinybar <= 0) {\n return null;\n }\n\n const totalCostHbar = toHbarString(resolvedTotalTinybar);\n\n const breakdownTransfers: CostTransfer[] =\n positiveTransfers.length > 0\n ? positiveTransfers.map(transfer => ({\n to: transfer.account,\n amount: toHbarString(transfer.amountTinybar),\n description: `HBAR transfer from ${payerAccountId}`,\n }))\n : [\n {\n to: 'Hedera network',\n amount: totalCostHbar,\n description: `Transaction fee debited from ${payerAccountId}`,\n },\n ];\n\n return {\n totalTinybar: resolvedTotalTinybar,\n summary: {\n totalCostHbar,\n breakdown: {\n transfers: breakdownTransfers,\n },\n },\n };\n}\n"],"names":[],"mappings":";AAIA,MAAM,kBAAkB;AASxB,SAAS,sBACP,WACmD;AACnD,MAAI,CAAC,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAO,CAAA;AAAA,EACT;AAEA,SAAO,UACJ;AAAA,IACC,cAAY,OAAO,SAAS,WAAW,YAAY,SAAS,SAAS;AAAA,EAAA,EAEtE,IAAI,CAAA,cAAa;AAAA,IAChB,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS;AAAA,EAAA,EACxB;AACN;AAEA,SAAS,yBACP,WACA,gBACe;AACf,MAAI,CAAC,MAAM,QAAQ,SAAS,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,UAAU;AAAA,IAC3B,CAAA,aACE,SAAS,YAAY,kBACrB,OAAO,SAAS,WAAW,YAC3B,SAAS,SAAS;AAAA,EAAA;AAGtB,MAAI,CAAC,cAAc,OAAO,WAAW,WAAW,UAAU;AACxD,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,IAAI,WAAW,MAAM;AACnC;AAEA,SAAS,aAAa,SAAyB;AAC7C,SAAO,IAAI,UAAU,OAAO,EAAE,UAAU,eAAe,EAAE,QAAA;AAC3D;AAEA,SAAS,mBAAmB,cAAsC;AAChE,MAAI,OAAO,iBAAiB,YAAY,CAAC,OAAO,SAAS,YAAY,GAAG;AACtE,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,GAAG;AACrB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,8BAA8B,QAGuB;AACnE,QAAM,EAAE,KAAK,eAAA,IAAmB;AAEhC,QAAM,oBAAoB,sBAAsB,IAAI,SAAS;AAC7D,QAAM,oBAAoB;AAAA,IACxB,IAAI;AAAA,IACJ;AAAA,EAAA;AAGF,QAAM,yBACJ,qBACA,kBAAkB,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,eAAe,CAAC;AAC/D,QAAM,oBAAoB,mBAAmB,IAAI,cAAc;AAE/D,QAAM,uBACJ,yBAAyB,IAAI,yBAAyB;AAExD,MAAI,CAAC,wBAAwB,wBAAwB,GAAG;AACtD,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,aAAa,oBAAoB;AAEvD,QAAM,qBACJ,kBAAkB,SAAS,IACvB,kBAAkB,IAAI,CAAA,cAAa;AAAA,IACjC,IAAI,SAAS;AAAA,IACb,QAAQ,aAAa,SAAS,aAAa;AAAA,IAC3C,aAAa,sBAAsB,cAAc;AAAA,EAAA,EACjD,IACF;AAAA,IACE;AAAA,MACE,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,gCAAgC,cAAc;AAAA,IAAA;AAAA,EAC7D;AAGR,SAAO;AAAA,IACL,cAAc;AAAA,IACd,SAAS;AAAA,MACP;AAAA,MACA,WAAW;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"standards-sdk.es168.js","sources":["../../src/utils/parsers/parser-utils.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Transaction } from '@hashgraph/sdk';\nimport { Buffer } from 'buffer';\n\nexport function parseKey(\n key: proto.IKey | null | undefined,\n): string | undefined {\n if (!key) {\n return undefined;\n }\n\n if (key.contractID) {\n return `ContractID: ${new ContractId(\n key.contractID.shardNum ?? 0,\n key.contractID.realmNum ?? 0,\n key.contractID.contractNum ?? 0,\n ).toString()}`;\n }\n if (key.ed25519) {\n return `ED25519: ${Buffer.from(key.ed25519).toString('hex')}`;\n }\n if (key.ECDSASecp256k1) {\n return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(\n 'hex',\n )}`;\n }\n if (key?.keyList?.keys?.length > 0) {\n const keys = key.keyList.keys.map(k => parseKey(k)).filter(Boolean);\n return `KeyList (${keys.length} keys): [${keys.join(', ')}]`;\n }\n if (key?.thresholdKey?.keys?.keys?.length > 0) {\n const keys = key.thresholdKey.keys.keys\n .map(k => parseKey(k))\n .filter(Boolean);\n return `ThresholdKey (${key.thresholdKey.threshold} of ${\n keys.length\n }): [${keys.join(', ')}]`;\n }\n if (key.delegatableContractId) {\n return `DelegatableContractID: ${new ContractId(\n key.delegatableContractId.shardNum ?? 0,\n key.delegatableContractId.realmNum ?? 0,\n key.delegatableContractId.contractNum ?? 0,\n ).toString()}`;\n }\n if (Object.keys(key).length === 0) {\n return 'Empty Key Structure';\n }\n\n return 'Unknown or Unset Key Type';\n}\n\n/**\n * Extract TransactionBody from Transaction object using protobuf parsing\n * This replaces fragile constructor name checking with reliable protobuf data\n */\nexport function extractTransactionBody(\n transaction: Transaction,\n): proto.ITransactionBody | null {\n try {\n const bytes = transaction.toBytes ? transaction.toBytes() : undefined;\n if (!bytes) {\n return null;\n }\n\n const decoded = proto.TransactionList.decode(bytes);\n if (!decoded.transactionList || decoded.transactionList.length === 0) {\n return null;\n }\n\n const tx = decoded.transactionList[0];\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n return proto.TransactionBody.decode(tx.bodyBytes);\n }\n\n if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n return proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n return null;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Check if transaction has specific transaction type using protobuf data\n * This replaces constructor name checking with reliable protobuf field detection\n */\nexport function hasTransactionType(\n transaction: Transaction,\n transactionField: keyof proto.ITransactionBody,\n): boolean {\n const txBody = extractTransactionBody(transaction);\n return !!(txBody && txBody[transactionField]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SACd,KACoB;AACpB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,YAAY;AAClB,WAAO,eAAe,IAAI;AAAA,MACxB,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,eAAe;AAAA,IAAA,EAC9B,UAAU;AAAA,EACd;AACA,MAAI,IAAI,SAAS;AACf,WAAO,YAAY,OAAO,KAAK,IAAI,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EAC7D;AACA,MAAI,IAAI,gBAAgB;AACtB,WAAO,oBAAoB,OAAO,KAAK,IAAI,cAAc,EAAE;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AACA,MAAI,KAAK,SAAS,MAAM,SAAS,GAAG;AAClC,UAAM,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAClE,WAAO,YAAY,KAAK,MAAM,YAAY,KAAK,KAAK,IAAI,CAAC;AAAA,EAC3D;AACA,MAAI,KAAK,cAAc,MAAM,MAAM,SAAS,GAAG;AAC7C,UAAM,OAAO,IAAI,aAAa,KAAK,KAChC,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EACpB,OAAO,OAAO;AACjB,WAAO,iBAAiB,IAAI,aAAa,SAAS,OAChD,KAAK,MACP,OAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB;AACA,MAAI,IAAI,uBAAuB;AAC7B,WAAO,0BAA0B,IAAI;AAAA,MACnC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,eAAe;AAAA,IAAA,EACzC,UAAU;AAAA,EACd;AACA,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aAC+B;AAC/B,MAAI;AACF,UAAM,QAAQ,YAAY,UAAU,YAAY,YAAY;AAC5D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,gBAAgB,OAAO,KAAK;AAClD,QAAI,CAAC,QAAQ,mBAAmB,QAAQ,gBAAgB,WAAW,GAAG;AACpE,aAAO;AAAA,IACT;AAEA,UAAM,KAAK,QAAQ,gBAAgB,CAAC;AAEpC,QAAI,GAAG,aAAa,GAAG,UAAU,SAAS,GAAG;AAC3C,aAAO,MAAM,gBAAgB,OAAO,GAAG,SAAS;AAAA,IAClD;AAEA,QAAI,GAAG,0BAA0B,GAAG,uBAAuB,SAAS,GAAG;AACrE,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACvC,GAAG;AAAA,MAAA;AAEL,UAAI,SAAS,WAAW;AACtB,eAAO,MAAM,gBAAgB,OAAO,SAAS,SAAS;AAAA,MACxD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAMO,SAAS,mBACd,aACA,kBACS;AACT,QAAM,SAAS,uBAAuB,WAAW;AACjD,SAAO,CAAC,EAAE,UAAU,OAAO,gBAAgB;AAC7C;"}
@@ -3,7 +3,7 @@ import { Buffer } from "buffer";
3
3
  import { randomBytes } from "crypto";
4
4
  import { secp256k1 } from "@noble/curves/secp256k1.js";
5
5
  import { registerEncryptionKeyResponseSchema } from "./standards-sdk.es140.js";
6
- import { optionalImport } from "./standards-sdk.es157.js";
6
+ import { optionalImport } from "./standards-sdk.es156.js";
7
7
  const getFs = async () => {
8
8
  const fsModule = await optionalImport("node:fs");
9
9
  if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
@@ -1,6 +1,6 @@
1
1
  import { creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema } from "./standards-sdk.es140.js";
2
2
  import { normalizeHexPrivateKey } from "./standards-sdk.es171.js";
3
- import { optionalImport } from "./standards-sdk.es157.js";
3
+ import { optionalImport } from "./standards-sdk.es156.js";
4
4
  async function loadX402Dependencies(client) {
5
5
  const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
6
6
  import("axios"),
@@ -1,6 +1,6 @@
1
1
  import { Client, PrivateKey, AccountCreateTransaction, Hbar, CustomFixedFee, AccountId, TokenId, KeyList, TopicMessageSubmitTransaction, Transaction, ScheduleCreateTransaction, Timestamp } from "@hashgraph/sdk";
2
2
  import { AccountCreationError, TopicCreationError, ConnectionConfirmationError, PayloadSizeError } from "./standards-sdk.es17.js";
3
- import { InscriptionSDK } from "./standards-sdk.es155.js";
3
+ import { InscriptionSDK } from "./standards-sdk.es159.js";
4
4
  import { Logger } from "./standards-sdk.es118.js";
5
5
  import { accountIdsToExemptKeys } from "./standards-sdk.es120.js";
6
6
  import { ProgressReporter } from "./standards-sdk.es121.js";
@@ -51,7 +51,7 @@ class HCS10Client extends HCS10BaseClient {
51
51
  keyType: config.keyType,
52
52
  mirrorNode: this.mirrorNode,
53
53
  logger: this.logger,
54
- client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
54
+ client: config.client ?? (config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet())
55
55
  });
56
56
  this.client = this.operatorCtx.client;
57
57
  this.network = config.network;
@@ -64,7 +64,8 @@ class HCS10Client extends HCS10BaseClient {
64
64
  },
65
65
  logLevel: config.logLevel,
66
66
  silent: config.silent,
67
- keyType: config.keyType
67
+ keyType: config.keyType,
68
+ client: this.client
68
69
  });
69
70
  }
70
71
  async ensureInitialized() {