@hashgraphonline/standards-sdk 0.0.108-canary.1 → 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 (247) hide show
  1. package/dist/es/standards-sdk.es100.js +56 -27
  2. package/dist/es/standards-sdk.es100.js.map +1 -1
  3. package/dist/es/standards-sdk.es101.js +69 -21
  4. package/dist/es/standards-sdk.es101.js.map +1 -1
  5. package/dist/es/standards-sdk.es102.js +3 -43
  6. package/dist/es/standards-sdk.es102.js.map +1 -1
  7. package/dist/es/standards-sdk.es103.js +27 -13
  8. package/dist/es/standards-sdk.es103.js.map +1 -1
  9. package/dist/es/standards-sdk.es104.js +57 -55
  10. package/dist/es/standards-sdk.es104.js.map +1 -1
  11. package/dist/es/standards-sdk.es105.js +49 -1288
  12. package/dist/es/standards-sdk.es105.js.map +1 -1
  13. package/dist/es/standards-sdk.es106.js +8 -30
  14. package/dist/es/standards-sdk.es106.js.map +1 -1
  15. package/dist/es/standards-sdk.es107.js +64 -5
  16. package/dist/es/standards-sdk.es107.js.map +1 -1
  17. package/dist/es/standards-sdk.es108.js +6 -159
  18. package/dist/es/standards-sdk.es108.js.map +1 -1
  19. package/dist/es/standards-sdk.es109.js +13 -791
  20. package/dist/es/standards-sdk.es109.js.map +1 -1
  21. package/dist/es/standards-sdk.es110.js +7 -174
  22. package/dist/es/standards-sdk.es110.js.map +1 -1
  23. package/dist/es/standards-sdk.es111.js +41 -139
  24. package/dist/es/standards-sdk.es111.js.map +1 -1
  25. package/dist/es/standards-sdk.es112.js +2 -3
  26. package/dist/es/standards-sdk.es112.js.map +1 -1
  27. package/dist/es/standards-sdk.es113.js +136 -2
  28. package/dist/es/standards-sdk.es113.js.map +1 -1
  29. package/dist/es/standards-sdk.es114.js +172 -2
  30. package/dist/es/standards-sdk.es114.js.map +1 -1
  31. package/dist/es/standards-sdk.es115.js +13 -34
  32. package/dist/es/standards-sdk.es115.js.map +1 -1
  33. package/dist/es/standards-sdk.es116.js +13 -33
  34. package/dist/es/standards-sdk.es116.js.map +1 -1
  35. package/dist/es/standards-sdk.es117.js +32 -9
  36. package/dist/es/standards-sdk.es117.js.map +1 -1
  37. package/dist/es/standards-sdk.es118.js +15 -34
  38. package/dist/es/standards-sdk.es118.js.map +1 -1
  39. package/dist/es/standards-sdk.es119.js +3 -20
  40. package/dist/es/standards-sdk.es119.js.map +1 -1
  41. package/dist/es/standards-sdk.es120.js +3 -26
  42. package/dist/es/standards-sdk.es120.js.map +1 -1
  43. package/dist/es/standards-sdk.es121.js +14 -24
  44. package/dist/es/standards-sdk.es121.js.map +1 -1
  45. package/dist/es/standards-sdk.es122.js +4 -37
  46. package/dist/es/standards-sdk.es122.js.map +1 -1
  47. package/dist/es/standards-sdk.es123.js +39 -101
  48. package/dist/es/standards-sdk.es123.js.map +1 -1
  49. package/dist/es/standards-sdk.es124.js +40 -2
  50. package/dist/es/standards-sdk.es124.js.map +1 -1
  51. package/dist/es/standards-sdk.es125.js +37 -16
  52. package/dist/es/standards-sdk.es125.js.map +1 -1
  53. package/dist/es/standards-sdk.es126.js +70 -401
  54. package/dist/es/standards-sdk.es126.js.map +1 -1
  55. package/dist/es/standards-sdk.es127.js +3 -2282
  56. package/dist/es/standards-sdk.es127.js.map +1 -1
  57. package/dist/es/standards-sdk.es128.js +2 -7136
  58. package/dist/es/standards-sdk.es128.js.map +1 -1
  59. package/dist/es/standards-sdk.es129.js +2 -10
  60. package/dist/es/standards-sdk.es129.js.map +1 -1
  61. package/dist/es/standards-sdk.es13.js +2 -2
  62. package/dist/es/standards-sdk.es130.js +33 -10
  63. package/dist/es/standards-sdk.es130.js.map +1 -1
  64. package/dist/es/standards-sdk.es131.js +31 -16
  65. package/dist/es/standards-sdk.es131.js.map +1 -1
  66. package/dist/es/standards-sdk.es132.js +9 -6
  67. package/dist/es/standards-sdk.es132.js.map +1 -1
  68. package/dist/es/standards-sdk.es133.js +34 -9
  69. package/dist/es/standards-sdk.es133.js.map +1 -1
  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 +76 -8
  73. package/dist/es/standards-sdk.es19.js.map +1 -1
  74. package/dist/es/standards-sdk.es20.js +2 -2
  75. package/dist/es/standards-sdk.es21.js +3 -3
  76. package/dist/es/standards-sdk.es24.js +10 -10
  77. package/dist/es/standards-sdk.es25.js +1769 -5
  78. package/dist/es/standards-sdk.es25.js.map +1 -1
  79. package/dist/es/standards-sdk.es26.js +7190 -36
  80. package/dist/es/standards-sdk.es26.js.map +1 -1
  81. package/dist/es/standards-sdk.es27.js +3 -48
  82. package/dist/es/standards-sdk.es27.js.map +1 -1
  83. package/dist/es/standards-sdk.es28.js +8 -1768
  84. package/dist/es/standards-sdk.es28.js.map +1 -1
  85. package/dist/es/standards-sdk.es29.js +2 -501
  86. package/dist/es/standards-sdk.es29.js.map +1 -1
  87. package/dist/es/standards-sdk.es30.js +5 -109
  88. package/dist/es/standards-sdk.es30.js.map +1 -1
  89. package/dist/es/standards-sdk.es31.js +36 -66
  90. package/dist/es/standards-sdk.es31.js.map +1 -1
  91. package/dist/es/standards-sdk.es32.js +47 -63
  92. package/dist/es/standards-sdk.es32.js.map +1 -1
  93. package/dist/es/standards-sdk.es33.js +492 -18
  94. package/dist/es/standards-sdk.es33.js.map +1 -1
  95. package/dist/es/standards-sdk.es34.js +103 -5
  96. package/dist/es/standards-sdk.es34.js.map +1 -1
  97. package/dist/es/standards-sdk.es35.js +65 -9
  98. package/dist/es/standards-sdk.es35.js.map +1 -1
  99. package/dist/es/standards-sdk.es36.js +225 -7158
  100. package/dist/es/standards-sdk.es36.js.map +1 -1
  101. package/dist/es/standards-sdk.es37.js +173 -3
  102. package/dist/es/standards-sdk.es37.js.map +1 -1
  103. package/dist/es/standards-sdk.es38.js +10 -8
  104. package/dist/es/standards-sdk.es38.js.map +1 -1
  105. package/dist/es/standards-sdk.es39.js +10 -2
  106. package/dist/es/standards-sdk.es39.js.map +1 -1
  107. package/dist/es/standards-sdk.es41.js +7092 -375
  108. package/dist/es/standards-sdk.es41.js.map +1 -1
  109. package/dist/es/standards-sdk.es42.js +2 -2
  110. package/dist/es/standards-sdk.es42.js.map +1 -1
  111. package/dist/es/standards-sdk.es43.js +3 -120
  112. package/dist/es/standards-sdk.es43.js.map +1 -1
  113. package/dist/es/standards-sdk.es44.js +93 -356
  114. package/dist/es/standards-sdk.es44.js.map +1 -1
  115. package/dist/es/standards-sdk.es45.js +2 -6
  116. package/dist/es/standards-sdk.es45.js.map +1 -1
  117. package/dist/es/standards-sdk.es46.js +15 -178
  118. package/dist/es/standards-sdk.es46.js.map +1 -1
  119. package/dist/es/standards-sdk.es47.js +400 -72
  120. package/dist/es/standards-sdk.es47.js.map +1 -1
  121. package/dist/es/standards-sdk.es48.js +87 -110
  122. package/dist/es/standards-sdk.es48.js.map +1 -1
  123. package/dist/es/standards-sdk.es49.js +138 -42
  124. package/dist/es/standards-sdk.es49.js.map +1 -1
  125. package/dist/es/standards-sdk.es5.js +1 -1
  126. package/dist/es/standards-sdk.es50.js +31 -9
  127. package/dist/es/standards-sdk.es50.js.map +1 -1
  128. package/dist/es/standards-sdk.es51.js +146 -84
  129. package/dist/es/standards-sdk.es51.js.map +1 -1
  130. package/dist/es/standards-sdk.es52.js +142 -3
  131. package/dist/es/standards-sdk.es52.js.map +1 -1
  132. package/dist/es/standards-sdk.es53.js +195 -2
  133. package/dist/es/standards-sdk.es53.js.map +1 -1
  134. package/dist/es/standards-sdk.es54.js +423 -98
  135. package/dist/es/standards-sdk.es54.js.map +1 -1
  136. package/dist/es/standards-sdk.es55.js +22 -71
  137. package/dist/es/standards-sdk.es55.js.map +1 -1
  138. package/dist/es/standards-sdk.es56.js +138 -5
  139. package/dist/es/standards-sdk.es56.js.map +1 -1
  140. package/dist/es/standards-sdk.es57.js +17 -4
  141. package/dist/es/standards-sdk.es57.js.map +1 -1
  142. package/dist/es/standards-sdk.es58.js +21 -213
  143. package/dist/es/standards-sdk.es58.js.map +1 -1
  144. package/dist/es/standards-sdk.es59.js +27 -56
  145. package/dist/es/standards-sdk.es59.js.map +1 -1
  146. package/dist/es/standards-sdk.es60.js +21 -69
  147. package/dist/es/standards-sdk.es60.js.map +1 -1
  148. package/dist/es/standards-sdk.es61.js +43 -3
  149. package/dist/es/standards-sdk.es61.js.map +1 -1
  150. package/dist/es/standards-sdk.es62.js +13 -37
  151. package/dist/es/standards-sdk.es62.js.map +1 -1
  152. package/dist/es/standards-sdk.es63.js +61 -3
  153. package/dist/es/standards-sdk.es63.js.map +1 -1
  154. package/dist/es/standards-sdk.es64.js +1260 -135
  155. package/dist/es/standards-sdk.es64.js.map +1 -1
  156. package/dist/es/standards-sdk.es65.js +80 -28
  157. package/dist/es/standards-sdk.es65.js.map +1 -1
  158. package/dist/es/standards-sdk.es66.js +5 -62
  159. package/dist/es/standards-sdk.es66.js.map +1 -1
  160. package/dist/es/standards-sdk.es67.js +21 -48
  161. package/dist/es/standards-sdk.es67.js.map +1 -1
  162. package/dist/es/standards-sdk.es68.js +792 -9
  163. package/dist/es/standards-sdk.es68.js.map +1 -1
  164. package/dist/es/standards-sdk.es69.js +166 -57
  165. package/dist/es/standards-sdk.es69.js.map +1 -1
  166. package/dist/es/standards-sdk.es7.js +4 -4
  167. package/dist/es/standards-sdk.es70.js +2281 -5
  168. package/dist/es/standards-sdk.es70.js.map +1 -1
  169. package/dist/es/standards-sdk.es71.js +161 -12
  170. package/dist/es/standards-sdk.es71.js.map +1 -1
  171. package/dist/es/standards-sdk.es72.js +10 -7
  172. package/dist/es/standards-sdk.es72.js.map +1 -1
  173. package/dist/es/standards-sdk.es73.js +11 -45
  174. package/dist/es/standards-sdk.es73.js.map +1 -1
  175. package/dist/es/standards-sdk.es74.js +18 -2
  176. package/dist/es/standards-sdk.es74.js.map +1 -1
  177. package/dist/es/standards-sdk.es75.js +6 -136
  178. package/dist/es/standards-sdk.es75.js.map +1 -1
  179. package/dist/es/standards-sdk.es76.js +9 -172
  180. package/dist/es/standards-sdk.es76.js.map +1 -1
  181. package/dist/es/standards-sdk.es77.js +21 -2
  182. package/dist/es/standards-sdk.es77.js.map +1 -1
  183. package/dist/es/standards-sdk.es78.js +27 -13
  184. package/dist/es/standards-sdk.es78.js.map +1 -1
  185. package/dist/es/standards-sdk.es79.js +26 -13
  186. package/dist/es/standards-sdk.es79.js.map +1 -1
  187. package/dist/es/standards-sdk.es8.js +3 -3
  188. package/dist/es/standards-sdk.es80.js +36 -30
  189. package/dist/es/standards-sdk.es80.js.map +1 -1
  190. package/dist/es/standards-sdk.es81.js +418 -14
  191. package/dist/es/standards-sdk.es81.js.map +1 -1
  192. package/dist/es/standards-sdk.es82.js +2 -4
  193. package/dist/es/standards-sdk.es82.js.map +1 -1
  194. package/dist/es/standards-sdk.es83.js +119 -3
  195. package/dist/es/standards-sdk.es83.js.map +1 -1
  196. package/dist/es/standards-sdk.es84.js +40 -14
  197. package/dist/es/standards-sdk.es84.js.map +1 -1
  198. package/dist/es/standards-sdk.es85.js +363 -4
  199. package/dist/es/standards-sdk.es85.js.map +1 -1
  200. package/dist/es/standards-sdk.es86.js +6 -39
  201. package/dist/es/standards-sdk.es86.js.map +1 -1
  202. package/dist/es/standards-sdk.es87.js +173 -34
  203. package/dist/es/standards-sdk.es87.js.map +1 -1
  204. package/dist/es/standards-sdk.es88.js +80 -36
  205. package/dist/es/standards-sdk.es88.js.map +1 -1
  206. package/dist/es/standards-sdk.es89.js +105 -69
  207. package/dist/es/standards-sdk.es89.js.map +1 -1
  208. package/dist/es/standards-sdk.es9.js +1 -1
  209. package/dist/es/standards-sdk.es90.js +46 -78
  210. package/dist/es/standards-sdk.es90.js.map +1 -1
  211. package/dist/es/standards-sdk.es91.js +9 -22
  212. package/dist/es/standards-sdk.es91.js.map +1 -1
  213. package/dist/es/standards-sdk.es92.js +83 -134
  214. package/dist/es/standards-sdk.es92.js.map +1 -1
  215. package/dist/es/standards-sdk.es93.js +3 -90
  216. package/dist/es/standards-sdk.es93.js.map +1 -1
  217. package/dist/es/standards-sdk.es94.js +2 -195
  218. package/dist/es/standards-sdk.es94.js.map +1 -1
  219. package/dist/es/standards-sdk.es95.js +98 -423
  220. package/dist/es/standards-sdk.es95.js.map +1 -1
  221. package/dist/es/standards-sdk.es96.js +71 -22
  222. package/dist/es/standards-sdk.es96.js.map +1 -1
  223. package/dist/es/standards-sdk.es97.js +5 -138
  224. package/dist/es/standards-sdk.es97.js.map +1 -1
  225. package/dist/es/standards-sdk.es98.js +4 -17
  226. package/dist/es/standards-sdk.es98.js.map +1 -1
  227. package/dist/es/standards-sdk.es99.js +213 -21
  228. package/dist/es/standards-sdk.es99.js.map +1 -1
  229. package/dist/es/utils/parsers/crypto-parser.d.ts +5 -1
  230. package/dist/es/utils/parsers/crypto-parser.d.ts.map +1 -1
  231. package/dist/es/utils/parsers/scs-parser.d.ts +4 -1
  232. package/dist/es/utils/parsers/scs-parser.d.ts.map +1 -1
  233. package/dist/es/utils/parsers/util-parser.d.ts.map +1 -1
  234. package/dist/es/utils/transaction-parser-types.d.ts +91 -0
  235. package/dist/es/utils/transaction-parser-types.d.ts.map +1 -1
  236. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  237. package/dist/umd/standards-sdk.umd.js +11 -11
  238. package/dist/umd/standards-sdk.umd.js.map +1 -1
  239. package/dist/umd/utils/parsers/crypto-parser.d.ts +5 -1
  240. package/dist/umd/utils/parsers/crypto-parser.d.ts.map +1 -1
  241. package/dist/umd/utils/parsers/scs-parser.d.ts +4 -1
  242. package/dist/umd/utils/parsers/scs-parser.d.ts.map +1 -1
  243. package/dist/umd/utils/parsers/util-parser.d.ts.map +1 -1
  244. package/dist/umd/utils/transaction-parser-types.d.ts +91 -0
  245. package/dist/umd/utils/transaction-parser-types.d.ts.map +1 -1
  246. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  247. package/package.json +1 -1
