@hashgraphonline/standards-sdk 0.0.182 → 0.0.184

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 (145) hide show
  1. package/dist/cjs/hcs-12/assembly/assembly-engine.d.ts +2 -2
  2. package/dist/cjs/hcs-12/assembly/assembly-engine.d.ts.map +1 -1
  3. package/dist/cjs/hcs-12/base-client.d.ts +3 -3
  4. package/dist/cjs/hcs-12/base-client.d.ts.map +1 -1
  5. package/dist/cjs/hcs-12/browser.d.ts.map +1 -1
  6. package/dist/cjs/hcs-12/builders/action-builder.d.ts +5 -0
  7. package/dist/cjs/hcs-12/builders/action-builder.d.ts.map +1 -1
  8. package/dist/cjs/hcs-12/registries/action-registry.d.ts +7 -2
  9. package/dist/cjs/hcs-12/registries/action-registry.d.ts.map +1 -1
  10. package/dist/cjs/hcs-12/registries/assembly-registry.d.ts +2 -2
  11. package/dist/cjs/hcs-12/registries/assembly-registry.d.ts.map +1 -1
  12. package/dist/cjs/hcs-12/registries/base-registry.d.ts +3 -3
  13. package/dist/cjs/hcs-12/registries/base-registry.d.ts.map +1 -1
  14. package/dist/cjs/hcs-12/registries/block-loader.d.ts +2 -2
  15. package/dist/cjs/hcs-12/registries/block-loader.d.ts.map +1 -1
  16. package/dist/cjs/hcs-12/registries/hashlinks-registry.d.ts +2 -2
  17. package/dist/cjs/hcs-12/registries/hashlinks-registry.d.ts.map +1 -1
  18. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  19. package/dist/cjs/hcs-12/sdk.d.ts.map +1 -1
  20. package/dist/cjs/hcs-12/security/hash-verifier.d.ts +13 -0
  21. package/dist/cjs/hcs-12/security/hash-verifier.d.ts.map +1 -1
  22. package/dist/cjs/hcs-12/security/permission-system.d.ts +5 -5
  23. package/dist/cjs/hcs-12/security/permission-system.d.ts.map +1 -1
  24. package/dist/cjs/hcs-12/security/signature-verifier.d.ts +5 -0
  25. package/dist/cjs/hcs-12/security/signature-verifier.d.ts.map +1 -1
  26. package/dist/cjs/hcs-12/validation/wasm-validator.d.ts +9 -4
  27. package/dist/cjs/hcs-12/validation/wasm-validator.d.ts.map +1 -1
  28. package/dist/cjs/{index-5G8lx2OC.cjs → index-DH8JqKpL.cjs} +21 -21
  29. package/dist/cjs/{index-5G8lx2OC.cjs.map → index-DH8JqKpL.cjs.map} +1 -1
  30. package/dist/cjs/{index-DNOBUKZd-ByWVn3_3.cjs → index-DNOBUKZd-DP8GdiGA.cjs} +2 -2
  31. package/dist/cjs/{index-DNOBUKZd-ByWVn3_3.cjs.map → index-DNOBUKZd-DP8GdiGA.cjs.map} +1 -1
  32. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  33. package/dist/cjs/standards-sdk.cjs +1 -1
  34. package/dist/cjs/{standards-sdk.es47-LpJXpYet-BcMEbzeg.cjs → standards-sdk.es47-LpJXpYet-BEh9hyjN.cjs} +2 -2
  35. package/dist/cjs/{standards-sdk.es47-LpJXpYet-BcMEbzeg.cjs.map → standards-sdk.es47-LpJXpYet-BEh9hyjN.cjs.map} +1 -1
  36. package/dist/cjs/{standards-sdk.es48-PT6ZHlCU-DeVBWhj9.cjs → standards-sdk.es48-PT6ZHlCU-AWU0EkFj.cjs} +2 -2
  37. package/dist/cjs/{standards-sdk.es48-PT6ZHlCU-DeVBWhj9.cjs.map → standards-sdk.es48-PT6ZHlCU-AWU0EkFj.cjs.map} +1 -1
  38. package/dist/cjs/{standards-sdk.es49-BoFc-ELK-C2EmnXa-.cjs → standards-sdk.es49-BoFc-ELK-Bz7Gd2qu.cjs} +2 -2
  39. package/dist/cjs/{standards-sdk.es49-BoFc-ELK-C2EmnXa-.cjs.map → standards-sdk.es49-BoFc-ELK-Bz7Gd2qu.cjs.map} +1 -1
  40. package/dist/cjs/{standards-sdk.es50-miBtNmtl-2L3nQXPh.cjs → standards-sdk.es50-miBtNmtl-DcjyhGyg.cjs} +2 -2
  41. package/dist/cjs/{standards-sdk.es50-miBtNmtl-2L3nQXPh.cjs.map → standards-sdk.es50-miBtNmtl-DcjyhGyg.cjs.map} +1 -1
  42. package/dist/cjs/{standards-sdk.es51-rS2UvvV5-D0SR8-Nc.cjs → standards-sdk.es51-rS2UvvV5-Bmyu85K4.cjs} +2 -2
  43. package/dist/cjs/{standards-sdk.es51-rS2UvvV5-D0SR8-Nc.cjs.map → standards-sdk.es51-rS2UvvV5-Bmyu85K4.cjs.map} +1 -1
  44. package/dist/cjs/{standards-sdk.es52-D-lvSMBY-DgGZRneG.cjs → standards-sdk.es52-D-lvSMBY-t0dhVZEE.cjs} +2 -2
  45. package/dist/cjs/{standards-sdk.es52-D-lvSMBY-DgGZRneG.cjs.map → standards-sdk.es52-D-lvSMBY-t0dhVZEE.cjs.map} +1 -1
  46. package/dist/cjs/utils/crypto-abstraction.d.ts +89 -0
  47. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -0
  48. package/dist/cjs/utils/crypto-env.d.ts +25 -0
  49. package/dist/cjs/utils/crypto-env.d.ts.map +1 -0
  50. package/dist/cjs/utils/hash-adapter.d.ts +46 -0
  51. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -0
  52. package/dist/es/hcs-12/assembly/assembly-engine.d.ts +2 -2
  53. package/dist/es/hcs-12/assembly/assembly-engine.d.ts.map +1 -1
  54. package/dist/es/hcs-12/base-client.d.ts +3 -3
  55. package/dist/es/hcs-12/base-client.d.ts.map +1 -1
  56. package/dist/es/hcs-12/browser.d.ts.map +1 -1
  57. package/dist/es/hcs-12/builders/action-builder.d.ts +5 -0
  58. package/dist/es/hcs-12/builders/action-builder.d.ts.map +1 -1
  59. package/dist/es/hcs-12/registries/action-registry.d.ts +7 -2
  60. package/dist/es/hcs-12/registries/action-registry.d.ts.map +1 -1
  61. package/dist/es/hcs-12/registries/assembly-registry.d.ts +2 -2
  62. package/dist/es/hcs-12/registries/assembly-registry.d.ts.map +1 -1
  63. package/dist/es/hcs-12/registries/base-registry.d.ts +3 -3
  64. package/dist/es/hcs-12/registries/base-registry.d.ts.map +1 -1
  65. package/dist/es/hcs-12/registries/block-loader.d.ts +2 -2
  66. package/dist/es/hcs-12/registries/block-loader.d.ts.map +1 -1
  67. package/dist/es/hcs-12/registries/hashlinks-registry.d.ts +2 -2
  68. package/dist/es/hcs-12/registries/hashlinks-registry.d.ts.map +1 -1
  69. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  70. package/dist/es/hcs-12/sdk.d.ts.map +1 -1
  71. package/dist/es/hcs-12/security/hash-verifier.d.ts +13 -0
  72. package/dist/es/hcs-12/security/hash-verifier.d.ts.map +1 -1
  73. package/dist/es/hcs-12/security/permission-system.d.ts +5 -5
  74. package/dist/es/hcs-12/security/permission-system.d.ts.map +1 -1
  75. package/dist/es/hcs-12/security/signature-verifier.d.ts +5 -0
  76. package/dist/es/hcs-12/security/signature-verifier.d.ts.map +1 -1
  77. package/dist/es/hcs-12/validation/wasm-validator.d.ts +9 -4
  78. package/dist/es/hcs-12/validation/wasm-validator.d.ts.map +1 -1
  79. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  80. package/dist/es/standards-sdk.es11.js +1 -1
  81. package/dist/es/standards-sdk.es12.js +1 -1
  82. package/dist/es/standards-sdk.es13.js +1 -1
  83. package/dist/es/standards-sdk.es18.js +1 -1
  84. package/dist/es/standards-sdk.es21.js.map +1 -1
  85. package/dist/es/standards-sdk.es22.js +49 -6
  86. package/dist/es/standards-sdk.es22.js.map +1 -1
  87. package/dist/es/standards-sdk.es23.js.map +1 -1
  88. package/dist/es/standards-sdk.es24.js.map +1 -1
  89. package/dist/es/standards-sdk.es25.js +0 -1
  90. package/dist/es/standards-sdk.es25.js.map +1 -1
  91. package/dist/es/standards-sdk.es26.js +1 -4
  92. package/dist/es/standards-sdk.es26.js.map +1 -1
  93. package/dist/es/standards-sdk.es27.js +1 -1
  94. package/dist/es/standards-sdk.es27.js.map +1 -1
  95. package/dist/es/standards-sdk.es28.js +1 -3
  96. package/dist/es/standards-sdk.es28.js.map +1 -1
  97. package/dist/es/standards-sdk.es29.js +36 -10
  98. package/dist/es/standards-sdk.es29.js.map +1 -1
  99. package/dist/es/standards-sdk.es32.js +20 -4
  100. package/dist/es/standards-sdk.es32.js.map +1 -1
  101. package/dist/es/standards-sdk.es34.js.map +1 -1
  102. package/dist/es/standards-sdk.es37.js +9 -0
  103. package/dist/es/standards-sdk.es37.js.map +1 -1
  104. package/dist/es/standards-sdk.es46.js +1 -1
  105. package/dist/es/standards-sdk.es52.js +1 -1
  106. package/dist/es/standards-sdk.es59.js +7 -7
  107. package/dist/es/standards-sdk.es64.js +1 -1
  108. package/dist/es/standards-sdk.es65.js +1 -1
  109. package/dist/es/standards-sdk.es66.js +35 -7
  110. package/dist/es/standards-sdk.es66.js.map +1 -1
  111. package/dist/es/standards-sdk.es72.js +2 -410
  112. package/dist/es/standards-sdk.es72.js.map +1 -1
  113. package/dist/es/standards-sdk.es74.js +409 -203
  114. package/dist/es/standards-sdk.es74.js.map +1 -1
  115. package/dist/es/standards-sdk.es75.js +2 -172
  116. package/dist/es/standards-sdk.es75.js.map +1 -1
  117. package/dist/es/standards-sdk.es76.js +181 -299
  118. package/dist/es/standards-sdk.es76.js.map +1 -1
  119. package/dist/es/standards-sdk.es77.js +120 -294
  120. package/dist/es/standards-sdk.es77.js.map +1 -1
  121. package/dist/es/standards-sdk.es78.js +191 -322
  122. package/dist/es/standards-sdk.es78.js.map +1 -1
  123. package/dist/es/standards-sdk.es79.js +294 -279
  124. package/dist/es/standards-sdk.es79.js.map +1 -1
  125. package/dist/es/standards-sdk.es80.js +450 -303
  126. package/dist/es/standards-sdk.es80.js.map +1 -1
  127. package/dist/es/standards-sdk.es81.js +319 -64
  128. package/dist/es/standards-sdk.es81.js.map +1 -1
  129. package/dist/es/standards-sdk.es82.js +306 -2
  130. package/dist/es/standards-sdk.es82.js.map +1 -1
  131. package/dist/es/standards-sdk.es83.js +76 -2
  132. package/dist/es/standards-sdk.es83.js.map +1 -1
  133. package/dist/es/standards-sdk.es91.js +202 -0
  134. package/dist/es/standards-sdk.es91.js.map +1 -0
  135. package/dist/es/standards-sdk.es92.js +37 -0
  136. package/dist/es/standards-sdk.es92.js.map +1 -0
  137. package/dist/es/standards-sdk.es93.js +81 -0
  138. package/dist/es/standards-sdk.es93.js.map +1 -0
  139. package/dist/es/utils/crypto-abstraction.d.ts +89 -0
  140. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -0
  141. package/dist/es/utils/crypto-env.d.ts +25 -0
  142. package/dist/es/utils/crypto-env.d.ts.map +1 -0
  143. package/dist/es/utils/hash-adapter.d.ts +46 -0
  144. package/dist/es/utils/hash-adapter.d.ts.map +1 -0
  145. package/package.json +2 -1
