@sravankumar02/sdk-core 1.0.0

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 (561) hide show
  1. package/LICENSE +11 -0
  2. package/README.md +94 -0
  3. package/out/abi/argSerializer.d.ts +45 -0
  4. package/out/abi/argSerializer.js +171 -0
  5. package/out/abi/argSerializer.js.map +1 -0
  6. package/out/abi/argumentErrorContext.d.ts +12 -0
  7. package/out/abi/argumentErrorContext.js +34 -0
  8. package/out/abi/argumentErrorContext.js.map +1 -0
  9. package/out/abi/code.d.ts +23 -0
  10. package/out/abi/code.js +41 -0
  11. package/out/abi/code.js.map +1 -0
  12. package/out/abi/codec/address.d.ts +24 -0
  13. package/out/abi/codec/address.js +41 -0
  14. package/out/abi/codec/address.js.map +1 -0
  15. package/out/abi/codec/arrayVec.d.ts +11 -0
  16. package/out/abi/codec/arrayVec.js +39 -0
  17. package/out/abi/codec/arrayVec.js.map +1 -0
  18. package/out/abi/codec/binary.d.ts +30 -0
  19. package/out/abi/codec/binary.js +134 -0
  20. package/out/abi/codec/binary.js.map +1 -0
  21. package/out/abi/codec/binaryCodecUtils.d.ts +6 -0
  22. package/out/abi/codec/binaryCodecUtils.js +35 -0
  23. package/out/abi/codec/binaryCodecUtils.js.map +1 -0
  24. package/out/abi/codec/boolean.d.ts +13 -0
  25. package/out/abi/codec/boolean.js +57 -0
  26. package/out/abi/codec/boolean.js.map +1 -0
  27. package/out/abi/codec/bytes.d.ts +11 -0
  28. package/out/abi/codec/bytes.js +30 -0
  29. package/out/abi/codec/bytes.js.map +1 -0
  30. package/out/abi/codec/codemetadata.d.ts +8 -0
  31. package/out/abi/codec/codemetadata.js +23 -0
  32. package/out/abi/codec/codemetadata.js.map +1 -0
  33. package/out/abi/codec/constants.d.ts +1 -0
  34. package/out/abi/codec/constants.js +5 -0
  35. package/out/abi/codec/constants.js.map +1 -0
  36. package/out/abi/codec/enum.d.ts +13 -0
  37. package/out/abi/codec/enum.js +49 -0
  38. package/out/abi/codec/enum.js.map +1 -0
  39. package/out/abi/codec/explicit-enum.d.ts +10 -0
  40. package/out/abi/codec/explicit-enum.js +30 -0
  41. package/out/abi/codec/explicit-enum.js.map +1 -0
  42. package/out/abi/codec/fields.d.ts +9 -0
  43. package/out/abi/codec/fields.js +31 -0
  44. package/out/abi/codec/fields.js.map +1 -0
  45. package/out/abi/codec/h256.d.ts +24 -0
  46. package/out/abi/codec/h256.js +39 -0
  47. package/out/abi/codec/h256.js.map +1 -0
  48. package/out/abi/codec/index.d.ts +6 -0
  49. package/out/abi/codec/index.js +19 -0
  50. package/out/abi/codec/index.js.map +1 -0
  51. package/out/abi/codec/list.d.ts +14 -0
  52. package/out/abi/codec/list.js +67 -0
  53. package/out/abi/codec/list.js.map +1 -0
  54. package/out/abi/codec/managedDecimal.d.ts +11 -0
  55. package/out/abi/codec/managedDecimal.js +53 -0
  56. package/out/abi/codec/managedDecimal.js.map +1 -0
  57. package/out/abi/codec/managedDecimalSigned.d.ts +11 -0
  58. package/out/abi/codec/managedDecimalSigned.js +53 -0
  59. package/out/abi/codec/managedDecimalSigned.js.map +1 -0
  60. package/out/abi/codec/nothing.d.ts +8 -0
  61. package/out/abi/codec/nothing.js +20 -0
  62. package/out/abi/codec/nothing.js.map +1 -0
  63. package/out/abi/codec/numerical.d.ts +13 -0
  64. package/out/abi/codec/numerical.js +122 -0
  65. package/out/abi/codec/numerical.js.map +1 -0
  66. package/out/abi/codec/option.d.ts +14 -0
  67. package/out/abi/codec/option.js +66 -0
  68. package/out/abi/codec/option.js.map +1 -0
  69. package/out/abi/codec/primitive.d.ts +20 -0
  70. package/out/abi/codec/primitive.js +81 -0
  71. package/out/abi/codec/primitive.js.map +1 -0
  72. package/out/abi/codec/string.d.ts +9 -0
  73. package/out/abi/codec/string.js +28 -0
  74. package/out/abi/codec/string.js.map +1 -0
  75. package/out/abi/codec/struct.d.ts +11 -0
  76. package/out/abi/codec/struct.js +30 -0
  77. package/out/abi/codec/struct.js.map +1 -0
  78. package/out/abi/codec/tokenIdentifier.d.ts +9 -0
  79. package/out/abi/codec/tokenIdentifier.js +28 -0
  80. package/out/abi/codec/tokenIdentifier.js.map +1 -0
  81. package/out/abi/codec/tuple.d.ts +11 -0
  82. package/out/abi/codec/tuple.js +23 -0
  83. package/out/abi/codec/tuple.js.map +1 -0
  84. package/out/abi/codec/utils.d.ts +20 -0
  85. package/out/abi/codec/utils.js +69 -0
  86. package/out/abi/codec/utils.js.map +1 -0
  87. package/out/abi/function.d.ts +24 -0
  88. package/out/abi/function.js +56 -0
  89. package/out/abi/function.js.map +1 -0
  90. package/out/abi/index.d.ts +12 -0
  91. package/out/abi/index.js +25 -0
  92. package/out/abi/index.js.map +1 -0
  93. package/out/abi/interaction.d.ts +67 -0
  94. package/out/abi/interaction.js +146 -0
  95. package/out/abi/interaction.js.map +1 -0
  96. package/out/abi/interface.d.ts +85 -0
  97. package/out/abi/interface.js +3 -0
  98. package/out/abi/interface.js.map +1 -0
  99. package/out/abi/nativeSerializer.d.ts +27 -0
  100. package/out/abi/nativeSerializer.js +343 -0
  101. package/out/abi/nativeSerializer.js.map +1 -0
  102. package/out/abi/query.d.ts +18 -0
  103. package/out/abi/query.js +19 -0
  104. package/out/abi/query.js.map +1 -0
  105. package/out/abi/returnCode.d.ts +26 -0
  106. package/out/abi/returnCode.js +45 -0
  107. package/out/abi/returnCode.js.map +1 -0
  108. package/out/abi/smartContract.d.ts +74 -0
  109. package/out/abi/smartContract.js +208 -0
  110. package/out/abi/smartContract.js.map +1 -0
  111. package/out/abi/typeFormula.d.ts +7 -0
  112. package/out/abi/typeFormula.js +20 -0
  113. package/out/abi/typeFormula.js.map +1 -0
  114. package/out/abi/typeFormulaParser.d.ts +14 -0
  115. package/out/abi/typeFormulaParser.js +126 -0
  116. package/out/abi/typeFormulaParser.js.map +1 -0
  117. package/out/abi/typesystem/abi.d.ts +64 -0
  118. package/out/abi/typesystem/abi.js +208 -0
  119. package/out/abi/typesystem/abi.js.map +1 -0
  120. package/out/abi/typesystem/address.d.ts +23 -0
  121. package/out/abi/typesystem/address.js +41 -0
  122. package/out/abi/typesystem/address.js.map +1 -0
  123. package/out/abi/typesystem/algebraic.d.ts +24 -0
  124. package/out/abi/typesystem/algebraic.js +59 -0
  125. package/out/abi/typesystem/algebraic.js.map +1 -0
  126. package/out/abi/typesystem/boolean.d.ts +24 -0
  127. package/out/abi/typesystem/boolean.js +46 -0
  128. package/out/abi/typesystem/boolean.js.map +1 -0
  129. package/out/abi/typesystem/bytes.d.ts +28 -0
  130. package/out/abi/typesystem/bytes.js +58 -0
  131. package/out/abi/typesystem/bytes.js.map +1 -0
  132. package/out/abi/typesystem/codeMetadata.d.ts +11 -0
  133. package/out/abi/typesystem/codeMetadata.js +24 -0
  134. package/out/abi/typesystem/codeMetadata.js.map +1 -0
  135. package/out/abi/typesystem/collections.d.ts +9 -0
  136. package/out/abi/typesystem/collections.js +32 -0
  137. package/out/abi/typesystem/collections.js.map +1 -0
  138. package/out/abi/typesystem/composite.d.ts +16 -0
  139. package/out/abi/typesystem/composite.js +53 -0
  140. package/out/abi/typesystem/composite.js.map +1 -0
  141. package/out/abi/typesystem/endpoint.d.ts +41 -0
  142. package/out/abi/typesystem/endpoint.js +78 -0
  143. package/out/abi/typesystem/endpoint.js.map +1 -0
  144. package/out/abi/typesystem/enum.d.ts +51 -0
  145. package/out/abi/typesystem/enum.js +137 -0
  146. package/out/abi/typesystem/enum.js.map +1 -0
  147. package/out/abi/typesystem/event.d.ts +25 -0
  148. package/out/abi/typesystem/event.js +36 -0
  149. package/out/abi/typesystem/event.js.map +1 -0
  150. package/out/abi/typesystem/explicit-enum.d.ts +33 -0
  151. package/out/abi/typesystem/explicit-enum.js +63 -0
  152. package/out/abi/typesystem/explicit-enum.js.map +1 -0
  153. package/out/abi/typesystem/factory.d.ts +4 -0
  154. package/out/abi/typesystem/factory.js +19 -0
  155. package/out/abi/typesystem/factory.js.map +1 -0
  156. package/out/abi/typesystem/fields.d.ts +24 -0
  157. package/out/abi/typesystem/fields.js +90 -0
  158. package/out/abi/typesystem/fields.js.map +1 -0
  159. package/out/abi/typesystem/generic.d.ts +47 -0
  160. package/out/abi/typesystem/generic.js +120 -0
  161. package/out/abi/typesystem/generic.js.map +1 -0
  162. package/out/abi/typesystem/genericArray.d.ts +17 -0
  163. package/out/abi/typesystem/genericArray.js +44 -0
  164. package/out/abi/typesystem/genericArray.js.map +1 -0
  165. package/out/abi/typesystem/h256.d.ts +18 -0
  166. package/out/abi/typesystem/h256.js +35 -0
  167. package/out/abi/typesystem/h256.js.map +1 -0
  168. package/out/abi/typesystem/index.d.ts +33 -0
  169. package/out/abi/typesystem/index.js +46 -0
  170. package/out/abi/typesystem/index.js.map +1 -0
  171. package/out/abi/typesystem/managedDecimal.d.ts +26 -0
  172. package/out/abi/typesystem/managedDecimal.js +62 -0
  173. package/out/abi/typesystem/managedDecimal.js.map +1 -0
  174. package/out/abi/typesystem/managedDecimalSigned.d.ts +26 -0
  175. package/out/abi/typesystem/managedDecimalSigned.js +62 -0
  176. package/out/abi/typesystem/managedDecimalSigned.js.map +1 -0
  177. package/out/abi/typesystem/matchers.d.ts +51 -0
  178. package/out/abi/typesystem/matchers.js +185 -0
  179. package/out/abi/typesystem/matchers.js.map +1 -0
  180. package/out/abi/typesystem/nothing.d.ts +13 -0
  181. package/out/abi/typesystem/nothing.js +31 -0
  182. package/out/abi/typesystem/nothing.js.map +1 -0
  183. package/out/abi/typesystem/numerical.d.ts +130 -0
  184. package/out/abi/typesystem/numerical.js +286 -0
  185. package/out/abi/typesystem/numerical.js.map +1 -0
  186. package/out/abi/typesystem/string.d.ts +26 -0
  187. package/out/abi/typesystem/string.js +51 -0
  188. package/out/abi/typesystem/string.js.map +1 -0
  189. package/out/abi/typesystem/struct.d.ts +30 -0
  190. package/out/abi/typesystem/struct.js +78 -0
  191. package/out/abi/typesystem/struct.js.map +1 -0
  192. package/out/abi/typesystem/tokenIdentifier.d.ts +21 -0
  193. package/out/abi/typesystem/tokenIdentifier.js +51 -0
  194. package/out/abi/typesystem/tokenIdentifier.js.map +1 -0
  195. package/out/abi/typesystem/tuple.d.ts +16 -0
  196. package/out/abi/typesystem/tuple.js +71 -0
  197. package/out/abi/typesystem/tuple.js.map +1 -0
  198. package/out/abi/typesystem/typeExpressionParser.d.ts +8 -0
  199. package/out/abi/typesystem/typeExpressionParser.js +30 -0
  200. package/out/abi/typesystem/typeExpressionParser.js.map +1 -0
  201. package/out/abi/typesystem/typeMapper.d.ts +20 -0
  202. package/out/abi/typesystem/typeMapper.js +215 -0
  203. package/out/abi/typesystem/typeMapper.js.map +1 -0
  204. package/out/abi/typesystem/types.d.ts +129 -0
  205. package/out/abi/typesystem/types.js +285 -0
  206. package/out/abi/typesystem/types.js.map +1 -0
  207. package/out/abi/typesystem/variadic.d.ts +35 -0
  208. package/out/abi/typesystem/variadic.js +81 -0
  209. package/out/abi/typesystem/variadic.js.map +1 -0
  210. package/out/accountManagement/accountController.d.ts +18 -0
  211. package/out/accountManagement/accountController.js +54 -0
  212. package/out/accountManagement/accountController.js.map +1 -0
  213. package/out/accountManagement/accountTransactionsFactory.d.ts +27 -0
  214. package/out/accountManagement/accountTransactionsFactory.js +78 -0
  215. package/out/accountManagement/accountTransactionsFactory.js.map +1 -0
  216. package/out/accountManagement/index.d.ts +3 -0
  217. package/out/accountManagement/index.js +16 -0
  218. package/out/accountManagement/index.js.map +1 -0
  219. package/out/accountManagement/resources.d.ts +8 -0
  220. package/out/accountManagement/resources.js +3 -0
  221. package/out/accountManagement/resources.js.map +1 -0
  222. package/out/accounts/account.d.ts +94 -0
  223. package/out/accounts/account.js +154 -0
  224. package/out/accounts/account.js.map +1 -0
  225. package/out/accounts/index.d.ts +1 -0
  226. package/out/accounts/index.js +14 -0
  227. package/out/accounts/index.js.map +1 -0
  228. package/out/core/address.d.ts +105 -0
  229. package/out/core/address.js +313 -0
  230. package/out/core/address.js.map +1 -0
  231. package/out/core/asyncTimer.d.ts +27 -0
  232. package/out/core/asyncTimer.js +91 -0
  233. package/out/core/asyncTimer.js.map +1 -0
  234. package/out/core/baseController.d.ts +16 -0
  235. package/out/core/baseController.js +34 -0
  236. package/out/core/baseController.js.map +1 -0
  237. package/out/core/codeMetadata.d.ts +74 -0
  238. package/out/core/codeMetadata.js +146 -0
  239. package/out/core/codeMetadata.js.map +1 -0
  240. package/out/core/compatibility.d.ts +10 -0
  241. package/out/core/compatibility.js +22 -0
  242. package/out/core/compatibility.js.map +1 -0
  243. package/out/core/config.d.ts +15 -0
  244. package/out/core/config.js +20 -0
  245. package/out/core/config.js.map +1 -0
  246. package/out/core/constants.d.ts +28 -0
  247. package/out/core/constants.js +32 -0
  248. package/out/core/constants.js.map +1 -0
  249. package/out/core/errors.d.ts +279 -0
  250. package/out/core/errors.js +437 -0
  251. package/out/core/errors.js.map +1 -0
  252. package/out/core/globals.d.ts +0 -0
  253. package/out/core/globals.js +5 -0
  254. package/out/core/globals.js.map +1 -0
  255. package/out/core/index.d.ts +21 -0
  256. package/out/core/index.js +35 -0
  257. package/out/core/index.js.map +1 -0
  258. package/out/core/interfaces.d.ts +40 -0
  259. package/out/core/interfaces.js +3 -0
  260. package/out/core/interfaces.js.map +1 -0
  261. package/out/core/logger.d.ts +17 -0
  262. package/out/core/logger.js +50 -0
  263. package/out/core/logger.js.map +1 -0
  264. package/out/core/message.d.ts +57 -0
  265. package/out/core/message.js +71 -0
  266. package/out/core/message.js.map +1 -0
  267. package/out/core/networkParams.d.ts +57 -0
  268. package/out/core/networkParams.js +112 -0
  269. package/out/core/networkParams.js.map +1 -0
  270. package/out/core/reflection.d.ts +1 -0
  271. package/out/core/reflection.js +14 -0
  272. package/out/core/reflection.js.map +1 -0
  273. package/out/core/signature.d.ts +17 -0
  274. package/out/core/signature.js +82 -0
  275. package/out/core/signature.js.map +1 -0
  276. package/out/core/smartContractQuery.d.ts +35 -0
  277. package/out/core/smartContractQuery.js +34 -0
  278. package/out/core/smartContractQuery.js.map +1 -0
  279. package/out/core/tokenTransfersDataBuilder.d.ts +10 -0
  280. package/out/core/tokenTransfersDataBuilder.js +44 -0
  281. package/out/core/tokenTransfersDataBuilder.js.map +1 -0
  282. package/out/core/tokens.d.ts +130 -0
  283. package/out/core/tokens.js +287 -0
  284. package/out/core/tokens.js.map +1 -0
  285. package/out/core/transaction.d.ts +263 -0
  286. package/out/core/transaction.js +323 -0
  287. package/out/core/transaction.js.map +1 -0
  288. package/out/core/transactionBuilder.d.ts +32 -0
  289. package/out/core/transactionBuilder.js +45 -0
  290. package/out/core/transactionBuilder.js.map +1 -0
  291. package/out/core/transactionComputer.d.ts +51 -0
  292. package/out/core/transactionComputer.js +163 -0
  293. package/out/core/transactionComputer.js.map +1 -0
  294. package/out/core/transactionEvents.d.ts +17 -0
  295. package/out/core/transactionEvents.js +27 -0
  296. package/out/core/transactionEvents.js.map +1 -0
  297. package/out/core/transactionLogs.d.ts +11 -0
  298. package/out/core/transactionLogs.js +38 -0
  299. package/out/core/transactionLogs.js.map +1 -0
  300. package/out/core/transactionOnNetwork.d.ts +40 -0
  301. package/out/core/transactionOnNetwork.js +164 -0
  302. package/out/core/transactionOnNetwork.js.map +1 -0
  303. package/out/core/transactionStatus.d.ts +45 -0
  304. package/out/core/transactionStatus.js +71 -0
  305. package/out/core/transactionStatus.js.map +1 -0
  306. package/out/core/transactionWatcher.d.ts +48 -0
  307. package/out/core/transactionWatcher.js +148 -0
  308. package/out/core/transactionWatcher.js.map +1 -0
  309. package/out/core/transactionsFactoryConfig.d.ts +54 -0
  310. package/out/core/transactionsFactoryConfig.js +66 -0
  311. package/out/core/transactionsFactoryConfig.js.map +1 -0
  312. package/out/core/utils.codec.d.ts +8 -0
  313. package/out/core/utils.codec.js +75 -0
  314. package/out/core/utils.codec.js.map +1 -0
  315. package/out/core/utils.d.ts +20 -0
  316. package/out/core/utils.js +86 -0
  317. package/out/core/utils.js.map +1 -0
  318. package/out/delegation/delegationController.d.ts +37 -0
  319. package/out/delegation/delegationController.js +215 -0
  320. package/out/delegation/delegationController.js.map +1 -0
  321. package/out/delegation/delegationTransactionsFactory.d.ts +48 -0
  322. package/out/delegation/delegationTransactionsFactory.js +311 -0
  323. package/out/delegation/delegationTransactionsFactory.js.map +1 -0
  324. package/out/delegation/delegationTransactionsOutcomeParser.d.ts +10 -0
  325. package/out/delegation/delegationTransactionsOutcomeParser.js +35 -0
  326. package/out/delegation/delegationTransactionsOutcomeParser.js.map +1 -0
  327. package/out/delegation/index.d.ts +4 -0
  328. package/out/delegation/index.js +17 -0
  329. package/out/delegation/index.js.map +1 -0
  330. package/out/delegation/resources.d.ts +38 -0
  331. package/out/delegation/resources.js +3 -0
  332. package/out/delegation/resources.js.map +1 -0
  333. package/out/entrypoints/config.d.ts +29 -0
  334. package/out/entrypoints/config.js +36 -0
  335. package/out/entrypoints/config.js.map +1 -0
  336. package/out/entrypoints/entrypoints.d.ts +92 -0
  337. package/out/entrypoints/entrypoints.js +203 -0
  338. package/out/entrypoints/entrypoints.js.map +1 -0
  339. package/out/entrypoints/index.d.ts +2 -0
  340. package/out/entrypoints/index.js +15 -0
  341. package/out/entrypoints/index.js.map +1 -0
  342. package/out/governance/governanceController.d.ts +33 -0
  343. package/out/governance/governanceController.js +205 -0
  344. package/out/governance/governanceController.js.map +1 -0
  345. package/out/governance/governanceTransactionsFactory.d.ts +16 -0
  346. package/out/governance/governanceTransactionsFactory.js +99 -0
  347. package/out/governance/governanceTransactionsFactory.js.map +1 -0
  348. package/out/governance/governanceTransactionsOutcomeParser.d.ts +15 -0
  349. package/out/governance/governanceTransactionsOutcomeParser.js +99 -0
  350. package/out/governance/governanceTransactionsOutcomeParser.js.map +1 -0
  351. package/out/governance/index.d.ts +4 -0
  352. package/out/governance/index.js +17 -0
  353. package/out/governance/index.js.map +1 -0
  354. package/out/governance/resources.d.ts +82 -0
  355. package/out/governance/resources.js +11 -0
  356. package/out/governance/resources.js.map +1 -0
  357. package/out/index.d.ts +19 -0
  358. package/out/index.js +32 -0
  359. package/out/index.js.map +1 -0
  360. package/out/multisig/index.d.ts +3 -0
  361. package/out/multisig/index.js +16 -0
  362. package/out/multisig/index.js.map +1 -0
  363. package/out/multisig/multisigController.d.ts +221 -0
  364. package/out/multisig/multisigController.js +540 -0
  365. package/out/multisig/multisigController.js.map +1 -0
  366. package/out/multisig/multisigTransactionsFactory.d.ts +110 -0
  367. package/out/multisig/multisigTransactionsFactory.js +355 -0
  368. package/out/multisig/multisigTransactionsFactory.js.map +1 -0
  369. package/out/multisig/multisigTransactionsOutcomeParser.d.ts +31 -0
  370. package/out/multisig/multisigTransactionsOutcomeParser.js +41 -0
  371. package/out/multisig/multisigTransactionsOutcomeParser.js.map +1 -0
  372. package/out/multisig/proposeTransferExecuteContractInput.d.ts +32 -0
  373. package/out/multisig/proposeTransferExecuteContractInput.js +65 -0
  374. package/out/multisig/proposeTransferExecuteContractInput.js.map +1 -0
  375. package/out/multisig/resources.d.ts +182 -0
  376. package/out/multisig/resources.js +125 -0
  377. package/out/multisig/resources.js.map +1 -0
  378. package/out/networkProviders/accountAwaiter.d.ts +35 -0
  379. package/out/networkProviders/accountAwaiter.js +67 -0
  380. package/out/networkProviders/accountAwaiter.js.map +1 -0
  381. package/out/networkProviders/accounts.d.ts +55 -0
  382. package/out/networkProviders/accounts.js +154 -0
  383. package/out/networkProviders/accounts.js.map +1 -0
  384. package/out/networkProviders/apiNetworkProvider.d.ts +48 -0
  385. package/out/networkProviders/apiNetworkProvider.js +235 -0
  386. package/out/networkProviders/apiNetworkProvider.js.map +1 -0
  387. package/out/networkProviders/blocks.d.ts +48 -0
  388. package/out/networkProviders/blocks.js +76 -0
  389. package/out/networkProviders/blocks.js.map +1 -0
  390. package/out/networkProviders/config.d.ts +6 -0
  391. package/out/networkProviders/config.js +18 -0
  392. package/out/networkProviders/config.js.map +1 -0
  393. package/out/networkProviders/constants.d.ts +9 -0
  394. package/out/networkProviders/constants.js +16 -0
  395. package/out/networkProviders/constants.js.map +1 -0
  396. package/out/networkProviders/contractQueryRequest.d.ts +6 -0
  397. package/out/networkProviders/contractQueryRequest.js +20 -0
  398. package/out/networkProviders/contractQueryRequest.js.map +1 -0
  399. package/out/networkProviders/index.d.ts +11 -0
  400. package/out/networkProviders/index.js +28 -0
  401. package/out/networkProviders/index.js.map +1 -0
  402. package/out/networkProviders/interface.d.ts +110 -0
  403. package/out/networkProviders/interface.js +3 -0
  404. package/out/networkProviders/interface.js.map +1 -0
  405. package/out/networkProviders/networkConfig.d.ts +48 -0
  406. package/out/networkProviders/networkConfig.js +41 -0
  407. package/out/networkProviders/networkConfig.js.map +1 -0
  408. package/out/networkProviders/networkProviderConfig.d.ts +4 -0
  409. package/out/networkProviders/networkProviderConfig.js +3 -0
  410. package/out/networkProviders/networkProviderConfig.js.map +1 -0
  411. package/out/networkProviders/networkStatus.d.ts +31 -0
  412. package/out/networkProviders/networkStatus.js +31 -0
  413. package/out/networkProviders/networkStatus.js.map +1 -0
  414. package/out/networkProviders/proxyNetworkProvider.d.ts +51 -0
  415. package/out/networkProviders/proxyNetworkProvider.js +261 -0
  416. package/out/networkProviders/proxyNetworkProvider.js.map +1 -0
  417. package/out/networkProviders/resources.d.ts +12 -0
  418. package/out/networkProviders/resources.js +29 -0
  419. package/out/networkProviders/resources.js.map +1 -0
  420. package/out/networkProviders/tokenDefinitions.d.ts +49 -0
  421. package/out/networkProviders/tokenDefinitions.js +152 -0
  422. package/out/networkProviders/tokenDefinitions.js.map +1 -0
  423. package/out/networkProviders/tokens.d.ts +40 -0
  424. package/out/networkProviders/tokens.js +106 -0
  425. package/out/networkProviders/tokens.js.map +1 -0
  426. package/out/networkProviders/userAgent.d.ts +2 -0
  427. package/out/networkProviders/userAgent.js +30 -0
  428. package/out/networkProviders/userAgent.js.map +1 -0
  429. package/out/proto/compiled.d.ts +2 -0
  430. package/out/proto/compiled.js +719 -0
  431. package/out/proto/compiled.js.map +1 -0
  432. package/out/proto/index.d.ts +5 -0
  433. package/out/proto/index.js +18 -0
  434. package/out/proto/index.js.map +1 -0
  435. package/out/proto/serializer.d.ts +22 -0
  436. package/out/proto/serializer.js +114 -0
  437. package/out/proto/serializer.js.map +1 -0
  438. package/out/smartContracts/index.d.ts +4 -0
  439. package/out/smartContracts/index.js +17 -0
  440. package/out/smartContracts/index.js.map +1 -0
  441. package/out/smartContracts/resources.d.ts +38 -0
  442. package/out/smartContracts/resources.js +3 -0
  443. package/out/smartContracts/resources.js.map +1 -0
  444. package/out/smartContracts/smartContractController.d.ts +32 -0
  445. package/out/smartContracts/smartContractController.js +128 -0
  446. package/out/smartContracts/smartContractController.js.map +1 -0
  447. package/out/smartContracts/smartContractTransactionsFactory.d.ts +42 -0
  448. package/out/smartContracts/smartContractTransactionsFactory.js +165 -0
  449. package/out/smartContracts/smartContractTransactionsFactory.js.map +1 -0
  450. package/out/smartContracts/smartContractTransactionsOutcomeParser.d.ts +28 -0
  451. package/out/smartContracts/smartContractTransactionsOutcomeParser.js +189 -0
  452. package/out/smartContracts/smartContractTransactionsOutcomeParser.js.map +1 -0
  453. package/out/tokenManagement/index.d.ts +4 -0
  454. package/out/tokenManagement/index.js +17 -0
  455. package/out/tokenManagement/index.js.map +1 -0
  456. package/out/tokenManagement/resources.d.ts +220 -0
  457. package/out/tokenManagement/resources.js +3 -0
  458. package/out/tokenManagement/resources.js.map +1 -0
  459. package/out/tokenManagement/tokenManagementController.d.ts +108 -0
  460. package/out/tokenManagement/tokenManagementController.js +582 -0
  461. package/out/tokenManagement/tokenManagementController.js.map +1 -0
  462. package/out/tokenManagement/tokenManagementTransactionsFactory.d.ts +82 -0
  463. package/out/tokenManagement/tokenManagementTransactionsFactory.js +684 -0
  464. package/out/tokenManagement/tokenManagementTransactionsFactory.js.map +1 -0
  465. package/out/tokenManagement/tokenManagementTransactionsOutcomeParser.d.ts +109 -0
  466. package/out/tokenManagement/tokenManagementTransactionsOutcomeParser.js +356 -0
  467. package/out/tokenManagement/tokenManagementTransactionsOutcomeParser.js.map +1 -0
  468. package/out/tokenOperations/codec.d.ts +7 -0
  469. package/out/tokenOperations/codec.js +55 -0
  470. package/out/tokenOperations/codec.js.map +1 -0
  471. package/out/transactionsOutcomeParsers/index.d.ts +4 -0
  472. package/out/transactionsOutcomeParsers/index.js +17 -0
  473. package/out/transactionsOutcomeParsers/index.js.map +1 -0
  474. package/out/transactionsOutcomeParsers/resources.d.ts +23 -0
  475. package/out/transactionsOutcomeParsers/resources.js +48 -0
  476. package/out/transactionsOutcomeParsers/resources.js.map +1 -0
  477. package/out/transactionsOutcomeParsers/transactionEventsParser.d.ts +16 -0
  478. package/out/transactionsOutcomeParsers/transactionEventsParser.js +48 -0
  479. package/out/transactionsOutcomeParsers/transactionEventsParser.js.map +1 -0
  480. package/out/transfers/index.d.ts +3 -0
  481. package/out/transfers/index.js +16 -0
  482. package/out/transfers/index.js.map +1 -0
  483. package/out/transfers/resources.d.ts +17 -0
  484. package/out/transfers/resources.js +3 -0
  485. package/out/transfers/resources.js.map +1 -0
  486. package/out/transfers/transferTransactionsFactory.d.ts +32 -0
  487. package/out/transfers/transferTransactionsFactory.js +131 -0
  488. package/out/transfers/transferTransactionsFactory.js.map +1 -0
  489. package/out/transfers/transfersControllers.d.ts +11 -0
  490. package/out/transfers/transfersControllers.js +43 -0
  491. package/out/transfers/transfersControllers.js.map +1 -0
  492. package/out/wallet/assertions.d.ts +3 -0
  493. package/out/wallet/assertions.js +12 -0
  494. package/out/wallet/assertions.js.map +1 -0
  495. package/out/wallet/crypto/constants.d.ts +6 -0
  496. package/out/wallet/crypto/constants.js +11 -0
  497. package/out/wallet/crypto/constants.js.map +1 -0
  498. package/out/wallet/crypto/decryptor.d.ts +5 -0
  499. package/out/wallet/crypto/decryptor.js +29 -0
  500. package/out/wallet/crypto/decryptor.js.map +1 -0
  501. package/out/wallet/crypto/derivationParams.d.ts +23 -0
  502. package/out/wallet/crypto/derivationParams.js +38 -0
  503. package/out/wallet/crypto/derivationParams.js.map +1 -0
  504. package/out/wallet/crypto/encryptedData.d.ts +15 -0
  505. package/out/wallet/crypto/encryptedData.js +52 -0
  506. package/out/wallet/crypto/encryptedData.js.map +1 -0
  507. package/out/wallet/crypto/encryptor.d.ts +14 -0
  508. package/out/wallet/crypto/encryptor.js +39 -0
  509. package/out/wallet/crypto/encryptor.js.map +1 -0
  510. package/out/wallet/crypto/index.d.ts +7 -0
  511. package/out/wallet/crypto/index.js +20 -0
  512. package/out/wallet/crypto/index.js.map +1 -0
  513. package/out/wallet/crypto/pubkeyDecryptor.d.ts +6 -0
  514. package/out/wallet/crypto/pubkeyDecryptor.js +38 -0
  515. package/out/wallet/crypto/pubkeyDecryptor.js.map +1 -0
  516. package/out/wallet/crypto/pubkeyEncryptor.d.ts +6 -0
  517. package/out/wallet/crypto/pubkeyEncryptor.js +54 -0
  518. package/out/wallet/crypto/pubkeyEncryptor.js.map +1 -0
  519. package/out/wallet/crypto/randomness.d.ts +7 -0
  520. package/out/wallet/crypto/randomness.js +15 -0
  521. package/out/wallet/crypto/randomness.js.map +1 -0
  522. package/out/wallet/crypto/x25519EncryptedData.d.ts +15 -0
  523. package/out/wallet/crypto/x25519EncryptedData.js +37 -0
  524. package/out/wallet/crypto/x25519EncryptedData.js.map +1 -0
  525. package/out/wallet/index.d.ts +11 -0
  526. package/out/wallet/index.js +24 -0
  527. package/out/wallet/index.js.map +1 -0
  528. package/out/wallet/keypair.d.ts +12 -0
  529. package/out/wallet/keypair.js +32 -0
  530. package/out/wallet/keypair.js.map +1 -0
  531. package/out/wallet/mnemonic.d.ts +13 -0
  532. package/out/wallet/mnemonic.js +74 -0
  533. package/out/wallet/mnemonic.js.map +1 -0
  534. package/out/wallet/pem.d.ts +8 -0
  535. package/out/wallet/pem.js +60 -0
  536. package/out/wallet/pem.js.map +1 -0
  537. package/out/wallet/pemEntry.d.ts +10 -0
  538. package/out/wallet/pemEntry.js +73 -0
  539. package/out/wallet/pemEntry.js.map +1 -0
  540. package/out/wallet/userKeys.d.ts +23 -0
  541. package/out/wallet/userKeys.js +99 -0
  542. package/out/wallet/userKeys.js.map +1 -0
  543. package/out/wallet/userPem.d.ts +15 -0
  544. package/out/wallet/userPem.js +51 -0
  545. package/out/wallet/userPem.js.map +1 -0
  546. package/out/wallet/userSigner.d.ts +16 -0
  547. package/out/wallet/userSigner.js +41 -0
  548. package/out/wallet/userSigner.js.map +1 -0
  549. package/out/wallet/userVerifier.d.ts +18 -0
  550. package/out/wallet/userVerifier.js +27 -0
  551. package/out/wallet/userVerifier.js.map +1 -0
  552. package/out/wallet/userWallet.d.ts +54 -0
  553. package/out/wallet/userWallet.js +206 -0
  554. package/out/wallet/userWallet.js.map +1 -0
  555. package/out/wallet/validatorKeys.d.ts +26 -0
  556. package/out/wallet/validatorKeys.js +77 -0
  557. package/out/wallet/validatorKeys.js.map +1 -0
  558. package/out/wallet/validatorSigner.d.ts +10 -0
  559. package/out/wallet/validatorSigner.js +25 -0
  560. package/out/wallet/validatorSigner.js.map +1 -0
  561. package/package.json +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled.js","sourceRoot":"","sources":["../../src/proto/compiled.js"],"names":[],"mappings":";AAAA,qJAAqJ;AACrJ,CAAC,UAAS,MAAM,EAAE,OAAO;IAErB,SAAS,CAAC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG;QACpD,MAAM,CAAC,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;IAE5C,cAAc,MAAM,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO;QAC3G,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEhE,CAAC,CAAC,CAAC,IAAI,EAAE,UAAS,SAAS;IACvB,YAAY,CAAC;IAEb,iBAAiB;IACjB,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;IAEnF,0BAA0B;IAC1B,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5E,KAAK,CAAC,KAAK,GAAG,CAAC;QAEX;;;;WAIG;QACH,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,KAAK,CAAC,WAAW,GAAG,CAAC;YAEjB;;;;;;;;;;;;;;;;;;;;;eAqBG;YAEH;;;;;;;eAOG;YACH,SAAS,WAAW,CAAC,UAAU;gBAC3B,IAAI,UAAU;oBACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;wBAChE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;4BAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YAED;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7E;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAElD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEpD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAExD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEpD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAExD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhF;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhF;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEjD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEpD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YAElC;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEtD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YAElC;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEzD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAE9D;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEpD;;;;;eAKG;YACH,WAAW,CAAC,SAAS,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAE7D;;;;;;;eAOG;YACH,WAAW,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,UAAU;gBAC3C,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC;YAEF;;;;;;;;eAQG;YACH,WAAW,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM;gBAChD,IAAI,CAAC,MAAM;oBACP,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;oBACrE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;oBACrE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;oBACjF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;oBACjF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;oBAC3E,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;oBAC3E,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;oBACnE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;oBAC7E,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;oBACnF,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC3E,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;oBAC7F,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAChF,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBACzE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;oBAC3F,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAA,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC/E,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YAEF;;;;;;;;eAQG;YACH,WAAW,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,OAAO,EAAE,MAAM;gBAClE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,CAAC,CAAC;YAEF;;;;;;;;;;eAUG;YACH,WAAW,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM;gBAC/C,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;oBAC5B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3G,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;oBACrB,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1B,QAAQ,GAAG,KAAK,CAAC,EAAE;wBACnB,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAChC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BAC/B,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACrC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACrC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BACnC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BACnC,MAAM;yBACT;wBACL,KAAK,CAAC,CAAC,CAAC;4BACA,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BAC9B,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACnC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACtC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BAC3C,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjC,MAAM;yBACT;wBACL,KAAK,EAAE,CAAC,CAAC;4BACD,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;4BAC1C,MAAM;yBACT;wBACL;4BACI,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;4BACzB,MAAM;qBACT;iBACJ;gBACD,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC;YAEF;;;;;;;;;eASG;YACH,WAAW,CAAC,eAAe,GAAG,SAAS,eAAe,CAAC,MAAM;gBACzD,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;oBAC5B,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC;YAEF;;;;;;;eAOG;YACH,WAAW,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,OAAO;gBACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;oBAC/C,OAAO,iBAAiB,CAAC;gBAC7B,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBACxD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChI,OAAO,8BAA8B,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBACxD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC7F,OAAO,wBAAwB,CAAC;gBACxC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnG,OAAO,0BAA0B,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC/G,OAAO,8BAA8B,CAAC;gBAC9C,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnG,OAAO,0BAA0B,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC/G,OAAO,8BAA8B,CAAC;gBAC9C,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;oBAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC5I,OAAO,iCAAiC,CAAC;gBACjD,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;oBAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC5I,OAAO,iCAAiC,CAAC;gBACjD,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;oBACtD,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1F,OAAO,uBAAuB,CAAC;gBACvC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnG,OAAO,0BAA0B,CAAC;gBAC1C,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;wBACjC,OAAO,2BAA2B,CAAC;gBAC3C,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC;oBAChE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACzG,OAAO,4BAA4B,CAAC;gBAC5C,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;wBACjC,OAAO,2BAA2B,CAAC;gBAC3C,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;oBACtE,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAClH,OAAO,+BAA+B,CAAC;gBAC/C,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC;oBAChF,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBACjI,OAAO,oCAAoC,CAAC;gBACpD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnG,OAAO,0BAA0B,CAAC;gBAC1C,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC;oBAC9E,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;wBAC9H,OAAO,mCAAmC,CAAC;gBACnD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;YAEF;;;;;;;eAOG;YACH,WAAW,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,MAAM;gBAC/C,IAAI,MAAM,YAAY,KAAK,CAAC,KAAK,CAAC,WAAW;oBACzC,OAAO,MAAM,CAAC;gBAClB,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBACpB,IAAI,KAAK,CAAC,IAAI;wBACV,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;yBACpE,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;wBACrC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;yBAC1C,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;wBACrC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;yBAC5B,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;wBACrC,OAAO,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3G,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBACpB,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;wBAChC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACxG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;wBAC7B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrC,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9G,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;wBAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;oBAC1B,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;wBACtC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC1H,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;wBACnC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9G,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;wBAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;oBAC1B,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;wBACtC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC1H,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;wBACnC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;oBACvB,IAAI,KAAK,CAAC,IAAI;wBACV,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;yBAC1E,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;yBAChD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;yBAClC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpH,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;oBACvB,IAAI,KAAK,CAAC,IAAI;wBACV,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;yBAC1E,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;yBAChD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;yBAClC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACxC,OAAO,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpH,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBACnB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;wBAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACrG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;wBAC5B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACnC,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9G,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;wBAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzC,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC3C,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;oBACxB,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;wBACpC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACpH,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;wBACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC7C,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC3C,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI;oBAC3B,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;wBACvC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC7H,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;wBACpC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnD,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI;oBAChC,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;wBAC5C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC5I,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC;wBACzC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAC7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;oBACtB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9G,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;wBAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzC,IAAI,MAAM,CAAC,gBAAgB,IAAI,IAAI;oBAC/B,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ;wBAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACzI,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC;wBACxC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAC3D,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC;YAEF;;;;;;;;eAQG;YACH,WAAW,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO;gBACrD,IAAI,CAAC,OAAO;oBACR,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,QAAQ,EAAE;oBAClB,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBACtC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBACjH;;wBACG,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;yBACjB;wBACD,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAClB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACpD;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;wBACD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;wBACpB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACxD;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;yBACvB;wBACD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;wBACxB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;qBAChE;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;wBACD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;wBACpB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACxD;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;yBACvB;wBACD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;wBACxB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;qBAChE;oBACD,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBACpH;;wBACG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBACpH;;wBACG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;yBAChB;wBACD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;wBACjB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBAClD;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;wBACD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;wBACpB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACxD;oBACD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;oBACnB,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;yBACrB;wBACD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;wBACtB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;qBAC5D;oBACD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;oBACnB,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;yBACxB;wBACD,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;wBACzB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;qBAClE;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;yBAC7B;wBACD,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;wBAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;qBAC5E;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;wBACD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;wBACpB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACxD;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;yBAC5B;wBACD,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;wBAC7B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BACvB,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBAC1E;iBACJ;gBACD,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBACxD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;wBACjC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;;wBAEhF,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtO,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBACxD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChM,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1M,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9N,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1M,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;oBACpE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9N,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;oBAC9D,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;wBACpC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;wBAEzF,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrP,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;oBAC9D,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;wBACpC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;wBAEzF,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrP,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;oBACtD,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3L,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1M,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC;oBAChE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;gBACpN,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrC,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;oBACtE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;gBACnO,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC;oBAChF,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC5P,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5D,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1M,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC;oBAC9E,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACvP,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YAEF;;;;;;eAMG;YACH,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM;gBAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzE,CAAC,CAAC;YAEF;;;;;;;eAOG;YACH,WAAW,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,aAAa;gBACtD,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC7B,aAAa,GAAG,qBAAqB,CAAC;iBACzC;gBACD,OAAO,aAAa,GAAG,oBAAoB,CAAC;YAChD,CAAC,CAAC;YAEF,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @module proto
