@hashgraphonline/standards-sdk 0.0.108-canary.0 → 0.0.108-canary.3

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 (266) hide show
  1. package/dist/es/standards-sdk.es100.js +52 -59
  2. package/dist/es/standards-sdk.es100.js.map +1 -1
  3. package/dist/es/standards-sdk.es101.js +68 -5
  4. package/dist/es/standards-sdk.es101.js.map +1 -1
  5. package/dist/es/standards-sdk.es102.js +3 -14
  6. package/dist/es/standards-sdk.es102.js.map +1 -1
  7. package/dist/es/standards-sdk.es103.js +32 -7
  8. package/dist/es/standards-sdk.es103.js.map +1 -1
  9. package/dist/es/standards-sdk.es104.js +61 -43
  10. package/dist/es/standards-sdk.es104.js.map +1 -1
  11. package/dist/es/standards-sdk.es105.js +50 -2
  12. package/dist/es/standards-sdk.es105.js.map +1 -1
  13. package/dist/es/standards-sdk.es106.js +10 -136
  14. package/dist/es/standards-sdk.es106.js.map +1 -1
  15. package/dist/es/standards-sdk.es107.js +57 -164
  16. package/dist/es/standards-sdk.es107.js.map +1 -1
  17. package/dist/es/standards-sdk.es108.js +5 -12
  18. package/dist/es/standards-sdk.es108.js.map +1 -1
  19. package/dist/es/standards-sdk.es109.js +15 -13
  20. package/dist/es/standards-sdk.es109.js.map +1 -1
  21. package/dist/es/standards-sdk.es110.js +6 -31
  22. package/dist/es/standards-sdk.es110.js.map +1 -1
  23. package/dist/es/standards-sdk.es111.js +44 -14
  24. package/dist/es/standards-sdk.es111.js.map +1 -1
  25. package/dist/es/standards-sdk.es112.js +2 -4
  26. package/dist/es/standards-sdk.es112.js.map +1 -1
  27. package/dist/es/standards-sdk.es113.js +136 -4
  28. package/dist/es/standards-sdk.es113.js.map +1 -1
  29. package/dist/es/standards-sdk.es114.js +172 -16
  30. package/dist/es/standards-sdk.es114.js.map +1 -1
  31. package/dist/es/standards-sdk.es115.js +13 -5
  32. package/dist/es/standards-sdk.es115.js.map +1 -1
  33. package/dist/es/standards-sdk.es116.js +13 -39
  34. package/dist/es/standards-sdk.es116.js.map +1 -1
  35. package/dist/es/standards-sdk.es117.js +31 -39
  36. package/dist/es/standards-sdk.es117.js.map +1 -1
  37. package/dist/es/standards-sdk.es118.js +15 -37
  38. package/dist/es/standards-sdk.es118.js.map +1 -1
  39. package/dist/es/standards-sdk.es119.js +4 -78
  40. package/dist/es/standards-sdk.es119.js.map +1 -1
  41. package/dist/es/standards-sdk.es120.js +4 -3
  42. package/dist/es/standards-sdk.es120.js.map +1 -1
  43. package/dist/es/standards-sdk.es121.js +16 -2
  44. package/dist/es/standards-sdk.es121.js.map +1 -1
  45. package/dist/es/standards-sdk.es122.js +5 -2
  46. package/dist/es/standards-sdk.es122.js.map +1 -1
  47. package/dist/es/standards-sdk.es123.js +39 -34
  48. package/dist/es/standards-sdk.es123.js.map +1 -1
  49. package/dist/es/standards-sdk.es124.js +37 -30
  50. package/dist/es/standards-sdk.es124.js.map +1 -1
  51. package/dist/es/standards-sdk.es125.js +37 -9
  52. package/dist/es/standards-sdk.es125.js.map +1 -1
  53. package/dist/es/standards-sdk.es126.js +74 -30
  54. package/dist/es/standards-sdk.es126.js.map +1 -1
  55. package/dist/es/standards-sdk.es127.js +6 -0
  56. package/dist/es/standards-sdk.es127.js.map +1 -0
  57. package/dist/es/standards-sdk.es128.js +5 -0
  58. package/dist/es/standards-sdk.es128.js.map +1 -0
  59. package/dist/es/standards-sdk.es129.js +5 -0
  60. package/dist/es/standards-sdk.es129.js.map +1 -0
  61. package/dist/es/standards-sdk.es13.js +2 -2
  62. package/dist/es/standards-sdk.es130.js +37 -0
  63. package/dist/es/standards-sdk.es130.js.map +1 -0
  64. package/dist/es/standards-sdk.es131.js +36 -0
  65. package/dist/es/standards-sdk.es131.js.map +1 -0
  66. package/dist/es/standards-sdk.es132.js +12 -0
  67. package/dist/es/standards-sdk.es132.js.map +1 -0
  68. package/dist/es/standards-sdk.es133.js +37 -0
  69. package/dist/es/standards-sdk.es133.js.map +1 -0
  70. package/dist/es/standards-sdk.es15.js +1 -1
  71. package/dist/es/standards-sdk.es18.js +2 -2
  72. package/dist/es/standards-sdk.es19.js +252 -713
  73. package/dist/es/standards-sdk.es19.js.map +1 -1
  74. package/dist/es/standards-sdk.es20.js +1 -1
  75. package/dist/es/standards-sdk.es21.js +2 -2
  76. package/dist/es/standards-sdk.es24.js +10 -10
  77. package/dist/es/standards-sdk.es26.js +7190 -3
  78. package/dist/es/standards-sdk.es26.js.map +1 -1
  79. package/dist/es/standards-sdk.es27.js +3 -4168
  80. package/dist/es/standards-sdk.es27.js.map +1 -1
  81. package/dist/es/standards-sdk.es28.js +8 -7189
  82. package/dist/es/standards-sdk.es28.js.map +1 -1
  83. package/dist/es/standards-sdk.es29.js +2 -9
  84. package/dist/es/standards-sdk.es29.js.map +1 -1
  85. package/dist/es/standards-sdk.es30.js +5 -2
  86. package/dist/es/standards-sdk.es30.js.map +1 -1
  87. package/dist/es/standards-sdk.es31.js +36 -5
  88. package/dist/es/standards-sdk.es31.js.map +1 -1
  89. package/dist/es/standards-sdk.es32.js +48 -36
  90. package/dist/es/standards-sdk.es32.js.map +1 -1
  91. package/dist/es/standards-sdk.es33.js +500 -47
  92. package/dist/es/standards-sdk.es33.js.map +1 -1
  93. package/dist/es/standards-sdk.es34.js +108 -9
  94. package/dist/es/standards-sdk.es34.js.map +1 -1
  95. package/dist/es/standards-sdk.es35.js +66 -2
  96. package/dist/es/standards-sdk.es35.js.map +1 -1
  97. package/dist/es/standards-sdk.es36.js +256 -22
  98. package/dist/es/standards-sdk.es36.js.map +1 -1
  99. package/dist/es/standards-sdk.es37.js +166 -167
  100. package/dist/es/standards-sdk.es37.js.map +1 -1
  101. package/dist/es/standards-sdk.es38.js +8 -88
  102. package/dist/es/standards-sdk.es38.js.map +1 -1
  103. package/dist/es/standards-sdk.es39.js +9 -194
  104. package/dist/es/standards-sdk.es39.js.map +1 -1
  105. package/dist/es/standards-sdk.es40.js +4127 -397
  106. package/dist/es/standards-sdk.es40.js.map +1 -1
  107. package/dist/es/standards-sdk.es41.js +7129 -18
  108. package/dist/es/standards-sdk.es41.js.map +1 -1
  109. package/dist/es/standards-sdk.es42.js +2 -139
  110. package/dist/es/standards-sdk.es42.js.map +1 -1
  111. package/dist/es/standards-sdk.es43.js +3 -18
  112. package/dist/es/standards-sdk.es43.js.map +1 -1
  113. package/dist/es/standards-sdk.es44.js +100 -28
  114. package/dist/es/standards-sdk.es44.js.map +1 -1
  115. package/dist/es/standards-sdk.es45.js +2 -29
  116. package/dist/es/standards-sdk.es45.js.map +1 -1
  117. package/dist/es/standards-sdk.es46.js +15 -20
  118. package/dist/es/standards-sdk.es46.js.map +1 -1
  119. package/dist/es/standards-sdk.es47.js +403 -38
  120. package/dist/es/standards-sdk.es47.js.map +1 -1
  121. package/dist/es/standards-sdk.es48.js +86 -13
  122. package/dist/es/standards-sdk.es48.js.map +1 -1
  123. package/dist/es/standards-sdk.es49.js +140 -53
  124. package/dist/es/standards-sdk.es49.js.map +1 -1
  125. package/dist/es/standards-sdk.es50.js +25 -1282
  126. package/dist/es/standards-sdk.es50.js.map +1 -1
  127. package/dist/es/standards-sdk.es51.js +138 -127
  128. package/dist/es/standards-sdk.es51.js.map +1 -1
  129. package/dist/es/standards-sdk.es52.js +130 -71
  130. package/dist/es/standards-sdk.es52.js.map +1 -1
  131. package/dist/es/standards-sdk.es53.js +190 -27
  132. package/dist/es/standards-sdk.es53.js.map +1 -1
  133. package/dist/es/standards-sdk.es54.js +437 -5
  134. package/dist/es/standards-sdk.es54.js.map +1 -1
  135. package/dist/es/standards-sdk.es55.js +21 -155
  136. package/dist/es/standards-sdk.es55.js.map +1 -1
  137. package/dist/es/standards-sdk.es56.js +123 -777
  138. package/dist/es/standards-sdk.es56.js.map +1 -1
  139. package/dist/es/standards-sdk.es57.js +13 -138
  140. package/dist/es/standards-sdk.es57.js.map +1 -1
  141. package/dist/es/standards-sdk.es58.js +28 -100
  142. package/dist/es/standards-sdk.es58.js.map +1 -1
  143. package/dist/es/standards-sdk.es59.js +29 -2
  144. package/dist/es/standards-sdk.es59.js.map +1 -1
  145. package/dist/es/standards-sdk.es60.js +20 -15
  146. package/dist/es/standards-sdk.es60.js.map +1 -1
  147. package/dist/es/standards-sdk.es61.js +38 -403
  148. package/dist/es/standards-sdk.es61.js.map +1 -1
  149. package/dist/es/standards-sdk.es62.js +16 -25
  150. package/dist/es/standards-sdk.es62.js.map +1 -1
  151. package/dist/es/standards-sdk.es63.js +59 -24
  152. package/dist/es/standards-sdk.es63.js.map +1 -1
  153. package/dist/es/standards-sdk.es64.js +1285 -34
  154. package/dist/es/standards-sdk.es64.js.map +1 -1
  155. package/dist/es/standards-sdk.es65.js +79 -16
  156. package/dist/es/standards-sdk.es65.js.map +1 -1
  157. package/dist/es/standards-sdk.es66.js +6 -2282
  158. package/dist/es/standards-sdk.es66.js.map +1 -1
  159. package/dist/es/standards-sdk.es67.js +19 -160
  160. package/dist/es/standards-sdk.es67.js.map +1 -1
  161. package/dist/es/standards-sdk.es68.js +793 -3
  162. package/dist/es/standards-sdk.es68.js.map +1 -1
  163. package/dist/es/standards-sdk.es69.js +173 -3
  164. package/dist/es/standards-sdk.es69.js.map +1 -1
  165. package/dist/es/standards-sdk.es7.js +3 -3
  166. package/dist/es/standards-sdk.es70.js +2282 -7136
  167. package/dist/es/standards-sdk.es70.js.map +1 -1
  168. package/dist/es/standards-sdk.es71.js +163 -9
  169. package/dist/es/standards-sdk.es71.js.map +1 -1
  170. package/dist/es/standards-sdk.es72.js +9 -10
  171. package/dist/es/standards-sdk.es72.js.map +1 -1
  172. package/dist/es/standards-sdk.es73.js +9 -16
  173. package/dist/es/standards-sdk.es73.js.map +1 -1
  174. package/dist/es/standards-sdk.es74.js +16 -4
  175. package/dist/es/standards-sdk.es74.js.map +1 -1
  176. package/dist/es/standards-sdk.es75.js +5 -8
  177. package/dist/es/standards-sdk.es75.js.map +1 -1
  178. package/dist/es/standards-sdk.es76.js +8 -418
  179. package/dist/es/standards-sdk.es76.js.map +1 -1
  180. package/dist/es/standards-sdk.es77.js +21 -2
  181. package/dist/es/standards-sdk.es77.js.map +1 -1
  182. package/dist/es/standards-sdk.es78.js +25 -118
  183. package/dist/es/standards-sdk.es78.js.map +1 -1
  184. package/dist/es/standards-sdk.es79.js +24 -362
  185. package/dist/es/standards-sdk.es79.js.map +1 -1
  186. package/dist/es/standards-sdk.es8.js +2 -2
  187. package/dist/es/standards-sdk.es80.js +37 -5
  188. package/dist/es/standards-sdk.es80.js.map +1 -1
  189. package/dist/es/standards-sdk.es81.js +400 -160
  190. package/dist/es/standards-sdk.es81.js.map +1 -1
  191. package/dist/es/standards-sdk.es82.js +2 -81
  192. package/dist/es/standards-sdk.es82.js.map +1 -1
  193. package/dist/es/standards-sdk.es83.js +108 -102
  194. package/dist/es/standards-sdk.es83.js.map +1 -1
  195. package/dist/es/standards-sdk.es84.js +41 -51
  196. package/dist/es/standards-sdk.es84.js.map +1 -1
  197. package/dist/es/standards-sdk.es85.js +364 -10
  198. package/dist/es/standards-sdk.es85.js.map +1 -1
  199. package/dist/es/standards-sdk.es86.js +5 -96
  200. package/dist/es/standards-sdk.es86.js.map +1 -1
  201. package/dist/es/standards-sdk.es87.js +178 -3
  202. package/dist/es/standards-sdk.es87.js.map +1 -1
  203. package/dist/es/standards-sdk.es88.js +81 -2
  204. package/dist/es/standards-sdk.es88.js.map +1 -1
  205. package/dist/es/standards-sdk.es89.js +104 -103
  206. package/dist/es/standards-sdk.es89.js.map +1 -1
  207. package/dist/es/standards-sdk.es9.js +1 -1
  208. package/dist/es/standards-sdk.es90.js +49 -71
  209. package/dist/es/standards-sdk.es90.js.map +1 -1
  210. package/dist/es/standards-sdk.es91.js +9 -5
  211. package/dist/es/standards-sdk.es91.js.map +1 -1
  212. package/dist/es/standards-sdk.es92.js +96 -4
  213. package/dist/es/standards-sdk.es92.js.map +1 -1
  214. package/dist/es/standards-sdk.es93.js +3 -220
  215. package/dist/es/standards-sdk.es93.js.map +1 -1
  216. package/dist/es/standards-sdk.es94.js +2 -58
  217. package/dist/es/standards-sdk.es94.js.map +1 -1
  218. package/dist/es/standards-sdk.es95.js +112 -68
  219. package/dist/es/standards-sdk.es95.js.map +1 -1
  220. package/dist/es/standards-sdk.es96.js +70 -28
  221. package/dist/es/standards-sdk.es96.js.map +1 -1
  222. package/dist/es/standards-sdk.es97.js +5 -62
  223. package/dist/es/standards-sdk.es97.js.map +1 -1
  224. package/dist/es/standards-sdk.es98.js +4 -49
  225. package/dist/es/standards-sdk.es98.js.map +1 -1
  226. package/dist/es/standards-sdk.es99.js +219 -8
  227. package/dist/es/standards-sdk.es99.js.map +1 -1
  228. package/dist/es/utils/parsers/crypto-parser.d.ts +14 -0
  229. package/dist/es/utils/parsers/crypto-parser.d.ts.map +1 -0
  230. package/dist/es/utils/parsers/file-parser.d.ts +9 -0
  231. package/dist/es/utils/parsers/file-parser.d.ts.map +1 -0
  232. package/dist/es/utils/parsers/hcs-parser.d.ts +9 -0
  233. package/dist/es/utils/parsers/hcs-parser.d.ts.map +1 -0
  234. package/dist/es/utils/parsers/hts-parser.d.ts +20 -0
  235. package/dist/es/utils/parsers/hts-parser.d.ts.map +1 -0
  236. package/dist/es/utils/parsers/parser-utils.d.ts +3 -0
  237. package/dist/es/utils/parsers/parser-utils.d.ts.map +1 -0
  238. package/dist/es/utils/parsers/scs-parser.d.ts +9 -0
  239. package/dist/es/utils/parsers/scs-parser.d.ts.map +1 -0
  240. package/dist/es/utils/parsers/util-parser.d.ts +6 -0
  241. package/dist/es/utils/parsers/util-parser.d.ts.map +1 -0
  242. package/dist/es/utils/transaction-parser-types.d.ts +317 -0
  243. package/dist/es/utils/transaction-parser-types.d.ts.map +1 -0
  244. package/dist/es/utils/transaction-parser.d.ts +1 -251
  245. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  246. package/dist/umd/standards-sdk.umd.js +11 -11
  247. package/dist/umd/standards-sdk.umd.js.map +1 -1
  248. package/dist/umd/utils/parsers/crypto-parser.d.ts +14 -0
  249. package/dist/umd/utils/parsers/crypto-parser.d.ts.map +1 -0
  250. package/dist/umd/utils/parsers/file-parser.d.ts +9 -0
  251. package/dist/umd/utils/parsers/file-parser.d.ts.map +1 -0
  252. package/dist/umd/utils/parsers/hcs-parser.d.ts +9 -0
  253. package/dist/umd/utils/parsers/hcs-parser.d.ts.map +1 -0
  254. package/dist/umd/utils/parsers/hts-parser.d.ts +20 -0
  255. package/dist/umd/utils/parsers/hts-parser.d.ts.map +1 -0
  256. package/dist/umd/utils/parsers/parser-utils.d.ts +3 -0
  257. package/dist/umd/utils/parsers/parser-utils.d.ts.map +1 -0
  258. package/dist/umd/utils/parsers/scs-parser.d.ts +9 -0
  259. package/dist/umd/utils/parsers/scs-parser.d.ts.map +1 -0
  260. package/dist/umd/utils/parsers/util-parser.d.ts +6 -0
  261. package/dist/umd/utils/parsers/util-parser.d.ts.map +1 -0
  262. package/dist/umd/utils/transaction-parser-types.d.ts +317 -0
  263. package/dist/umd/utils/transaction-parser-types.d.ts.map +1 -0
  264. package/dist/umd/utils/transaction-parser.d.ts +1 -251
  265. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  266. package/package.json +1 -1