@@ -1,30 +1,504 @@
1
- import { Hbar, Long, HbarUnit, ContractId } from "@hashgraph/sdk";
2
- import { Buffer as Buffer$1 } from "./standards-sdk.es28.js";
3
- class SCSParser {
4
- static parseContractCall(body) {
1
+ import { proto } from "@hashgraph/proto";
2
+ import { AccountId, Long, TokenId } from "@hashgraph/sdk";
3
+ import { parseKey } from "./standards-sdk.es84.js";
4
+ import { Buffer as Buffer$1 } from "./standards-sdk.es25.js";
5
+ class HTSParser {
6
+ static parseTokenCreate(body) {
5
7
  if (!body) return void 0;
6
- const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));
8
+ const data = {};
9
+ if (body.name) {
10
+ data.tokenName = body.name;
11
+ }
12
+ if (body.symbol) {
13
+ data.tokenSymbol = body.symbol;
14
+ }
15
+ if (body.treasury) {
16
+ data.treasuryAccountId = new AccountId(
17
+ body.treasury.shardNum ?? 0,
18
+ body.treasury.realmNum ?? 0,
19
+ body.treasury.accountNum ?? 0
20
+ ).toString();
21
+ }
22
+ if (body.initialSupply) {
23
+ data.initialSupply = Long.fromValue(body.initialSupply).toString();
24
+ }
25
+ if (body.decimals !== void 0 && body.decimals !== null) {
26
+ data.decimals = Long.fromValue(body.decimals).toNumber();
27
+ }
28
+ if (body.maxSupply) {
29
+ data.maxSupply = Long.fromValue(body.maxSupply).toString();
30
+ }
31
+ if (body.memo) {
32
+ data.memo = body.memo;
33
+ }
34
+ if (body.tokenType !== null && body.tokenType !== void 0) {
35
+ data.tokenType = proto.TokenType[body.tokenType];
36
+ }
37
+ if (body.supplyType !== null && body.supplyType !== void 0) {
38
+ data.supplyType = proto.TokenSupplyType[body.supplyType];
39
+ }
40
+ data.adminKey = parseKey(body.adminKey);
41
+ data.kycKey = parseKey(body.kycKey);
42
+ data.freezeKey = parseKey(body.freezeKey);
43
+ data.wipeKey = parseKey(body.wipeKey);
44
+ data.supplyKey = parseKey(body.supplyKey);
45
+ data.feeScheduleKey = parseKey(body.feeScheduleKey);
46
+ data.pauseKey = parseKey(body.pauseKey);
47
+ if (body.autoRenewAccount) {
48
+ data.autoRenewAccount = new AccountId(
49
+ body.autoRenewAccount.shardNum ?? 0,
50
+ body.autoRenewAccount.realmNum ?? 0,
51
+ body.autoRenewAccount.accountNum ?? 0
52
+ ).toString();
53
+ }
54
+ if (body.autoRenewPeriod?.seconds) {
55
+ data.autoRenewPeriod = Long.fromValue(
56
+ body.autoRenewPeriod.seconds
57
+ ).toString();
58
+ }
59
+ if (body.customFees && body.customFees.length > 0) {
60
+ data.customFees = body.customFees.map((fee) => {
61
+ const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
62
+ fee.feeCollectorAccountId.shardNum ?? 0,
63
+ fee.feeCollectorAccountId.realmNum ?? 0,
64
+ fee.feeCollectorAccountId.accountNum ?? 0
65
+ ).toString() : "Not Set";
66
+ const commonFeeData = {
67
+ feeCollectorAccountId,
68
+ allCollectorsAreExempt: fee.allCollectorsAreExempt || false
69
+ };
70
+ if (fee.fixedFee) {
71
+ return {
72
+ ...commonFeeData,
73
+ feeType: "FIXED_FEE",
74
+ fixedFee: {
75
+ amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),
76
+ denominatingTokenId: fee.fixedFee.denominatingTokenId ? new TokenId(
77
+ fee.fixedFee.denominatingTokenId.shardNum ?? 0,
78
+ fee.fixedFee.denominatingTokenId.realmNum ?? 0,
79
+ fee.fixedFee.denominatingTokenId.tokenNum ?? 0
80
+ ).toString() : void 0
81
+ }
82
+ };
83
+ } else if (fee.fractionalFee) {
84
+ return {
85
+ ...commonFeeData,
86
+ feeType: "FRACTIONAL_FEE",
87
+ fractionalFee: {
88
+ numerator: Long.fromValue(
89
+ fee.fractionalFee.fractionalAmount?.numerator || 0
90
+ ).toString(),
91
+ denominator: Long.fromValue(
92
+ fee.fractionalFee.fractionalAmount?.denominator || 1
93
+ ).toString(),
94
+ minimumAmount: Long.fromValue(
95
+ fee.fractionalFee.minimumAmount || 0
96
+ ).toString(),
97
+ maximumAmount: Long.fromValue(
98
+ fee.fractionalFee.maximumAmount || 0
99
+ ).toString(),
100
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
101
+ }
102
+ };
103
+ } else if (fee.royaltyFee) {
104
+ let fallbackFeeData = void 0;
105
+ if (fee.royaltyFee.fallbackFee) {
106
+ fallbackFeeData = {
107
+ amount: Long.fromValue(
108
+ fee.royaltyFee.fallbackFee.amount || 0
109
+ ).toString(),
110
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId ? new TokenId(
111
+ fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ?? 0,
112
+ fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ?? 0,
113
+ fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0
114
+ ).toString() : void 0
115
+ };
116
+ }
117
+ return {
118
+ ...commonFeeData,
119
+ feeType: "ROYALTY_FEE",
120
+ royaltyFee: {
121
+ numerator: Long.fromValue(
122
+ fee.royaltyFee.exchangeValueFraction?.numerator || 0
123
+ ).toString(),
124
+ denominator: Long.fromValue(
125
+ fee.royaltyFee.exchangeValueFraction?.denominator || 1
126
+ ).toString(),
127
+ fallbackFee: fallbackFeeData
128
+ }
129
+ };
130
+ }
131
+ return {
132
+ ...commonFeeData,
133
+ feeType: "FIXED_FEE",
134
+ fixedFee: { amount: "0" }
135
+ };
136
+ });
137
+ }
138
+ return data;
139
+ }
140
+ static parseTokenMint(body) {
141
+ if (!body || !body.token || body.amount === null || body.amount === void 0) {
142
+ return void 0;
143
+ }
144
+ const data = {
145
+ tokenId: new TokenId(
146
+ body.token.shardNum ?? 0,
147
+ body.token.realmNum ?? 0,
148
+ body.token.tokenNum ?? 0
149
+ ).toString(),
150
+ amount: Long.fromValue(body.amount).toNumber()
151
+ };
152
+ if (body.metadata && body.metadata.length > 0) {
153
+ data.metadata = body.metadata.map(
154
+ (meta) => Buffer$1.from(meta).toString("base64")
155
+ );
156
+ }
157
+ return data;
158
+ }
159
+ static parseTokenBurn(body) {
160
+ if (!body || !body.token || body.amount === null || body.amount === void 0) {
161
+ return void 0;
162
+ }
7
163
  const data = {
8
- contractId: new ContractId(
9
- body.contractID.shardNum ?? 0,
10
- body.contractID.realmNum ?? 0,
11
- body.contractID.contractNum ?? 0
164
+ tokenId: new TokenId(
165
+ body.token.shardNum ?? 0,
166
+ body.token.realmNum ?? 0,
167
+ body.token.tokenNum ?? 0
12
168
  ).toString(),
13
- gas: Long.fromValue(body.gas ?? 0).toNumber(),
14
- amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar))
169
+ amount: Long.fromValue(body.amount).toNumber()
15
170
  };
