@hashgraphonline/standards-sdk 0.1.141-canary.9 → 0.1.141-feat-hcs-21-flora-adapter.canary.b569177.46

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 (261) hide show
  1. package/README.md +13 -1
  2. package/dist/cjs/hcs-16/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  4. package/dist/cjs/hcs-20/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-20/types.d.ts +9 -8
  6. package/dist/cjs/hcs-20/types.d.ts.map +1 -1
  7. package/dist/cjs/hcs-21/base-client.d.ts +5 -3
  8. package/dist/cjs/hcs-21/base-client.d.ts.map +1 -1
  9. package/dist/cjs/hcs-21/browser.d.ts +17 -7
  10. package/dist/cjs/hcs-21/browser.d.ts.map +1 -1
  11. package/dist/cjs/hcs-21/index.d.ts +1 -0
  12. package/dist/cjs/hcs-21/index.d.ts.map +1 -1
  13. package/dist/cjs/hcs-21/sdk.d.ts +62 -0
  14. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  15. package/dist/cjs/hcs-21/tx.d.ts.map +1 -1
  16. package/dist/cjs/hcs-21/types.d.ts +146 -65
  17. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  18. package/dist/cjs/hcs-21/verify.d.ts +6 -0
  19. package/dist/cjs/hcs-21/verify.d.ts.map +1 -0
  20. package/dist/cjs/inscribe/inscriber.d.ts +1 -0
  21. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  22. package/dist/cjs/inscribe/quote-cache.d.ts.map +1 -1
  23. package/dist/cjs/services/registry-broker/client.d.ts +4 -3
  24. package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
  25. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  26. package/dist/cjs/services/registry-broker/schemas.d.ts +16 -16
  27. package/dist/cjs/services/types.d.ts +1 -0
  28. package/dist/cjs/services/types.d.ts.map +1 -1
  29. package/dist/cjs/standards-sdk.cjs +2 -2
  30. package/dist/cjs/standards-sdk.cjs.map +1 -1
  31. package/dist/cjs/utils/dynamic-import.d.ts +1 -0
  32. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  33. package/dist/es/hcs-16/base-client.d.ts.map +1 -1
  34. package/dist/es/hcs-17/types.d.ts.map +1 -1
  35. package/dist/es/hcs-20/sdk.d.ts.map +1 -1
  36. package/dist/es/hcs-20/types.d.ts +9 -8
  37. package/dist/es/hcs-20/types.d.ts.map +1 -1
  38. package/dist/es/hcs-21/base-client.d.ts +5 -3
  39. package/dist/es/hcs-21/base-client.d.ts.map +1 -1
  40. package/dist/es/hcs-21/browser.d.ts +17 -7
  41. package/dist/es/hcs-21/browser.d.ts.map +1 -1
  42. package/dist/es/hcs-21/index.d.ts +1 -0
  43. package/dist/es/hcs-21/index.d.ts.map +1 -1
  44. package/dist/es/hcs-21/sdk.d.ts +62 -0
  45. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  46. package/dist/es/hcs-21/tx.d.ts.map +1 -1
  47. package/dist/es/hcs-21/types.d.ts +146 -65
  48. package/dist/es/hcs-21/types.d.ts.map +1 -1
  49. package/dist/es/hcs-21/verify.d.ts +6 -0
  50. package/dist/es/hcs-21/verify.d.ts.map +1 -0
  51. package/dist/es/inscribe/inscriber.d.ts +1 -0
  52. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  53. package/dist/es/inscribe/quote-cache.d.ts.map +1 -1
  54. package/dist/es/services/registry-broker/client.d.ts +4 -3
  55. package/dist/es/services/registry-broker/client.d.ts.map +1 -1
  56. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  57. package/dist/es/services/registry-broker/schemas.d.ts +16 -16
  58. package/dist/es/services/types.d.ts +1 -0
  59. package/dist/es/services/types.d.ts.map +1 -1
  60. package/dist/es/standards-sdk.es.js +58 -50
  61. package/dist/es/standards-sdk.es.js.map +1 -1
  62. package/dist/es/standards-sdk.es10.js +2 -2
  63. package/dist/es/standards-sdk.es100.js +26 -229
  64. package/dist/es/standards-sdk.es100.js.map +1 -1
  65. package/dist/es/standards-sdk.es101.js +228 -109
  66. package/dist/es/standards-sdk.es101.js.map +1 -1
  67. package/dist/es/standards-sdk.es102.js +94 -15
  68. package/dist/es/standards-sdk.es102.js.map +1 -1
  69. package/dist/es/standards-sdk.es103.js +30 -80
  70. package/dist/es/standards-sdk.es103.js.map +1 -1
  71. package/dist/es/standards-sdk.es104.js +80 -27
  72. package/dist/es/standards-sdk.es104.js.map +1 -1
  73. package/dist/es/standards-sdk.es105.js +25 -136
  74. package/dist/es/standards-sdk.es105.js.map +1 -1
  75. package/dist/es/standards-sdk.es106.js +140 -27
  76. package/dist/es/standards-sdk.es106.js.map +1 -1
  77. package/dist/es/standards-sdk.es107.js +27 -20
  78. package/dist/es/standards-sdk.es107.js.map +1 -1
  79. package/dist/es/standards-sdk.es108.js +18 -156
  80. package/dist/es/standards-sdk.es108.js.map +1 -1
  81. package/dist/es/standards-sdk.es109.js +148 -196
  82. package/dist/es/standards-sdk.es109.js.map +1 -1
  83. package/dist/es/standards-sdk.es110.js +160 -747
  84. package/dist/es/standards-sdk.es110.js.map +1 -1
  85. package/dist/es/standards-sdk.es111.js +786 -9
  86. package/dist/es/standards-sdk.es111.js.map +1 -1
  87. package/dist/es/standards-sdk.es112.js +13 -567
  88. package/dist/es/standards-sdk.es112.js.map +1 -1
  89. package/dist/es/standards-sdk.es113.js +541 -576
  90. package/dist/es/standards-sdk.es113.js.map +1 -1
  91. package/dist/es/standards-sdk.es114.js +601 -12
  92. package/dist/es/standards-sdk.es114.js.map +1 -1
  93. package/dist/es/standards-sdk.es115.js +13 -2
  94. package/dist/es/standards-sdk.es115.js.map +1 -1
  95. package/dist/es/standards-sdk.es116.js +2 -83
  96. package/dist/es/standards-sdk.es116.js.map +1 -1
  97. package/dist/es/standards-sdk.es117.js +80 -36
  98. package/dist/es/standards-sdk.es117.js.map +1 -1
  99. package/dist/es/standards-sdk.es118.js +39 -2
  100. package/dist/es/standards-sdk.es118.js.map +1 -1
  101. package/dist/es/standards-sdk.es119.js +2 -223
  102. package/dist/es/standards-sdk.es119.js.map +1 -1
  103. package/dist/es/standards-sdk.es12.js +1 -1
  104. package/dist/es/standards-sdk.es120.js +193 -1110
  105. package/dist/es/standards-sdk.es120.js.map +1 -1
  106. package/dist/es/standards-sdk.es121.js +1059 -225
  107. package/dist/es/standards-sdk.es121.js.map +1 -1
  108. package/dist/es/standards-sdk.es122.js +303 -419
  109. package/dist/es/standards-sdk.es122.js.map +1 -1
  110. package/dist/es/standards-sdk.es123.js +418 -351
  111. package/dist/es/standards-sdk.es123.js.map +1 -1
  112. package/dist/es/standards-sdk.es124.js +348 -785
  113. package/dist/es/standards-sdk.es124.js.map +1 -1
  114. package/dist/es/standards-sdk.es125.js +767 -183
  115. package/dist/es/standards-sdk.es125.js.map +1 -1
  116. package/dist/es/standards-sdk.es126.js +153 -1512
  117. package/dist/es/standards-sdk.es126.js.map +1 -1
  118. package/dist/es/standards-sdk.es127.js +1373 -1987
  119. package/dist/es/standards-sdk.es127.js.map +1 -1
  120. package/dist/es/standards-sdk.es128.js +2208 -67
  121. package/dist/es/standards-sdk.es128.js.map +1 -1
  122. package/dist/es/standards-sdk.es129.js +59 -79
  123. package/dist/es/standards-sdk.es129.js.map +1 -1
  124. package/dist/es/standards-sdk.es13.js +1 -1
  125. package/dist/es/standards-sdk.es130.js +80 -152
  126. package/dist/es/standards-sdk.es130.js.map +1 -1
  127. package/dist/es/standards-sdk.es131.js +159 -7
  128. package/dist/es/standards-sdk.es131.js.map +1 -1
  129. package/dist/es/standards-sdk.es132.js +7 -86
  130. package/dist/es/standards-sdk.es132.js.map +1 -1
  131. package/dist/es/standards-sdk.es133.js +65 -44
  132. package/dist/es/standards-sdk.es133.js.map +1 -1
  133. package/dist/es/standards-sdk.es134.js +65 -28
  134. package/dist/es/standards-sdk.es134.js.map +1 -1
  135. package/dist/es/standards-sdk.es135.js +69 -125
  136. package/dist/es/standards-sdk.es135.js.map +1 -1
  137. package/dist/es/standards-sdk.es136.js +28 -42
  138. package/dist/es/standards-sdk.es136.js.map +1 -1
  139. package/dist/es/standards-sdk.es137.js +132 -50
  140. package/dist/es/standards-sdk.es137.js.map +1 -1
  141. package/dist/es/standards-sdk.es138.js +36 -58
  142. package/dist/es/standards-sdk.es138.js.map +1 -1
  143. package/dist/es/standards-sdk.es139.js +12254 -746
  144. package/dist/es/standards-sdk.es139.js.map +1 -1
  145. package/dist/es/standards-sdk.es14.js +1 -1
  146. package/dist/es/standards-sdk.es140.js +746 -12254
  147. package/dist/es/standards-sdk.es140.js.map +1 -1
  148. package/dist/es/standards-sdk.es141.js +13 -168
  149. package/dist/es/standards-sdk.es141.js.map +1 -1
  150. package/dist/es/standards-sdk.es142.js +139 -289
  151. package/dist/es/standards-sdk.es142.js.map +1 -1
  152. package/dist/es/standards-sdk.es143.js +274 -298
  153. package/dist/es/standards-sdk.es143.js.map +1 -1
  154. package/dist/es/standards-sdk.es144.js +262 -369
  155. package/dist/es/standards-sdk.es144.js.map +1 -1
  156. package/dist/es/standards-sdk.es145.js +316 -194
  157. package/dist/es/standards-sdk.es145.js.map +1 -1
  158. package/dist/es/standards-sdk.es146.js +319 -64
  159. package/dist/es/standards-sdk.es146.js.map +1 -1
  160. package/dist/es/standards-sdk.es147.js +74 -15
  161. package/dist/es/standards-sdk.es147.js.map +1 -1
  162. package/dist/es/standards-sdk.es148.js +59 -0
  163. package/dist/es/standards-sdk.es148.js.map +1 -0
  164. package/dist/es/standards-sdk.es15.js +1 -1
  165. package/dist/es/standards-sdk.es16.js +1 -1
  166. package/dist/es/standards-sdk.es17.js +5 -11
  167. package/dist/es/standards-sdk.es17.js.map +1 -1
  168. package/dist/es/standards-sdk.es19.js +12 -17
  169. package/dist/es/standards-sdk.es19.js.map +1 -1
  170. package/dist/es/standards-sdk.es2.js +26 -72
  171. package/dist/es/standards-sdk.es2.js.map +1 -1
  172. package/dist/es/standards-sdk.es20.js +9 -14
  173. package/dist/es/standards-sdk.es20.js.map +1 -1
  174. package/dist/es/standards-sdk.es21.js +1 -1
  175. package/dist/es/standards-sdk.es22.js +1 -1
  176. package/dist/es/standards-sdk.es23.js +1 -1
  177. package/dist/es/standards-sdk.es24.js +1 -1
  178. package/dist/es/standards-sdk.es25.js +1 -1
  179. package/dist/es/standards-sdk.es26.js +1 -1
  180. package/dist/es/standards-sdk.es27.js +1 -1
  181. package/dist/es/standards-sdk.es28.js +12 -17
  182. package/dist/es/standards-sdk.es28.js.map +1 -1
  183. package/dist/es/standards-sdk.es3.js +2 -2
  184. package/dist/es/standards-sdk.es31.js +2 -2
  185. package/dist/es/standards-sdk.es32.js +4 -4
  186. package/dist/es/standards-sdk.es33.js +1 -1
  187. package/dist/es/standards-sdk.es36.js +6 -12
  188. package/dist/es/standards-sdk.es36.js.map +1 -1
  189. package/dist/es/standards-sdk.es37.js +4 -4
  190. package/dist/es/standards-sdk.es38.js +2 -2
  191. package/dist/es/standards-sdk.es39.js +2 -2
  192. package/dist/es/standards-sdk.es40.js +1 -1
  193. package/dist/es/standards-sdk.es41.js +1 -1
  194. package/dist/es/standards-sdk.es42.js +2 -2
  195. package/dist/es/standards-sdk.es47.js +1 -1
  196. package/dist/es/standards-sdk.es5.js +2 -2
  197. package/dist/es/standards-sdk.es52.js +1 -1
  198. package/dist/es/standards-sdk.es54.js +1 -1
  199. package/dist/es/standards-sdk.es57.js +2 -2
  200. package/dist/es/standards-sdk.es59.js +1 -1
  201. package/dist/es/standards-sdk.es6.js +2 -2
  202. package/dist/es/standards-sdk.es60.js +1 -1
  203. package/dist/es/standards-sdk.es61.js +7 -12
  204. package/dist/es/standards-sdk.es61.js.map +1 -1
  205. package/dist/es/standards-sdk.es63.js +1 -1
  206. package/dist/es/standards-sdk.es65.js +2 -2
  207. package/dist/es/standards-sdk.es66.js +3 -3
  208. package/dist/es/standards-sdk.es69.js +2 -2
  209. package/dist/es/standards-sdk.es7.js +2 -2
  210. package/dist/es/standards-sdk.es70.js +3 -3
  211. package/dist/es/standards-sdk.es71.js +2 -2
  212. package/dist/es/standards-sdk.es72.js +1 -1
  213. package/dist/es/standards-sdk.es73.js.map +1 -1
  214. package/dist/es/standards-sdk.es75.js +2 -2
  215. package/dist/es/standards-sdk.es77.js +5 -3
  216. package/dist/es/standards-sdk.es77.js.map +1 -1
  217. package/dist/es/standards-sdk.es78.js +4 -10
  218. package/dist/es/standards-sdk.es78.js.map +1 -1
  219. package/dist/es/standards-sdk.es79.js +1 -1
  220. package/dist/es/standards-sdk.es8.js +1 -1
  221. package/dist/es/standards-sdk.es80.js +27 -15
  222. package/dist/es/standards-sdk.es80.js.map +1 -1
  223. package/dist/es/standards-sdk.es82.js +12 -4
  224. package/dist/es/standards-sdk.es82.js.map +1 -1
  225. package/dist/es/standards-sdk.es83.js +31 -6
  226. package/dist/es/standards-sdk.es83.js.map +1 -1
  227. package/dist/es/standards-sdk.es84.js +179 -6
  228. package/dist/es/standards-sdk.es84.js.map +1 -1
  229. package/dist/es/standards-sdk.es85.js +258 -9
  230. package/dist/es/standards-sdk.es85.js.map +1 -1
  231. package/dist/es/standards-sdk.es86.js +55 -21
  232. package/dist/es/standards-sdk.es86.js.map +1 -1
  233. package/dist/es/standards-sdk.es87.js +22 -75
  234. package/dist/es/standards-sdk.es87.js.map +1 -1
  235. package/dist/es/standards-sdk.es88.js +45 -30
  236. package/dist/es/standards-sdk.es88.js.map +1 -1
  237. package/dist/es/standards-sdk.es89.js +57 -22
  238. package/dist/es/standards-sdk.es89.js.map +1 -1
  239. package/dist/es/standards-sdk.es90.js +28 -23
  240. package/dist/es/standards-sdk.es90.js.map +1 -1
  241. package/dist/es/standards-sdk.es91.js +23 -167
  242. package/dist/es/standards-sdk.es91.js.map +1 -1
  243. package/dist/es/standards-sdk.es92.js +158 -119
  244. package/dist/es/standards-sdk.es92.js.map +1 -1
  245. package/dist/es/standards-sdk.es93.js +68 -95
  246. package/dist/es/standards-sdk.es93.js.map +1 -1
  247. package/dist/es/standards-sdk.es94.js +136 -119
  248. package/dist/es/standards-sdk.es94.js.map +1 -1
  249. package/dist/es/standards-sdk.es95.js +139 -39
  250. package/dist/es/standards-sdk.es95.js.map +1 -1
  251. package/dist/es/standards-sdk.es96.js +42 -257
  252. package/dist/es/standards-sdk.es96.js.map +1 -1
  253. package/dist/es/standards-sdk.es97.js +243 -80
  254. package/dist/es/standards-sdk.es97.js.map +1 -1
  255. package/dist/es/standards-sdk.es98.js +47 -48
  256. package/dist/es/standards-sdk.es98.js.map +1 -1
  257. package/dist/es/standards-sdk.es99.js +100 -28
  258. package/dist/es/standards-sdk.es99.js.map +1 -1
  259. package/dist/es/utils/dynamic-import.d.ts +1 -0
  260. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  261. package/package.json +63 -65