@@ -1,13 +1,112 @@
1
- import { getBytes } from "./standards-sdk.es38.js";
2
- function decodeBase64(textData) {
3
- textData = atob(textData);
4
- const data = new Uint8Array(textData.length);
5
- for (let i = 0; i < textData.length; i++) {
6
- data[i] = textData.charCodeAt(i);
7
- }
8
- return getBytes(data);
1
+ import { Long, AccountId } from "@hashgraph/sdk";
2
+ import { parseKey } from "./standards-sdk.es84.js";
3
+ import { Buffer as Buffer$1 } from "./standards-sdk.es25.js";
4
+ class HCSParser {
5
+ static parseConsensusCreateTopic(body) {
6
+ if (!body) return void 0;
7
+ const data = {};
8
+ if (body.memo) {
9
+ data.memo = body.memo;
10
+ }
11
+ data.adminKey = parseKey(body.adminKey);
12
+ data.submitKey = parseKey(body.submitKey);
13
+ if (body.autoRenewPeriod?.seconds) {
14
+ data.autoRenewPeriod = Long.fromValue(
15
+ body.autoRenewPeriod.seconds
16
+ ).toString();
17
+ }
18
+ if (body.autoRenewAccount) {
19
+ data.autoRenewAccountId = new AccountId(
20
+ body.autoRenewAccount.shardNum ?? 0,
21
+ body.autoRenewAccount.realmNum ?? 0,
22
+ body.autoRenewAccount.accountNum ?? 0
23
+ ).toString();
24
+ }
25
+ return data;
26
+ }
27
+ static parseConsensusSubmitMessage(body) {
28
+ if (!body) return void 0;
29
+ const data = {};
30
+ if (body.topicID) {
31
+ data.topicId = `${body.topicID.shardNum ?? 0}.${body.topicID.realmNum ?? 0}.${body.topicID.topicNum ?? 0}`;
32
+ }
33
+ if (body.message?.length > 0) {
34
+ const messageBuffer = Buffer$1.from(body.message);
35
+ const utf8String = messageBuffer.toString("utf8");
36
+ if (/[\x00-\x08\x0B\x0E-\x1F\x7F]/.test(utf8String) || utf8String.includes("�")) {
37
+ data.message = messageBuffer.toString("base64");
38
+ data.messageEncoding = "base64";
39
+ } else {
40
+ data.message = utf8String;
41
+ data.messageEncoding = "utf8";
42
+ }
43
+ }
44
+ if (body.chunkInfo) {
45
+ if (body.chunkInfo.initialTransactionID) {
46
+ const txId = body.chunkInfo.initialTransactionID.accountID;
47
+ const taValidStart = body.chunkInfo.initialTransactionID.transactionValidStart;
48
+ if (txId && taValidStart) {
49
+ data.chunkInfoInitialTransactionID = `${txId.shardNum ?? 0}.${txId.realmNum ?? 0}.${txId.accountNum ?? 0}@${taValidStart.seconds ?? 0}.${taValidStart.nanos ?? 0}`;
50
+ }
51
+ }
52
+ if (body.chunkInfo.number !== void 0 && body.chunkInfo.number !== null) {
53
+ data.chunkInfoNumber = body.chunkInfo.number;
54
+ }
55
+ if (body.chunkInfo.total !== void 0 && body.chunkInfo.total !== null) {
56
+ data.chunkInfoTotal = body.chunkInfo.total;
57
+ }
58
+ }
59
+ return data;
60
+ }
61
+ static parseConsensusUpdateTopic(body) {
62
+ if (!body) return void 0;
63
+ const data = {};
64
+ if (body.topicID) {
65
+ data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;
66
+ }
67
+ if (body.memo?.value !== void 0) {
68
+ data.memo = body.memo.value;
69
+ }
70
+ if (body.adminKey === null) {
71
+ data.clearAdminKey = true;
72
+ data.adminKey = void 0;
73
+ } else if (body.adminKey) {
74
+ data.adminKey = parseKey(body.adminKey);
75
+ } else {
76
+ data.adminKey = void 0;
77
+ }
78
+ if (body.submitKey === null) {
79
+ data.clearSubmitKey = true;
80
+ data.submitKey = void 0;
81
+ } else if (body.submitKey) {
82
+ data.submitKey = parseKey(body.submitKey);
83
+ } else {
84
+ data.submitKey = void 0;
85
+ }
86
+ if (body.autoRenewPeriod?.seconds) {
87
+ data.autoRenewPeriod = Long.fromValue(
88
+ body.autoRenewPeriod.seconds
89
+ ).toString();
90
+ }
91
+ if (body.autoRenewAccount) {
92
+ data.autoRenewAccountId = new AccountId(
93
+ body.autoRenewAccount.shardNum ?? 0,
94
+ body.autoRenewAccount.realmNum ?? 0,
95
+ body.autoRenewAccount.accountNum ?? 0
96
+ ).toString();
97
+ }
98
+ return data;
99
+ }
100
+ static parseConsensusDeleteTopic(body) {
101
+ if (!body) return void 0;
102
+ const data = {};
103
+ if (body.topicID) {
104
+ data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum ?? 0}.${body.topicID.topicNum ?? 0}`;
105
+ }
106
+ return data;
107
+ }
9
108
  }
10
109
  export {
11
- decodeBase64
110
+ HCSParser
12
111
  };
13
112
  //# sourceMappingURL=standards-sdk.es34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es34.js","sources":["../../node_modules/ethers/lib.esm/utils/base64-browser.js"],"sourcesContent":["// utils/base64-browser\nimport { getBytes } from \"./data.js\";\nexport function decodeBase64(textData) {\n textData = atob(textData);\n const data = new Uint8Array(textData.length);\n for (let i = 0; i < textData.length; i++) {\n data[i] = textData.charCodeAt(i);\n }\n return getBytes(data);\n}\nexport function encodeBase64(_data) {\n const data = getBytes(_data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n//# sourceMappingURL=base64-browser.js.map"],"names":[],"mappings":";AAEO,SAAS,aAAa,UAAU;AACnC,aAAW,KAAK,QAAQ;AACxB,QAAM,OAAO,IAAI,WAAW,SAAS,MAAM;AAC3C,WAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACtC,SAAK,CAAC,IAAI,SAAS,WAAW,CAAC;AAAA,EACvC;AACI,SAAO,SAAS,IAAI;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es34.js","sources":["../../src/utils/parsers/hcs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { AccountId, Long } from '@hashgraph/sdk';\nimport {\n ConsensusCreateTopicData,\n ConsensusSubmitMessageData,\n ConsensusUpdateTopicData,\n ConsensusDeleteTopicData,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\nimport { Buffer } from 'buffer';\n\nexport class HCSParser {\n static parseConsensusCreateTopic(\n body: proto.IConsensusCreateTopicTransactionBody\n ): ConsensusCreateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusCreateTopicData = {};\n if (body.memo) {\n data.memo = body.memo;\n }\n data.adminKey = parseKey(body.adminKey);\n data.submitKey = parseKey(body.submitKey);\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseConsensusSubmitMessage(\n body: proto.IConsensusSubmitMessageTransactionBody\n ): ConsensusSubmitMessageData | undefined {\n if (!body) return undefined;\n const data: ConsensusSubmitMessageData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum ?? 0}.${\n body.topicID.realmNum ?? 0\n }.${body.topicID.topicNum ?? 0}`;\n }\n if (body.message?.length > 0) {\n const messageBuffer = Buffer.from(body.message);\n const utf8String = messageBuffer.toString('utf8');\n if (\n /[\\x00-\\x08\\x0B\\x0E-\\x1F\\x7F]/.test(utf8String) ||\n utf8String.includes('\\uFFFD')\n ) {\n data.message = messageBuffer.toString('base64');\n data.messageEncoding = 'base64';\n } else {\n data.message = utf8String;\n data.messageEncoding = 'utf8';\n }\n }\n if (body.chunkInfo) {\n if (body.chunkInfo.initialTransactionID) {\n const txId = body.chunkInfo.initialTransactionID.accountID;\n const taValidStart =\n body.chunkInfo.initialTransactionID.transactionValidStart;\n if (txId && taValidStart) {\n data.chunkInfoInitialTransactionID = `${txId.shardNum ?? 0}.${\n txId.realmNum ?? 0\n }.${txId.accountNum ?? 0}@${taValidStart.seconds ?? 0}.${\n taValidStart.nanos ?? 0\n }`;\n }\n }\n if (\n body.chunkInfo.number !== undefined &&\n body.chunkInfo.number !== null\n ) {\n data.chunkInfoNumber = body.chunkInfo.number;\n }\n if (body.chunkInfo.total !== undefined && body.chunkInfo.total !== null) {\n data.chunkInfoTotal = body.chunkInfo.total;\n }\n }\n return data;\n }\n\n static parseConsensusUpdateTopic(\n body: proto.IConsensusUpdateTopicTransactionBody\n ): ConsensusUpdateTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusUpdateTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n if (body.adminKey === null) {\n data.clearAdminKey = true;\n data.adminKey = undefined;\n } else if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n } else {\n data.adminKey = undefined;\n }\n if (body.submitKey === null) {\n data.clearSubmitKey = true;\n data.submitKey = undefined;\n } else if (body.submitKey) {\n data.submitKey = parseKey(body.submitKey);\n } else {\n data.submitKey = undefined;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.autoRenewAccount) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseConsensusDeleteTopic(\n body: proto.IConsensusDeleteTopicTransactionBody\n ): ConsensusDeleteTopicData | undefined {\n if (!body) return undefined;\n const data: ConsensusDeleteTopicData = {};\n if (body.topicID) {\n data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum ?? 0}.${\n body.topicID.topicNum ?? 0\n }`;\n }\n return data;\n }\n}\n"],"names":["Buffer"],"mappings":"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"}
@@ -1,5 +1,69 @@
1
- const version = "6.13.5";
1
+ import { Long } from "@hashgraph/sdk";
2
+ import { parseKey } from "./standards-sdk.es84.js";
3
+ import { Buffer as Buffer$1 } from "./standards-sdk.es25.js";
4
+ class FileParser {
5
+ static parseFileCreate(body) {
6
+ if (!body) return void 0;
7
+ const data = {};
8
+ if (body.expirationTime?.seconds) {
9
+ data.expirationTime = `${Long.fromValue(
10
+ body.expirationTime.seconds
11
+ ).toString()}.${body.expirationTime.nanos}`;
12
+ }
13
+ if (body.keys) {
14
+ data.keys = parseKey({ keyList: body.keys });
15
+ }
16
+ if (body.contents) {
17
+ data.contents = Buffer$1.from(body.contents).toString("base64");
18
+ }
19
+ if (body.memo) {
20
+ data.memo = body.memo;
21
+ }
22
+ return data;
23
+ }
24
+ static parseFileAppend(body) {
25
+ if (!body) return void 0;
26
+ const data = {};
27
+ if (body.fileID) {
28
+ data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
29
+ }
30
+ if (body.contents) {
31
+ data.contents = Buffer$1.from(body.contents).toString("base64");
32
+ }
33
+ return data;
34
+ }
35
+ static parseFileUpdate(body) {
36
+ if (!body) return void 0;
37
+ const data = {};
38
+ if (body.fileID) {
39
+ data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
40
+ }
41
+ if (body.expirationTime?.seconds) {
42
+ data.expirationTime = `${Long.fromValue(
43
+ body.expirationTime.seconds
44
+ ).toString()}.${body.expirationTime.nanos}`;
45
+ }
46
+ if (body.keys) {
47
+ data.keys = parseKey({ keyList: body.keys });
48
+ }
49
+ if (body.contents) {
50
+ data.contents = Buffer$1.from(body.contents).toString("base64");
51
+ }
52
+ if (body.memo?.value !== void 0) {
53
+ data.memo = body.memo.value;
54
+ }
55
+ return data;
56
+ }
57
+ static parseFileDelete(body) {
58
+ if (!body) return void 0;
59
+ const data = {};
60
+ if (body.fileID) {
61
+ data.fileId = `${body.fileID.shardNum ?? 0}.${body.fileID.realmNum ?? 0}.${body.fileID.fileNum ?? 0}`;
62
+ }
63
+ return data;
64
+ }
65
+ }
2
66
  export {
3
- version
67
+ FileParser
4
68
  };
5
69
  //# sourceMappingURL=standards-sdk.es35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es35.js","sources":["../../node_modules/ethers/lib.esm/_version.js"],"sourcesContent":["/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n/**\n * The current version of Ethers.\n */\nexport const version = \"6.13.5\";\n//# sourceMappingURL=_version.js.map"],"names":[],"mappings":"AAIY,MAAC,UAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es35.js","sources":["../../src/utils/parsers/file-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { Long } from '@hashgraph/sdk';\nimport {\n FileCreateData,\n FileAppendData,\n FileUpdateData,\n FileDeleteData,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\nimport { Buffer } from 'buffer';\n\nexport class FileParser {\n static parseFileCreate(\n body: proto.IFileCreateTransactionBody\n ): FileCreateData | undefined {\n if (!body) return undefined;\n const data: FileCreateData = {};\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.keys) {\n data.keys = parseKey({ keyList: body.keys });\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n return data;\n }\n\n static parseFileAppend(\n body: proto.IFileAppendTransactionBody\n ): FileAppendData | undefined {\n if (!body) return undefined;\n const data: FileAppendData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n return data;\n }\n\n static parseFileUpdate(\n body: proto.IFileUpdateTransactionBody\n ): FileUpdateData | undefined {\n if (!body) return undefined;\n const data: FileUpdateData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.keys) {\n data.keys = parseKey({ keyList: body.keys });\n }\n if (body.contents) {\n data.contents = Buffer.from(body.contents).toString('base64');\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n return data;\n }\n\n static parseFileDelete(\n body: proto.IFileDeleteTransactionBody\n ): FileDeleteData | undefined {\n if (!body) return undefined;\n const data: FileDeleteData = {};\n if (body.fileID) {\n data.fileId = `${body.fileID.shardNum ?? 0}.${\n body.fileID.realmNum ?? 0\n }.${body.fileID.fileNum ?? 0}`;\n }\n return data;\n }\n}\n"],"names":["Buffer"],"mappings":";;;AAWO,MAAM,WAAW;AAAA,EACtB,OAAO,gBACL,MAC4B;AACxB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAuB,CAAC;AAC1B,QAAA,KAAK,gBAAgB,SAAS;AAC3B,WAAA,iBAAiB,GAAG,KAAK;AAAA,QAC5B,KAAK,eAAe;AAAA,MAAA,EACpB,SAAU,CAAA,IAAI,KAAK,eAAe,KAAK;AAAA,IAAA;AAE3C,QAAI,KAAK,MAAM;AACb,WAAK,OAAO,SAAS,EAAE,SAAS,KAAK,MAAM;AAAA,IAAA;AAE7C,QAAI,KAAK,UAAU;AACjB,WAAK,WAAWA,SAAO,KAAK,KAAK,QAAQ,EAAE,SAAS,QAAQ;AAAA,IAAA;AAE9D,QAAI,KAAK,MAAM;AACb,WAAK,OAAO,KAAK;AAAA,IAAA;AAEZ,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,gBACL,MAC4B;AACxB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAuB,CAAC;AAC9B,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS,GAAG,KAAK,OAAO,YAAY,CAAC,IACxC,KAAK,OAAO,YAAY,CAC1B,IAAI,KAAK,OAAO,WAAW,CAAC;AAAA,IAAA;AAE9B,QAAI,KAAK,UAAU;AACjB,WAAK,WAAWA,SAAO,KAAK,KAAK,QAAQ,EAAE,SAAS,QAAQ;AAAA,IAAA;AAEvD,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,gBACL,MAC4B;AACxB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAuB,CAAC;AAC9B,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS,GAAG,KAAK,OAAO,YAAY,CAAC,IACxC,KAAK,OAAO,YAAY,CAC1B,IAAI,KAAK,OAAO,WAAW,CAAC;AAAA,IAAA;AAE1B,QAAA,KAAK,gBAAgB,SAAS;AAC3B,WAAA,iBAAiB,GAAG,KAAK;AAAA,QAC5B,KAAK,eAAe;AAAA,MAAA,EACpB,SAAU,CAAA,IAAI,KAAK,eAAe,KAAK;AAAA,IAAA;AAE3C,QAAI,KAAK,MAAM;AACb,WAAK,OAAO,SAAS,EAAE,SAAS,KAAK,MAAM;AAAA,IAAA;AAE7C,QAAI,KAAK,UAAU;AACjB,WAAK,WAAWA,SAAO,KAAK,KAAK,QAAQ,EAAE,SAAS,QAAQ;AAAA,IAAA;AAE1D,QAAA,KAAK,MAAM,UAAU,QAAW;AAC7B,WAAA,OAAO,KAAK,KAAK;AAAA,IAAA;AAEjB,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,gBACL,MAC4B;AACxB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAuB,CAAC;AAC9B,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS,GAAG,KAAK,OAAO,YAAY,CAAC,IACxC,KAAK,OAAO,YAAY,CAC1B,IAAI,KAAK,OAAO,WAAW,CAAC;AAAA,IAAA;AAEvB,WAAA;AAAA,EAAA;AAEX;"}
@@ -1,26 +1,260 @@
1
- import { keccak_256 } from "./standards-sdk.es37.js";
2
- import { getBytes, hexlify } from "./standards-sdk.es38.js";
3
- let locked = false;
4
- const _keccak256 = function(data) {
5
- return keccak_256(data);
6
- };
7
- let __keccak256 = _keccak256;
8
- function keccak256(_data) {
9
- const data = getBytes(_data, "data");
10
- return hexlify(__keccak256(data));
11
- }
12
- keccak256._ = _keccak256;
13
- keccak256.lock = function() {
14
- locked = true;
15
- };
16
- keccak256.register = function(func) {
17
- if (locked) {
18
- throw new TypeError("keccak256 is locked");
1
+ import Buffer from "./standards-sdk.es25.js";
2
+ import { AccountId, Hbar, Long, HbarUnit, TokenId } from "@hashgraph/sdk";
3
+ import { parseKey } from "./standards-sdk.es84.js";
4
+ class CryptoParser {
5
+ static parseCryptoTransfers(cryptoTransfer, result) {
6
+ if (cryptoTransfer.transfers?.accountAmounts) {
7
+ result.transfers = cryptoTransfer.transfers.accountAmounts.map((aa) => {
8
+ const accountId = new AccountId(
9
+ aa.accountID.shardNum ?? 0,
10
+ aa.accountID.realmNum ?? 0,
11
+ aa.accountID.accountNum ?? 0
12
+ );
13
+ const hbarAmount = Hbar.fromTinybars(Long.fromValue(aa.amount));
14
+ return {
15
+ accountId: accountId.toString(),
16
+ amount: hbarAmount.toString(HbarUnit.Hbar),
17
+ isDecimal: true
18
+ };
19
+ });
20
+ }
21
+ if (cryptoTransfer.tokenTransfers) {
22
+ for (const tokenTransferList of cryptoTransfer.tokenTransfers) {
23
+ const tokenId = new TokenId(
24
+ tokenTransferList.token.shardNum ?? 0,
25
+ tokenTransferList.token.realmNum ?? 0,
26
+ tokenTransferList.token.tokenNum ?? 0
27
+ );
28
+ if (tokenTransferList.transfers) {
29
+ for (const transfer of tokenTransferList.transfers) {
30
+ const accountId = new AccountId(
31
+ transfer.accountID.shardNum ?? 0,
32
+ transfer.accountID.realmNum ?? 0,
33
+ transfer.accountID.accountNum ?? 0
34
+ );
35
+ const tokenAmount = Long.fromValue(transfer.amount).toNumber();
36
+ result.tokenTransfers.push({
37
+ tokenId: tokenId.toString(),
38
+ accountId: accountId.toString(),
39
+ amount: tokenAmount
40
+ });
41
+ }
42
+ }
43
+ }
44
+ }
19
45
  }
20
- __keccak256 = func;
21
- };
22
- Object.freeze(keccak256);
46
+ static parseCryptoDelete(body) {
47
+ if (!body) return void 0;
48
+ const data = {};
49
+ if (body.deleteAccountID) {
50
+ data.deleteAccountId = new AccountId(
51
+ body.deleteAccountID.shardNum ?? 0,
52
+ body.deleteAccountID.realmNum ?? 0,
53
+ body.deleteAccountID.accountNum ?? 0
54
+ ).toString();
55
+ }
56
+ if (body.transferAccountID) {
57
+ data.transferAccountId = new AccountId(
58
+ body.transferAccountID.shardNum ?? 0,
59
+ body.transferAccountID.realmNum ?? 0,
60
+ body.transferAccountID.accountNum ?? 0
61
+ ).toString();
62
+ }
63
+ return data;
64
+ }
65
+ static parseCryptoCreateAccount(body) {
66
+ if (!body) return void 0;
67
+ const data = {};
68
+ if (body.initialBalance) {
69
+ data.initialBalance = Hbar.fromTinybars(
70
+ Long.fromValue(body.initialBalance)
71
+ ).toString(HbarUnit.Hbar);
72
+ }
73
+ if (body.key) {
74
+ data.key = parseKey(body.key);
75
+ }
76
+ if (body.receiverSigRequired !== void 0) {
77
+ data.receiverSigRequired = body.receiverSigRequired;
78
+ }
79
+ if (body.autoRenewPeriod?.seconds) {
80
+ data.autoRenewPeriod = Long.fromValue(
81
+ body.autoRenewPeriod.seconds
82
+ ).toString();
83
+ }
84
+ if (body.memo) {
85
+ data.memo = body.memo;
86
+ }
87
+ if (body.maxAutomaticTokenAssociations !== void 0) {
88
+ data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;
89
+ }
90
+ if (body.stakedAccountId) {
91
+ data.stakedAccountId = new AccountId(
92
+ body.stakedAccountId.shardNum ?? 0,
93
+ body.stakedAccountId.realmNum ?? 0,
94
+ body.stakedAccountId.accountNum ?? 0
95
+ ).toString();
96
+ } else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0) {
97
+ data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
98
+ }
99
+ if (body.declineReward !== void 0) {
100
+ data.declineReward = body.declineReward;
101
+ }
102
+ if (body.alias && body.alias.length > 0) {
103
+ data.alias = Buffer.from(body.alias).toString("hex");
104
+ }
105
+ return data;
106
+ }
107
+ static parseCryptoUpdateAccount(body) {
108
+ if (!body) return void 0;
109
+ const data = {};
110
+ if (body.accountIDToUpdate) {
111
+ data.accountIdToUpdate = new AccountId(
112
+ body.accountIDToUpdate.shardNum ?? 0,
113
+ body.accountIDToUpdate.realmNum ?? 0,
114
+ body.accountIDToUpdate.accountNum ?? 0
115
+ ).toString();
116
+ }
117
+ if (body.key) {
118
+ data.key = parseKey(body.key);
119
+ }
120
+ if (body.expirationTime?.seconds) {
121
+ data.expirationTime = `${Long.fromValue(
122
+ body.expirationTime.seconds
123
+ ).toString()}.${body.expirationTime.nanos}`;
124
+ }
125
+ if (body.receiverSigRequired !== null && body.receiverSigRequired !== void 0) {
126
+ data.receiverSigRequired = Boolean(body.receiverSigRequired);
127
+ }
128
+ if (body.autoRenewPeriod?.seconds) {
129
+ data.autoRenewPeriod = Long.fromValue(
130
+ body.autoRenewPeriod.seconds
131
+ ).toString();
132
+ }
133
+ if (body.memo?.value !== void 0) {
134
+ data.memo = body.memo.value;
135
+ }
136
+ if (body.maxAutomaticTokenAssociations?.value !== void 0) {
137
+ data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations.value;
138
+ }
139
+ if (body.stakedAccountId) {
140
+ data.stakedAccountId = new AccountId(
141
+ body.stakedAccountId.shardNum ?? 0,
142
+ body.stakedAccountId.realmNum ?? 0,
143
+ body.stakedAccountId.accountNum ?? 0
144
+ ).toString();
145
+ data.stakedNodeId = void 0;
146
+ } else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0) {
147
+ data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
148
+ data.stakedAccountId = void 0;
149
+ } else {
150
+ data.stakedAccountId = void 0;
151
+ data.stakedNodeId = void 0;
152
+ }
153
+ if (body.declineReward !== null && body.declineReward !== void 0) {
154
+ data.declineReward = Boolean(body.declineReward);
155
+ }
156
+ return data;
157
+ }
158
+ static parseCryptoApproveAllowance(body) {
159
+ if (!body) return void 0;
160
+ const data = {};
161
+ if (body.cryptoAllowances && body.cryptoAllowances.length > 0) {
162
+ data.hbarAllowances = body.cryptoAllowances.map((a) => ({
163
+ ownerAccountId: new AccountId(
164
+ a.owner.shardNum ?? 0,
165
+ a.owner.realmNum ?? 0,
166
+ a.owner.accountNum ?? 0
167
+ ).toString(),
168
+ spenderAccountId: new AccountId(
169
+ a.spender.shardNum ?? 0,
170
+ a.spender.realmNum ?? 0,
171
+ a.spender.accountNum ?? 0
172
+ ).toString(),
173
+ amount: Hbar.fromTinybars(Long.fromValue(a.amount)).toString(
174
+ HbarUnit.Hbar
175
+ )
176
+ }));
177
+ }
178
+ if (body.tokenAllowances && body.tokenAllowances.length > 0) {
179
+ data.tokenAllowances = body.tokenAllowances.map((a) => ({
180
+ tokenId: new TokenId(
181
+ a.tokenId.shardNum ?? 0,
182
+ a.tokenId.realmNum ?? 0,
183
+ a.tokenId.tokenNum ?? 0
184
+ ).toString(),
185
+ ownerAccountId: new AccountId(
186
+ a.owner.shardNum ?? 0,
187
+ a.owner.realmNum ?? 0,
188
+ a.owner.accountNum ?? 0
189
+ ).toString(),
190
+ spenderAccountId: new AccountId(
191
+ a.spender.shardNum ?? 0,
192
+ a.spender.realmNum ?? 0,
193
+ a.spender.accountNum ?? 0
194
+ ).toString(),
195
+ amount: Long.fromValue(a.amount).toString()
196
+ }));
197
+ }
198
+ if (body.nftAllowances && body.nftAllowances.length > 0) {
199
+ data.nftAllowances = body.nftAllowances.map((a) => {
200
+ const allowance = {};
201
+ if (a.tokenId)
202
+ allowance.tokenId = new TokenId(
203
+ a.tokenId.shardNum ?? 0,
204
+ a.tokenId.realmNum ?? 0,
205
+ a.tokenId.tokenNum ?? 0
206
+ ).toString();
207
+ if (a.owner)
208
+ allowance.ownerAccountId = new AccountId(
209
+ a.owner.shardNum ?? 0,
210
+ a.owner.realmNum ?? 0,
211
+ a.owner.accountNum ?? 0
212
+ ).toString();
213
+ if (a.spender)
214
+ allowance.spenderAccountId = new AccountId(
215
+ a.spender.shardNum ?? 0,
216
+ a.spender.realmNum ?? 0,
217
+ a.spender.accountNum ?? 0
218
+ ).toString();
219
+ if (a.serialNumbers && a.serialNumbers.length > 0)
220
+ allowance.serialNumbers = a.serialNumbers.map(
221
+ (sn) => Long.fromValue(sn).toString()
222
+ );
223
+ if (a.approvedForAll?.value !== void 0)
224
+ allowance.approvedForAll = a.approvedForAll.value;
225
+ if (a.delegatingSpender)
226
+ allowance.delegatingSpender = new AccountId(
227
+ a.delegatingSpender.shardNum ?? 0,
228
+ a.delegatingSpender.realmNum ?? 0,
229
+ a.delegatingSpender.accountNum ?? 0
230
+ ).toString();
231
+ return allowance;
232
+ });
233
+ }
234
+ return data;
235
+ }
236
+ static parseCryptoDeleteAllowance(body) {
237
+ if (!body) return void 0;
238
+ const data = {};
239
+ if (body.nftAllowances && body.nftAllowances.length > 0) {
240
+ data.nftAllowancesToRemove = body.nftAllowances.map((a) => ({
241
+ ownerAccountId: new AccountId(
242
+ a.owner.shardNum ?? 0,
243
+ a.owner.realmNum ?? 0,
244
+ a.owner.accountNum ?? 0
245
+ ).toString(),
246
+ tokenId: new TokenId(
247
+ a.tokenId.shardNum ?? 0,
248
+ a.tokenId.realmNum ?? 0,
249
+ a.tokenId.tokenNum ?? 0
250
+ ).toString(),
251
+ serialNumbers: a.serialNumbers ? a.serialNumbers.map((sn) => Long.fromValue(sn).toString()) : []
252
+ }));
253
+ }
254
+ return data;
255
+ }
256
+ }
23
257
  export {
24
- keccak256
258
+ CryptoParser
25
259
  };
26
260
  //# sourceMappingURL=standards-sdk.es36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es36.js","sources":["../../node_modules/ethers/lib.esm/crypto/keccak.js"],"sourcesContent":["/**\n * Cryptographic hashing functions\n *\n * @_subsection: api/crypto:Hash Functions [about-crypto-hashing]\n */\nimport { keccak_256 } from \"@noble/hashes/sha3\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _keccak256 = function (data) {\n return keccak_256(data);\n};\nlet __keccak256 = _keccak256;\n/**\n * Compute the cryptographic KECCAK256 hash of %%data%%.\n *\n * The %%data%% **must** be a data representation, to compute the\n * hash of UTF-8 data use the [[id]] function.\n *\n * @returns DataHexstring\n * @example:\n * keccak256(\"0x\")\n * //_result:\n *\n * keccak256(\"0x1337\")\n * //_result:\n *\n * keccak256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n * // Strings are assumed to be DataHexString, otherwise it will\n * // throw. To hash UTF-8 data, see the note above.\n * keccak256(\"Hello World\")\n * //_error:\n */\nexport function keccak256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__keccak256(data));\n}\nkeccak256._ = _keccak256;\nkeccak256.lock = function () { locked = true; };\nkeccak256.register = function (func) {\n if (locked) {\n throw new TypeError(\"keccak256 is locked\");\n }\n __keccak256 = func;\n};\nObject.freeze(keccak256);\n//# sourceMappingURL=keccak.js.map"],"names":[],"mappings":";;AAOA,IAAI,SAAS;AACb,MAAM,aAAa,SAAU,MAAM;AAC/B,SAAO,WAAW,IAAI;AAC1B;AACA,IAAI,cAAc;AAuBX,SAAS,UAAU,OAAO;AAC7B,QAAM,OAAO,SAAS,OAAO,MAAM;AACnC,SAAO,QAAQ,YAAY,IAAI,CAAC;AACpC;AACA,UAAU,IAAI;AACd,UAAU,OAAO,WAAY;AAAE,WAAS;AAAO;AAC/C,UAAU,WAAW,SAAU,MAAM;AACjC,MAAI,QAAQ;AACR,UAAM,IAAI,UAAU,qBAAqB;AAAA,EACjD;AACI,gBAAc;AAClB;AACA,OAAO,OAAO,SAAS;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es36.js","sources":["../../src/utils/parsers/crypto-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { AccountId, TokenId, Hbar, HbarUnit, Long } from '@hashgraph/sdk';\nimport {\n AccountAmount,\n TokenAmount,\n CryptoDeleteData,\n CryptoCreateAccountData,\n CryptoUpdateAccountData,\n CryptoApproveAllowanceData,\n CryptoDeleteAllowanceData,\n NftAllowance,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\n\nexport class CryptoParser {\n static parseCryptoTransfers(\n cryptoTransfer: proto.ICryptoTransferTransactionBody,\n result: { transfers: AccountAmount[]; tokenTransfers: TokenAmount[] }\n ): void {\n if (cryptoTransfer.transfers?.accountAmounts) {\n result.transfers = cryptoTransfer.transfers.accountAmounts.map((aa) => {\n const accountId = new AccountId(\n aa.accountID!.shardNum ?? 0,\n aa.accountID!.realmNum ?? 0,\n aa.accountID!.accountNum ?? 0\n );\n const hbarAmount = Hbar.fromTinybars(Long.fromValue(aa.amount!));\n return {\n accountId: accountId.toString(),\n amount: hbarAmount.toString(HbarUnit.Hbar),\n isDecimal: true,\n };\n });\n }\n if (cryptoTransfer.tokenTransfers) {\n for (const tokenTransferList of cryptoTransfer.tokenTransfers) {\n const tokenId = new TokenId(\n tokenTransferList.token!.shardNum ?? 0,\n tokenTransferList.token!.realmNum ?? 0,\n tokenTransferList.token!.tokenNum ?? 0\n );\n if (tokenTransferList.transfers) {\n for (const transfer of tokenTransferList.transfers) {\n const accountId = new AccountId(\n transfer.accountID!.shardNum ?? 0,\n transfer.accountID!.realmNum ?? 0,\n transfer.accountID!.accountNum ?? 0\n );\n const tokenAmount = Long.fromValue(transfer.amount!).toNumber();\n result.tokenTransfers.push({\n tokenId: tokenId.toString(),\n accountId: accountId.toString(),\n amount: tokenAmount,\n });\n }\n }\n }\n }\n }\n\n static parseCryptoDelete(\n body: proto.ICryptoDeleteTransactionBody\n ): CryptoDeleteData | undefined {\n if (!body) return undefined;\n const data: CryptoDeleteData = {};\n if (body.deleteAccountID) {\n data.deleteAccountId = new AccountId(\n body.deleteAccountID.shardNum ?? 0,\n body.deleteAccountID.realmNum ?? 0,\n body.deleteAccountID.accountNum ?? 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 }\n return data;\n }\n\n static parseCryptoCreateAccount(\n body: proto.ICryptoCreateTransactionBody\n ): CryptoCreateAccountData | undefined {\n if (!body) return undefined;\n const data: CryptoCreateAccountData = {};\n if (body.initialBalance) {\n data.initialBalance = Hbar.fromTinybars(\n Long.fromValue(body.initialBalance)\n ).toString(HbarUnit.Hbar);\n }\n if (body.key) {\n data.key = parseKey(body.key);\n }\n if (body.receiverSigRequired !== undefined) {\n data.receiverSigRequired = body.receiverSigRequired;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n if (body.maxAutomaticTokenAssociations !== undefined) {\n data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;\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.alias && body.alias.length > 0) {\n data.alias = Buffer.from(body.alias).toString('hex');\n }\n return data;\n }\n\n static parseCryptoUpdateAccount(\n body: proto.ICryptoUpdateTransactionBody\n ): CryptoUpdateAccountData | undefined {\n if (!body) return undefined;\n const data: CryptoUpdateAccountData = {};\n if (body.accountIDToUpdate) {\n data.accountIdToUpdate = new AccountId(\n body.accountIDToUpdate.shardNum ?? 0,\n body.accountIDToUpdate.realmNum ?? 0,\n body.accountIDToUpdate.accountNum ?? 0\n ).toString();\n }\n if (body.key) {\n data.key = parseKey(body.key);\n }\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (\n body.receiverSigRequired !== null &&\n body.receiverSigRequired !== undefined\n ) {\n data.receiverSigRequired = Boolean(body.receiverSigRequired);\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.memo?.value !== undefined) {\n data.memo = body.memo.value;\n }\n if (body.maxAutomaticTokenAssociations?.value !== undefined) {\n data.maxAutomaticTokenAssociations =\n body.maxAutomaticTokenAssociations.value;\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 (body.stakedNodeId !== null && body.stakedNodeId !== undefined) {\n data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();\n data.stakedAccountId = undefined;\n } else {\n data.stakedAccountId = undefined;\n data.stakedNodeId = undefined;\n }\n if (body.declineReward !== null && body.declineReward !== undefined) {\n data.declineReward = Boolean(body.declineReward);\n }\n return data;\n }\n\n static parseCryptoApproveAllowance(\n body: proto.ICryptoApproveAllowanceTransactionBody\n ): CryptoApproveAllowanceData | undefined {\n if (!body) return undefined;\n const data: CryptoApproveAllowanceData = {};\n if (body.cryptoAllowances && body.cryptoAllowances.length > 0) {\n data.hbarAllowances = body.cryptoAllowances.map((a) => ({\n ownerAccountId: new AccountId(\n a.owner!.shardNum ?? 0,\n a.owner!.realmNum ?? 0,\n a.owner!.accountNum ?? 0\n ).toString(),\n spenderAccountId: new AccountId(\n a.spender!.shardNum ?? 0,\n a.spender!.realmNum ?? 0,\n a.spender!.accountNum ?? 0\n ).toString(),\n amount: Hbar.fromTinybars(Long.fromValue(a.amount!)).toString(\n HbarUnit.Hbar\n ),\n }));\n }\n if (body.tokenAllowances && body.tokenAllowances.length > 0) {\n data.tokenAllowances = body.tokenAllowances.map((a) => ({\n tokenId: new TokenId(\n a.tokenId!.shardNum ?? 0,\n a.tokenId!.realmNum ?? 0,\n a.tokenId!.tokenNum ?? 0\n ).toString(),\n ownerAccountId: new AccountId(\n a.owner!.shardNum ?? 0,\n a.owner!.realmNum ?? 0,\n a.owner!.accountNum ?? 0\n ).toString(),\n spenderAccountId: new AccountId(\n a.spender!.shardNum ?? 0,\n a.spender!.realmNum ?? 0,\n a.spender!.accountNum ?? 0\n ).toString(),\n amount: Long.fromValue(a.amount!).toString(),\n }));\n }\n if (body.nftAllowances && body.nftAllowances.length > 0) {\n data.nftAllowances = body.nftAllowances.map((a) => {\n const allowance: NftAllowance = {};\n if (a.tokenId)\n allowance.tokenId = new TokenId(\n a.tokenId.shardNum ?? 0,\n a.tokenId.realmNum ?? 0,\n a.tokenId.tokenNum ?? 0\n ).toString();\n if (a.owner)\n allowance.ownerAccountId = new AccountId(\n a.owner.shardNum ?? 0,\n a.owner.realmNum ?? 0,\n a.owner.accountNum ?? 0\n ).toString();\n if (a.spender)\n allowance.spenderAccountId = new AccountId(\n a.spender.shardNum ?? 0,\n a.spender.realmNum ?? 0,\n a.spender.accountNum ?? 0\n ).toString();\n if (a.serialNumbers && a.serialNumbers.length > 0)\n allowance.serialNumbers = a.serialNumbers.map((sn) =>\n Long.fromValue(sn).toString()\n );\n if (a.approvedForAll?.value !== undefined)\n allowance.approvedForAll = a.approvedForAll.value;\n if (a.delegatingSpender)\n allowance.delegatingSpender = new AccountId(\n a.delegatingSpender.shardNum ?? 0,\n a.delegatingSpender.realmNum ?? 0,\n a.delegatingSpender.accountNum ?? 0\n ).toString();\n return allowance;\n });\n }\n return data;\n }\n\n static parseCryptoDeleteAllowance(\n body: proto.ICryptoDeleteAllowanceTransactionBody\n ): CryptoDeleteAllowanceData | undefined {\n if (!body) return undefined;\n const data: CryptoDeleteAllowanceData = {};\n if (body.nftAllowances && body.nftAllowances.length > 0) {\n data.nftAllowancesToRemove = body.nftAllowances.map((a) => ({\n ownerAccountId: new AccountId(\n a.owner!.shardNum ?? 0,\n a.owner!.realmNum ?? 0,\n a.owner!.accountNum ?? 0\n ).toString(),\n tokenId: new TokenId(\n a.tokenId!.shardNum ?? 0,\n a.tokenId!.realmNum ?? 0,\n a.tokenId!.tokenNum ?? 0\n ).toString(),\n serialNumbers: a.serialNumbers\n ? a.serialNumbers.map((sn) => Long.fromValue(sn).toString())\n : [],\n }));\n }\n return data;\n }\n}\n"],"names":[],"mappings":"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"}