16
- if (body.functionParameters) {
17
- data.functionParameters = Buffer$1.from(body.functionParameters).toString(
18
- "hex"
171
+ if (body.serialNumbers && body.serialNumbers.length > 0) {
172
+ data.serialNumbers = body.serialNumbers.map(
173
+ (sn) => Long.fromValue(sn).toNumber()
174
+ );
175
+ }
176
+ return data;
177
+ }
178
+ static parseTokenUpdate(body) {
179
+ if (!body) return void 0;
180
+ const data = {};
181
+ if (body.token) {
182
+ data.tokenId = new TokenId(
183
+ body.token.shardNum ?? 0,
184
+ body.token.realmNum ?? 0,
185
+ body.token.tokenNum ?? 0
186
+ ).toString();
187
+ }
188
+ if (body.name) {
189
+ data.name = body.name;
190
+ }
191
+ if (body.symbol) {
192
+ data.symbol = body.symbol;
193
+ }
194
+ if (body.treasury) {
195
+ data.treasuryAccountId = new AccountId(
196
+ body.treasury.shardNum ?? 0,
197
+ body.treasury.realmNum ?? 0,
198
+ body.treasury.accountNum ?? 0
199
+ ).toString();
200
+ }
201
+ data.adminKey = parseKey(body.adminKey);
202
+ data.kycKey = parseKey(body.kycKey);
203
+ data.freezeKey = parseKey(body.freezeKey);
204
+ data.wipeKey = parseKey(body.wipeKey);
205
+ data.supplyKey = parseKey(body.supplyKey);
206
+ data.feeScheduleKey = parseKey(body.feeScheduleKey);
207
+ data.pauseKey = parseKey(body.pauseKey);
208
+ if (body.autoRenewAccount) {
209
+ data.autoRenewAccountId = new AccountId(
210
+ body.autoRenewAccount.shardNum ?? 0,
211
+ body.autoRenewAccount.realmNum ?? 0,
212
+ body.autoRenewAccount.accountNum ?? 0
213
+ ).toString();
214
+ }
215
+ if (body.autoRenewPeriod?.seconds) {
216
+ data.autoRenewPeriod = Long.fromValue(
217
+ body.autoRenewPeriod.seconds
218
+ ).toString();
219
+ }
220
+ if (body.memo?.value !== void 0) {
221
+ data.memo = body.memo.value;
222
+ }
223
+ if (body.expiry?.seconds) {
224
+ data.expiry = `${Long.fromValue(body.expiry.seconds).toString()}.${body.expiry.nanos}`;
225
+ }
226
+ return data;
227
+ }
228
+ static parseTokenFeeScheduleUpdate(body) {
229
+ if (!body) return void 0;
230
+ const data = {};
231
+ if (body.tokenId) {
232
+ data.tokenId = new TokenId(
233
+ body.tokenId.shardNum ?? 0,
234
+ body.tokenId.realmNum ?? 0,
235
+ body.tokenId.tokenNum ?? 0
236
+ ).toString();
237
+ }
238
+ if (body.customFees && body.customFees.length > 0) {
239
+ data.customFees = body.customFees.map((fee) => {
240
+ const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
241
+ fee.feeCollectorAccountId.shardNum ?? 0,
242
+ fee.feeCollectorAccountId.realmNum ?? 0,
243
+ fee.feeCollectorAccountId.accountNum ?? 0
244
+ ).toString() : "Not Set";
245
+ const commonFeeData = {
246
+ feeCollectorAccountId,
247
+ allCollectorsAreExempt: fee.allCollectorsAreExempt || false
248
+ };
249
+ if (fee.fixedFee) {
250
+ return {
251
+ ...commonFeeData,
252
+ feeType: "FIXED_FEE",
253
+ fixedFee: {
254
+ amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),
255
+ denominatingTokenId: fee.fixedFee.denominatingTokenId ? new TokenId(
256
+ fee.fixedFee.denominatingTokenId.shardNum ?? 0,
257
+ fee.fixedFee.denominatingTokenId.realmNum ?? 0,
258
+ fee.fixedFee.denominatingTokenId.tokenNum ?? 0
259
+ ).toString() : void 0
260
+ }
261
+ };
262
+ } else if (fee.fractionalFee) {
263
+ return {
264
+ ...commonFeeData,
265
+ feeType: "FRACTIONAL_FEE",
266
+ fractionalFee: {
267
+ numerator: Long.fromValue(
268
+ fee.fractionalFee.fractionalAmount?.numerator || 0
269
+ ).toString(),
270
+ denominator: Long.fromValue(
271
+ fee.fractionalFee.fractionalAmount?.denominator || 1
272
+ ).toString(),
273
+ minimumAmount: Long.fromValue(
274
+ fee.fractionalFee.minimumAmount || 0
275
+ ).toString(),
276
+ maximumAmount: Long.fromValue(
277
+ fee.fractionalFee.maximumAmount || 0
278
+ ).toString(),
279
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
280
+ }
281
+ };
282
+ } else if (fee.royaltyFee) {
283
+ let fallbackFeeData = void 0;
284
+ if (fee.royaltyFee.fallbackFee) {
285
+ fallbackFeeData = {
286
+ amount: Long.fromValue(
287
+ fee.royaltyFee.fallbackFee.amount || 0
288
+ ).toString(),
289
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId ? new TokenId(
290
+ fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ?? 0,
291
+ fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ?? 0,
292
+ fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0
293
+ ).toString() : void 0
294
+ };
295
+ }
296
+ return {
297
+ ...commonFeeData,
298
+ feeType: "ROYALTY_FEE",
299
+ royaltyFee: {
300
+ numerator: Long.fromValue(
301
+ fee.royaltyFee.exchangeValueFraction?.numerator || 0
302
+ ).toString(),
303
+ denominator: Long.fromValue(
304
+ fee.royaltyFee.exchangeValueFraction?.denominator || 1
305
+ ).toString(),
306
+ fallbackFee: fallbackFeeData
307
+ }
308
+ };
309
+ }
310
+ return {
311
+ ...commonFeeData,
312
+ feeType: "FIXED_FEE",
313
+ fixedFee: { amount: "0" }
314
+ };
315
+ });
316
+ }
317
+ return data;
318
+ }
319
+ static parseTokenFreeze(body) {
320
+ if (!body) return void 0;
321
+ const data = {};
322
+ if (body.token) {
323
+ data.tokenId = new TokenId(
324
+ body.token.shardNum ?? 0,
325
+ body.token.realmNum ?? 0,
326
+ body.token.tokenNum ?? 0
327
+ ).toString();
328
+ }
329
+ if (body.account) {
330
+ data.accountId = new AccountId(
331
+ body.account.shardNum ?? 0,
332
+ body.account.realmNum ?? 0,
333
+ body.account.accountNum ?? 0
334
+ ).toString();
335
+ }
336
+ return data;
337
+ }
338
+ static parseTokenUnfreeze(body) {
339
+ if (!body) return void 0;
340
+ const data = {};
341
+ if (body.token) {
342
+ data.tokenId = new TokenId(
343
+ body.token.shardNum ?? 0,
344
+ body.token.realmNum ?? 0,
345
+ body.token.tokenNum ?? 0
346
+ ).toString();
347
+ }
348
+ if (body.account) {
349
+ data.accountId = new AccountId(
350
+ body.account.shardNum ?? 0,
351
+ body.account.realmNum ?? 0,
352
+ body.account.accountNum ?? 0
353
+ ).toString();
354
+ }
355
+ return data;
356
+ }
357
+ static parseTokenGrantKyc(body) {
358
+ if (!body) return void 0;
359
+ const data = {};
360
+ if (body.token) {
361
+ data.tokenId = new TokenId(
362
+ body.token.shardNum ?? 0,
363
+ body.token.realmNum ?? 0,
364
+ body.token.tokenNum ?? 0
365
+ ).toString();
366
+ }
367
+ if (body.account) {
368
+ data.accountId = new AccountId(
369
+ body.account.shardNum ?? 0,
370
+ body.account.realmNum ?? 0,
371
+ body.account.accountNum ?? 0
372
+ ).toString();
373
+ }
374
+ return data;
375
+ }
376
+ static parseTokenRevokeKyc(body) {
377
+ if (!body) return void 0;
378
+ const data = {};
379
+ if (body.token) {
380
+ data.tokenId = new TokenId(
381
+ body.token.shardNum ?? 0,
382
+ body.token.realmNum ?? 0,
383
+ body.token.tokenNum ?? 0
384
+ ).toString();
385
+ }
386
+ if (body.account) {
387
+ data.accountId = new AccountId(
388
+ body.account.shardNum ?? 0,
389
+ body.account.realmNum ?? 0,
390
+ body.account.accountNum ?? 0
391
+ ).toString();
392
+ }
393
+ return data;
394
+ }
395
+ static parseTokenPause(body) {
396
+ if (!body) return void 0;
397
+ const data = {};
398
+ if (body.token) {
399
+ data.tokenId = new TokenId(
400
+ body.token.shardNum ?? 0,
401
+ body.token.realmNum ?? 0,
402
+ body.token.tokenNum ?? 0
403
+ ).toString();
404
+ }
405
+ return data;
406
+ }
407
+ static parseTokenUnpause(body) {
408
+ if (!body) return void 0;
409
+ const data = {};
410
+ if (body.token) {
411
+ data.tokenId = new TokenId(
412
+ body.token.shardNum ?? 0,
413
+ body.token.realmNum ?? 0,
414
+ body.token.tokenNum ?? 0
415
+ ).toString();
416
+ }
417
+ return data;
418
+ }
419
+ static parseTokenWipeAccount(body) {
420
+ if (!body) return void 0;
421
+ const data = {};
422
+ if (body.token) {
423
+ data.tokenId = new TokenId(
424
+ body.token.shardNum ?? 0,
425
+ body.token.realmNum ?? 0,
426
+ body.token.tokenNum ?? 0
427
+ ).toString();
428
+ }
429
+ if (body.account) {
430
+ data.accountId = new AccountId(
431
+ body.account.shardNum ?? 0,
432
+ body.account.realmNum ?? 0,
433
+ body.account.accountNum ?? 0
434
+ ).toString();
435
+ }
436
+ if (body.serialNumbers && body.serialNumbers.length > 0) {
437
+ data.serialNumbers = body.serialNumbers.map(
438
+ (sn) => Long.fromValue(sn).toString()
439
+ );
440
+ }
441
+ if (body.amount) {
442
+ data.amount = Long.fromValue(body.amount).toString();
443
+ }
444
+ return data;
445
+ }
446
+ static parseTokenDelete(body) {
447
+ if (!body) return void 0;
448
+ const data = {};
449
+ if (body.token) {
450
+ data.tokenId = new TokenId(
451
+ body.token.shardNum ?? 0,
452
+ body.token.realmNum ?? 0,
453
+ body.token.tokenNum ?? 0
454
+ ).toString();
455
+ }
456
+ return data;
457
+ }
458
+ static parseTokenAssociate(body) {
459
+ if (!body) return void 0;
460
+ const data = {};
461
+ if (body.account) {
462
+ data.accountId = new AccountId(
463
+ body.account.shardNum ?? 0,
464
+ body.account.realmNum ?? 0,
465
+ body.account.accountNum ?? 0
466
+ ).toString();
467
+ }
468
+ if (body.tokens && body.tokens.length > 0) {
469
+ data.tokenIds = body.tokens.map(
470
+ (t) => new TokenId(
471
+ t.shardNum ?? 0,
472
+ t.realmNum ?? 0,
473
+ t.tokenNum ?? 0
474
+ ).toString()
475
+ );
476
+ }
477
+ return data;
478
+ }
479
+ static parseTokenDissociate(body) {
480
+ if (!body) return void 0;
481
+ const data = {};
482
+ if (body.account) {
483
+ data.accountId = new AccountId(
484
+ body.account.shardNum ?? 0,
485
+ body.account.realmNum ?? 0,
486
+ body.account.accountNum ?? 0
487
+ ).toString();
488
+ }
489
+ if (body.tokens && body.tokens.length > 0) {
490
+ data.tokenIds = body.tokens.map(
491
+ (t) => new TokenId(
492
+ t.shardNum ?? 0,
493
+ t.realmNum ?? 0,
494
+ t.tokenNum ?? 0
495
+ ).toString()
19
496
  );
20
- if (data.functionParameters.length >= 8) {
21
- data.functionName = data.functionParameters.substring(0, 8);
22
- }
23
497
  }
24
498
  return data;
25
499
  }
