@hashgraphonline/standards-sdk 0.1.160 → 0.1.161

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 (293) hide show
  1. package/dist/cjs/hcs-14/resolvers/registry.d.ts +18 -1
  2. package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
  3. package/dist/cjs/hcs-14/resolvers/types.d.ts +17 -0
  4. package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
  5. package/dist/cjs/hcs-14/sdk.d.ts +24 -13
  6. package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
  7. package/dist/cjs/standards-sdk.cjs +3 -3
  8. package/dist/cjs/standards-sdk.cjs.map +1 -1
  9. package/dist/es/hcs-14/resolvers/registry.d.ts +18 -1
  10. package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
  11. package/dist/es/hcs-14/resolvers/types.d.ts +17 -0
  12. package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
  13. package/dist/es/hcs-14/sdk.d.ts +24 -13
  14. package/dist/es/hcs-14/sdk.d.ts.map +1 -1
  15. package/dist/es/standards-sdk.es.js +94 -90
  16. package/dist/es/standards-sdk.es.js.map +1 -1
  17. package/dist/es/standards-sdk.es100.js +138 -42
  18. package/dist/es/standards-sdk.es100.js.map +1 -1
  19. package/dist/es/standards-sdk.es101.js +43 -259
  20. package/dist/es/standards-sdk.es101.js.map +1 -1
  21. package/dist/es/standards-sdk.es102.js +245 -82
  22. package/dist/es/standards-sdk.es102.js.map +1 -1
  23. package/dist/es/standards-sdk.es103.js +50 -49
  24. package/dist/es/standards-sdk.es103.js.map +1 -1
  25. package/dist/es/standards-sdk.es104.js +100 -29
  26. package/dist/es/standards-sdk.es104.js.map +1 -1
  27. package/dist/es/standards-sdk.es105.js +27 -229
  28. package/dist/es/standards-sdk.es105.js.map +1 -1
  29. package/dist/es/standards-sdk.es106.js +228 -109
  30. package/dist/es/standards-sdk.es106.js.map +1 -1
  31. package/dist/es/standards-sdk.es107.js +94 -15
  32. package/dist/es/standards-sdk.es107.js.map +1 -1
  33. package/dist/es/standards-sdk.es108.js +30 -80
  34. package/dist/es/standards-sdk.es108.js.map +1 -1
  35. package/dist/es/standards-sdk.es109.js +80 -27
  36. package/dist/es/standards-sdk.es109.js.map +1 -1
  37. package/dist/es/standards-sdk.es11.js +1 -1
  38. package/dist/es/standards-sdk.es110.js +27 -248
  39. package/dist/es/standards-sdk.es110.js.map +1 -1
  40. package/dist/es/standards-sdk.es111.js +246 -472
  41. package/dist/es/standards-sdk.es111.js.map +1 -1
  42. package/dist/es/standards-sdk.es112.js +458 -85
  43. package/dist/es/standards-sdk.es112.js.map +1 -1
  44. package/dist/es/standards-sdk.es113.js +96 -151
  45. package/dist/es/standards-sdk.es113.js.map +1 -1
  46. package/dist/es/standards-sdk.es114.js +155 -29
  47. package/dist/es/standards-sdk.es114.js.map +1 -1
  48. package/dist/es/standards-sdk.es115.js +26 -4
  49. package/dist/es/standards-sdk.es115.js.map +1 -1
  50. package/dist/es/standards-sdk.es116.js +10 -140
  51. package/dist/es/standards-sdk.es116.js.map +1 -1
  52. package/dist/es/standards-sdk.es117.js +140 -27
  53. package/dist/es/standards-sdk.es117.js.map +1 -1
  54. package/dist/es/standards-sdk.es118.js +27 -20
  55. package/dist/es/standards-sdk.es118.js.map +1 -1
  56. package/dist/es/standards-sdk.es119.js +18 -156
  57. package/dist/es/standards-sdk.es119.js.map +1 -1
  58. package/dist/es/standards-sdk.es12.js +1 -1
  59. package/dist/es/standards-sdk.es120.js +148 -191
  60. package/dist/es/standards-sdk.es120.js.map +1 -1
  61. package/dist/es/standards-sdk.es121.js +160 -747
  62. package/dist/es/standards-sdk.es121.js.map +1 -1
  63. package/dist/es/standards-sdk.es122.js +786 -9
  64. package/dist/es/standards-sdk.es122.js.map +1 -1
  65. package/dist/es/standards-sdk.es123.js +13 -567
  66. package/dist/es/standards-sdk.es123.js.map +1 -1
  67. package/dist/es/standards-sdk.es124.js +541 -576
  68. package/dist/es/standards-sdk.es124.js.map +1 -1
  69. package/dist/es/standards-sdk.es125.js +601 -12
  70. package/dist/es/standards-sdk.es125.js.map +1 -1
  71. package/dist/es/standards-sdk.es126.js +13 -2
  72. package/dist/es/standards-sdk.es126.js.map +1 -1
  73. package/dist/es/standards-sdk.es127.js +2 -87
  74. package/dist/es/standards-sdk.es127.js.map +1 -1
  75. package/dist/es/standards-sdk.es128.js +84 -37
  76. package/dist/es/standards-sdk.es128.js.map +1 -1
  77. package/dist/es/standards-sdk.es129.js +40 -2
  78. package/dist/es/standards-sdk.es129.js.map +1 -1
  79. package/dist/es/standards-sdk.es13.js +1 -1
  80. package/dist/es/standards-sdk.es130.js +2 -235
  81. package/dist/es/standards-sdk.es130.js.map +1 -1
  82. package/dist/es/standards-sdk.es131.js +204 -1109
  83. package/dist/es/standards-sdk.es131.js.map +1 -1
  84. package/dist/es/standards-sdk.es132.js +1059 -225
  85. package/dist/es/standards-sdk.es132.js.map +1 -1
  86. package/dist/es/standards-sdk.es133.js +303 -419
  87. package/dist/es/standards-sdk.es133.js.map +1 -1
  88. package/dist/es/standards-sdk.es134.js +418 -351
  89. package/dist/es/standards-sdk.es134.js.map +1 -1
  90. package/dist/es/standards-sdk.es135.js +347 -1108
  91. package/dist/es/standards-sdk.es135.js.map +1 -1
  92. package/dist/es/standards-sdk.es136.js +1088 -180
  93. package/dist/es/standards-sdk.es136.js.map +1 -1
  94. package/dist/es/standards-sdk.es137.js +153 -1512
  95. package/dist/es/standards-sdk.es137.js.map +1 -1
  96. package/dist/es/standards-sdk.es138.js +1567 -1255
  97. package/dist/es/standards-sdk.es138.js.map +1 -1
  98. package/dist/es/standards-sdk.es139.js +1255 -17
  99. package/dist/es/standards-sdk.es139.js.map +1 -1
  100. package/dist/es/standards-sdk.es14.js +1 -1
  101. package/dist/es/standards-sdk.es140.js +15 -85
  102. package/dist/es/standards-sdk.es140.js.map +1 -1
  103. package/dist/es/standards-sdk.es141.js +77 -71
  104. package/dist/es/standards-sdk.es141.js.map +1 -1
  105. package/dist/es/standards-sdk.es142.js +79 -891
  106. package/dist/es/standards-sdk.es142.js.map +1 -1
  107. package/dist/es/standards-sdk.es143.js +886 -53
  108. package/dist/es/standards-sdk.es143.js.map +1 -1
  109. package/dist/es/standards-sdk.es144.js +53 -152
  110. package/dist/es/standards-sdk.es144.js.map +1 -1
  111. package/dist/es/standards-sdk.es145.js +159 -7
  112. package/dist/es/standards-sdk.es145.js.map +1 -1
  113. package/dist/es/standards-sdk.es146.js +7 -86
  114. package/dist/es/standards-sdk.es146.js.map +1 -1
  115. package/dist/es/standards-sdk.es147.js +65 -44
  116. package/dist/es/standards-sdk.es147.js.map +1 -1
  117. package/dist/es/standards-sdk.es148.js +65 -30
  118. package/dist/es/standards-sdk.es148.js.map +1 -1
  119. package/dist/es/standards-sdk.es149.js +30 -34
  120. package/dist/es/standards-sdk.es149.js.map +1 -1
  121. package/dist/es/standards-sdk.es15.js +1 -1
  122. package/dist/es/standards-sdk.es150.js +34 -41
  123. package/dist/es/standards-sdk.es150.js.map +1 -1
  124. package/dist/es/standards-sdk.es151.js +45 -138
  125. package/dist/es/standards-sdk.es151.js.map +1 -1
  126. package/dist/es/standards-sdk.es152.js +133 -37
  127. package/dist/es/standards-sdk.es152.js.map +1 -1
  128. package/dist/es/standards-sdk.es153.js +34 -12474
  129. package/dist/es/standards-sdk.es153.js.map +1 -1
  130. package/dist/es/standards-sdk.es154.js +12444 -134
  131. package/dist/es/standards-sdk.es154.js.map +1 -1
  132. package/dist/es/standards-sdk.es155.js +13 -318
  133. package/dist/es/standards-sdk.es155.js.map +1 -1
  134. package/dist/es/standards-sdk.es156.js +55 -345
  135. package/dist/es/standards-sdk.es156.js.map +1 -1
  136. package/dist/es/standards-sdk.es157.js +68 -437
  137. package/dist/es/standards-sdk.es157.js.map +1 -1
  138. package/dist/es/standards-sdk.es158.js +71 -321
  139. package/dist/es/standards-sdk.es158.js.map +1 -1
  140. package/dist/es/standards-sdk.es159.js +63 -66
  141. package/dist/es/standards-sdk.es159.js.map +1 -1
  142. package/dist/es/standards-sdk.es16.js +5 -5
  143. package/dist/es/standards-sdk.es160.js +168 -13
  144. package/dist/es/standards-sdk.es160.js.map +1 -1
  145. package/dist/es/standards-sdk.es161.js +312 -232
  146. package/dist/es/standards-sdk.es161.js.map +1 -1
  147. package/dist/es/standards-sdk.es162.js +345 -55
  148. package/dist/es/standards-sdk.es162.js.map +1 -1
  149. package/dist/es/standards-sdk.es163.js +437 -68
  150. package/dist/es/standards-sdk.es163.js.map +1 -1
  151. package/dist/es/standards-sdk.es164.js +321 -71
  152. package/dist/es/standards-sdk.es164.js.map +1 -1
  153. package/dist/es/standards-sdk.es165.js +66 -63
  154. package/dist/es/standards-sdk.es165.js.map +1 -1
  155. package/dist/es/standards-sdk.es166.js +220 -150
  156. package/dist/es/standards-sdk.es166.js.map +1 -1
  157. package/dist/es/standards-sdk.es167.js +152 -202
  158. package/dist/es/standards-sdk.es167.js.map +1 -1
  159. package/dist/es/standards-sdk.es168.js +206 -223
  160. package/dist/es/standards-sdk.es168.js.map +1 -1
  161. package/dist/es/standards-sdk.es169.js +227 -107
  162. package/dist/es/standards-sdk.es169.js.map +1 -1
  163. package/dist/es/standards-sdk.es170.js +98 -105
  164. package/dist/es/standards-sdk.es170.js.map +1 -1
  165. package/dist/es/standards-sdk.es171.js +105 -140
  166. package/dist/es/standards-sdk.es171.js.map +1 -1
  167. package/dist/es/standards-sdk.es172.js +140 -164
  168. package/dist/es/standards-sdk.es172.js.map +1 -1
  169. package/dist/es/standards-sdk.es173.js +165 -119
  170. package/dist/es/standards-sdk.es173.js.map +1 -1
  171. package/dist/es/standards-sdk.es174.js +111 -303
  172. package/dist/es/standards-sdk.es174.js.map +1 -1
  173. package/dist/es/standards-sdk.es175.js +297 -225
  174. package/dist/es/standards-sdk.es175.js.map +1 -1
  175. package/dist/es/standards-sdk.es176.js +253 -110
  176. package/dist/es/standards-sdk.es176.js.map +1 -1
  177. package/dist/es/standards-sdk.es177.js +119 -0
  178. package/dist/es/standards-sdk.es177.js.map +1 -0
  179. package/dist/es/standards-sdk.es18.js +12 -12
  180. package/dist/es/standards-sdk.es19.js +9 -9
  181. package/dist/es/standards-sdk.es2.js +2 -2
  182. package/dist/es/standards-sdk.es20.js +1 -1
  183. package/dist/es/standards-sdk.es21.js +1 -1
  184. package/dist/es/standards-sdk.es22.js +1 -1
  185. package/dist/es/standards-sdk.es23.js +1 -1
  186. package/dist/es/standards-sdk.es24.js +1 -1
  187. package/dist/es/standards-sdk.es25.js +1 -1
  188. package/dist/es/standards-sdk.es26.js +1 -1
  189. package/dist/es/standards-sdk.es27.js +12 -12
  190. package/dist/es/standards-sdk.es30.js +2 -2
  191. package/dist/es/standards-sdk.es31.js +4 -4
  192. package/dist/es/standards-sdk.es32.js +1 -1
  193. package/dist/es/standards-sdk.es35.js +6 -6
  194. package/dist/es/standards-sdk.es36.js +4 -4
  195. package/dist/es/standards-sdk.es37.js +2 -2
  196. package/dist/es/standards-sdk.es38.js +2 -2
  197. package/dist/es/standards-sdk.es39.js +1 -1
  198. package/dist/es/standards-sdk.es4.js +2 -2
  199. package/dist/es/standards-sdk.es40.js +1 -1
  200. package/dist/es/standards-sdk.es41.js +2 -2
  201. package/dist/es/standards-sdk.es46.js +1 -1
  202. package/dist/es/standards-sdk.es5.js +2 -2
  203. package/dist/es/standards-sdk.es51.js +1 -1
  204. package/dist/es/standards-sdk.es53.js +1 -1
  205. package/dist/es/standards-sdk.es56.js +2 -2
  206. package/dist/es/standards-sdk.es58.js +11 -236
  207. package/dist/es/standards-sdk.es58.js.map +1 -1
  208. package/dist/es/standards-sdk.es59.js +321 -35
  209. package/dist/es/standards-sdk.es59.js.map +1 -1
  210. package/dist/es/standards-sdk.es6.js +2 -2
  211. package/dist/es/standards-sdk.es60.js +32 -101
  212. package/dist/es/standards-sdk.es60.js.map +1 -1
  213. package/dist/es/standards-sdk.es61.js +86 -156
  214. package/dist/es/standards-sdk.es61.js.map +1 -1
  215. package/dist/es/standards-sdk.es62.js +112 -153
  216. package/dist/es/standards-sdk.es62.js.map +1 -1
  217. package/dist/es/standards-sdk.es63.js +179 -87
  218. package/dist/es/standards-sdk.es63.js.map +1 -1
  219. package/dist/es/standards-sdk.es64.js +124 -40
  220. package/dist/es/standards-sdk.es64.js.map +1 -1
  221. package/dist/es/standards-sdk.es65.js +41 -251
  222. package/dist/es/standards-sdk.es65.js.map +1 -1
  223. package/dist/es/standards-sdk.es66.js +257 -24
  224. package/dist/es/standards-sdk.es66.js.map +1 -1
  225. package/dist/es/standards-sdk.es67.js +25 -87
  226. package/dist/es/standards-sdk.es67.js.map +1 -1
  227. package/dist/es/standards-sdk.es68.js +95 -3
  228. package/dist/es/standards-sdk.es68.js.map +1 -1
  229. package/dist/es/standards-sdk.es69.js +3 -100
  230. package/dist/es/standards-sdk.es69.js.map +1 -1
  231. package/dist/es/standards-sdk.es7.js +1 -1
  232. package/dist/es/standards-sdk.es70.js +62 -61
  233. package/dist/es/standards-sdk.es70.js.map +1 -1
  234. package/dist/es/standards-sdk.es71.js +98 -17
  235. package/dist/es/standards-sdk.es71.js.map +1 -1
  236. package/dist/es/standards-sdk.es72.js +19 -77
  237. package/dist/es/standards-sdk.es72.js.map +1 -1
  238. package/dist/es/standards-sdk.es73.js +77 -458
  239. package/dist/es/standards-sdk.es73.js.map +1 -1
  240. package/dist/es/standards-sdk.es74.js +240 -106
  241. package/dist/es/standards-sdk.es74.js.map +1 -1
  242. package/dist/es/standards-sdk.es75.js +286 -170
  243. package/dist/es/standards-sdk.es75.js.map +1 -1
  244. package/dist/es/standards-sdk.es76.js +207 -71
  245. package/dist/es/standards-sdk.es76.js.map +1 -1
  246. package/dist/es/standards-sdk.es77.js +72 -71
  247. package/dist/es/standards-sdk.es77.js.map +1 -1
  248. package/dist/es/standards-sdk.es78.js +71 -143
  249. package/dist/es/standards-sdk.es78.js.map +1 -1
  250. package/dist/es/standards-sdk.es79.js +136 -62
  251. package/dist/es/standards-sdk.es79.js.map +1 -1
  252. package/dist/es/standards-sdk.es80.js +45 -380
  253. package/dist/es/standards-sdk.es80.js.map +1 -1
  254. package/dist/es/standards-sdk.es81.js +130 -222
  255. package/dist/es/standards-sdk.es81.js.map +1 -1
  256. package/dist/es/standards-sdk.es82.js +444 -313
  257. package/dist/es/standards-sdk.es82.js.map +1 -1
  258. package/dist/es/standards-sdk.es83.js +364 -88
  259. package/dist/es/standards-sdk.es83.js.map +1 -1
  260. package/dist/es/standards-sdk.es84.js +89 -125
  261. package/dist/es/standards-sdk.es84.js.map +1 -1
  262. package/dist/es/standards-sdk.es85.js +125 -8
  263. package/dist/es/standards-sdk.es85.js.map +1 -1
  264. package/dist/es/standards-sdk.es86.js +6 -45
  265. package/dist/es/standards-sdk.es86.js.map +1 -1
  266. package/dist/es/standards-sdk.es87.js +44 -98
  267. package/dist/es/standards-sdk.es87.js.map +1 -1
  268. package/dist/es/standards-sdk.es88.js +84 -331
  269. package/dist/es/standards-sdk.es88.js.map +1 -1
  270. package/dist/es/standards-sdk.es89.js +160 -93
  271. package/dist/es/standards-sdk.es89.js.map +1 -1
  272. package/dist/es/standards-sdk.es9.js +2 -2
  273. package/dist/es/standards-sdk.es90.js +275 -55
  274. package/dist/es/standards-sdk.es90.js.map +1 -1
  275. package/dist/es/standards-sdk.es91.js +55 -43
  276. package/dist/es/standards-sdk.es91.js.map +1 -1
  277. package/dist/es/standards-sdk.es92.js +44 -145
  278. package/dist/es/standards-sdk.es92.js.map +1 -1
  279. package/dist/es/standards-sdk.es93.js +113 -30
  280. package/dist/es/standards-sdk.es93.js.map +1 -1
  281. package/dist/es/standards-sdk.es94.js +59 -22
  282. package/dist/es/standards-sdk.es94.js.map +1 -1
  283. package/dist/es/standards-sdk.es95.js +28 -23
  284. package/dist/es/standards-sdk.es95.js.map +1 -1
  285. package/dist/es/standards-sdk.es96.js +23 -238
  286. package/dist/es/standards-sdk.es96.js.map +1 -1
  287. package/dist/es/standards-sdk.es97.js +225 -267
  288. package/dist/es/standards-sdk.es97.js.map +1 -1
  289. package/dist/es/standards-sdk.es98.js +220 -95
  290. package/dist/es/standards-sdk.es98.js.map +1 -1
  291. package/dist/es/standards-sdk.es99.js +136 -124
  292. package/dist/es/standards-sdk.es99.js.map +1 -1
  293. package/package.json +4 -1