@@ -1,425 +1,309 @@
1
- import { HTSParser } from "./standards-sdk.es120.js";
2
- import { HCSParser } from "./standards-sdk.es141.js";
3
- import { CryptoParser } from "./standards-sdk.es143.js";
4
- import { FileParser } from "./standards-sdk.es142.js";
5
- import { SCSParser } from "./standards-sdk.es144.js";
6
- import { ScheduleParser } from "./standards-sdk.es121.js";
7
- import { UtilParser } from "./standards-sdk.es145.js";
8
- const transactionParserRegistry = {
9
- TOKENCREATE: {
10
- bodyField: "tokenCreation",
11
- parser: HTSParser.parseTokenCreate,
12
- resultField: "tokenCreation"
13
- },
14
- TOKENMINT: {
15
- bodyField: "tokenMint",
16
- parser: HTSParser.parseTokenMint,
17
- resultField: "tokenMint"
18
- },
19
- TOKENBURN: {
20
- bodyField: "tokenBurn",
21
- parser: HTSParser.parseTokenBurn,
22
- resultField: "tokenBurn"
23
- },
24
- TOKENUPDATE: {
25
- bodyField: "tokenUpdate",
26
- parser: HTSParser.parseTokenUpdate,
27
- resultField: "tokenUpdate"
28
- },
29
- TOKENDELETE: {
30
- bodyField: "tokenDeletion",
31
- parser: HTSParser.parseTokenDelete,
32
- resultField: "tokenDelete"
33
- },
34
- TOKENASSOCIATE: {
35
- bodyField: "tokenAssociate",
36
- parser: HTSParser.parseTokenAssociate,
37
- resultField: "tokenAssociate"
38
- },
39
- TOKENDISSOCIATE: {
40
- bodyField: "tokenDissociate",
41
- parser: HTSParser.parseTokenDissociate,
42
- resultField: "tokenDissociate"
43
- },
44
- TOKENFREEZE: {
45
- bodyField: "tokenFreeze",
46
- parser: HTSParser.parseTokenFreeze,
47
- resultField: "tokenFreeze"
48
- },
49
- TOKENUNFREEZE: {
50
- bodyField: "tokenUnfreeze",
51
- parser: HTSParser.parseTokenUnfreeze,
52
- resultField: "tokenUnfreeze"
53
- },
54
- TOKENGRANTKYC: {
55
- bodyField: "tokenGrantKyc",
56
- parser: HTSParser.parseTokenGrantKyc,
57
- resultField: "tokenGrantKyc"
58
- },
59
- TOKENREVOKEKYC: {
60
- bodyField: "tokenRevokeKyc",
61
- parser: HTSParser.parseTokenRevokeKyc,
62
- resultField: "tokenRevokeKyc"
63
- },
64
- TOKENPAUSE: {
65
- bodyField: "tokenPause",
66
- parser: HTSParser.parseTokenPause,
67
- resultField: "tokenPause"
68
- },
69
- TOKENUNPAUSE: {
70
- bodyField: "tokenUnpause",
71
- parser: HTSParser.parseTokenUnpause,
72
- resultField: "tokenUnpause"
73
- },
74
- TOKENWIPEACCOUNT: {
75
- bodyField: "tokenWipe",
76
- parser: HTSParser.parseTokenWipeAccount,
77
- resultField: "tokenWipeAccount"
78
- },
79
- TOKENFEESCHEDULEUPDATE: {
80
- bodyField: "tokenFeeScheduleUpdate",
81
- parser: HTSParser.parseTokenFeeScheduleUpdate,
82
- resultField: "tokenFeeScheduleUpdate"
83
- },
84
- TOKENAIRDROP: {
85
- bodyField: "tokenAirdrop",
86
- parser: HTSParser.parseTokenAirdropFromProto,
87
- resultField: "tokenAirdrop"
88
- },
89
- TOPICCREATE: {
90
- bodyField: "consensusCreateTopic",
91
- parser: HCSParser.parseConsensusCreateTopic,
92
- resultField: "consensusCreateTopic"
93
- },
94
- CONSENSUSSUBMITMESSAGE: {
95
- bodyField: "consensusSubmitMessage",
96
- parser: HCSParser.parseConsensusSubmitMessage,
97
- resultField: "consensusSubmitMessage"
98
- },
99
- TOPICUPDATE: {
100
- bodyField: "consensusUpdateTopic",
101
- parser: HCSParser.parseConsensusUpdateTopic,
102
- resultField: "consensusUpdateTopic"
103
- },
104
- TOPICDELETE: {
105
- bodyField: "consensusDeleteTopic",
106
- parser: HCSParser.parseConsensusDeleteTopic,
107
- resultField: "consensusDeleteTopic"
108
- },
109
- ACCOUNTCREATE: {
110
- bodyField: "cryptoCreateAccount",
111
- parser: CryptoParser.parseCryptoCreateAccount,
112
- resultField: "cryptoCreateAccount"
113
- },
114
- ACCOUNTUPDATE: {
115
- bodyField: "cryptoUpdateAccount",
116
- parser: CryptoParser.parseCryptoUpdateAccount,
117
- resultField: "cryptoUpdateAccount"
118
- },
119
- ACCOUNTDELETE: {
120
- bodyField: "cryptoDelete",
121
- parser: CryptoParser.parseCryptoDelete,
122
- resultField: "cryptoDelete"
123
- },
124
- CRYPTOTRANSFER: {
125
- bodyField: "cryptoTransfer",
126
- parser: (body) => {
127
- const result = {
128
- transfers: [],
129
- tokenTransfers: []
1
+ import { proto } from "@hashgraph/proto";
2
+ import { hasTransactionType, parseKey } from "./standards-sdk.es147.js";
3
+ import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
4
+ class ScheduleParser {
5
+ /**
6
+ * Parse Schedule Service transaction using unified dual-branch approach
7
+ * This handles both regular transactions and signed transaction variants
8
+ */
9
+ static parseScheduleTransaction(transaction, originalBytes) {
10
+ try {
11
+ if (originalBytes || transaction.toBytes) {
12
+ try {
13
+ const bytesToParse = originalBytes || transaction.toBytes();
14
+ const decoded = proto.TransactionList.decode(bytesToParse);
15
+ if (decoded.transactionList && decoded.transactionList.length > 0) {
16
+ const tx = decoded.transactionList[0];
17
+ let txBody = null;
18
+ if (tx.bodyBytes && tx.bodyBytes.length > 0) {
19
+ txBody = proto.TransactionBody.decode(tx.bodyBytes);
20
+ } else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
21
+ const signedTx = proto.SignedTransaction.decode(
22
+ tx.signedTransactionBytes
23
+ );
24
+ if (signedTx.bodyBytes) {
25
+ txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
26
+ }
27
+ }
28
+ if (txBody) {
29
+ const protoResult = this.parseFromProtobufTxBody(txBody);
30
+ if (protoResult.type && protoResult.type !== "UNKNOWN") {
31
+ return protoResult;
32
+ }
33
+ }
34
+ }
35
+ } catch (protoError) {
36
+ }
37
+ }
38
+ return this.parseFromTransactionInternals(transaction);
39
+ } catch (error) {
40
+ return {
41
+ type: "UNKNOWN",
42
+ humanReadableType: "Unknown Schedule Transaction"
130
43
  };
131
- CryptoParser.parseCryptoTransfers(body, result);
132
- return result;
133
- },
134
- resultField: "transfers",
135
- spreadResult: true
136
- },
137
- APPROVEALLOWANCE: {
138
- bodyField: "cryptoApproveAllowance",
139
- parser: CryptoParser.parseCryptoApproveAllowance,
140
- resultField: "cryptoApproveAllowance"
141
- },
142
- DELETEALLOWANCE: {
143
- bodyField: "cryptoDeleteAllowance",
144
- parser: CryptoParser.parseCryptoDeleteAllowance,
145
- resultField: "cryptoDeleteAllowance"
146
- },
147
- FILECREATE: {
148
- bodyField: "fileCreate",
149
- parser: FileParser.parseFileCreate,
150
- resultField: "fileCreate"
151
- },
152
- FILEUPDATE: {
153
- bodyField: "fileUpdate",
154
- parser: FileParser.parseFileUpdate,
155
- resultField: "fileUpdate"
156
- },
157
- FILEDELETE: {
158
- bodyField: "fileDelete",
159
- parser: FileParser.parseFileDelete,
160
- resultField: "fileDelete"
161
- },
162
- FILEAPPEND: {
163
- bodyField: "fileAppend",
164
- parser: FileParser.parseFileAppend,
165
- resultField: "fileAppend"
166
- },
167
- CONTRACTCREATE: {
168
- bodyField: "contractCreateInstance",
169
- parser: SCSParser.parseContractCreate,
170
- resultField: "contractCreate"
171
- },
172
- CONTRACTUPDATE: {
173
- bodyField: "contractUpdateInstance",
174
- parser: SCSParser.parseContractUpdate,
175
- resultField: "contractUpdate"
176
- },
177
- CONTRACTDELETE: {
178
- bodyField: "contractDeleteInstance",
179
- parser: SCSParser.parseContractDelete,
180
- resultField: "contractDelete"
181
- },
182
- CONTRACTCALL: {
183
- bodyField: "contractCall",
184
- parser: SCSParser.parseContractCall,
185
- resultField: "contractCall"
186
- },
187
- ETHEREUMTRANSACTION: {
188
- bodyField: "ethereumTransaction",
189
- parser: SCSParser.parseEthereumTransaction,
190
- resultField: "ethereumTransaction"
191
- },
192
- SCHEDULECREATE: {
193
- bodyField: "scheduleCreate",
194
- parser: ScheduleParser.parseScheduleCreateFromProto,
195
- resultField: "scheduleCreate"
196
- },
197
- SCHEDULESIGN: {
198
- bodyField: "scheduleSign",
199
- parser: ScheduleParser.parseScheduleSignFromProto,
200
- resultField: "scheduleSign"
201
- },
202
- SCHEDULEDELETE: {
203
- bodyField: "scheduleDelete",
204
- parser: ScheduleParser.parseScheduleDeleteFromProto,
205
- resultField: "scheduleDelete"
206
- },
207
- PRNG: {
208
- bodyField: "utilPrng",
209
- parser: UtilParser.parseUtilPrng,
210
- resultField: "utilPrng"
211
- },
212
- FREEZE: {
213
- bodyField: "freeze",
214
- parser: UtilParser.parseFreeze,
215
- resultField: "freeze"
216
- },
217
- SYSTEMDELETE: {
218
- bodyField: "systemDelete",
219
- parser: (body) => ({
220
- fileId: body.fileID ? `${body.fileID.shardNum}.${body.fileID.realmNum}.${body.fileID.fileNum}` : void 0,
221
- contractId: body.contractID ? `${body.contractID.shardNum}.${body.contractID.realmNum}.${body.contractID.contractNum}` : void 0,
222
- expirationTime: body.expirationTime?.seconds ? body.expirationTime.seconds.toString() : void 0
223
- }),
224
- resultField: "systemDelete"
225
- },
226
- SYSTEMUNDELETE: {
227
- bodyField: "systemUndelete",
228
- parser: (body) => ({
229
- fileId: body.fileID ? `${body.fileID.shardNum}.${body.fileID.realmNum}.${body.fileID.fileNum}` : void 0,
230
- contractId: body.contractID ? `${body.contractID.shardNum}.${body.contractID.realmNum}.${body.contractID.contractNum}` : void 0
231
- }),
232
- resultField: "systemUndelete"
233
- },
234
- TOKENCANCELAIRDROP: {
235
- bodyField: "tokenCancelAirdrop",
236
- parser: (body) => ({
237
- pendingAirdrops: body.pendingAirdrops || []
238
- }),
239
- resultField: "tokenCancelAirdrop"
240
- },
241
- TOKENCLAIMAIRDROP: {
242
- bodyField: "tokenClaimAirdrop",
243
- parser: (body) => ({
244
- pendingAirdrops: body.pendingAirdrops || []
245
- }),
246
- resultField: "tokenClaimAirdrop"
247
- },
248
- TOKENREJECT: {
249
- bodyField: "tokenReject",
250
- parser: (body) => ({
251
- owner: body.owner ? `${body.owner.shardNum}.${body.owner.realmNum}.${body.owner.accountNum}` : void 0,
252
- rejections: body.rejections || []
253
- }),
254
- resultField: "tokenReject"
255
- },
256
- TOKENUPDATENFTS: {
257
- bodyField: "tokenUpdateNfts",
258
- parser: (body) => ({
259
- tokenId: body.token ? `${body.token.shardNum}.${body.token.realmNum}.${body.token.tokenNum}` : void 0,
260
- serialNumbers: body.serialNumbers || [],
261
- metadata: body.metadata
262
- }),
263
- resultField: "tokenUpdateNfts"
264
- },
265
- TOKENWIPE: {
266
- bodyField: "tokenWipe",
267
- parser: HTSParser.parseTokenWipeAccount,
268
- resultField: "tokenWipeAccount"
269
- },
270
- CRYPTOADDLIVEHASH: {
271
- bodyField: "cryptoAddLiveHash",
272
- parser: (body) => ({
273
- accountId: body.accountID ? `${body.accountID.shardNum}.${body.accountID.realmNum}.${body.accountID.accountNum}` : void 0,
274
- liveHash: body.liveHash
275
- }),
276
- resultField: "cryptoAddLiveHash"
277
- },
278
- CRYPTODELETELIVEHASH: {
279
- bodyField: "cryptoDeleteLiveHash",
280
- parser: (body) => ({
281
- accountId: body.accountOfLiveHash ? `${body.accountOfLiveHash.shardNum}.${body.accountOfLiveHash.realmNum}.${body.accountOfLiveHash.accountNum}` : void 0,
282
- liveHashToDelete: body.liveHashToDelete
283
- }),
284
- resultField: "cryptoDeleteLiveHash"
285
- },
286
- UNCHECKEDSUBMIT: {
287
- bodyField: "uncheckedSubmit",
288
- parser: (body) => ({
289
- topicId: body.topicID ? `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}` : void 0,
290
- message: body.message
291
- }),
292
- resultField: "uncheckedSubmit"
293
- },
294
- NODECREATE: {
295
- bodyField: "nodeCreate",
296
- parser: (body) => ({
297
- accountId: body.accountId ? `${body.accountId.shardNum}.${body.accountId.realmNum}.${body.accountId.accountNum}` : void 0,
298
- description: body.description,
299
- gossipEndpoint: body.gossipEndpoint,
300
- serviceEndpoint: body.serviceEndpoint,
301
- gossipCaCertificate: body.gossipCaCertificate,
302
- grpcCertificateHash: body.grpcCertificateHash,
303
- adminKey: body.adminKey
304
- }),
305
- resultField: "nodeCreate"
306
- },
307
- NODEUPDATE: {
308
- bodyField: "nodeUpdate",
309
- parser: (body) => ({
310
- nodeId: body.nodeId?.toString(),
311
- accountId: body.accountId ? `${body.accountId.shardNum}.${body.accountId.realmNum}.${body.accountId.accountNum}` : void 0,
312
- description: body.description,
313
- gossipEndpoint: body.gossipEndpoint,
314
- serviceEndpoint: body.serviceEndpoint,
315
- gossipCaCertificate: body.gossipCaCertificate,
316
- grpcCertificateHash: body.grpcCertificateHash,
317
- adminKey: body.adminKey
318
- }),
319
- resultField: "nodeUpdate"
320
- },
321
- NODEDELETE: {
322
- bodyField: "nodeDelete",
323
- parser: (body) => ({
324
- nodeId: body.nodeId?.toString()
325
- }),
326
- resultField: "nodeDelete"
327
- },
328
- NODESTAKEUPDATE: {
329
- bodyField: "nodeStakeUpdate",
330
- parser: (body) => ({
331
- nodeId: body.nodeId?.toString(),
332
- maxStake: body.maxStake?.toString(),
333
- minStake: body.minStake?.toString(),
334
- rewardRate: body.rewardRate?.toString()
335
- }),
336
- resultField: "nodeStakeUpdate"
337
- },
338
- ATOMICBATCH: {
339
- bodyField: "atomicBatch",
340
- parser: (body) => ({
341
- transactions: body.transactions || []
342
- }),
343
- resultField: "atomicBatch"
344
- },
345
- STATESIGNATURETRANSACTION: {
346
- bodyField: "stateSignatureTransaction",
347
- parser: (body) => ({
348
- signature: body.signature,
349
- round: body.round?.toString()
350
- }),
351
- resultField: "stateSignatureTransaction"
352
- },
353
- HISTORYPROOFSIGNATURE: {
354
- bodyField: "historyProofSignature",
355
- parser: (body) => ({
356
- signature: body.signature,
357
- round: body.round?.toString()
358
- }),
359
- resultField: "historyProofSignature"
360
- },
361
- HISTORYPROOFKEYPUBLICATION: {
362
- bodyField: "historyProofKeyPublication",
363
- parser: (body) => ({
364
- publicKey: body.publicKey,
365
- round: body.round?.toString()
366
- }),
367
- resultField: "historyProofKeyPublication"
368
- },
369
- HISTORYPROOFVOTE: {
370
- bodyField: "historyProofVote",
371
- parser: (body) => ({
372
- vote: body.vote,
373
- round: body.round?.toString()
374
- }),
375
- resultField: "historyProofVote"
376
- },
377
- HINTSPREPROCESSINGVOTE: {
378
- bodyField: "hintsPreprocessingVote",
379
- parser: (body) => ({
380
- vote: body.vote,
381
- round: body.round?.toString()
382
- }),
383
- resultField: "hintsPreprocessingVote"
384
- },
385
- HINTSKEYPUBLICATION: {
386
- bodyField: "hintsKeyPublication",
387
- parser: (body) => ({
388
- publicKey: body.publicKey,
389
- round: body.round?.toString()
390
- }),
391
- resultField: "hintsKeyPublication"
392
- },
393
- HINTSPARTIALSIGNATURE: {
394
- bodyField: "hintsPartialSignature",
395
- parser: (body) => ({
396
- signature: body.signature,
397
- round: body.round?.toString()
398
- }),
399
- resultField: "hintsPartialSignature"
400
- },
401
- CRSPUBLICATION: {
402
- bodyField: "crsPublication",
403
- parser: (body) => ({
404
- crs: body.crs,
405
- round: body.round?.toString()
406
- }),
407
- resultField: "crsPublication"
44
+ }
45
+ }
46
+ /**
47
+ * Parse schedule transaction from protobuf TransactionBody
48
+ * Handles all schedule operations from decoded protobuf data
49
+ */
50
+ static parseFromProtobufTxBody(txBody) {
51
+ if (txBody.scheduleCreate) {
52
+ const scheduleCreate = this.parseScheduleCreateFromProto(
53
+ txBody.scheduleCreate
54
+ );
55
+ if (scheduleCreate) {
56
+ return {
57
+ type: "SCHEDULECREATE",
58
+ humanReadableType: "Schedule Create",
59
+ scheduleCreate
60
+ };
61
+ }
62
+ }
63
+ if (txBody.scheduleSign) {
64
+ const scheduleSign = this.parseScheduleSignFromProto(txBody.scheduleSign);
65
+ if (scheduleSign) {
66
+ return {
67
+ type: "SCHEDULESIGN",
68
+ humanReadableType: "Schedule Sign",
69
+ scheduleSign
70
+ };
71
+ }
72
+ }
73
+ if (txBody.scheduleDelete) {
74
+ const scheduleDelete = this.parseScheduleDeleteFromProto(
75
+ txBody.scheduleDelete
76
+ );
77
+ if (scheduleDelete) {
78
+ return {
79
+ type: "SCHEDULEDELETE",
80
+ humanReadableType: "Schedule Delete",
81
+ scheduleDelete
82
+ };
83
+ }
84
+ }
85
+ return {};
86
+ }
87
+ /**
88
+ * Extract schedule data from Transaction internal fields
89
+ * This handles cases where data is stored in Transaction object internals
90
+ */
91
+ static parseFromTransactionInternals(transaction) {
92
+ try {
93
+ const tx = transaction;
94
+ if (hasTransactionType(transaction, "scheduleCreate")) {
95
+ const scheduleCreate = {
96
+ scheduledTransactionBody: Buffer.from(
97
+ tx._scheduledTransaction
98
+ ).toString("base64"),
99
+ memo: tx._scheduleMemo,
100
+ adminKey: tx._adminKey ? parseKey(tx._adminKey) : void 0,
101
+ payerAccountId: tx._payerAccountId?.toString(),
102
+ expirationTime: tx._expirationTime?.toString(),
103
+ waitForExpiry: tx._waitForExpiry || false
104
+ };
105
+ return {
106
+ type: "SCHEDULECREATE",
107
+ humanReadableType: "Schedule Create",
108
+ scheduleCreate
109
+ };
110
+ }
111
+ if (hasTransactionType(transaction, "scheduleSign")) {
112
+ const scheduleSign = {
113
+ scheduleId: tx._scheduleId.toString()
114
+ };
115
+ return {
116
+ type: "SCHEDULESIGN",
117
+ humanReadableType: "Schedule Sign",
118
+ scheduleSign
119
+ };
120
+ }
121
+ if (hasTransactionType(transaction, "scheduleDelete")) {
122
+ const scheduleDelete = {
123
+ scheduleId: tx._scheduleId.toString()
124
+ };
125
+ return {
126
+ type: "SCHEDULEDELETE",
127
+ humanReadableType: "Schedule Delete",
128
+ scheduleDelete
129
+ };
130
+ }
131
+ return {};
132
+ } catch (error) {
133
+ return {};
134
+ }
135
+ }
136
+ /**
137
+ * Parse Schedule Create from protobuf data
138
+ */
139
+ static parseScheduleCreateFromProto(body) {
140
+ if (!body) return void 0;
141
+ const data = {};
142
+ if (body.scheduledTransactionBody) {
143
+ const schedBytes = proto.SchedulableTransactionBody.encode(
144
+ proto.SchedulableTransactionBody.create(body.scheduledTransactionBody)
145
+ ).finish();
146
+ data.scheduledTransactionBody = Buffer.from(schedBytes).toString("base64");
147
+ }
148
+ if (body.memo) {
149
+ data.memo = body.memo;
150
+ }
151
+ if (body.adminKey) {
152
+ data.adminKey = parseKey(body.adminKey);
153
+ }
154
+ if (body.payerAccountID) {
155
+ data.payerAccountId = new AccountId(
156
+ body.payerAccountID.shardNum ?? 0,
157
+ body.payerAccountID.realmNum ?? 0,
158
+ body.payerAccountID.accountNum ?? 0
159
+ ).toString();
160
+ }
161
+ if (body.expirationTime?.seconds) {
162
+ data.expirationTime = `${Long.fromValue(
163
+ body.expirationTime.seconds
164
+ ).toString()}.${body.expirationTime.nanos ?? 0}`;
165
+ }
166
+ if (body.waitForExpiry !== void 0) {
167
+ data.waitForExpiry = body.waitForExpiry;
168
+ }
169
+ return data;
170
+ }
171
+ /**
172
+ * Parse Schedule Sign from protobuf data
173
+ */
174
+ static parseScheduleSignFromProto(body) {
175
+ if (!body) return void 0;
176
+ const data = {};
177
+ if (body.scheduleID) {
178
+ data.scheduleId = new ScheduleId(
179
+ body.scheduleID.shardNum ?? 0,
180
+ body.scheduleID.realmNum ?? 0,
181
+ body.scheduleID.scheduleNum ?? 0
182
+ ).toString();
183
+ }
184
+ return data;
185
+ }
186
+ /**
187
+ * Parse Schedule Delete from protobuf data
188
+ */
189
+ static parseScheduleDeleteFromProto(body) {
190
+ if (!body) return void 0;
191
+ const data = {};
192
+ if (body.scheduleID) {
193
+ data.scheduleId = new ScheduleId(
194
+ body.scheduleID.shardNum ?? 0,
195
+ body.scheduleID.realmNum ?? 0,
196
+ body.scheduleID.scheduleNum ?? 0
197
+ ).toString();
198
+ }
199
+ return data;
200
+ }
201
+ /**
202
+ * Legacy method: Parse schedule create transaction
203
+ * @deprecated Use parseScheduleTransaction instead
204
+ */
205
+ static parseScheduleCreate(transaction) {
206
+ try {
207
+ const result = this.parseScheduleTransaction(transaction);
208
+ return result.scheduleCreate || null;
209
+ } catch (error) {
210
+ console.warn("[ScheduleParser] Failed to parse schedule create:", error);
211
+ return null;
212
+ }
213
+ }
214
+ /**
215
+ * Legacy method: Parse schedule sign transaction
216
+ * @deprecated Use parseScheduleTransaction instead
217
+ */
218
+ static parseScheduleSign(transaction) {
219
+ try {
220
+ const result = this.parseScheduleTransaction(transaction);
221
+ return result.scheduleSign || null;
222
+ } catch (error) {
223
+ console.warn("[ScheduleParser] Failed to parse schedule sign:", error);
224
+ return null;
225
+ }
226
+ }
227
+ /**
228
+ * Legacy method: Parse schedule delete transaction
229
+ * @deprecated Use parseScheduleTransaction instead
230
+ */
231
+ static parseScheduleDelete(transaction) {
232
+ try {
233
+ const result = this.parseScheduleTransaction(transaction);
234
+ return result.scheduleDelete || null;
235
+ } catch (error) {
236
+ console.warn("[ScheduleParser] Failed to parse schedule delete:", error);
237
+ return null;
238
+ }
239
+ }
240
+ /**
241
+ * Parse schedule info from transaction body (for scheduled transactions)
242
+ */
243
+ static extractScheduleInfo(transaction) {
244
+ try {
245
+ const transactionBody = transaction._transactionBody;
246
+ if (transactionBody?.scheduleRef) {
247
+ return {
248
+ isScheduled: true,
249
+ scheduleRef: transactionBody.scheduleRef.toString()
250
+ };
251
+ }
252
+ const tx = transaction;
253
+ if (tx._scheduleId || tx.scheduleId) {
254
+ return {
255
+ isScheduled: true,
256
+ scheduleRef: (tx._scheduleId || tx.scheduleId)?.toString()
257
+ };
258
+ }
259
+ return { isScheduled: false };
260
+ } catch (error) {
261
+ return { isScheduled: false };
262
+ }
263
+ }
264
+ /**
265
+ * Parse a scheduled transaction body to extract the inner transaction
266
+ * This is used when a schedule contains another transaction to be executed
267
+ */
268
+ static parseScheduledTransactionBody(scheduledTxBytes) {
269
+ try {
270
+ let bytes;
271
+ if (scheduledTxBytes.startsWith("0x")) {
272
+ const hexString = scheduledTxBytes.slice(2);
273
+ bytes = new Uint8Array(Buffer.from(hexString, "hex"));
274
+ } else {
275
+ bytes = new Uint8Array(Buffer.from(scheduledTxBytes, "base64"));
276
+ }
277
+ const schedulableBody = proto.SchedulableTransactionBody.decode(bytes);
278
+ const txType = Object.keys(schedulableBody).find(
279
+ (key) => schedulableBody[key] !== null && key !== "transactionFee" && key !== "memo"
280
+ );
281
+ if (txType) {
282
+ return {
283
+ type: txType.toUpperCase(),
284
+ body: schedulableBody[txType],
285
+ memo: schedulableBody.memo,
286
+ transactionFee: schedulableBody.transactionFee?.toString()
287
+ };
288
+ }
289
+ return null;
290
+ } catch (error) {
291
+ console.warn(
292
+ "[ScheduleParser] Failed to parse scheduled transaction body:",
293
+ error
294
+ );
295
+ return null;
296
+ }
297
+ }
298
+ /**
299
+ * Parse Schedule Service transaction from Transaction object
300
+ * This is the unified entry point that delegates to the comprehensive parsing logic
301
+ */
302
+ static parseFromTransactionObject(transaction) {
303
+ return this.parseScheduleTransaction(transaction);
408
304
  }
409
- };
410
- function getParserConfig(transactionType) {
411
- return transactionParserRegistry[transactionType];
412
- }
413
- function isTransactionTypeSupported(transactionType) {
414
- return transactionType in transactionParserRegistry;
415
- }
416
- function getSupportedTransactionTypes() {
417
- return Object.keys(transactionParserRegistry);
418
305
  }
419
306
  export {
420
- getParserConfig,
421
- getSupportedTransactionTypes,
422
- isTransactionTypeSupported,
423
- transactionParserRegistry
307
+ ScheduleParser
424
308
  };
425
309
  //# sourceMappingURL=standards-sdk.es122.js.map