26
500
  }
27
501
  export {
28
- SCSParser
502
+ HTSParser
29
503
  };
30
504
  //# sourceMappingURL=standards-sdk.es33.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es33.js","sources":["../../src/utils/parsers/scs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Hbar, HbarUnit, Long } from '@hashgraph/sdk';\nimport { ContractCallData } from '../transaction-parser-types';\nimport { Buffer } from 'buffer';\n\nexport class SCSParser {\n static parseContractCall(\n body: proto.IContractCallTransactionBody\n ): ContractCallData | undefined {\n if (!body) return undefined;\n const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));\n const data: ContractCallData = {\n contractId: new ContractId(\n body.contractID!.shardNum ?? 0,\n body.contractID!.realmNum ?? 0,\n body.contractID!.contractNum ?? 0\n ).toString(),\n gas: Long.fromValue(body.gas ?? 0).toNumber(),\n amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar)),\n };\n if (body.functionParameters) {\n data.functionParameters = Buffer.from(body.functionParameters).toString(\n 'hex'\n );\n if (data.functionParameters.length >= 8) {\n data.functionName = data.functionParameters.substring(0, 8);\n }\n }\n return data;\n }\n}\n"],"names":["Buffer"],"mappings":";;AAKO,MAAM,UAAU;AAAA,EACrB,OAAO,kBACL,MAC8B;AAC1B,QAAA,CAAC,KAAa,QAAA;AACZ,UAAA,aAAa,KAAK,aAAa,KAAK,UAAU,KAAK,UAAU,CAAC,CAAC;AACrE,UAAM,OAAyB;AAAA,MAC7B,YAAY,IAAI;AAAA,QACd,KAAK,WAAY,YAAY;AAAA,QAC7B,KAAK,WAAY,YAAY;AAAA,QAC7B,KAAK,WAAY,eAAe;AAAA,QAChC,SAAS;AAAA,MACX,KAAK,KAAK,UAAU,KAAK,OAAO,CAAC,EAAE,SAAS;AAAA,MAC5C,QAAQ,WAAW,WAAW,SAAS,SAAS,IAAI,CAAC;AAAA,IACvD;AACA,QAAI,KAAK,oBAAoB;AAC3B,WAAK,qBAAqBA,SAAO,KAAK,KAAK,kBAAkB,EAAE;AAAA,QAC7D;AAAA,MACF;AACI,UAAA,KAAK,mBAAmB,UAAU,GAAG;AACvC,aAAK,eAAe,KAAK,mBAAmB,UAAU,GAAG,CAAC;AAAA,MAAA;AAAA,IAC5D;AAEK,WAAA;AAAA,EAAA;AAEX;"}