@@ -1,456 +1,87 @@
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.es159.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
- }
1
+ import { isBrowser } from "./standards-sdk.es130.js";
2
+ let nodeRequire;
3
+ function isModuleNotFound(specifier, error) {
4
+ if (!error || typeof error !== "object") {
5
+ return false;
46
6
  }
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 {};
7
+ const code = Reflect.get(error, "code");
8
+ const message = Reflect.get(error, "message");
9
+ const messageText = typeof message === "string" ? message : "";
10
+ if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
11
+ return messageText.includes(specifier);
111
12
  }
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 {};
13
+ if (messageText) {
14
+ const lowered = messageText.toLowerCase();
15
+ if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
16
+ return lowered.includes(specifier.toLowerCase());
221
17
  }
222
18
  }
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;
19
+ return false;
20
+ }
21
+ async function resolveNodeRequire() {
22
+ if (nodeRequire !== void 0) {
23
+ return nodeRequire;
254
24
  }
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;
25
+ if (isBrowser) {
26
+ nodeRequire = null;
27
+ return nodeRequire;
273
28
  }
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;
29
+ try {
30
+ const globalObject = typeof global !== "undefined" ? global : globalThis;
31
+ const req = globalObject.process?.mainModule?.require ?? globalObject.require;
32
+ nodeRequire = typeof req === "function" && typeof req.resolve === "function" ? req : null;
33
+ } catch {
34
+ nodeRequire = null;
295
35
  }
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;
36
+ return nodeRequire;
37
+ }
38
+ async function dynamicImport(specifier) {
39
+ try {
40
+ return await import(specifier);
41
+ } catch (error) {
42
+ if (isModuleNotFound(specifier, error)) {
43
+ return null;
44
+ }
45
+ throw error;
350
46
  }
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);
47
+ }
48
+ async function optionalImport(specifier, options = {}) {
49
+ if (isBrowser) {
50
+ return dynamicImport(specifier);
51
+ }
52
+ if (!options.preferImport) {
53
+ const requireFn = await resolveNodeRequire();
54
+ if (requireFn) {
55
+ try {
56
+ return requireFn(specifier);
57
+ } catch (error) {
58
+ if (!isModuleNotFound(specifier, error)) {
59
+ throw error;
382
60
  }
383
- } else if (typeof memoUnion === "string") {
384
- data.memo = memoUnion;
385
- } else {
386
- data.memo = void 0;
387
61
  }
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
62
  }
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;
419
63
  }
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();
64
+ return dynamicImport(specifier);
65
+ }
66
+ function optionalImportSync(specifier) {
67
+ if (isBrowser) {
68
+ return null;
69
+ }
70
+ try {
71
+ const globalObject = typeof global !== "undefined" ? global : globalThis;
72
+ const req = globalObject.process?.mainModule?.require ?? globalObject.require;
73
+ if (typeof req === "function" && typeof req.resolve === "function") {
74
+ return req(specifier);
429
75
  }
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();
76
+ } catch (error) {
77
+ if (!isModuleNotFound(specifier, error)) {
78
+ throw error;
442
79
  }
443
- return data;
444
- }
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);
451
80
  }