@@ -1,309 +1,456 @@
1
- const protoFieldToTypeRegistry = {
2
- tokenCreation: { type: "TOKENCREATE", humanReadableType: "Token Creation" },
3
- tokenAirdrop: { type: "TOKENAIRDROP", humanReadableType: "Token Airdrop" },
4
- tokenMint: { type: "TOKENMINT", humanReadableType: "Token Mint" },
5
- tokenBurn: { type: "TOKENBURN", humanReadableType: "Token Burn" },
6
- tokenUpdate: { type: "TOKENUPDATE", humanReadableType: "Token Update" },
7
- tokenDeletion: { type: "TOKENDELETE", humanReadableType: "Token Deletion" },
8
- tokenAssociate: {
9
- type: "TOKENASSOCIATE",
10
- humanReadableType: "Token Association"
11
- },
12
- tokenDissociate: {
13
- type: "TOKENDISSOCIATE",
14
- humanReadableType: "Token Dissociation"
15
- },
16
- tokenFreeze: { type: "TOKENFREEZE", humanReadableType: "Token Freeze" },
17
- tokenUnfreeze: { type: "TOKENUNFREEZE", humanReadableType: "Token Unfreeze" },
18
- tokenGrantKyc: {
19
- type: "TOKENGRANTKYC",
20
- humanReadableType: "Token Grant KYC"
21
- },
22
- tokenRevokeKyc: {
23
- type: "TOKENREVOKEKYC",
24
- humanReadableType: "Token Revoke KYC"
25
- },
26
- tokenPause: { type: "TOKENPAUSE", humanReadableType: "Token Pause" },
27
- tokenUnpause: { type: "TOKENUNPAUSE", humanReadableType: "Token Unpause" },
28
- tokenWipe: { type: "TOKENWIPE", humanReadableType: "Token Wipe" },
29
- tokenFeeScheduleUpdate: {
30
- type: "TOKENFEESCHEDULEUPDATE",
31
- humanReadableType: "Token Fee Schedule Update"
32
- },
33
- tokenCancelAirdrop: {
34
- type: "TOKENCANCELAIRDROP",
35
- humanReadableType: "Cancel Token Airdrop"
36
- },
37
- tokenClaimAirdrop: {
38
- type: "TOKENCLAIMAIRDROP",
39
- humanReadableType: "Claim Token Airdrop"
40
- },
41
- tokenReject: { type: "TOKENREJECT", humanReadableType: "Token Reject" },
42
- tokenUpdateNfts: {
43
- type: "TOKENUPDATENFTS",
44
- humanReadableType: "Update NFT Metadata"
45
- },
46
- cryptoTransfer: {
47
- type: "CRYPTOTRANSFER",
48
- humanReadableType: "Crypto Transfer"
49
- },
50
- cryptoCreateAccount: {
51
- type: "ACCOUNTCREATE",
52
- humanReadableType: "Account Creation"
53
- },
54
- cryptoUpdateAccount: {
55
- type: "ACCOUNTUPDATE",
56
- humanReadableType: "Account Update"
57
- },
58
- cryptoDelete: {
59
- type: "ACCOUNTDELETE",
60
- humanReadableType: "Account Deletion"
61
- },
62
- cryptoApproveAllowance: {
63
- type: "APPROVEALLOWANCE",
64
- humanReadableType: "Approve Allowance"
65
- },
66
- cryptoDeleteAllowance: {
67
- type: "DELETEALLOWANCE",
68
- humanReadableType: "Delete Allowance"
69
- },
70
- cryptoAddLiveHash: {
71
- type: "CRYPTOADDLIVEHASH",
72
- humanReadableType: "Add Live Hash"
73
- },
74
- cryptoDeleteLiveHash: {
75
- type: "CRYPTODELETELIVEHASH",
76
- humanReadableType: "Delete Live Hash"
77
- },
78
- consensusCreateTopic: {
79
- type: "TOPICCREATE",
80
- humanReadableType: "Topic Creation"
81
- },
82
- consensusSubmitMessage: {
83
- type: "CONSENSUSSUBMITMESSAGE",
84
- humanReadableType: "Submit Message"
85
- },
86
- consensusUpdateTopic: {
87
- type: "TOPICUPDATE",
88
- humanReadableType: "Topic Update"
89
- },
90
- consensusDeleteTopic: {
91
- type: "TOPICDELETE",
92
- humanReadableType: "Topic Deletion"
93
- },
94
- uncheckedSubmit: {
95
- type: "UNCHECKEDSUBMIT",
96
- humanReadableType: "Unchecked Submit"
97
- },
98
- contractCall: { type: "CONTRACTCALL", humanReadableType: "Contract Call" },
99
- contractCreateInstance: {
100
- type: "CONTRACTCREATE",
101
- humanReadableType: "Contract Creation"
102
- },
103
- contractUpdateInstance: {
104
- type: "CONTRACTUPDATE",
105
- humanReadableType: "Contract Update"
106
- },
107
- contractDeleteInstance: {
108
- type: "CONTRACTDELETE",
109
- humanReadableType: "Contract Deletion"
110
- },
111
- ethereumTransaction: {
112
- type: "ETHEREUMTRANSACTION",
113
- humanReadableType: "Ethereum Transaction"
114
- },
115
- fileCreate: { type: "FILECREATE", humanReadableType: "File Creation" },
116
- fileUpdate: { type: "FILEUPDATE", humanReadableType: "File Update" },
117
- fileDelete: { type: "FILEDELETE", humanReadableType: "File Deletion" },
118
- fileAppend: { type: "FILEAPPEND", humanReadableType: "File Append" },
119
- scheduleCreate: {
120
- type: "SCHEDULECREATE",
121
- humanReadableType: "Schedule Creation"
122
- },
123
- scheduleSign: { type: "SCHEDULESIGN", humanReadableType: "Schedule Sign" },
124
- scheduleDelete: {
125
- type: "SCHEDULEDELETE",
126
- humanReadableType: "Schedule Deletion"
127
- },
128
- freeze: { type: "FREEZE", humanReadableType: "Network Freeze" },
129
- systemDelete: { type: "SYSTEMDELETE", humanReadableType: "System Delete" },
130
- systemUndelete: {
131
- type: "SYSTEMUNDELETE",
132
- humanReadableType: "System Undelete"
133
- },
134
- nodeCreate: { type: "NODECREATE", humanReadableType: "Node Creation" },
135
- nodeUpdate: { type: "NODEUPDATE", humanReadableType: "Node Update" },
136
- nodeDelete: { type: "NODEDELETE", humanReadableType: "Node Deletion" },
137
- nodeStakeUpdate: {
138
- type: "NODESTAKEUPDATE",
139
- humanReadableType: "Node Stake Update"
140
- },
141
- utilPrng: { type: "PRNG", humanReadableType: "Pseudo Random Number" },
142
- atomicBatch: { type: "ATOMICBATCH", humanReadableType: "Atomic Batch" },
143
- stateSignatureTransaction: {
144
- type: "STATESIGNATURETRANSACTION",
145
- humanReadableType: "State Signature"
146
- },
147
- historyProofSignature: {
148
- type: "HISTORYPROOFSIGNATURE",
149
- humanReadableType: "History Proof Signature"
150
- },
151
- historyProofKeyPublication: {
152
- type: "HISTORYPROOFKEYPUBLICATION",
153
- humanReadableType: "History Proof Key Publication"
154
- },
155
- historyProofVote: {
156
- type: "HISTORYPROOFVOTE",
157
- humanReadableType: "History Proof Vote"
158
- },
159
- hintsPreprocessingVote: {
160
- type: "HINTSPREPROCESSINGVOTE",
161
- humanReadableType: "Hints Preprocessing Vote"
162
- },
163
- hintsKeyPublication: {
164
- type: "HINTSKEYPUBLICATION",
165
- humanReadableType: "Hints Key Publication"
166
- },
167
- hintsPartialSignature: {
168
- type: "HINTSPARTIALSIGNATURE",
169
- humanReadableType: "Hints Partial Signature"
170
- },
171
- crsPublication: {
172
- type: "CRSPUBLICATION",
173
- humanReadableType: "CRS Publication"
174
- },
175
- transactionID: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
176
- nodeAccountID: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
177
- transactionFee: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
178
- transactionValidDuration: {
179
- type: "UNKNOWN",
180
- humanReadableType: "Unknown Transaction"
181
- },
182
- generateRecord: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
183
- memo: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
184
- batchKey: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" },
185
- maxCustomFees: { type: "UNKNOWN", humanReadableType: "Unknown Transaction" }
186
- };
187
- const humanReadableTypeRegistry = {
188
- cryptoTransfer: "HBAR Transfer",
189
- CRYPTOTRANSFER: "HBAR Transfer",
190
- cryptoCreateAccount: "Create Account",
191
- ACCOUNTCREATE: "Create Account",
192
- cryptoUpdateAccount: "Update Account",
193
- ACCOUNTUPDATE: "Update Account",
194
- cryptoDeleteAccount: "Delete Account",
195
- cryptoDelete: "Delete Account",
196
- ACCOUNTDELETE: "Delete Account",
197
- cryptoApproveAllowance: "Approve Allowance",
198
- APPROVEALLOWANCE: "Approve Allowance",
199
- cryptoDeleteAllowance: "Delete Allowance",
200
- DELETEALLOWANCE: "Delete Allowance",
201
- CRYPTOADDLIVEHASH: "Add Live Hash",
202
- CRYPTODELETELIVEHASH: "Delete Live Hash",
203
- consensusCreateTopic: "Create Topic",
204
- TOPICCREATE: "Create Topic",
205
- consensusUpdateTopic: "Update Topic",
206
- TOPICUPDATE: "Update Topic",
207
- consensusSubmitMessage: "Submit Message",
208
- CONSENSUSSUBMITMESSAGE: "Submit Message",
209
- consensusDeleteTopic: "Delete Topic",
210
- TOPICDELETE: "Delete Topic",
211
- UNCHECKEDSUBMIT: "Unchecked Submit",
212
- fileCreate: "Create File",
213
- FILECREATE: "Create File",
214
- fileAppend: "Append File",
215
- FILEAPPEND: "Append File",
216
- fileUpdate: "Update File",
217
- FILEUPDATE: "Update File",
218
- fileDelete: "Delete File",
219
- FILEDELETE: "Delete File",
220
- contractCall: "Contract Call",
221
- CONTRACTCALL: "Contract Call",
222
- contractCreate: "Create Contract",
223
- CONTRACTCREATE: "Create Contract",
224
- contractUpdate: "Update Contract",
225
- CONTRACTUPDATE: "Update Contract",
226
- contractDelete: "Delete Contract",
227
- CONTRACTDELETE: "Delete Contract",
228
- ethereumTransaction: "Ethereum Transaction",
229
- ETHEREUMTRANSACTION: "Ethereum Transaction",
230
- tokenCreate: "Create Token",
231
- TOKENCREATE: "Create Token",
232
- tokenUpdate: "Update Token",
233
- TOKENUPDATE: "Update Token",
234
- tokenDelete: "Delete Token",
235
- TOKENDELETE: "Delete Token",
236
- tokenAssociate: "Associate Token",
237
- TOKENASSOCIATE: "Associate Token",
238
- tokenDissociate: "Dissociate Token",
239
- TOKENDISSOCIATE: "Dissociate Token",
240
- tokenMint: "Mint Token",
241
- TOKENMINT: "Mint Token",
242
- tokenBurn: "Burn Token",
243
- TOKENBURN: "Burn Token",
244
- tokenFeeScheduleUpdate: "Update Token Fee Schedule",
245
- TOKENFEESCHEDULEUPDATE: "Update Token Fee Schedule",
246
- tokenFreeze: "Freeze Token",
247
- TOKENFREEZE: "Freeze Token",
248
- tokenUnfreeze: "Unfreeze Token",
249
- TOKENUNFREEZE: "Unfreeze Token",
250
- tokenGrantKyc: "Grant KYC",
251
- TOKENGRANTKYC: "Grant KYC",
252
- tokenRevokeKyc: "Revoke KYC",
253
- TOKENREVOKEKYC: "Revoke KYC",
254
- tokenPause: "Pause Token",
255
- TOKENPAUSE: "Pause Token",
256
- tokenUnpause: "Unpause Token",
257
- TOKENUNPAUSE: "Unpause Token",
258
- tokenWipe: "Wipe Token",
259
- TOKENWIPE: "Wipe Token",
260
- tokenAirdrop: "Token Airdrop",
261
- TOKENAIRDROP: "Token Airdrop",
262
- TOKENCANCELAIRDROP: "Cancel Token Airdrop",
263
- TOKENCLAIMAIRDROP: "Claim Token Airdrop",
264
- TOKENREJECT: "Token Reject",
265
- TOKENUPDATENFTS: "Update NFT Metadata",
266
- scheduleCreate: "Create Schedule",
267
- SCHEDULECREATE: "Create Schedule",
268
- scheduleSign: "Sign Schedule",
269
- SCHEDULESIGN: "Sign Schedule",
270
- SCHEDULEDELETE: "Delete Schedule",
271
- FREEZE: "Network Freeze",
272
- SYSTEMDELETE: "System Delete",
273
- SYSTEMUNDELETE: "System Undelete",
274
- NODECREATE: "Create Node",
275
- NODEUPDATE: "Update Node",
276
- NODEDELETE: "Delete Node",
277
- NODESTAKEUPDATE: "Update Node Stake",
278
- utilPrng: "Generate Random Number",
279
- PRNG: "Generate Random Number",
280
- ATOMICBATCH: "Atomic Batch",
281
- STATESIGNATURETRANSACTION: "State Signature",
282
- HISTORYPROOFSIGNATURE: "History Proof Signature",
283
- HISTORYPROOFKEYPUBLICATION: "History Proof Key Publication",
284
- HISTORYPROOFVOTE: "History Proof Vote",
285
- HINTSPREPROCESSINGVOTE: "Hints Preprocessing Vote",
286
- HINTSKEYPUBLICATION: "Hints Key Publication",
287
- HINTSPARTIALSIGNATURE: "Hints Partial Signature",
288
- CRSPUBLICATION: "CRS Publication",
289
- unknown: "Unknown Transaction",
290
- UNKNOWN: "Unknown Transaction"
291
- };
292
- function getTransactionTypeFromBody(txBody) {
293
- for (const [field, typeInfo] of Object.entries(protoFieldToTypeRegistry)) {
294
- if (txBody[field]) {
295
- return typeInfo;
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.es83.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
+ };
296
45
  }
297
46
  }
