@hashgraphonline/standards-sdk 0.1.168 → 0.1.170

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 (276) hide show
  1. package/README.md +1 -0
  2. package/dist/browser/hcs-11/client.d.ts.map +1 -1
  3. package/dist/browser/hcs-21/sdk.d.ts.map +1 -1
  4. package/dist/browser/hcs-27/base-client.d.ts +41 -0
  5. package/dist/browser/hcs-27/base-client.d.ts.map +1 -0
  6. package/dist/browser/hcs-27/index.d.ts +6 -0
  7. package/dist/browser/hcs-27/index.d.ts.map +1 -0
  8. package/dist/browser/hcs-27/memos.d.ts +5 -0
  9. package/dist/browser/hcs-27/memos.d.ts.map +1 -0
  10. package/dist/browser/hcs-27/merkle.d.ts +23 -0
  11. package/dist/browser/hcs-27/merkle.d.ts.map +1 -0
  12. package/dist/browser/hcs-27/sdk.d.ts +23 -0
  13. package/dist/browser/hcs-27/sdk.d.ts.map +1 -0
  14. package/dist/browser/hcs-27/types.d.ts +1611 -0
  15. package/dist/browser/hcs-27/types.d.ts.map +1 -0
  16. package/dist/browser/index.d.ts +1 -0
  17. package/dist/browser/index.d.ts.map +1 -1
  18. package/dist/browser/standards-sdk.browser.js +29 -5
  19. package/dist/browser/standards-sdk.browser.js.map +1 -1
  20. package/dist/browser/utils/key-type-detector.d.ts.map +1 -1
  21. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  22. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  23. package/dist/cjs/hcs-27/base-client.d.ts +41 -0
  24. package/dist/cjs/hcs-27/base-client.d.ts.map +1 -0
  25. package/dist/cjs/hcs-27/index.d.ts +6 -0
  26. package/dist/cjs/hcs-27/index.d.ts.map +1 -0
  27. package/dist/cjs/hcs-27/memos.d.ts +5 -0
  28. package/dist/cjs/hcs-27/memos.d.ts.map +1 -0
  29. package/dist/cjs/hcs-27/merkle.d.ts +23 -0
  30. package/dist/cjs/hcs-27/merkle.d.ts.map +1 -0
  31. package/dist/cjs/hcs-27/sdk.d.ts +23 -0
  32. package/dist/cjs/hcs-27/sdk.d.ts.map +1 -0
  33. package/dist/cjs/hcs-27/types.d.ts +1611 -0
  34. package/dist/cjs/hcs-27/types.d.ts.map +1 -0
  35. package/dist/cjs/index.d.ts +1 -0
  36. package/dist/cjs/index.d.ts.map +1 -1
  37. package/dist/cjs/standards-sdk.cjs +2 -2
  38. package/dist/cjs/standards-sdk.cjs.map +1 -1
  39. package/dist/cjs/utils/key-type-detector.d.ts.map +1 -1
  40. package/dist/es/hcs-11/client.d.ts.map +1 -1
  41. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  42. package/dist/es/hcs-27/base-client.d.ts +41 -0
  43. package/dist/es/hcs-27/base-client.d.ts.map +1 -0
  44. package/dist/es/hcs-27/index.d.ts +6 -0
  45. package/dist/es/hcs-27/index.d.ts.map +1 -0
  46. package/dist/es/hcs-27/memos.d.ts +5 -0
  47. package/dist/es/hcs-27/memos.d.ts.map +1 -0
  48. package/dist/es/hcs-27/merkle.d.ts +23 -0
  49. package/dist/es/hcs-27/merkle.d.ts.map +1 -0
  50. package/dist/es/hcs-27/sdk.d.ts +23 -0
  51. package/dist/es/hcs-27/sdk.d.ts.map +1 -0
  52. package/dist/es/hcs-27/types.d.ts +1611 -0
  53. package/dist/es/hcs-27/types.d.ts.map +1 -0
  54. package/dist/es/index.d.ts +1 -0
  55. package/dist/es/index.d.ts.map +1 -1
  56. package/dist/es/standards-sdk.es.js +67 -38
  57. package/dist/es/standards-sdk.es.js.map +1 -1
  58. package/dist/es/standards-sdk.es101.js +2 -2
  59. package/dist/es/standards-sdk.es103.js +2 -2
  60. package/dist/es/standards-sdk.es104.js +1 -1
  61. package/dist/es/standards-sdk.es106.js +1 -1
  62. package/dist/es/standards-sdk.es108.js +2 -2
  63. package/dist/es/standards-sdk.es11.js +1 -1
  64. package/dist/es/standards-sdk.es110.js +1 -1
  65. package/dist/es/standards-sdk.es111.js +2 -2
  66. package/dist/es/standards-sdk.es112.js +151 -234
  67. package/dist/es/standards-sdk.es112.js.map +1 -1
  68. package/dist/es/standards-sdk.es113.js +20 -471
  69. package/dist/es/standards-sdk.es113.js.map +1 -1
  70. package/dist/es/standards-sdk.es114.js +263 -104
  71. package/dist/es/standards-sdk.es114.js.map +1 -1
  72. package/dist/es/standards-sdk.es115.js +167 -138
  73. package/dist/es/standards-sdk.es115.js.map +1 -1
  74. package/dist/es/standards-sdk.es116.js +315 -29
  75. package/dist/es/standards-sdk.es116.js.map +1 -1
  76. package/dist/es/standards-sdk.es117.js +250 -10
  77. package/dist/es/standards-sdk.es117.js.map +1 -1
  78. package/dist/es/standards-sdk.es118.js +448 -152
  79. package/dist/es/standards-sdk.es118.js.map +1 -1
  80. package/dist/es/standards-sdk.es119.js +101 -25
  81. package/dist/es/standards-sdk.es119.js.map +1 -1
  82. package/dist/es/standards-sdk.es12.js +1 -1
  83. package/dist/es/standards-sdk.es120.js +155 -17
  84. package/dist/es/standards-sdk.es120.js.map +1 -1
  85. package/dist/es/standards-sdk.es121.js +29 -155
  86. package/dist/es/standards-sdk.es121.js.map +1 -1
  87. package/dist/es/standards-sdk.es122.js +9 -200
  88. package/dist/es/standards-sdk.es122.js.map +1 -1
  89. package/dist/es/standards-sdk.es123.js +146 -754
  90. package/dist/es/standards-sdk.es123.js.map +1 -1
  91. package/dist/es/standards-sdk.es124.js +27 -11
  92. package/dist/es/standards-sdk.es124.js.map +1 -1
  93. package/dist/es/standards-sdk.es125.js +19 -564
  94. package/dist/es/standards-sdk.es125.js.map +1 -1
  95. package/dist/es/standards-sdk.es126.js +140 -582
  96. package/dist/es/standards-sdk.es126.js.map +1 -1
  97. package/dist/es/standards-sdk.es127.js +202 -12
  98. package/dist/es/standards-sdk.es127.js.map +1 -1
  99. package/dist/es/standards-sdk.es128.js +790 -2
  100. package/dist/es/standards-sdk.es128.js.map +1 -1
  101. package/dist/es/standards-sdk.es129.js +10 -84
  102. package/dist/es/standards-sdk.es129.js.map +1 -1
  103. package/dist/es/standards-sdk.es13.js +1 -1
  104. package/dist/es/standards-sdk.es130.js +567 -40
  105. package/dist/es/standards-sdk.es130.js.map +1 -1
  106. package/dist/es/standards-sdk.es131.js +626 -2
  107. package/dist/es/standards-sdk.es131.js.map +1 -1
  108. package/dist/es/standards-sdk.es132.js +12 -234
  109. package/dist/es/standards-sdk.es132.js.map +1 -1
  110. package/dist/es/standards-sdk.es133.js +2 -1140
  111. package/dist/es/standards-sdk.es133.js.map +1 -1
  112. package/dist/es/standards-sdk.es134.js +73 -292
  113. package/dist/es/standards-sdk.es134.js.map +1 -1
  114. package/dist/es/standards-sdk.es135.js +36 -418
  115. package/dist/es/standards-sdk.es135.js.map +1 -1
  116. package/dist/es/standards-sdk.es136.js +2 -355
  117. package/dist/es/standards-sdk.es136.js.map +1 -1
  118. package/dist/es/standards-sdk.es137.js +198 -1079
  119. package/dist/es/standards-sdk.es137.js.map +1 -1
  120. package/dist/es/standards-sdk.es138.js +1107 -175
  121. package/dist/es/standards-sdk.es138.js.map +1 -1
  122. package/dist/es/standards-sdk.es139.js +218 -1479
  123. package/dist/es/standards-sdk.es139.js.map +1 -1
  124. package/dist/es/standards-sdk.es14.js +1 -1
  125. package/dist/es/standards-sdk.es140.js +422 -1500
  126. package/dist/es/standards-sdk.es140.js.map +1 -1
  127. package/dist/es/standards-sdk.es141.js +351 -13
  128. package/dist/es/standards-sdk.es141.js.map +1 -1
  129. package/dist/es/standards-sdk.es142.js +1102 -73
  130. package/dist/es/standards-sdk.es142.js.map +1 -1
  131. package/dist/es/standards-sdk.es143.js +203 -76
  132. package/dist/es/standards-sdk.es143.js.map +1 -1
  133. package/dist/es/standards-sdk.es144.js +1459 -830
  134. package/dist/es/standards-sdk.es144.js.map +1 -1
  135. package/dist/es/standards-sdk.es145.js +1499 -59
  136. package/dist/es/standards-sdk.es145.js.map +1 -1
  137. package/dist/es/standards-sdk.es146.js +14 -156
  138. package/dist/es/standards-sdk.es146.js.map +1 -1
  139. package/dist/es/standards-sdk.es147.js +87 -7
  140. package/dist/es/standards-sdk.es147.js.map +1 -1
  141. package/dist/es/standards-sdk.es148.js +74 -79
  142. package/dist/es/standards-sdk.es148.js.map +1 -1
  143. package/dist/es/standards-sdk.es149.js +934 -61
  144. package/dist/es/standards-sdk.es149.js.map +1 -1
  145. package/dist/es/standards-sdk.es15.js +1 -1
  146. package/dist/es/standards-sdk.es150.js +60 -30
  147. package/dist/es/standards-sdk.es150.js.map +1 -1
  148. package/dist/es/standards-sdk.es151.js +159 -34
  149. package/dist/es/standards-sdk.es151.js.map +1 -1
  150. package/dist/es/standards-sdk.es152.js +7 -48
  151. package/dist/es/standards-sdk.es152.js.map +1 -1
  152. package/dist/es/standards-sdk.es153.js +70 -122
  153. package/dist/es/standards-sdk.es153.js.map +1 -1
  154. package/dist/es/standards-sdk.es154.js +58 -35
  155. package/dist/es/standards-sdk.es154.js.map +1 -1
  156. package/dist/es/standards-sdk.es155.js +30 -56
  157. package/dist/es/standards-sdk.es155.js.map +1 -1
  158. package/dist/es/standards-sdk.es156.js +34 -84
  159. package/dist/es/standards-sdk.es156.js.map +1 -1
  160. package/dist/es/standards-sdk.es157.js +48 -81
  161. package/dist/es/standards-sdk.es157.js.map +1 -1
  162. package/dist/es/standards-sdk.es158.js +124 -186
  163. package/dist/es/standards-sdk.es158.js.map +1 -1
  164. package/dist/es/standards-sdk.es159.js +34 -12474
  165. package/dist/es/standards-sdk.es159.js.map +1 -1
  166. package/dist/es/standards-sdk.es16.js +5 -5
  167. package/dist/es/standards-sdk.es160.js +12477 -12
  168. package/dist/es/standards-sdk.es160.js.map +1 -1
  169. package/dist/es/standards-sdk.es161.js +51 -68
  170. package/dist/es/standards-sdk.es161.js.map +1 -1
  171. package/dist/es/standards-sdk.es162.js +67 -533
  172. package/dist/es/standards-sdk.es162.js.map +1 -1
  173. package/dist/es/standards-sdk.es163.js +70 -161
  174. package/dist/es/standards-sdk.es163.js.map +1 -1
  175. package/dist/es/standards-sdk.es164.js +187 -309
  176. package/dist/es/standards-sdk.es164.js.map +1 -1
  177. package/dist/es/standards-sdk.es165.js +13 -342
  178. package/dist/es/standards-sdk.es165.js.map +1 -1
  179. package/dist/es/standards-sdk.es166.js +538 -441
  180. package/dist/es/standards-sdk.es166.js.map +1 -1
  181. package/dist/es/standards-sdk.es167.js +142 -301
  182. package/dist/es/standards-sdk.es167.js.map +1 -1
  183. package/dist/es/standards-sdk.es168.js +310 -64
  184. package/dist/es/standards-sdk.es168.js.map +1 -1
  185. package/dist/es/standards-sdk.es169.js +332 -158
  186. package/dist/es/standards-sdk.es169.js.map +1 -1
  187. package/dist/es/standards-sdk.es170.js +441 -210
  188. package/dist/es/standards-sdk.es170.js.map +1 -1
  189. package/dist/es/standards-sdk.es171.js +314 -222
  190. package/dist/es/standards-sdk.es171.js.map +1 -1
  191. package/dist/es/standards-sdk.es172.js +65 -108
  192. package/dist/es/standards-sdk.es172.js.map +1 -1
  193. package/dist/es/standards-sdk.es173.js +61 -114
  194. package/dist/es/standards-sdk.es173.js.map +1 -1
  195. package/dist/es/standards-sdk.es174.js +151 -140
  196. package/dist/es/standards-sdk.es174.js.map +1 -1
  197. package/dist/es/standards-sdk.es175.js +193 -156
  198. package/dist/es/standards-sdk.es175.js.map +1 -1
  199. package/dist/es/standards-sdk.es176.js +221 -121
  200. package/dist/es/standards-sdk.es176.js.map +1 -1
  201. package/dist/es/standards-sdk.es177.js +81 -293
  202. package/dist/es/standards-sdk.es177.js.map +1 -1
  203. package/dist/es/standards-sdk.es178.js +114 -247
  204. package/dist/es/standards-sdk.es178.js.map +1 -1
  205. package/dist/es/standards-sdk.es179.js +119 -110
  206. package/dist/es/standards-sdk.es179.js.map +1 -1
  207. package/dist/es/standards-sdk.es18.js +12 -12
  208. package/dist/es/standards-sdk.es180.js +188 -0
  209. package/dist/es/standards-sdk.es180.js.map +1 -0
  210. package/dist/es/standards-sdk.es181.js +142 -0
  211. package/dist/es/standards-sdk.es181.js.map +1 -0
  212. package/dist/es/standards-sdk.es182.js +334 -0
  213. package/dist/es/standards-sdk.es182.js.map +1 -0
  214. package/dist/es/standards-sdk.es183.js +262 -0
  215. package/dist/es/standards-sdk.es183.js.map +1 -0
  216. package/dist/es/standards-sdk.es184.js +155 -0
  217. package/dist/es/standards-sdk.es184.js.map +1 -0
  218. package/dist/es/standards-sdk.es19.js +9 -9
  219. package/dist/es/standards-sdk.es2.js +2 -2
  220. package/dist/es/standards-sdk.es20.js +1 -1
  221. package/dist/es/standards-sdk.es21.js +1 -1
  222. package/dist/es/standards-sdk.es22.js +1 -1
  223. package/dist/es/standards-sdk.es23.js +1 -1
  224. package/dist/es/standards-sdk.es24.js +1 -1
  225. package/dist/es/standards-sdk.es25.js +1 -1
  226. package/dist/es/standards-sdk.es26.js +1 -1
  227. package/dist/es/standards-sdk.es27.js +12 -12
  228. package/dist/es/standards-sdk.es27.js.map +1 -1
  229. package/dist/es/standards-sdk.es30.js +2 -2
  230. package/dist/es/standards-sdk.es31.js +4 -4
  231. package/dist/es/standards-sdk.es32.js +1 -1
  232. package/dist/es/standards-sdk.es35.js +6 -6
  233. package/dist/es/standards-sdk.es36.js +4 -4
  234. package/dist/es/standards-sdk.es37.js +2 -2
  235. package/dist/es/standards-sdk.es38.js +2 -2
  236. package/dist/es/standards-sdk.es39.js +1 -1
  237. package/dist/es/standards-sdk.es4.js +2 -2
  238. package/dist/es/standards-sdk.es40.js +1 -1
  239. package/dist/es/standards-sdk.es41.js +2 -2
  240. package/dist/es/standards-sdk.es46.js +1 -1
  241. package/dist/es/standards-sdk.es5.js +2 -2
  242. package/dist/es/standards-sdk.es51.js +1 -1
  243. package/dist/es/standards-sdk.es53.js +1 -1
  244. package/dist/es/standards-sdk.es56.js +2 -2
  245. package/dist/es/standards-sdk.es59.js +1 -1
  246. package/dist/es/standards-sdk.es6.js +2 -2
  247. package/dist/es/standards-sdk.es60.js +1 -1
  248. package/dist/es/standards-sdk.es62.js +1 -1
  249. package/dist/es/standards-sdk.es63.js +2 -2
  250. package/dist/es/standards-sdk.es64.js +1 -1
  251. package/dist/es/standards-sdk.es65.js +1 -1
  252. package/dist/es/standards-sdk.es66.js +1 -1
  253. package/dist/es/standards-sdk.es67.js +7 -7
  254. package/dist/es/standards-sdk.es69.js +1 -1
  255. package/dist/es/standards-sdk.es7.js +1 -1
  256. package/dist/es/standards-sdk.es71.js +2 -2
  257. package/dist/es/standards-sdk.es72.js +3 -3
  258. package/dist/es/standards-sdk.es75.js +5 -5
  259. package/dist/es/standards-sdk.es76.js +3 -3
  260. package/dist/es/standards-sdk.es77.js +2 -2
  261. package/dist/es/standards-sdk.es78.js +1 -1
  262. package/dist/es/standards-sdk.es81.js +2 -2
  263. package/dist/es/standards-sdk.es83.js +2 -2
  264. package/dist/es/standards-sdk.es84.js +4 -4
  265. package/dist/es/standards-sdk.es85.js +1 -1
  266. package/dist/es/standards-sdk.es88.js +1 -1
  267. package/dist/es/standards-sdk.es89.js +2 -2
  268. package/dist/es/standards-sdk.es9.js +2 -2
  269. package/dist/es/standards-sdk.es90.js +4 -4
  270. package/dist/es/standards-sdk.es90.js.map +1 -1
  271. package/dist/es/standards-sdk.es94.js +3 -3
  272. package/dist/es/standards-sdk.es96.js +2 -2
  273. package/dist/es/standards-sdk.es98.js +1 -1
  274. package/dist/es/standards-sdk.es99.js +3 -3
  275. package/dist/es/utils/key-type-detector.d.ts.map +1 -1
  276. package/package.json +1 -1