81
+ return null;
452
82
  }
453
83
  export {
454
- SCSParser
84
+ optionalImport,
85
+ optionalImportSync
455
86
  };
456
87
  //# sourceMappingURL=standards-sdk.es157.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es157.js","sources":["../../src/utils/parsers/scs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Hbar, HbarUnit, Long, Transaction } from '@hashgraph/sdk';\nimport {\n ContractCallData,\n ContractCreateData,\n ContractUpdateData,\n ContractDeleteData,\n} from '../transaction-parser-types';\nimport { Buffer } from 'buffer';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\nimport { AccountId, FileId } from '@hashgraph/sdk';\n\n/**\n * Smart Contract Service (SCS) Parser\n *\n * Handles parsing for all contract-related transaction types including:\n * - Contract calls (including EthereumTransaction)\n * - Contract creation, updates, and deletion\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n */\nexport class SCSParser {\n /**\n * Parse Smart Contract Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseSCSTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n contractCall?: ContractCallData;\n contractCreate?: ContractCreateData;\n contractUpdate?: ContractUpdateData;\n contractDelete?: ContractDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return {\n type: 'UNKNOWN',\n humanReadableType: 'Unknown Contract Transaction',\n };\n }\n }\n\n /**\n * Parse contract transaction from protobuf TransactionBody\n * Handles all contract operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.contractCall) {\n const contractCall = this.parseContractCall(txBody.contractCall);\n if (contractCall) {\n return {\n type: 'CONTRACTCALL',\n humanReadableType: 'Contract Call',\n contractCall,\n };\n }\n }\n\n if (txBody.contractCreateInstance) {\n const contractCreate = this.parseContractCreate(\n txBody.contractCreateInstance,\n );\n if (contractCreate) {\n return {\n type: 'CONTRACTCREATE',\n humanReadableType: 'Contract Create',\n contractCreate,\n };\n }\n }\n\n if (txBody.contractUpdateInstance) {\n const contractUpdate = this.parseContractUpdate(\n txBody.contractUpdateInstance,\n );\n if (contractUpdate) {\n return {\n type: 'CONTRACTUPDATE',\n humanReadableType: 'Contract Update',\n contractUpdate,\n };\n }\n }\n\n if (txBody.contractDeleteInstance) {\n const contractDelete = this.parseContractDelete(\n txBody.contractDeleteInstance,\n );\n if (contractDelete) {\n return {\n type: 'CONTRACTDELETE',\n humanReadableType: 'Contract Delete',\n contractDelete,\n };\n }\n }\n\n if (txBody.ethereumTransaction) {\n const ethereumCall = this.parseEthereumTransaction(\n txBody.ethereumTransaction,\n );\n if (ethereumCall) {\n return {\n type: 'ETHEREUMTRANSACTION',\n humanReadableType: 'Ethereum Transaction',\n ethereumTransaction: ethereumCall,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract contract data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _contractId?: { toString(): string };\n _gas?: number | Long;\n _amount?: { toString(): string };\n _functionParameters?: Uint8Array;\n _initialBalance?: { toString(): string };\n _adminKey?: unknown;\n _memo?: string;\n _fileId?: { toString(): string };\n _bytecode?: Uint8Array;\n _constructorParameters?: Uint8Array;\n _maxAutomaticTokenAssociations?: number;\n _stakedAccountId?: { toString(): string };\n _stakedNodeId?: number | Long;\n _declineReward?: boolean;\n _autoRenewPeriod?: { toString(): string };\n _transferAccountId?: { toString(): string };\n _transferContractId?: { toString(): string };\n constructor?: { name?: string };\n };\n\n if (tx._contractId && tx._gas) {\n const contractCall: ContractCallData = {\n contractId: tx._contractId.toString(),\n gas:\n typeof tx._gas === 'number'\n ? tx._gas\n : Long.fromValue(tx._gas).toNumber(),\n amount: tx._amount ? parseFloat(tx._amount.toString()) : 0,\n };\n\n if (tx._functionParameters) {\n const funcParams = Buffer.from(tx._functionParameters).toString(\n 'hex',\n );\n contractCall.functionParameters = funcParams;\n contractCall.functionName = this.extractFunctionName(funcParams);\n }\n\n return {\n type: 'CONTRACTCALL',\n humanReadableType: 'Contract Call',\n contractCall,\n };\n }\n\n if (hasTransactionType(transaction, 'contractCreateInstance')) {\n const contractCreate: ContractCreateData = {\n gas: tx._gas.toString(),\n initialBalance: tx._initialBalance?.toString() || '0',\n };\n\n if (tx._fileId) {\n contractCreate.initcodeSource = 'fileID';\n contractCreate.initcode = tx._fileId.toString();\n } else if (tx._bytecode) {\n contractCreate.initcodeSource = 'bytes';\n contractCreate.initcode = Buffer.from(tx._bytecode).toString('hex');\n }\n\n if (tx._constructorParameters) {\n contractCreate.constructorParameters = Buffer.from(\n tx._constructorParameters,\n ).toString('hex');\n }\n\n if (tx._memo) contractCreate.memo = tx._memo;\n if (tx._adminKey) contractCreate.adminKey = parseKey(tx._adminKey);\n if (tx._maxAutomaticTokenAssociations !== undefined) {\n contractCreate.maxAutomaticTokenAssociations =\n tx._maxAutomaticTokenAssociations;\n }\n if (tx._stakedAccountId) {\n contractCreate.stakedAccountId = tx._stakedAccountId.toString();\n } else if (\n tx._stakedNodeId !== null &&\n tx._stakedNodeId !== undefined\n ) {\n contractCreate.stakedNodeId = Long.fromValue(\n tx._stakedNodeId,\n ).toString();\n }\n if (tx._declineReward !== undefined)\n contractCreate.declineReward = tx._declineReward;\n if (tx._autoRenewPeriod)\n contractCreate.autoRenewPeriod = tx._autoRenewPeriod.toString();\n\n return {\n type: 'CONTRACTCREATE',\n humanReadableType: 'Contract Create',\n contractCreate,\n };\n }\n\n if (hasTransactionType(transaction, 'contractUpdateInstance')) {\n const contractUpdate: ContractUpdateData = {\n contractIdToUpdate: tx._contractId.toString(),\n };\n\n if (tx._memo) contractUpdate.memo = tx._memo;\n if (tx._adminKey) contractUpdate.adminKey = parseKey(tx._adminKey);\n if (tx._maxAutomaticTokenAssociations !== undefined) {\n contractUpdate.maxAutomaticTokenAssociations =\n tx._maxAutomaticTokenAssociations;\n }\n if (tx._stakedAccountId) {\n contractUpdate.stakedAccountId = tx._stakedAccountId.toString();\n } else if (\n tx._stakedNodeId !== null &&\n tx._stakedNodeId !== undefined\n ) {\n contractUpdate.stakedNodeId = Long.fromValue(\n tx._stakedNodeId,\n ).toString();\n }\n if (tx._declineReward !== undefined)\n contractUpdate.declineReward = tx._declineReward;\n if (tx._autoRenewPeriod)\n contractUpdate.autoRenewPeriod = tx._autoRenewPeriod.toString();\n\n return {\n type: 'CONTRACTUPDATE',\n humanReadableType: 'Contract Update',\n contractUpdate,\n };\n }\n\n if (hasTransactionType(transaction, 'contractDeleteInstance')) {\n const contractDelete: ContractDeleteData = {\n contractIdToDelete: tx._contractId.toString(),\n };\n\n if (tx._transferAccountId) {\n contractDelete.transferAccountId = tx._transferAccountId.toString();\n } else if (tx._transferContractId) {\n contractDelete.transferContractId = tx._transferContractId.toString();\n }\n\n return {\n type: 'CONTRACTDELETE',\n humanReadableType: 'Contract Delete',\n contractDelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Enhanced function name extraction from contract call parameters\n * Attempts to decode function selector and map to known function names\n */\n private static extractFunctionName(functionParameters: string): string {\n if (functionParameters.length < 8) return 'unknown';\n\n const selector = functionParameters.substring(0, 8);\n\n const commonSelectors: Record<string, string> = {\n a9059cbb: 'transfer',\n '095ea7b3': 'approve',\n '23b872dd': 'transferFrom',\n '70a08231': 'balanceOf',\n dd62ed3e: 'allowance',\n '18160ddd': 'totalSupply',\n '06fdde03': 'name',\n '95d89b41': 'symbol',\n '313ce567': 'decimals',\n '42842e0e': 'safeTransferFrom',\n b88d4fde: 'safeTransferFrom',\n e985e9c5: 'isApprovedForAll',\n a22cb465: 'setApprovalForAll',\n '6352211e': 'ownerOf',\n c87b56dd: 'tokenURI',\n '01ffc9a7': 'supportsInterface',\n '40c10f19': 'mint',\n '42966c68': 'burn',\n f2fde38b: 'transferOwnership',\n '715018a6': 'renounceOwnership',\n '8da5cb5b': 'owner',\n };\n\n return commonSelectors[selector] || selector;\n }\n\n /**\n * Parse Ethereum Transaction (was completely missing from original parser)\n */\n static parseEthereumTransaction(\n body: proto.IEthereumTransactionBody,\n ): ContractCallData | undefined {\n if (!body) return undefined;\n\n const data: ContractCallData = {\n contractId: 'EVM',\n gas: body.maxGasAllowance\n ? Long.fromValue(body.maxGasAllowance).toNumber()\n : 0,\n amount: 0,\n };\n\n if (body.ethereumData && body.ethereumData.length > 0) {\n const ethData = Buffer.from(body.ethereumData).toString('hex');\n data.functionParameters = ethData;\n\n if (ethData.length >= 8) {\n data.functionName = this.extractFunctionName(ethData);\n }\n }\n\n return data;\n }\n\n static parseContractCall(\n body: proto.IContractCallTransactionBody,\n ): ContractCallData | undefined {\n if (!body) return undefined;\n const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));\n const data: ContractCallData = {\n contractId: new ContractId(\n body.contractID!.shardNum ?? 0,\n body.contractID!.realmNum ?? 0,\n body.contractID!.contractNum ?? 0,\n ).toString(),\n gas: Long.fromValue(body.gas ?? 0).toNumber(),\n amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar)),\n };\n if (body.functionParameters) {\n data.functionParameters = Buffer.from(body.functionParameters).toString(\n 'hex',\n );\n if (data.functionParameters.length >= 8) {\n data.functionName = this.extractFunctionName(data.functionParameters);\n }\n }\n return data;\n }\n\n static parseContractCreate(\n body: proto.IContractCreateTransactionBody,\n ): ContractCreateData | undefined {\n if (!body) return undefined;\n const data: ContractCreateData = {};\n if (body.initialBalance) {\n data.initialBalance = Hbar.fromTinybars(\n Long.fromValue(body.initialBalance),\n ).toString(HbarUnit.Hbar);\n }\n if (body.gas) {\n data.gas = Long.fromValue(body.gas).toString();\n }\n if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n }\n if (body.constructorParameters) {\n data.constructorParameters = Buffer.from(\n body.constructorParameters,\n ).toString('hex');\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n if (body.stakedAccountId) {\n data.stakedAccountId = new AccountId(\n body.stakedAccountId.shardNum ?? 0,\n body.stakedAccountId.realmNum ?? 0,\n body.stakedAccountId.accountNum ?? 0,\n ).toString();\n } else if (body.stakedNodeId !== null && body.stakedNodeId !== undefined) {\n data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();\n }\n if (body.declineReward !== undefined) {\n data.declineReward = body.declineReward;\n }\n if (body.maxAutomaticTokenAssociations !== undefined) {\n data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;\n }\n if (body.fileID) {\n data.initcodeSource = 'fileID';\n data.initcode = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0,\n ).toString();\n } else if (body.initcode && body.initcode.length > 0) {\n data.initcodeSource = 'bytes';\n data.initcode = Buffer.from(body.initcode).toString('hex');\n }\n return data;\n }\n\n static parseContractUpdate(\n body: proto.IContractUpdateTransactionBody,\n ): ContractUpdateData | undefined {\n if (!body) return undefined;\n const data: ContractUpdateData = {};\n if (body.contractID) {\n data.contractIdToUpdate = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n }\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds,\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds,\n ).toString();\n }\n\n if (body.memo) {\n const memoUnion = body.memo as unknown;\n if (\n memoUnion &&\n typeof memoUnion === 'object' &&\n Object.prototype.hasOwnProperty.call(memoUnion, 'value')\n ) {\n const value = (memoUnion as { value: unknown }).value;\n if (value === null || value === undefined) {\n data.memo = undefined;\n } else {\n data.memo = String(value);\n }\n } else if (typeof memoUnion === 'string') {\n data.memo = memoUnion;\n } else {\n data.memo = undefined;\n }\n } else {\n data.memo = undefined;\n }\n\n if (body.stakedAccountId) {\n data.stakedAccountId = new AccountId(\n body.stakedAccountId.shardNum ?? 0,\n body.stakedAccountId.realmNum ?? 0,\n body.stakedAccountId.accountNum ?? 0,\n ).toString();\n data.stakedNodeId = undefined;\n } else if (\n body.stakedNodeId !== null &&\n body.stakedNodeId !== undefined &&\n Long.fromValue(body.stakedNodeId).notEquals(-1)\n ) {\n data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();\n data.stakedAccountId = undefined;\n } else {\n data.stakedNodeId = undefined;\n data.stakedAccountId = undefined;\n }\n if (body.declineReward?.value !== undefined) {\n data.declineReward = body.declineReward.value;\n }\n if (body.maxAutomaticTokenAssociations?.value !== undefined) {\n data.maxAutomaticTokenAssociations =\n body.maxAutomaticTokenAssociations.value;\n }\n if (body.autoRenewAccountId) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccountId.shardNum ?? 0,\n body.autoRenewAccountId.realmNum ?? 0,\n body.autoRenewAccountId.accountNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n static parseContractDelete(\n body: proto.IContractDeleteTransactionBody,\n ): ContractDeleteData | undefined {\n if (!body) return undefined;\n const data: ContractDeleteData = {};\n if (body.contractID) {\n data.contractIdToDelete = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0,\n ).toString();\n }\n if (body.transferAccountID) {\n data.transferAccountId = new AccountId(\n body.transferAccountID.shardNum ?? 0,\n body.transferAccountID.realmNum ?? 0,\n body.transferAccountID.accountNum ?? 0,\n ).toString();\n } else if (body.transferContractID) {\n data.transferContractId = new ContractId(\n body.transferContractID.shardNum ?? 0,\n body.transferContractID.realmNum ?? 0,\n body.transferContractID.contractNum ?? 0,\n ).toString();\n }\n return data;\n }\n\n /**\n * Parse SCS (Smart Contract Service) transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseSCSTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es157.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n nodeRequire =\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ? (req as NodeRequire)\n : null;\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser) {\n return null;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n if (\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ) {\n return req(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":";AAEA,IAAI;AAEJ,SAAS,iBAAiB,WAAmB,OAAyB;AACpE,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,IAAI,OAAO,MAAM;AACtC,QAAM,UAAU,QAAQ,IAAI,OAAO,SAAS;AAC5C,QAAM,cAAc,OAAO,YAAY,WAAW,UAAU;AAE5D,MAAI,OAAO,SAAS,YAAY,KAAK,SAAS,kBAAkB,GAAG;AACjE,WAAO,YAAY,SAAS,SAAS;AAAA,EACvC;AAEA,MAAI,aAAa;AACf,UAAM,UAAU,YAAY,YAAA;AAC5B,QACE,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,kBAAkB,KACnC,QAAQ,SAAS,qBAAqB,GACtC;AACA,aAAO,QAAQ,SAAS,UAAU,YAAA,CAAa;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe,qBAAkD;AAC/D,MAAI,gBAAgB,QAAW;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,WAAW;AACb,kBAAc;AACd,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,kBACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,aACnC,MACD;AAAA,EACR,QAAQ;AACN,kBAAc;AAAA,EAChB;AAEA,SAAO;AACT;AAEA,eAAe,cAAiB,WAAsC;AACpE,MAAI;AACF,WAAQ,MAAM,OAAO;AAAA,EACvB,SAAS,OAAO;AACd,QAAI,iBAAiB,WAAW,KAAK,GAAG;AACtC,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAMA,eAAsB,eACpB,WACA,UAAiC,IACd;AACnB,MAAI,WAAW;AACb,WAAO,cAAiB,SAAS;AAAA,EACnC;AAEA,MAAI,CAAC,QAAQ,cAAc;AACzB,UAAM,YAAY,MAAM,mBAAA;AACxB,QAAI,WAAW;AACb,UAAI;AACF,eAAO,UAAU,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,YAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,cAAiB,SAAS;AACnC;AAEO,SAAS,mBAAsB,WAA6B;AACjE,MAAI,WAAW;AACb,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,QACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,YACxC;AACA,aAAO,IAAI,SAAS;AAAA,IACtB;AAAA,EACF,SAAS,OAAO;AACd,QAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;"}