298
- return { type: "UNKNOWN", humanReadableType: "Unknown Transaction" };
299
- }
300
- function getHumanReadableTransactionType(type) {
301
- return humanReadableTypeRegistry[type] || "Unknown Transaction";
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 {};
111
+ }
112
+ /**
113
+ * Extract contract data from Transaction internal fields
114
+ * This handles cases where data is stored in Transaction object internals
115
+ */
116
+ static parseFromTransactionInternals(transaction) {
117
+ try {
118
+ const tx = transaction;
119
+ if (tx._contractId && tx._gas) {
120
+ const contractCall = {
121
+ contractId: tx._contractId.toString(),
122
+ gas: typeof tx._gas === "number" ? tx._gas : Long.fromValue(tx._gas).toNumber(),
123
+ amount: tx._amount ? parseFloat(tx._amount.toString()) : 0
124
+ };
125
+ if (tx._functionParameters) {
126
+ const funcParams = Buffer.from(tx._functionParameters).toString(
127
+ "hex"
128
+ );
129
+ contractCall.functionParameters = funcParams;
130
+ contractCall.functionName = this.extractFunctionName(funcParams);
131
+ }
132
+ return {
133
+ type: "CONTRACTCALL",
134
+ humanReadableType: "Contract Call",
135
+ contractCall
136
+ };
137
+ }
138
+ if (hasTransactionType(transaction, "contractCreateInstance")) {
139
+ const contractCreate = {
140
+ gas: tx._gas.toString(),
141
+ initialBalance: tx._initialBalance?.toString() || "0"
142
+ };
143
+ if (tx._fileId) {
144
+ contractCreate.initcodeSource = "fileID";
145
+ contractCreate.initcode = tx._fileId.toString();
146
+ } else if (tx._bytecode) {
147
+ contractCreate.initcodeSource = "bytes";
148
+ contractCreate.initcode = Buffer.from(tx._bytecode).toString("hex");
149
+ }
150
+ if (tx._constructorParameters) {
151
+ contractCreate.constructorParameters = Buffer.from(
152
+ tx._constructorParameters
153
+ ).toString("hex");
154
+ }
155
+ if (tx._memo) contractCreate.memo = tx._memo;
156
+ if (tx._adminKey) contractCreate.adminKey = parseKey(tx._adminKey);
157
+ if (tx._maxAutomaticTokenAssociations !== void 0) {
158
+ contractCreate.maxAutomaticTokenAssociations = tx._maxAutomaticTokenAssociations;
159
+ }
160
+ if (tx._stakedAccountId) {
161
+ contractCreate.stakedAccountId = tx._stakedAccountId.toString();
162
+ } else if (tx._stakedNodeId !== null && tx._stakedNodeId !== void 0) {
163
+ contractCreate.stakedNodeId = Long.fromValue(
164
+ tx._stakedNodeId
165
+ ).toString();
166
+ }
167
+ if (tx._declineReward !== void 0)
168
+ contractCreate.declineReward = tx._declineReward;
169
+ if (tx._autoRenewPeriod)
170
+ contractCreate.autoRenewPeriod = tx._autoRenewPeriod.toString();
171
+ return {
172
+ type: "CONTRACTCREATE",
173
+ humanReadableType: "Contract Create",
174
+ contractCreate
175
+ };
176
+ }
177
+ if (hasTransactionType(transaction, "contractUpdateInstance")) {
178
+ const contractUpdate = {
179
+ contractIdToUpdate: tx._contractId.toString()
180
+ };
181
+ if (tx._memo) contractUpdate.memo = tx._memo;
182
+ if (tx._adminKey) contractUpdate.adminKey = parseKey(tx._adminKey);
183
+ if (tx._maxAutomaticTokenAssociations !== void 0) {
184
+ contractUpdate.maxAutomaticTokenAssociations = tx._maxAutomaticTokenAssociations;
185
+ }
186
+ if (tx._stakedAccountId) {
187
+ contractUpdate.stakedAccountId = tx._stakedAccountId.toString();
188
+ } else if (tx._stakedNodeId !== null && tx._stakedNodeId !== void 0) {
189
+ contractUpdate.stakedNodeId = Long.fromValue(
190
+ tx._stakedNodeId
191
+ ).toString();
192
+ }
193
+ if (tx._declineReward !== void 0)
194
+ contractUpdate.declineReward = tx._declineReward;
195
+ if (tx._autoRenewPeriod)
196
+ contractUpdate.autoRenewPeriod = tx._autoRenewPeriod.toString();
197
+ return {
198
+ type: "CONTRACTUPDATE",
199
+ humanReadableType: "Contract Update",
200
+ contractUpdate
201
+ };
202
+ }
203
+ if (hasTransactionType(transaction, "contractDeleteInstance")) {
204
+ const contractDelete = {
205
+ contractIdToDelete: tx._contractId.toString()
206
+ };
207
+ if (tx._transferAccountId) {
208
+ contractDelete.transferAccountId = tx._transferAccountId.toString();
209
+ } else if (tx._transferContractId) {
210
+ contractDelete.transferContractId = tx._transferContractId.toString();
211
+ }
212
+ return {
213
+ type: "CONTRACTDELETE",
214
+ humanReadableType: "Contract Delete",
215
+ contractDelete
216
+ };
217
+ }
218
+ return {};
219
+ } catch (error) {
220
+ return {};
221
+ }
222
+ }
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;
254
+ }
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;
273
+ }
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;
295
+ }
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;
350
+ }
351
+ static parseContractUpdate(body) {
352
+ if (!body) return void 0;
353
+ const data = {};
354
+ if (body.contractID) {
355
+ data.contractIdToUpdate = new ContractId(
356
+ body.contractID.shardNum ?? 0,
357
+ body.contractID.realmNum ?? 0,
358
+ body.contractID.contractNum ?? 0
359
+ ).toString();
360
+ }
361
+ if (body.adminKey) {
362
+ data.adminKey = parseKey(body.adminKey);
363
+ }
364
+ if (body.expirationTime?.seconds) {
365
+ data.expirationTime = `${Long.fromValue(
366
+ body.expirationTime.seconds
367
+ ).toString()}.${body.expirationTime.nanos}`;
368
+ }
369
+ if (body.autoRenewPeriod?.seconds) {
370
+ data.autoRenewPeriod = Long.fromValue(
371
+ body.autoRenewPeriod.seconds
372
+ ).toString();
373
+ }
374
+ if (body.memo) {
375
+ const memoUnion = body.memo;
376
+ if (memoUnion && typeof memoUnion === "object" && Object.prototype.hasOwnProperty.call(memoUnion, "value")) {
377
+ const value = memoUnion.value;
378
+ if (value === null || value === void 0) {
379
+ data.memo = void 0;
380
+ } else {
381
+ data.memo = String(value);
382
+ }
383
+ } else if (typeof memoUnion === "string") {
384
+ data.memo = memoUnion;
385
+ } else {
386
+ data.memo = void 0;
387
+ }
388
+ } else {
389
+ data.memo = void 0;
390
+ }
391
+ if (body.stakedAccountId) {
392
+ data.stakedAccountId = new AccountId(
393
+ body.stakedAccountId.shardNum ?? 0,
394
+ body.stakedAccountId.realmNum ?? 0,
395
+ body.stakedAccountId.accountNum ?? 0
396
+ ).toString();
397
+ data.stakedNodeId = void 0;
398
+ } else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0 && Long.fromValue(body.stakedNodeId).notEquals(-1)) {
399
+ data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
400
+ data.stakedAccountId = void 0;
401
+ } else {
402
+ data.stakedNodeId = void 0;
403
+ data.stakedAccountId = void 0;
404
+ }
405
+ if (body.declineReward?.value !== void 0) {
406
+ data.declineReward = body.declineReward.value;
407
+ }
408
+ if (body.maxAutomaticTokenAssociations?.value !== void 0) {
409
+ data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations.value;
410
+ }
411
+ if (body.autoRenewAccountId) {
412
+ data.autoRenewAccountId = new AccountId(
413
+ body.autoRenewAccountId.shardNum ?? 0,
414
+ body.autoRenewAccountId.realmNum ?? 0,
415
+ body.autoRenewAccountId.accountNum ?? 0
416
+ ).toString();
417
+ }
418
+ return data;
419
+ }
420
+ static parseContractDelete(body) {
421
+ if (!body) return void 0;
422
+ const data = {};
423
+ if (body.contractID) {
424
+ data.contractIdToDelete = new ContractId(
425
+ body.contractID.shardNum ?? 0,
426
+ body.contractID.realmNum ?? 0,
427
+ body.contractID.contractNum ?? 0
428
+ ).toString();
429
+ }
430
+ if (body.transferAccountID) {
431
+ data.transferAccountId = new AccountId(
432
+ body.transferAccountID.shardNum ?? 0,
433
+ body.transferAccountID.realmNum ?? 0,
434
+ body.transferAccountID.accountNum ?? 0
435
+ ).toString();
436
+ } else if (body.transferContractID) {
437
+ data.transferContractId = new ContractId(
438
+ body.transferContractID.shardNum ?? 0,
439
+ body.transferContractID.realmNum ?? 0,
440
+ body.transferContractID.contractNum ?? 0
441
+ ).toString();
442
+ }
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
+ }
302
452
  }
303
453
  export {
304
- getHumanReadableTransactionType,
305
- getTransactionTypeFromBody,
306
- humanReadableTypeRegistry,
307
- protoFieldToTypeRegistry
454
+ SCSParser
308
455
  };
309
456
  //# sourceMappingURL=standards-sdk.es80.js.map