@@ -1,225 +1,456 @@
1
- import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, searchFacetsResponseSchema } from "./standards-sdk.es140.js";
2
- import { buildSearchQuery } from "./standards-sdk.es171.js";
3
- import { RegistryBrokerError } from "./standards-sdk.es141.js";
4
- function buildVectorFallbackSearchParams(request) {
5
- const params = {
6
- q: request.query
7
- };
8
- let effectiveLimit;
9
- if (typeof request.limit === "number" && Number.isFinite(request.limit)) {
10
- effectiveLimit = request.limit;
11
- params.limit = request.limit;
1
+ import { proto } from "@hashgraph/proto";
2
+ import { Long, Hbar, HbarUnit, ContractId, AccountId, FileId } from "@hashgraph/sdk";
3
+ import { Buffer } from "buffer";
4
+ import { hasTransactionType, parseKey } from "./standards-sdk.es172.js";
5
+ class SCSParser {
6
+ /**
7
+ * Parse Smart Contract Service transaction using unified dual-branch approach
8
+ * This handles both regular transactions and signed transaction variants
9
+ */
10
+ static parseSCSTransaction(transaction, originalBytes) {
11
+ try {
12
+ if (originalBytes || transaction.toBytes) {
13
+ try {
14
+ const bytesToParse = originalBytes || transaction.toBytes();
15
+ const decoded = proto.TransactionList.decode(bytesToParse);
16
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
17
+ const tx = decoded.transactionList[0];
18
+ let txBody = null;
19
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
20
+ txBody = proto.TransactionBody.decode(tx.bodyBytes);
21
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
22
+ const signedTx = proto.SignedTransaction.decode(
23
+ tx.signedTransactionBytes
24
+ );
25
+ if (signedTx.bodyBytes) {
26
+ txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
27
+ }
28
+ }
29
+ if (txBody) {
30
+ const protoResult = this.parseFromProtobufTxBody(txBody);
31
+ if (protoResult.type && protoResult.type !== "UNKNOWN") {
32
+ return protoResult;
33
+ }
34
+ }
35
+ }
36
+ } catch (protoError) {
37
+ }
38
+ }
39
+ return this.parseFromTransactionInternals(transaction);
40
+ } catch (error) {
41
+ return {
42
+ type: "UNKNOWN",
43
+ humanReadableType: "Unknown Contract Transaction"
44
+ };
45
+ }
12
46
  }
13
- if (typeof request.offset === "number" && Number.isFinite(request.offset) && request.offset > 0) {
14
- const limit = effectiveLimit && effectiveLimit > 0 ? effectiveLimit : 20;
15
- params.limit = limit;
16
- params.page = Math.floor(request.offset / limit) + 1;
47
+ /**
48
+ * Parse contract transaction from protobuf TransactionBody
49
+ * Handles all contract operations from decoded protobuf data
50
+ */
51
+ static parseFromProtobufTxBody(txBody) {
52
+ if (txBody.contractCall) {
53
+ const contractCall = this.parseContractCall(txBody.contractCall);
54
+ if (contractCall) {
55
+ return {
56
+ type: "CONTRACTCALL",
57
+ humanReadableType: "Contract Call",
58
+ contractCall
59
+ };
60
+ }
61
+ }
62
+ if (txBody.contractCreateInstance) {
63
+ const contractCreate = this.parseContractCreate(
64
+ txBody.contractCreateInstance
65
+ );
66
+ if (contractCreate) {
67
+ return {
68
+ type: "CONTRACTCREATE",
69
+ humanReadableType: "Contract Create",
70
+ contractCreate
71
+ };
72
+ }
73
+ }
74
+ if (txBody.contractUpdateInstance) {
75
+ const contractUpdate = this.parseContractUpdate(
76
+ txBody.contractUpdateInstance
77
+ );
78
+ if (contractUpdate) {
79
+ return {
80
+ type: "CONTRACTUPDATE",
81
+ humanReadableType: "Contract Update",
82
+ contractUpdate
83
+ };
84
+ }
85
+ }
86
+ if (txBody.contractDeleteInstance) {
87
+ const contractDelete = this.parseContractDelete(
88
+ txBody.contractDeleteInstance
89
+ );
90
+ if (contractDelete) {
91
+ return {
92
+ type: "CONTRACTDELETE",
93
+ humanReadableType: "Contract Delete",
94
+ contractDelete
95
+ };
96
+ }
97
+ }
98
+ if (txBody.ethereumTransaction) {
99
+ const ethereumCall = this.parseEthereumTransaction(
100
+ txBody.ethereumTransaction
101
+ );
102
+ if (ethereumCall) {
103
+ return {
104
+ type: "ETHEREUMTRANSACTION",
105
+ humanReadableType: "Ethereum Transaction",
106
+ ethereumTransaction: ethereumCall
107
+ };
108
+ }
109
+ }
110
+ return {};
17
111
  }
18
- if (request.filter?.registry) {
19
- params.registry = request.filter.registry;
112
+ /**
113
+ * Extract contract data from Transaction internal fields
114
+ * This handles cases where data is stored in Transaction object internals
115
+ */
116
+ static parseFromTransactionInternals(transaction) {
117
+ try {
118
+ const tx = transaction;
119
+ if (tx._contractId && tx._gas) {
120
+ const contractCall = {
121
+ contractId: tx._contractId.toString(),
122
+ gas: typeof tx._gas === "number" ? tx._gas : Long.fromValue(tx._gas).toNumber(),
123
+ amount: tx._amount ? parseFloat(tx._amount.toString()) : 0
124
+ };
125
+ if (tx._functionParameters) {
126
+ const funcParams = Buffer.from(tx._functionParameters).toString(
127
+ "hex"
128
+ );
129
+ contractCall.functionParameters = funcParams;
130
+ contractCall.functionName = this.extractFunctionName(funcParams);
131
+ }
132
+ return {
133
+ type: "CONTRACTCALL",
134
+ humanReadableType: "Contract Call",
135
+ contractCall
136
+ };
137
+ }
138
+ if (hasTransactionType(transaction, "contractCreateInstance")) {
139
+ const contractCreate = {
140
+ gas: tx._gas.toString(),
141
+ initialBalance: tx._initialBalance?.toString() || "0"
142
+ };
143
+ if (tx._fileId) {
144
+ contractCreate.initcodeSource = "fileID";
145
+ contractCreate.initcode = tx._fileId.toString();
146
+ } else if (tx._bytecode) {
147
+ contractCreate.initcodeSource = "bytes";
148
+ contractCreate.initcode = Buffer.from(tx._bytecode).toString("hex");
149
+ }
150
+ if (tx._constructorParameters) {
151
+ contractCreate.constructorParameters = Buffer.from(
152
+ tx._constructorParameters
153
+ ).toString("hex");
154
+ }
155
+ if (tx._memo) contractCreate.memo = tx._memo;
156
+ if (tx._adminKey) contractCreate.adminKey = parseKey(tx._adminKey);
157
+ if (tx._maxAutomaticTokenAssociations !== void 0) {
158
+ contractCreate.maxAutomaticTokenAssociations = tx._maxAutomaticTokenAssociations;
159
+ }
160
+ if (tx._stakedAccountId) {
161
+ contractCreate.stakedAccountId = tx._stakedAccountId.toString();
162
+ } else if (tx._stakedNodeId !== null && tx._stakedNodeId !== void 0) {
163
+ contractCreate.stakedNodeId = Long.fromValue(
164
+ tx._stakedNodeId
165
+ ).toString();
166
+ }
167
+ if (tx._declineReward !== void 0)
168
+ contractCreate.declineReward = tx._declineReward;
169
+ if (tx._autoRenewPeriod)
170
+ contractCreate.autoRenewPeriod = tx._autoRenewPeriod.toString();
171
+ return {
172
+ type: "CONTRACTCREATE",
173
+ humanReadableType: "Contract Create",
174
+ contractCreate
175
+ };
176
+ }
177
+ if (hasTransactionType(transaction, "contractUpdateInstance")) {
178
+ const contractUpdate = {
179
+ contractIdToUpdate: tx._contractId.toString()
180
+ };
181
+ if (tx._memo) contractUpdate.memo = tx._memo;
182
+ if (tx._adminKey) contractUpdate.adminKey = parseKey(tx._adminKey);
183
+ if (tx._maxAutomaticTokenAssociations !== void 0) {
184
+ contractUpdate.maxAutomaticTokenAssociations = tx._maxAutomaticTokenAssociations;
185
+ }
186
+ if (tx._stakedAccountId) {
187
+ contractUpdate.stakedAccountId = tx._stakedAccountId.toString();
188
+ } else if (tx._stakedNodeId !== null && tx._stakedNodeId !== void 0) {
189
+ contractUpdate.stakedNodeId = Long.fromValue(
190
+ tx._stakedNodeId
191
+ ).toString();
192
+ }
193
+ if (tx._declineReward !== void 0)
194
+ contractUpdate.declineReward = tx._declineReward;
195
+ if (tx._autoRenewPeriod)
196
+ contractUpdate.autoRenewPeriod = tx._autoRenewPeriod.toString();
197
+ return {
198
+ type: "CONTRACTUPDATE",
199
+ humanReadableType: "Contract Update",
200
+ contractUpdate
201
+ };
202
+ }
203
+ if (hasTransactionType(transaction, "contractDeleteInstance")) {
204
+ const contractDelete = {
205
+ contractIdToDelete: tx._contractId.toString()
206
+ };
207
+ if (tx._transferAccountId) {
208
+ contractDelete.transferAccountId = tx._transferAccountId.toString();
209
+ } else if (tx._transferContractId) {
210
+ contractDelete.transferContractId = tx._transferContractId.toString();
211
+ }
212
+ return {
213
+ type: "CONTRACTDELETE",
214
+ humanReadableType: "Contract Delete",
215
+ contractDelete
216
+ };
217
+ }
218
+ return {};
219
+ } catch (error) {
220
+ return {};
221
+ }
20
222
  }
21
- if (request.filter?.protocols?.length) {
22
- params.protocols = [...request.filter.protocols];
223
+ /**
224
+ * Enhanced function name extraction from contract call parameters
225
+ * Attempts to decode function selector and map to known function names
226
+ */
227
+ static extractFunctionName(functionParameters) {
228
+ if (functionParameters.length < 8) return "unknown";
229
+ const selector = functionParameters.substring(0, 8);
230
+ const commonSelectors = {
231
+ a9059cbb: "transfer",
232
+ "095ea7b3": "approve",
233
+ "23b872dd": "transferFrom",
234
+ "70a08231": "balanceOf",
235
+ dd62ed3e: "allowance",
236
+ "18160ddd": "totalSupply",
237
+ "06fdde03": "name",
238
+ "95d89b41": "symbol",
239
+ "313ce567": "decimals",
240
+ "42842e0e": "safeTransferFrom",
241
+ b88d4fde: "safeTransferFrom",
242
+ e985e9c5: "isApprovedForAll",
243
+ a22cb465: "setApprovalForAll",
244
+ "6352211e": "ownerOf",
245
+ c87b56dd: "tokenURI",
246
+ "01ffc9a7": "supportsInterface",
247
+ "40c10f19": "mint",
248
+ "42966c68": "burn",
249
+ f2fde38b: "transferOwnership",
250
+ "715018a6": "renounceOwnership",
251
+ "8da5cb5b": "owner"
252
+ };
253
+ return commonSelectors[selector] || selector;
23
254
  }
24
- if (request.filter?.adapter?.length) {
25
- params.adapters = [...request.filter.adapter];
255
+ /**
256
+ * Parse Ethereum Transaction (was completely missing from original parser)
257
+ */
258
+ static parseEthereumTransaction(body) {
259
+ if (!body) return void 0;
260
+ const data = {
261
+ contractId: "EVM",
262
+ gas: body.maxGasAllowance ? Long.fromValue(body.maxGasAllowance).toNumber() : 0,
263
+ amount: 0
264
+ };
265
+ if (body.ethereumData && body.ethereumData.length > 0) {
266
+ const ethData = Buffer.from(body.ethereumData).toString("hex");
267
+ data.functionParameters = ethData;
268
+ if (ethData.length >= 8) {
269
+ data.functionName = this.extractFunctionName(ethData);
270
+ }
271
+ }
272
+ return data;
26
273
  }
27
- if (request.filter?.capabilities?.length) {
28
- params.capabilities = request.filter.capabilities.map(
29
- (value) => typeof value === "number" ? value.toString(10) : value
30
- );
274
+ static parseContractCall(body) {
275
+ if (!body) return void 0;
276
+ const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));
277
+ const data = {
278
+ contractId: new ContractId(
279
+ body.contractID.shardNum ?? 0,
280
+ body.contractID.realmNum ?? 0,
281
+ body.contractID.contractNum ?? 0
282
+ ).toString(),
283
+ gas: Long.fromValue(body.gas ?? 0).toNumber(),
284
+ amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar))
285
+ };
286
+ if (body.functionParameters) {
287
+ data.functionParameters = Buffer.from(body.functionParameters).toString(
288
+ "hex"
289
+ );
290
+ if (data.functionParameters.length >= 8) {
291
+ data.functionName = this.extractFunctionName(data.functionParameters);
292
+ }
293
+ }
294
+ return data;
31
295
  }
32
- if (request.filter?.type) {
33
- params.type = request.filter.type;
296
+ static parseContractCreate(body) {
297
+ if (!body) return void 0;
298
+ const data = {};
299
+ if (body.initialBalance) {
300
+ data.initialBalance = Hbar.fromTinybars(
301
+ Long.fromValue(body.initialBalance)
302
+ ).toString(HbarUnit.Hbar);
303
+ }
304
+ if (body.gas) {
305
+ data.gas = Long.fromValue(body.gas).toString();
306
+ }
307
+ if (body.adminKey) {
308
+ data.adminKey = parseKey(body.adminKey);
309
+ }
310
+ if (body.constructorParameters) {
311
+ data.constructorParameters = Buffer.from(
312
+ body.constructorParameters
313
+ ).toString("hex");
314
+ }
315
+ if (body.memo) {
316
+ data.memo = body.memo;
317
+ }
318
+ if (body.autoRenewPeriod?.seconds) {
319
+ data.autoRenewPeriod = Long.fromValue(
320
+ body.autoRenewPeriod.seconds
321
+ ).toString();
322
+ }
323
+ if (body.stakedAccountId) {
324
+ data.stakedAccountId = new AccountId(
325
+ body.stakedAccountId.shardNum ?? 0,
326
+ body.stakedAccountId.realmNum ?? 0,
327
+ body.stakedAccountId.accountNum ?? 0
328
+ ).toString();
329
+ } else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0) {
330
+ data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
331
+ }
332
+ if (body.declineReward !== void 0) {
333
+ data.declineReward = body.declineReward;
334
+ }
335
+ if (body.maxAutomaticTokenAssociations !== void 0) {
336
+ data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;
337
+ }
338
+ if (body.fileID) {
339
+ data.initcodeSource = "fileID";
340
+ data.initcode = new FileId(
341
+ body.fileID.shardNum ?? 0,
342
+ body.fileID.realmNum ?? 0,
343
+ body.fileID.fileNum ?? 0
344
+ ).toString();
345
+ } else if (body.initcode && body.initcode.length > 0) {
346
+ data.initcodeSource = "bytes";
347
+ data.initcode = Buffer.from(body.initcode).toString("hex");
348
+ }
349
+ return data;
34
350
  }
35
- return params;
36
- }
37
- function convertSearchResultToVectorResponse(result) {
38
- const hits = result.hits.map((agent) => ({
39
- agent,
40
- score: 0,
41
- highlights: {}
42
- }));
43
- const total = result.total;
44
- const limit = result.limit;
45
- const page = result.page;
46
- const totalVisible = page * limit;
47
- const limited = total > totalVisible || page > 1;
48
- return {
49
- hits,
50
- total,
51
- took: 0,
52
- totalAvailable: total,
53
- visible: hits.length,
54
- limited,
55
- credits_used: 0
56
- };
57
- }
58
- async function search(client, params = {}) {
59
- const query = buildSearchQuery(params);
60
- const raw = await client.requestJson(`/search${query}`, {
61
- method: "GET"
62
- });
63
- return client.parseWithSchema(raw, searchResponseSchema, "search response");
64
- }
65
- async function stats(client) {
66
- const raw = await client.requestJson("/stats", { method: "GET" });
67
- return client.parseWithSchema(raw, statsResponseSchema, "stats response");
68
- }
69
- async function registries(client) {
70
- const raw = await client.requestJson("/registries", {
71
- method: "GET"
72
- });
73
- return client.parseWithSchema(
74
- raw,
75
- registriesResponseSchema,
76
- "registries response"
77
- );
78
- }
79
- async function getAdditionalRegistries(client) {
80
- const raw = await client.requestJson(
81
- "/register/additional-registries",
82
- {
83
- method: "GET"
84
- }
85
- );
86
- return client.parseWithSchema(
87
- raw,
88
- additionalRegistryCatalogResponseSchema,
89
- "additional registry catalog response"
90
- );
91
- }
92
- async function popularSearches(client) {
93
- const raw = await client.requestJson("/popular", {
94
- method: "GET"
95
- });
96
- return client.parseWithSchema(
97
- raw,
98
- popularResponseSchema,
99
- "popular searches response"
100
- );
101
- }
102
- async function listProtocols(client) {
103
- const raw = await client.requestJson("/protocols", {
104
- method: "GET"
105
- });
106
- return client.parseWithSchema(
107
- raw,
108
- protocolsResponseSchema,
109
- "protocols response"
110
- );
111
- }
112
- async function detectProtocol(client, message) {
113
- const raw = await client.requestJson("/detect-protocol", {
114
- method: "POST",
115
- body: { message },
116
- headers: { "content-type": "application/json" }
117
- });
118
- return client.parseWithSchema(
119
- raw,
120
- detectProtocolResponseSchema,
121
- "detect protocol response"
122
- );
123
- }
124
- async function registrySearchByNamespace(client, registry, query) {
125
- const params = new URLSearchParams();
126
- if (query) {
127
- params.set("q", query);
351
+ static parseContractUpdate(body) {
352
+ if (!body) return void 0;
353
+ const data = {};
354
+ if (body.contractID) {
355
+ data.contractIdToUpdate = new ContractId(
356
+ body.contractID.shardNum ?? 0,
357
+ body.contractID.realmNum ?? 0,
358
+ body.contractID.contractNum ?? 0
359
+ ).toString();
360
+ }
361
+ if (body.adminKey) {
362
+ data.adminKey = parseKey(body.adminKey);
363
+ }
364
+ if (body.expirationTime?.seconds) {
365
+ data.expirationTime = `${Long.fromValue(
366
+ body.expirationTime.seconds
367
+ ).toString()}.${body.expirationTime.nanos}`;
368
+ }
369
+ if (body.autoRenewPeriod?.seconds) {
370
+ data.autoRenewPeriod = Long.fromValue(
371
+ body.autoRenewPeriod.seconds
372
+ ).toString();
373
+ }
374
+ if (body.memo) {
375
+ const memoUnion = body.memo;
376
+ if (memoUnion && typeof memoUnion === "object" && Object.prototype.hasOwnProperty.call(memoUnion, "value")) {
377
+ const value = memoUnion.value;
378
+ if (value === null || value === void 0) {
379
+ data.memo = void 0;
380
+ } else {
381
+ data.memo = String(value);
382
+ }
383
+ } else if (typeof memoUnion === "string") {
384
+ data.memo = memoUnion;
385
+ } else {
386
+ data.memo = void 0;
387
+ }
388
+ } else {
389
+ data.memo = void 0;
390
+ }
391
+ if (body.stakedAccountId) {
392
+ data.stakedAccountId = new AccountId(
393
+ body.stakedAccountId.shardNum ?? 0,
394
+ body.stakedAccountId.realmNum ?? 0,
395
+ body.stakedAccountId.accountNum ?? 0
396
+ ).toString();
397
+ data.stakedNodeId = void 0;
398
+ } else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0 && Long.fromValue(body.stakedNodeId).notEquals(-1)) {
399
+ data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
400
+ data.stakedAccountId = void 0;
401
+ } else {
402
+ data.stakedNodeId = void 0;
403
+ data.stakedAccountId = void 0;
404
+ }
405
+ if (body.declineReward?.value !== void 0) {
406
+ data.declineReward = body.declineReward.value;
407
+ }
408
+ if (body.maxAutomaticTokenAssociations?.value !== void 0) {
409
+ data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations.value;
410
+ }
411
+ if (body.autoRenewAccountId) {
412
+ data.autoRenewAccountId = new AccountId(
413
+ body.autoRenewAccountId.shardNum ?? 0,
414
+ body.autoRenewAccountId.realmNum ?? 0,
415
+ body.autoRenewAccountId.accountNum ?? 0
416
+ ).toString();
417
+ }
418
+ return data;
128
419
  }
129
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
130
- const raw = await client.requestJson(
131
- `/registries/${encodeURIComponent(registry)}/search${suffix}`,
132
- {
133
- method: "GET"
134
- }
135
- );
136
- return client.parseWithSchema(
137
- raw,
138
- registrySearchByNamespaceSchema,
139
- "registry search response"
140
- );
141
- }
142
- async function vectorSearch(client, request) {
143
- try {
144
- const raw = await client.requestJson("/search", {
145
- method: "POST",
146
- body: request,
147
- headers: { "content-type": "application/json" }
148
- });
149
- return client.parseWithSchema(
150
- raw,
151
- vectorSearchResponseSchema,
152
- "vector search response"
153
- );
154
- } catch (error) {
155
- if (error instanceof RegistryBrokerError && error.status === 501) {
156
- const fallback = await search(
157
- client,
158
- buildVectorFallbackSearchParams(request)
159
- );
160
- return convertSearchResultToVectorResponse(fallback);
420
+ static parseContractDelete(body) {
421
+ if (!body) return void 0;
422
+ const data = {};
423
+ if (body.contractID) {
424
+ data.contractIdToDelete = new ContractId(
425
+ body.contractID.shardNum ?? 0,
426
+ body.contractID.realmNum ?? 0,
427
+ body.contractID.contractNum ?? 0
428
+ ).toString();
429
+ }
430
+ if (body.transferAccountID) {
431
+ data.transferAccountId = new AccountId(
432
+ body.transferAccountID.shardNum ?? 0,
433
+ body.transferAccountID.realmNum ?? 0,
434
+ body.transferAccountID.accountNum ?? 0
435
+ ).toString();
436
+ } else if (body.transferContractID) {
437
+ data.transferContractId = new ContractId(
438
+ body.transferContractID.shardNum ?? 0,
439
+ body.transferContractID.realmNum ?? 0,
440
+ body.transferContractID.contractNum ?? 0
441
+ ).toString();
161
442
  }
162
- throw error;
443
+ return data;
163
444
  }
164
- }
165
- async function searchStatus(client) {
166
- const raw = await client.requestJson("/search/status", {
167
- method: "GET"
168
- });
169
- return client.parseWithSchema(
170
- raw,
171
- searchStatusResponseSchema,
172
- "search status response"
173
- );
174
- }
175
- async function websocketStats(client) {
176
- const raw = await client.requestJson("/websocket/stats", {
177
- method: "GET"
178
- });
179
- return client.parseWithSchema(
180
- raw,
181
- websocketStatsResponseSchema,
182
- "websocket stats response"
183
- );
184
- }
185
- async function metricsSummary(client) {
186
- const raw = await client.requestJson("/metrics", {
187
- method: "GET"
188
- });
189
- return client.parseWithSchema(
190
- raw,
191
- metricsSummaryResponseSchema,
192
- "metrics summary response"
193
- );
194
- }
195
- async function facets(client, adapter) {
196
- const params = new URLSearchParams();
197
- if (adapter) {
198
- params.set("adapter", adapter);
445
+ /**
446
+ * Parse SCS (Smart Contract Service) transaction from Transaction object
447
+ * This is the unified entry point that delegates to the comprehensive parsing logic
448
+ */
449
+ static parseFromTransactionObject(transaction) {
450
+ return this.parseSCSTransaction(transaction);
199
451
  }
200
- const suffix = params.size > 0 ? `?${params.toString()}` : "";
201
- const raw = await client.requestJson(`/search/facets${suffix}`, {
202
- method: "GET"
203
- });
204
- return client.parseWithSchema(
205
- raw,
206
- searchFacetsResponseSchema,
207
- "search facets response"
208
- );
209
452
  }
210
453
  export {
211
- detectProtocol,
212
- facets,
213
- getAdditionalRegistries,
214
- listProtocols,
215
- metricsSummary,
216
- popularSearches,
217
- registries,
218
- registrySearchByNamespace,
219
- search,
220
- searchStatus,
221
- stats,
222
- vectorSearch,
223
- websocketStats
454
+ SCSParser
224
455
  };
225
456
  //# sourceMappingURL=standards-sdk.es170.js.map