1
+ {"version":3,"file":"standards-sdk.es33.js","sources":["../../src/utils/parsers/hts-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { AccountId, TokenId, Long } from '@hashgraph/sdk';\nimport {\n TokenCreationData,\n TokenMintData,\n TokenBurnData,\n TokenUpdateData,\n TokenFeeScheduleUpdateData,\n TokenFreezeData,\n TokenUnfreezeData,\n TokenGrantKycData,\n TokenRevokeKycData,\n TokenPauseData,\n TokenUnpauseData,\n TokenWipeAccountData,\n TokenDeleteData,\n TokenAssociateData,\n TokenDissociateData,\n CustomFeeData,\n FixedFeeData,\n FractionalFeeData,\n RoyaltyFeeData,\n} from '../transaction-parser-types';\nimport { parseKey } from './parser-utils';\nimport { Buffer } from 'buffer';\n\nexport class HTSParser {\n static parseTokenCreate(\n body: proto.ITokenCreateTransactionBody\n ): TokenCreationData | undefined {\n if (!body) return undefined;\n const data: TokenCreationData = {};\n if (body.name) {\n data.tokenName = body.name;\n }\n if (body.symbol) {\n data.tokenSymbol = body.symbol;\n }\n if (body.treasury) {\n data.treasuryAccountId = new AccountId(\n body.treasury.shardNum ?? 0,\n body.treasury.realmNum ?? 0,\n body.treasury.accountNum ?? 0\n ).toString();\n }\n if (body.initialSupply) {\n data.initialSupply = Long.fromValue(body.initialSupply).toString();\n }\n if (body.decimals !== undefined && body.decimals !== null) {\n data.decimals = Long.fromValue(body.decimals).toNumber();\n }\n if (body.maxSupply) {\n data.maxSupply = Long.fromValue(body.maxSupply).toString();\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n if (body.tokenType !== null && body.tokenType !== undefined) {\n data.tokenType = proto.TokenType[body.tokenType];\n }\n if (body.supplyType !== null && body.supplyType !== undefined) {\n data.supplyType = proto.TokenSupplyType[body.supplyType];\n }\n data.adminKey = parseKey(body.adminKey);\n data.kycKey = parseKey(body.kycKey);\n data.freezeKey = parseKey(body.freezeKey);\n data.wipeKey = parseKey(body.wipeKey);\n data.supplyKey = parseKey(body.supplyKey);\n data.feeScheduleKey = parseKey(body.feeScheduleKey);\n data.pauseKey = parseKey(body.pauseKey);\n if (body.autoRenewAccount) {\n data.autoRenewAccount = new AccountId(\n body.autoRenewAccount.shardNum ?? 0,\n body.autoRenewAccount.realmNum ?? 0,\n body.autoRenewAccount.accountNum ?? 0\n ).toString();\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.customFees && body.customFees.length > 0) {\n data.customFees = body.customFees.map((fee) => {\n const feeCollectorAccountId = fee.feeCollectorAccountId\n ? new AccountId(\n fee.feeCollectorAccountId.shardNum ?? 0,\n fee.feeCollectorAccountId.realmNum ?? 0,\n fee.feeCollectorAccountId.accountNum ?? 0\n ).toString()\n : 'Not Set';\n const commonFeeData = {\n feeCollectorAccountId,\n allCollectorsAreExempt: fee.allCollectorsAreExempt || false,\n };\n if (fee.fixedFee) {\n return {\n ...commonFeeData,\n feeType: 'FIXED_FEE',\n fixedFee: {\n amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),\n denominatingTokenId: fee.fixedFee.denominatingTokenId\n ? new TokenId(\n fee.fixedFee.denominatingTokenId.shardNum ?? 0,\n fee.fixedFee.denominatingTokenId.realmNum ?? 0,\n fee.fixedFee.denominatingTokenId.tokenNum ?? 0\n ).toString()\n : undefined,\n },\n };\n } else if (fee.fractionalFee) {\n return {\n ...commonFeeData,\n feeType: 'FRACTIONAL_FEE',\n fractionalFee: {\n numerator: Long.fromValue(\n fee.fractionalFee.fractionalAmount?.numerator || 0\n ).toString(),\n denominator: Long.fromValue(\n fee.fractionalFee.fractionalAmount?.denominator || 1\n ).toString(),\n minimumAmount: Long.fromValue(\n fee.fractionalFee.minimumAmount || 0\n ).toString(),\n maximumAmount: Long.fromValue(\n fee.fractionalFee.maximumAmount || 0\n ).toString(),\n netOfTransfers: fee.fractionalFee.netOfTransfers || false,\n },\n };\n } else if (fee.royaltyFee) {\n let fallbackFeeData: FixedFeeData | undefined = undefined;\n if (fee.royaltyFee.fallbackFee) {\n fallbackFeeData = {\n amount: Long.fromValue(\n fee.royaltyFee.fallbackFee.amount || 0\n ).toString(),\n denominatingTokenId: fee.royaltyFee.fallbackFee\n .denominatingTokenId\n ? new TokenId(\n fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ??\n 0,\n fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ??\n 0,\n fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0\n ).toString()\n : undefined,\n };\n }\n return {\n ...commonFeeData,\n feeType: 'ROYALTY_FEE',\n royaltyFee: {\n numerator: Long.fromValue(\n fee.royaltyFee.exchangeValueFraction?.numerator || 0\n ).toString(),\n denominator: Long.fromValue(\n fee.royaltyFee.exchangeValueFraction?.denominator || 1\n ).toString(),\n fallbackFee: fallbackFeeData,\n },\n };\n }\n return {\n ...commonFeeData,\n feeType: 'FIXED_FEE',\n fixedFee: { amount: '0' },\n } as CustomFeeData;\n });\n }\n return data;\n }\n\n static parseTokenMint(\n body: proto.ITokenMintTransactionBody\n ): TokenMintData | undefined {\n if (\n !body ||\n !body.token ||\n body.amount === null ||\n body.amount === undefined\n ) {\n return undefined;\n }\n const data: TokenMintData = {\n tokenId: new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString(),\n amount: Long.fromValue(body.amount).toNumber(),\n };\n if (body.metadata && body.metadata.length > 0) {\n data.metadata = body.metadata.map((meta) =>\n Buffer.from(meta).toString('base64')\n );\n }\n return data;\n }\n\n static parseTokenBurn(\n body: proto.ITokenBurnTransactionBody\n ): TokenBurnData | undefined {\n if (\n !body ||\n !body.token ||\n body.amount === null ||\n body.amount === undefined\n ) {\n return undefined;\n }\n const data: TokenBurnData = {\n tokenId: new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString(),\n amount: Long.fromValue(body.amount).toNumber(),\n };\n if (body.serialNumbers && body.serialNumbers.length > 0) {\n data.serialNumbers = body.serialNumbers.map((sn) =>\n Long.fromValue(sn).toNumber()\n );\n }\n return data;\n }\n\n static parseTokenUpdate(\n body: proto.ITokenUpdateTransactionBody\n ): TokenUpdateData | undefined {\n if (!body) return undefined;\n const data: TokenUpdateData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.name) {\n data.name = body.name;\n }\n if (body.symbol) {\n data.symbol = body.symbol;\n }\n if (body.treasury) {\n data.treasuryAccountId = new AccountId(\n body.treasury.shardNum ?? 0,\n body.treasury.realmNum ?? 0,\n body.treasury.accountNum ?? 0\n ).toString();\n }\n data.adminKey = parseKey(body.adminKey);\n data.kycKey = parseKey(body.kycKey);\n data.freezeKey = parseKey(body.freezeKey);\n data.wipeKey = parseKey(body.wipeKey);\n data.supplyKey = parseKey(body.supplyKey);\n data.feeScheduleKey = parseKey(body.feeScheduleKey);\n data.pauseKey = parseKey(body.pauseKey);\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 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.expiry?.seconds) {\n data.expiry = `${Long.fromValue(body.expiry.seconds).toString()}.${\n body.expiry.nanos\n }`;\n }\n return data;\n }\n\n static parseTokenFeeScheduleUpdate(\n body: proto.ITokenFeeScheduleUpdateTransactionBody\n ): TokenFeeScheduleUpdateData | undefined {\n if (!body) return undefined;\n const data: TokenFeeScheduleUpdateData = {};\n if (body.tokenId) {\n data.tokenId = new TokenId(\n body.tokenId.shardNum ?? 0,\n body.tokenId.realmNum ?? 0,\n body.tokenId.tokenNum ?? 0\n ).toString();\n }\n if (body.customFees && body.customFees.length > 0) {\n data.customFees = body.customFees.map((fee) => {\n const feeCollectorAccountId = fee.feeCollectorAccountId\n ? new AccountId(\n fee.feeCollectorAccountId.shardNum ?? 0,\n fee.feeCollectorAccountId.realmNum ?? 0,\n fee.feeCollectorAccountId.accountNum ?? 0\n ).toString()\n : 'Not Set';\n const commonFeeData = {\n feeCollectorAccountId,\n allCollectorsAreExempt: fee.allCollectorsAreExempt || false,\n };\n if (fee.fixedFee) {\n return {\n ...commonFeeData,\n feeType: 'FIXED_FEE',\n fixedFee: {\n amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),\n denominatingTokenId: fee.fixedFee.denominatingTokenId\n ? new TokenId(\n fee.fixedFee.denominatingTokenId.shardNum ?? 0,\n fee.fixedFee.denominatingTokenId.realmNum ?? 0,\n fee.fixedFee.denominatingTokenId.tokenNum ?? 0\n ).toString()\n : undefined,\n },\n };\n } else if (fee.fractionalFee) {\n return {\n ...commonFeeData,\n feeType: 'FRACTIONAL_FEE',\n fractionalFee: {\n numerator: Long.fromValue(\n fee.fractionalFee.fractionalAmount?.numerator || 0\n ).toString(),\n denominator: Long.fromValue(\n fee.fractionalFee.fractionalAmount?.denominator || 1\n ).toString(),\n minimumAmount: Long.fromValue(\n fee.fractionalFee.minimumAmount || 0\n ).toString(),\n maximumAmount: Long.fromValue(\n fee.fractionalFee.maximumAmount || 0\n ).toString(),\n netOfTransfers: fee.fractionalFee.netOfTransfers || false,\n },\n };\n } else if (fee.royaltyFee) {\n let fallbackFeeData: FixedFeeData | undefined = undefined;\n if (fee.royaltyFee.fallbackFee) {\n fallbackFeeData = {\n amount: Long.fromValue(\n fee.royaltyFee.fallbackFee.amount || 0\n ).toString(),\n denominatingTokenId: fee.royaltyFee.fallbackFee\n .denominatingTokenId\n ? new TokenId(\n fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ??\n 0,\n fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ??\n 0,\n fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0\n ).toString()\n : undefined,\n };\n }\n return {\n ...commonFeeData,\n feeType: 'ROYALTY_FEE',\n royaltyFee: {\n numerator: Long.fromValue(\n fee.royaltyFee.exchangeValueFraction?.numerator || 0\n ).toString(),\n denominator: Long.fromValue(\n fee.royaltyFee.exchangeValueFraction?.denominator || 1\n ).toString(),\n fallbackFee: fallbackFeeData,\n },\n };\n }\n return {\n ...commonFeeData,\n feeType: 'FIXED_FEE',\n fixedFee: { amount: '0' },\n } as CustomFeeData;\n });\n }\n return data;\n }\n\n static parseTokenFreeze(\n body: proto.ITokenFreezeAccountTransactionBody\n ): TokenFreezeData | undefined {\n if (!body) return undefined;\n const data: TokenFreezeData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenUnfreeze(\n body: proto.ITokenUnfreezeAccountTransactionBody\n ): TokenUnfreezeData | undefined {\n if (!body) return undefined;\n const data: TokenUnfreezeData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenGrantKyc(\n body: proto.ITokenGrantKycTransactionBody\n ): TokenGrantKycData | undefined {\n if (!body) return undefined;\n const data: TokenGrantKycData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenRevokeKyc(\n body: proto.ITokenRevokeKycTransactionBody\n ): TokenRevokeKycData | undefined {\n if (!body) return undefined;\n const data: TokenRevokeKycData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenPause(\n body: proto.ITokenPauseTransactionBody\n ): TokenPauseData | undefined {\n if (!body) return undefined;\n const data: TokenPauseData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenUnpause(\n body: proto.ITokenUnpauseTransactionBody\n ): TokenUnpauseData | undefined {\n if (!body) return undefined;\n const data: TokenUnpauseData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenWipeAccount(\n body: proto.ITokenWipeAccountTransactionBody\n ): TokenWipeAccountData | undefined {\n if (!body) return undefined;\n const data: TokenWipeAccountData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n if (body.serialNumbers && body.serialNumbers.length > 0) {\n data.serialNumbers = body.serialNumbers.map((sn) =>\n Long.fromValue(sn).toString()\n );\n }\n if (body.amount) {\n data.amount = Long.fromValue(body.amount).toString();\n }\n return data;\n }\n\n static parseTokenDelete(\n body: proto.ITokenDeleteTransactionBody\n ): TokenDeleteData | undefined {\n if (!body) return undefined;\n const data: TokenDeleteData = {};\n if (body.token) {\n data.tokenId = new TokenId(\n body.token.shardNum ?? 0,\n body.token.realmNum ?? 0,\n body.token.tokenNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseTokenAssociate(\n body: proto.ITokenAssociateTransactionBody\n ): TokenAssociateData | undefined {\n if (!body) return undefined;\n const data: TokenAssociateData = {};\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n if (body.tokens && body.tokens.length > 0) {\n data.tokenIds = body.tokens.map((t) =>\n new TokenId(\n t.shardNum ?? 0,\n t.realmNum ?? 0,\n t.tokenNum ?? 0\n ).toString()\n );\n }\n return data;\n }\n\n static parseTokenDissociate(\n body: proto.ITokenDissociateTransactionBody\n ): TokenDissociateData | undefined {\n if (!body) return undefined;\n const data: TokenDissociateData = {};\n if (body.account) {\n data.accountId = new AccountId(\n body.account.shardNum ?? 0,\n body.account.realmNum ?? 0,\n body.account.accountNum ?? 0\n ).toString();\n }\n if (body.tokens && body.tokens.length > 0) {\n data.tokenIds = body.tokens.map((t) =>\n new TokenId(\n t.shardNum ?? 0,\n t.realmNum ?? 0,\n t.tokenNum ?? 0\n ).toString()\n );\n }\n return data;\n }\n}\n"],"names":["Buffer"],"mappings":";;;;AA0BO,MAAM,UAAU;AAAA,EACrB,OAAO,iBACL,MAC+B;AAC3B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA0B,CAAC;AACjC,QAAI,KAAK,MAAM;AACb,WAAK,YAAY,KAAK;AAAA,IAAA;AAExB,QAAI,KAAK,QAAQ;AACf,WAAK,cAAc,KAAK;AAAA,IAAA;AAE1B,QAAI,KAAK,UAAU;AACjB,WAAK,oBAAoB,IAAI;AAAA,QAC3B,KAAK,SAAS,YAAY;AAAA,QAC1B,KAAK,SAAS,YAAY;AAAA,QAC1B,KAAK,SAAS,cAAc;AAAA,QAC5B,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,eAAe;AACtB,WAAK,gBAAgB,KAAK,UAAU,KAAK,aAAa,EAAE,SAAS;AAAA,IAAA;AAEnE,QAAI,KAAK,aAAa,UAAa,KAAK,aAAa,MAAM;AACzD,WAAK,WAAW,KAAK,UAAU,KAAK,QAAQ,EAAE,SAAS;AAAA,IAAA;AAEzD,QAAI,KAAK,WAAW;AAClB,WAAK,YAAY,KAAK,UAAU,KAAK,SAAS,EAAE,SAAS;AAAA,IAAA;AAE3D,QAAI,KAAK,MAAM;AACb,WAAK,OAAO,KAAK;AAAA,IAAA;AAEnB,QAAI,KAAK,cAAc,QAAQ,KAAK,cAAc,QAAW;AAC3D,WAAK,YAAY,MAAM,UAAU,KAAK,SAAS;AAAA,IAAA;AAEjD,QAAI,KAAK,eAAe,QAAQ,KAAK,eAAe,QAAW;AAC7D,WAAK,aAAa,MAAM,gBAAgB,KAAK,UAAU;AAAA,IAAA;AAEpD,SAAA,WAAW,SAAS,KAAK,QAAQ;AACjC,SAAA,SAAS,SAAS,KAAK,MAAM;AAC7B,SAAA,YAAY,SAAS,KAAK,SAAS;AACnC,SAAA,UAAU,SAAS,KAAK,OAAO;AAC/B,SAAA,YAAY,SAAS,KAAK,SAAS;AACnC,SAAA,iBAAiB,SAAS,KAAK,cAAc;AAC7C,SAAA,WAAW,SAAS,KAAK,QAAQ;AACtC,QAAI,KAAK,kBAAkB;AACzB,WAAK,mBAAmB,IAAI;AAAA,QAC1B,KAAK,iBAAiB,YAAY;AAAA,QAClC,KAAK,iBAAiB,YAAY;AAAA,QAClC,KAAK,iBAAiB,cAAc;AAAA,QACpC,SAAS;AAAA,IAAA;AAET,QAAA,KAAK,iBAAiB,SAAS;AACjC,WAAK,kBAAkB,KAAK;AAAA,QAC1B,KAAK,gBAAgB;AAAA,QACrB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,cAAc,KAAK,WAAW,SAAS,GAAG;AACjD,WAAK,aAAa,KAAK,WAAW,IAAI,CAAC,QAAQ;AACvC,cAAA,wBAAwB,IAAI,wBAC9B,IAAI;AAAA,UACF,IAAI,sBAAsB,YAAY;AAAA,UACtC,IAAI,sBAAsB,YAAY;AAAA,UACtC,IAAI,sBAAsB,cAAc;AAAA,QAAA,EACxC,SACF,IAAA;AACJ,cAAM,gBAAgB;AAAA,UACpB;AAAA,UACA,wBAAwB,IAAI,0BAA0B;AAAA,QACxD;AACA,YAAI,IAAI,UAAU;AACT,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,UAAU;AAAA,cACR,QAAQ,KAAK,UAAU,IAAI,SAAS,UAAU,CAAC,EAAE,SAAS;AAAA,cAC1D,qBAAqB,IAAI,SAAS,sBAC9B,IAAI;AAAA,gBACF,IAAI,SAAS,oBAAoB,YAAY;AAAA,gBAC7C,IAAI,SAAS,oBAAoB,YAAY;AAAA,gBAC7C,IAAI,SAAS,oBAAoB,YAAY;AAAA,cAC/C,EAAE,aACF;AAAA,YAAA;AAAA,UAER;AAAA,QAAA,WACS,IAAI,eAAe;AACrB,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,eAAe;AAAA,cACb,WAAW,KAAK;AAAA,gBACd,IAAI,cAAc,kBAAkB,aAAa;AAAA,gBACjD,SAAS;AAAA,cACX,aAAa,KAAK;AAAA,gBAChB,IAAI,cAAc,kBAAkB,eAAe;AAAA,gBACnD,SAAS;AAAA,cACX,eAAe,KAAK;AAAA,gBAClB,IAAI,cAAc,iBAAiB;AAAA,gBACnC,SAAS;AAAA,cACX,eAAe,KAAK;AAAA,gBAClB,IAAI,cAAc,iBAAiB;AAAA,gBACnC,SAAS;AAAA,cACX,gBAAgB,IAAI,cAAc,kBAAkB;AAAA,YAAA;AAAA,UAExD;AAAA,QAAA,WACS,IAAI,YAAY;AACzB,cAAI,kBAA4C;AAC5C,cAAA,IAAI,WAAW,aAAa;AACZ,8BAAA;AAAA,cAChB,QAAQ,KAAK;AAAA,gBACX,IAAI,WAAW,YAAY,UAAU;AAAA,gBACrC,SAAS;AAAA,cACX,qBAAqB,IAAI,WAAW,YACjC,sBACC,IAAI;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAC7C;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAC7C;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAAY;AAAA,cAC7D,EAAE,aACF;AAAA,YACN;AAAA,UAAA;AAEK,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,YAAY;AAAA,cACV,WAAW,KAAK;AAAA,gBACd,IAAI,WAAW,uBAAuB,aAAa;AAAA,gBACnD,SAAS;AAAA,cACX,aAAa,KAAK;AAAA,gBAChB,IAAI,WAAW,uBAAuB,eAAe;AAAA,gBACrD,SAAS;AAAA,cACX,aAAa;AAAA,YAAA;AAAA,UAEjB;AAAA,QAAA;AAEK,eAAA;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,UACT,UAAU,EAAE,QAAQ,IAAI;AAAA,QAC1B;AAAA,MAAA,CACD;AAAA,IAAA;AAEI,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,eACL,MAC2B;AAEzB,QAAA,CAAC,QACD,CAAC,KAAK,SACN,KAAK,WAAW,QAChB,KAAK,WAAW,QAChB;AACO,aAAA;AAAA,IAAA;AAET,UAAM,OAAsB;AAAA,MAC1B,SAAS,IAAI;AAAA,QACX,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,MACX,QAAQ,KAAK,UAAU,KAAK,MAAM,EAAE,SAAS;AAAA,IAC/C;AACA,QAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AACxC,WAAA,WAAW,KAAK,SAAS;AAAA,QAAI,CAAC,SACjCA,SAAO,KAAK,IAAI,EAAE,SAAS,QAAQ;AAAA,MACrC;AAAA,IAAA;AAEK,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,eACL,MAC2B;AAEzB,QAAA,CAAC,QACD,CAAC,KAAK,SACN,KAAK,WAAW,QAChB,KAAK,WAAW,QAChB;AACO,aAAA;AAAA,IAAA;AAET,UAAM,OAAsB;AAAA,MAC1B,SAAS,IAAI;AAAA,QACX,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,MACX,QAAQ,KAAK,UAAU,KAAK,MAAM,EAAE,SAAS;AAAA,IAC/C;AACA,QAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AAClD,WAAA,gBAAgB,KAAK,cAAc;AAAA,QAAI,CAAC,OAC3C,KAAK,UAAU,EAAE,EAAE,SAAS;AAAA,MAC9B;AAAA,IAAA;AAEK,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,iBACL,MAC6B;AACzB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAwB,CAAC;AAC/B,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,MAAM;AACb,WAAK,OAAO,KAAK;AAAA,IAAA;AAEnB,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS,KAAK;AAAA,IAAA;AAErB,QAAI,KAAK,UAAU;AACjB,WAAK,oBAAoB,IAAI;AAAA,QAC3B,KAAK,SAAS,YAAY;AAAA,QAC1B,KAAK,SAAS,YAAY;AAAA,QAC1B,KAAK,SAAS,cAAc;AAAA,QAC5B,SAAS;AAAA,IAAA;AAER,SAAA,WAAW,SAAS,KAAK,QAAQ;AACjC,SAAA,SAAS,SAAS,KAAK,MAAM;AAC7B,SAAA,YAAY,SAAS,KAAK,SAAS;AACnC,SAAA,UAAU,SAAS,KAAK,OAAO;AAC/B,SAAA,YAAY,SAAS,KAAK,SAAS;AACnC,SAAA,iBAAiB,SAAS,KAAK,cAAc;AAC7C,SAAA,WAAW,SAAS,KAAK,QAAQ;AACtC,QAAI,KAAK,kBAAkB;AACzB,WAAK,qBAAqB,IAAI;AAAA,QAC5B,KAAK,iBAAiB,YAAY;AAAA,QAClC,KAAK,iBAAiB,YAAY;AAAA,QAClC,KAAK,iBAAiB,cAAc;AAAA,QACpC,SAAS;AAAA,IAAA;AAET,QAAA,KAAK,iBAAiB,SAAS;AACjC,WAAK,kBAAkB,KAAK;AAAA,QAC1B,KAAK,gBAAgB;AAAA,QACrB,SAAS;AAAA,IAAA;AAET,QAAA,KAAK,MAAM,UAAU,QAAW;AAC7B,WAAA,OAAO,KAAK,KAAK;AAAA,IAAA;AAEpB,QAAA,KAAK,QAAQ,SAAS;AACxB,WAAK,SAAS,GAAG,KAAK,UAAU,KAAK,OAAO,OAAO,EAAE,SAAU,CAAA,IAC7D,KAAK,OAAO,KACd;AAAA,IAAA;AAEK,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,4BACL,MACwC;AACpC,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAmC,CAAC;AAC1C,QAAI,KAAK,SAAS;AAChB,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,cAAc,KAAK,WAAW,SAAS,GAAG;AACjD,WAAK,aAAa,KAAK,WAAW,IAAI,CAAC,QAAQ;AACvC,cAAA,wBAAwB,IAAI,wBAC9B,IAAI;AAAA,UACF,IAAI,sBAAsB,YAAY;AAAA,UACtC,IAAI,sBAAsB,YAAY;AAAA,UACtC,IAAI,sBAAsB,cAAc;AAAA,QAAA,EACxC,SACF,IAAA;AACJ,cAAM,gBAAgB;AAAA,UACpB;AAAA,UACA,wBAAwB,IAAI,0BAA0B;AAAA,QACxD;AACA,YAAI,IAAI,UAAU;AACT,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,UAAU;AAAA,cACR,QAAQ,KAAK,UAAU,IAAI,SAAS,UAAU,CAAC,EAAE,SAAS;AAAA,cAC1D,qBAAqB,IAAI,SAAS,sBAC9B,IAAI;AAAA,gBACF,IAAI,SAAS,oBAAoB,YAAY;AAAA,gBAC7C,IAAI,SAAS,oBAAoB,YAAY;AAAA,gBAC7C,IAAI,SAAS,oBAAoB,YAAY;AAAA,cAC/C,EAAE,aACF;AAAA,YAAA;AAAA,UAER;AAAA,QAAA,WACS,IAAI,eAAe;AACrB,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,eAAe;AAAA,cACb,WAAW,KAAK;AAAA,gBACd,IAAI,cAAc,kBAAkB,aAAa;AAAA,gBACjD,SAAS;AAAA,cACX,aAAa,KAAK;AAAA,gBAChB,IAAI,cAAc,kBAAkB,eAAe;AAAA,gBACnD,SAAS;AAAA,cACX,eAAe,KAAK;AAAA,gBAClB,IAAI,cAAc,iBAAiB;AAAA,gBACnC,SAAS;AAAA,cACX,eAAe,KAAK;AAAA,gBAClB,IAAI,cAAc,iBAAiB;AAAA,gBACnC,SAAS;AAAA,cACX,gBAAgB,IAAI,cAAc,kBAAkB;AAAA,YAAA;AAAA,UAExD;AAAA,QAAA,WACS,IAAI,YAAY;AACzB,cAAI,kBAA4C;AAC5C,cAAA,IAAI,WAAW,aAAa;AACZ,8BAAA;AAAA,cAChB,QAAQ,KAAK;AAAA,gBACX,IAAI,WAAW,YAAY,UAAU;AAAA,gBACrC,SAAS;AAAA,cACX,qBAAqB,IAAI,WAAW,YACjC,sBACC,IAAI;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAC7C;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAC7C;AAAA,gBACF,IAAI,WAAW,YAAY,oBAAoB,YAAY;AAAA,cAC7D,EAAE,aACF;AAAA,YACN;AAAA,UAAA;AAEK,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,YACT,YAAY;AAAA,cACV,WAAW,KAAK;AAAA,gBACd,IAAI,WAAW,uBAAuB,aAAa;AAAA,gBACnD,SAAS;AAAA,cACX,aAAa,KAAK;AAAA,gBAChB,IAAI,WAAW,uBAAuB,eAAe;AAAA,gBACrD,SAAS;AAAA,cACX,aAAa;AAAA,YAAA;AAAA,UAEjB;AAAA,QAAA;AAEK,eAAA;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,UACT,UAAU,EAAE,QAAQ,IAAI;AAAA,QAC1B;AAAA,MAAA,CACD;AAAA,IAAA;AAEI,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,iBACL,MAC6B;AACzB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAwB,CAAC;AAC/B,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,mBACL,MAC+B;AAC3B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA0B,CAAC;AACjC,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,mBACL,MAC+B;AAC3B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA0B,CAAC;AACjC,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,oBACL,MACgC;AAC5B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA2B,CAAC;AAClC,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,gBACL,MAC4B;AACxB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAuB,CAAC;AAC9B,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,kBACL,MAC8B;AAC1B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAyB,CAAC;AAChC,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,sBACL,MACkC;AAC9B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA6B,CAAC;AACpC,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AAClD,WAAA,gBAAgB,KAAK,cAAc;AAAA,QAAI,CAAC,OAC3C,KAAK,UAAU,EAAE,EAAE,SAAS;AAAA,MAC9B;AAAA,IAAA;AAEF,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS,KAAK,UAAU,KAAK,MAAM,EAAE,SAAS;AAAA,IAAA;AAE9C,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,iBACL,MAC6B;AACzB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAwB,CAAC;AAC/B,QAAI,KAAK,OAAO;AACd,WAAK,UAAU,IAAI;AAAA,QACjB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,KAAK,MAAM,YAAY;AAAA,QACvB,SAAS;AAAA,IAAA;AAEN,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,oBACL,MACgC;AAC5B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA2B,CAAC;AAClC,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,UAAU,KAAK,OAAO,SAAS,GAAG;AACpC,WAAA,WAAW,KAAK,OAAO;AAAA,QAAI,CAAC,MAC/B,IAAI;AAAA,UACF,EAAE,YAAY;AAAA,UACd,EAAE,YAAY;AAAA,UACd,EAAE,YAAY;AAAA,QAAA,EACd,SAAS;AAAA,MACb;AAAA,IAAA;AAEK,WAAA;AAAA,EAAA;AAAA,EAGT,OAAO,qBACL,MACiC;AAC7B,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAA4B,CAAC;AACnC,QAAI,KAAK,SAAS;AAChB,WAAK,YAAY,IAAI;AAAA,QACnB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,YAAY;AAAA,QACzB,KAAK,QAAQ,cAAc;AAAA,QAC3B,SAAS;AAAA,IAAA;AAEb,QAAI,KAAK,UAAU,KAAK,OAAO,SAAS,GAAG;AACpC,WAAA,WAAW,KAAK,OAAO;AAAA,QAAI,CAAC,MAC/B,IAAI;AAAA,UACF,EAAE,YAAY;AAAA,UACd,EAAE,YAAY;AAAA,UACd,EAAE,YAAY;AAAA,QAAA,EACd,SAAS;AAAA,MACb;AAAA,IAAA;AAEK,WAAA;AAAA,EAAA;AAEX;"}