4
+ */
5
+ export * from "./serializer";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * @packageDocumentation
4
+ * @module proto
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./serializer"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proto/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,+CAA6B"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import { Transaction } from "../core/transaction";
3
+ /**
4
+ * Hides away the serialization complexity, for each type of object (e.g. transactions).
5
+
6
+ * The implementation is non-generic, but practical: there's a pair of `serialize` / `deserialize` method for each type of object.
7
+ */
8
+ export declare class ProtoSerializer {
9
+ /**
10
+ * Serializes a Transaction object to a Buffer. Handles low-level conversion logic and field-mappings as well.
11
+ */
12
+ serializeTransaction(transaction: Transaction): Buffer;
13
+ private convertToProtoMessage;
14
+ private isRelayedTransaction;
15
+ /**
16
+ * Custom serialization, compatible with drt-go-chain.
17
+ */
18
+ private serializeTransactionValue;
19
+ private isGuardedTransaction;
20
+ private isWithGuardian;
21
+ deserializeTransaction(_buffer: Buffer): Transaction;
22
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ProtoSerializer = void 0;
26
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
27
+ const utils_1 = require("../abi/codec/utils");
28
+ const address_1 = require("../core/address");
29
+ const constants_1 = require("../core/constants");
30
+ const errors = __importStar(require("../core/errors"));
31
+ /**
32
+ * Hides away the serialization complexity, for each type of object (e.g. transactions).
33
+
34
+ * The implementation is non-generic, but practical: there's a pair of `serialize` / `deserialize` method for each type of object.
35
+ */
36
+ class ProtoSerializer {
37
+ /**
38
+ * Serializes a Transaction object to a Buffer. Handles low-level conversion logic and field-mappings as well.
39
+ */
40
+ serializeTransaction(transaction) {
41
+ const proto = require("./compiled").proto;
42
+ const protoTransaction = this.convertToProtoMessage(transaction);
43
+ const encoded = proto.Transaction.encode(protoTransaction).finish();
44
+ const buffer = Buffer.from(encoded);
45
+ return buffer;
46
+ }
47
+ convertToProtoMessage(transaction) {
48
+ const proto = require("./compiled").proto;
49
+ const receiverPubkey = transaction.receiver.getPublicKey();
50
+ const senderPubkey = transaction.sender.getPublicKey();
51
+ let protoTransaction = new proto.Transaction({
52
+ // drt-go-chain's serializer handles nonce == 0 differently, thus we treat 0 as "undefined".
53
+ Nonce: Number(transaction.nonce) ? Number(transaction.nonce) : undefined,
54
+ Value: this.serializeTransactionValue(transaction.value),
55
+ RcvAddr: receiverPubkey,
56
+ RcvUserName: transaction.receiverUsername
57
+ ? Buffer.from(transaction.receiverUsername).toString("base64")
58
+ : undefined,
59
+ SndAddr: senderPubkey,
60
+ SndUserName: transaction.senderUsername
61
+ ? Buffer.from(transaction.senderUsername).toString("base64")
62
+ : undefined,
63
+ GasPrice: Number(transaction.gasPrice),
64
+ GasLimit: Number(transaction.gasLimit),
65
+ Data: transaction.data.length == 0 ? null : transaction.data,
66
+ ChainID: Buffer.from(transaction.chainID),
67
+ Version: transaction.version,
68
+ Signature: transaction.signature,
69
+ });
70
+ if (transaction.options !== constants_1.TRANSACTION_OPTIONS_DEFAULT) {
71
+ protoTransaction.Options = transaction.options;
72
+ }
73
+ if (this.isGuardedTransaction(transaction)) {
74
+ protoTransaction.GuardianAddr = new address_1.Address(transaction.guardian).getPublicKey();
75
+ protoTransaction.GuardianSignature = transaction.guardianSignature;
76
+ }
77
+ if (this.isRelayedTransaction(transaction)) {
78
+ protoTransaction.Relayer = transaction.relayer?.getPublicKey();
79
+ protoTransaction.RelayerSignature = transaction.relayerSignature;
80
+ }
81
+ return protoTransaction;
82
+ }
83
+ isRelayedTransaction(transaction) {
84
+ return !transaction.relayer.isEmpty();
85
+ }
86
+ /**
87
+ * Custom serialization, compatible with drt-go-chain.
88
+ */
89
+ serializeTransactionValue(transactionValue) {
90
+ let value = new bignumber_js_1.default(transactionValue.toString());
91
+ if (value.isZero()) {
92
+ return Buffer.from([0, 0]);
93
+ }
94
+ // Will retain the magnitude, as a buffer.
95
+ let buffer = utils_1.bigIntToBuffer(value);
96
+ // We prepend the "positive" sign marker, in order to be compatible with drt-go-chain's "sign & magnitude" proto-representation (a custom one).
97
+ buffer = Buffer.concat([Buffer.from([0x00]), buffer]);
98
+ return buffer;
99
+ }
100
+ isGuardedTransaction(transaction) {
101
+ const hasGuardian = !transaction.guardian.isEmpty();
102
+ const hasGuardianSignature = transaction.guardianSignature.length > 0;
103
+ return this.isWithGuardian(transaction) && hasGuardian && hasGuardianSignature;
104
+ }
105
+ isWithGuardian(transaction) {
106
+ return (transaction.options & constants_1.TRANSACTION_OPTIONS_TX_GUARDED) == constants_1.TRANSACTION_OPTIONS_TX_GUARDED;
107
+ }
108
+ deserializeTransaction(_buffer) {
109
+ // Not needed (yet).
110
+ throw new errors.ErrUnsupportedOperation("deserializeTransaction");
111
+ }
112
+ }
113
+ exports.ProtoSerializer = ProtoSerializer;
114
+ //# sourceMappingURL=serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/proto/serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./resources";
2
+ export * from "./smartContractController";
3
+ export * from "./smartContractTransactionsFactory";
4
+ export * from "./smartContractTransactionsOutcomeParser";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./resources"), exports);
14
+ __exportStar(require("./smartContractController"), exports);
15
+ __exportStar(require("./smartContractTransactionsFactory"), exports);
16
+ __exportStar(require("./smartContractTransactionsOutcomeParser"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/smartContracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4DAA0C;AAC1C,qEAAmD;AACnD,2EAAyD"}
@@ -0,0 +1,38 @@
1
+ import { Address } from "../core/address";
2
+ import { TokenTransfer } from "../core/tokens";
3
+ export declare type ContractDeployInput = {
4
+ bytecode: Uint8Array;
5
+ gasLimit: bigint;
6
+ arguments?: any[];
7
+ nativeTransferAmount?: bigint;
8
+ isUpgradeable?: boolean;
9
+ isReadable?: boolean;
10
+ isPayable?: boolean;
11
+ isPayableBySmartContract?: boolean;
12
+ };
13
+ export declare type ContractExecuteInput = {
14
+ contract: Address;
15
+ gasLimit: bigint;
16
+ function: string;
17
+ arguments?: any[];
18
+ nativeTransferAmount?: bigint;
19
+ tokenTransfers?: TokenTransfer[];
20
+ };
21
+ export declare type ContractUpgradeInput = ContractDeployInput & {
22
+ contract: Address;
23
+ };
24
+ export interface SmartContractDeployOutcome {
25
+ returnCode: string;
26
+ returnMessage: string;
27
+ contracts: DeployedSmartContract[];
28
+ }
29
+ export declare type ParsedSmartContractCallOutcome = {
30
+ values: any[];
31
+ returnCode: string;
32
+ returnMessage: string;
33
+ };
34
+ export declare type DeployedSmartContract = {
35
+ address: Address;
36
+ ownerAddress: Address;
37
+ codeHash: Uint8Array;
38
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/smartContracts/resources.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { Abi } from "../abi";
2
+ import { BaseController, BaseControllerInput, IAccount, SmartContractQuery, SmartContractQueryInput, SmartContractQueryResponse, Transaction, TransactionOnNetwork } from "../core";
3
+ import { INetworkProvider } from "../networkProviders/interface";
4
+ import * as resources from "./resources";
5
+ import { SmartContractTransactionsFactory } from "./smartContractTransactionsFactory";
6
+ export declare class SmartContractController extends BaseController {
7
+ protected factory: SmartContractTransactionsFactory;
8
+ private parser;
9
+ private transactionWatcher;
10
+ private networkProvider;
11
+ protected abi?: Abi;
12
+ constructor(options: {
13
+ chainID: string;
14
+ networkProvider: INetworkProvider;
15
+ abi?: Abi;
16
+ });
17
+ createTransactionForDeploy(sender: IAccount, nonce: bigint, options: resources.ContractDeployInput & BaseControllerInput): Promise<Transaction>;
18
+ parseDeploy(transactionOnNetwork: TransactionOnNetwork): resources.SmartContractDeployOutcome;
19
+ awaitCompletedDeploy(txHash: string): Promise<resources.SmartContractDeployOutcome>;
20
+ createTransactionForUpgrade(sender: IAccount, nonce: bigint, options: resources.ContractUpgradeInput & BaseControllerInput): Promise<Transaction>;
21
+ createTransactionForExecute(sender: IAccount, nonce: bigint, options: resources.ContractExecuteInput & BaseControllerInput): Promise<Transaction>;
22
+ parseExecute(transactionOnNetwork: TransactionOnNetwork): resources.ParsedSmartContractCallOutcome;
23
+ awaitCompletedExecute(txHash: string): Promise<resources.ParsedSmartContractCallOutcome>;
24
+ query(options: SmartContractQueryInput): Promise<any[]>;
25
+ runQuery(query: SmartContractQuery): Promise<SmartContractQueryResponse>;
26
+ createQuery(options: SmartContractQueryInput): SmartContractQuery;
27
+ private raiseForStatus;
28
+ parseQueryResponse(response: SmartContractQueryResponse): any[];
29
+ private encodeArguments;
30
+ private areArgsOfTypedValue;
31
+ private areArgsBuffers;
32
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartContractController = void 0;
4
+ const abi_1 = require("../abi");
5
+ const core_1 = require("../core");
6
+ const transactionsOutcomeParsers_1 = require("../transactionsOutcomeParsers");
7
+ const smartContractTransactionsFactory_1 = require("./smartContractTransactionsFactory");
8
+ class SmartContractController extends core_1.BaseController {
9
+ constructor(options) {
10
+ super();
11
+ this.factory = new smartContractTransactionsFactory_1.SmartContractTransactionsFactory({
12
+ config: new core_1.TransactionsFactoryConfig({ chainID: options.chainID }),
13
+ abi: options.abi,
14
+ });
15
+ this.parser = new transactionsOutcomeParsers_1.SmartContractTransactionsOutcomeParser(options);
16
+ this.transactionWatcher = new core_1.TransactionWatcher(options.networkProvider);
17
+ this.networkProvider = options.networkProvider;
18
+ this.abi = options.abi;
19
+ }
20
+ async createTransactionForDeploy(sender, nonce, options) {
21
+ const transaction = this.factory.createTransactionForDeploy(sender.address, options);
22
+ transaction.guardian = options.guardian ?? core_1.Address.empty();
23
+ transaction.relayer = options.relayer ?? core_1.Address.empty();
24
+ transaction.nonce = nonce;
25
+ this.setTransactionGasOptions(transaction, options);
26
+ this.setVersionAndOptionsForGuardian(transaction);
27
+ transaction.signature = await sender.signTransaction(transaction);
28
+ return transaction;
29
+ }
30
+ parseDeploy(transactionOnNetwork) {
31
+ return this.parser.parseDeploy({ transactionOnNetwork });
32
+ }
33
+ async awaitCompletedDeploy(txHash) {
34
+ const transaction = await this.transactionWatcher.awaitCompleted(txHash);
35
+ return this.parseDeploy(transaction);
36
+ }
37
+ async createTransactionForUpgrade(sender, nonce, options) {
38
+ const transaction = this.factory.createTransactionForUpgrade(sender.address, options);
39
+ transaction.guardian = options.guardian ?? core_1.Address.empty();
40
+ transaction.relayer = options.relayer ?? core_1.Address.empty();
41
+ transaction.nonce = nonce;
42
+ this.setTransactionGasOptions(transaction, options);
43
+ this.setVersionAndOptionsForGuardian(transaction);
44
+ transaction.signature = await sender.signTransaction(transaction);
45
+ return transaction;
46
+ }
47
+ async createTransactionForExecute(sender, nonce, options) {
48
+ const transaction = this.factory.createTransactionForExecute(sender.address, options);
49
+ transaction.guardian = options.guardian ?? core_1.Address.empty();
50
+ transaction.relayer = options.relayer ?? core_1.Address.empty();
51
+ transaction.nonce = nonce;
52
+ this.setTransactionGasOptions(transaction, options);
53
+ this.setVersionAndOptionsForGuardian(transaction);
54
+ transaction.signature = await sender.signTransaction(transaction);
55
+ return transaction;
56
+ }
57
+ parseExecute(transactionOnNetwork) {
58
+ return this.parser.parseExecute({ transactionOnNetwork });
59
+ }
60
+ async awaitCompletedExecute(txHash) {
61
+ const transaction = await this.transactionWatcher.awaitCompleted(txHash);
62
+ return this.parseExecute(transaction);
63
+ }
64
+ async query(options) {
65
+ const query = this.createQuery(options);
66
+ const queryResponse = await this.runQuery(query);
67
+ this.raiseForStatus(queryResponse);
68
+ return this.parseQueryResponse(queryResponse);
69
+ }
70
+ async runQuery(query) {
71
+ const queryResponse = await this.networkProvider.queryContract(query);
72
+ return queryResponse;
73
+ }
74
+ createQuery(options) {
75
+ const preparedArguments = this.encodeArguments(options.function, options.arguments);
76
+ return new core_1.SmartContractQuery({
77
+ contract: options.contract,
78
+ caller: options.caller,
79
+ function: options.function,
80
+ arguments: preparedArguments,
81
+ value: options.value,
82
+ });
83
+ }
84
+ raiseForStatus(queryResponse) {
85
+ const isOk = queryResponse.returnCode === "ok";
86
+ if (!isOk) {
87
+ throw new core_1.ErrSmartContractQuery(queryResponse.returnCode, queryResponse.returnMessage);
88
+ }
89
+ }
90
+ parseQueryResponse(response) {
91
+ if (!this.abi) {
92
+ return response.returnDataParts;
93
+ }
94
+ const argsSerializer = new abi_1.ArgSerializer();
95
+ const functionName = response.function;
96
+ const endpoint = this.abi.getEndpoint(functionName);
97
+ const parts = response.returnDataParts.map((part) => Buffer.from(part));
98
+ let values = argsSerializer.buffersToValues(parts, endpoint.output);
99
+ return values.map((value) => value.valueOf());
100
+ }
101
+ encodeArguments(functionName, args) {
102
+ const endpoint = this.abi?.getEndpoint(functionName);
103
+ if (endpoint) {
104
+ const typedArgs = abi_1.NativeSerializer.nativeToTypedValues(args, endpoint);
105
+ return new abi_1.ArgSerializer().valuesToBuffers(typedArgs);
106
+ }
107
+ if (this.areArgsOfTypedValue(args)) {
108
+ return new abi_1.ArgSerializer().valuesToBuffers(args);
109
+ }
110
+ if (this.areArgsBuffers(args)) {
111
+ return args.map((arg) => Buffer.from(arg));
112
+ }
113
+ throw new core_1.Err("cannot encode arguments: when ABI is not available, they must be either typed values or buffers");
114
+ }
115
+ areArgsOfTypedValue(args) {
116
+ return args.every((arg) => abi_1.isTyped(arg));
117
+ }
118
+ areArgsBuffers(args) {
119
+ for (const arg of args) {
120
+ if (!ArrayBuffer.isView(arg)) {
121
+ return false;
122
+ }
123
+ }
124
+ return true;
125
+ }
126
+ }
127
+ exports.SmartContractController = SmartContractController;
128
+ //# sourceMappingURL=smartContractController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartContractController.js","sourceRoot":"","sources":["../../src/smartContracts/smartContractController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { Abi, EndpointDefinition } from "../abi";
2
+ import { Address } from "../core";
3
+ import { Transaction } from "../core/transaction";
4
+ import * as resources from "./resources";
5
+ interface IConfig {
6
+ chainID: string;
7
+ addressHrp: string;
8
+ minGasLimit: bigint;
9
+ gasLimitPerByte: bigint;
10
+ gasLimitClaimDeveloperRewards: bigint;
11
+ gasLimitChangeOwnerAddress: bigint;
12
+ }
13
+ /**
14
+ * Use this class to create transactions to deploy, call or upgrade a smart contract.
15
+ */
16
+ export declare class SmartContractTransactionsFactory {
17
+ private readonly config;
18
+ private readonly abi?;
19
+ private readonly tokenComputer;
20
+ private readonly dataArgsBuilder;
21
+ private readonly contractDeployAddress;
22
+ constructor(options: {
23
+ config: IConfig;
24
+ abi?: Abi;
25
+ });
26
+ createTransactionForDeploy(sender: Address, options: resources.ContractDeployInput): Transaction;
27
+ createTransactionForExecute(sender: Address, options: resources.ContractExecuteInput): Transaction;
28
+ createTransactionForUpgrade(sender: Address, options: resources.ContractUpgradeInput): Transaction;
29
+ private getEndpointForUpgrade;
30
+ createTransactionForClaimingDeveloperRewards(options: {
31
+ sender: Address;
32
+ contract: Address;
33
+ }): Transaction;
34
+ createTransactionForChangingOwnerAddress(options: {
35
+ sender: Address;
36
+ contract: Address;
37
+ newOwner: Address;
38
+ }): Transaction;
39
+ protected argsToDataParts(args: any[], endpoint?: EndpointDefinition): string[];
40
+ private areArgsOfTypedValue;
41
+ }
42
+ export {};