@aeternity/aepp-sdk 11.0.1 → 12.1.1

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 (444) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20765 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +136 -85
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -198
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -561
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -98
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +55 -43
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +172 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +116 -71
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
@@ -1,2 +1,3 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("buffer"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","@aeternity/blakejs","buffer","sha.js","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("buffer"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["@aeternity/blakejs"],e.buffer,e["sha.js"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(self,(function(e,t,n,r,a,o,s,i,c,u,d,l,h,p,f,m,g,y,w,b){return function(){"use strict";var x={946:function(e){e.exports=f},289:function(e){e.exports=y},343:function(e){e.exports=i},911:function(e){e.exports=p},983:function(e){e.exports=t},910:function(t){t.exports=e},180:function(e){e.exports=n},236:function(e){e.exports=s},192:function(e){e.exports=r},986:function(e){e.exports=b},783:function(e){e.exports=a},408:function(e){e.exports=c},503:function(e){e.exports=h},735:function(e){e.exports=g},485:function(e){e.exports=d},433:function(e){e.exports=u},659:function(e){e.exports=l},79:function(e){e.exports=o},882:function(e){e.exports=w},397:function(e){e.exports=m}},v={};function T(e){var t=v[e];if(void 0!==t)return t.exports;var n=v[e]={exports:{}};return x[e](n,n.exports,T),n.exports}T.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return T.d(t,{a:t}),t},T.d=function(e,t){for(var n in t)T.o(t,n)&&!T.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},T.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},T.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var I={};return function(){T.r(I),T.d(I,{AccountBase:function(){return ts},AccountError:function(){return y},AccountMultiple:function(){return Is},Ae:function(){return rs},Aens:function(){return Es},AensError:function(){return w},AensPointerContextError:function(){return Q},AeppError:function(){return b},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AlreadyConnectedError:function(){return Je},AmbiguousEventDefinitionError:function(){return xe},AmountFormatter:function(){return r},ArgumentCountMismatchError:function(){return S},ArgumentError:function(){return O},BaseError:function(){return g},BrowserRuntimeConnection:function(){return Ac},BrowserWindowMessageConnection:function(){return Cc},BytecodeMismatchError:function(){return ue},Bytes:function(){return e},Chain:function(){return Mo},ChainNode:function(){return ls},Channel:function(){return bc},ChannelCallError:function(){return re},ChannelConnectionError:function(){return ae},ChannelError:function(){return x},ChannelPingTimedOutError:function(){return oe},CompilerError:function(){return v},ContentScriptBridge:function(){return vc},Contract:function(){return Ss},ContractCompilerHttp:function(){return As},ContractError:function(){return C},Crypto:function(){return t},CryptographyError:function(){return E},DecodeError:function(){return Be},DisconnectedError:function(){return Pe},DryRunError:function(){return Fe},DuplicateCallbackError:function(){return X},DuplicateContractError:function(){return de},DuplicateNodeError:function(){return je},EncodeError:function(){return Re},GeneralizedAccount:function(){return Ms},HdWallet:function(){return i},IllegalArgumentError:function(){return N},IllegalBidFeeError:function(){return qe},InactiveContractError:function(){return le},InsufficientBalanceError:function(){return P},InsufficientNameFeeError:function(){return z},InternalError:function(){return W},InvalidAensNameError:function(){return Y},InvalidAuthDataError:function(){return ce},InvalidChecksumError:function(){return ve},InvalidDenominationError:function(){return j},InvalidDerivationPathError:function(){return Te},InvalidKeyError:function(){return Ie},InvalidKeypairError:function(){return L},InvalidMethodInvocationError:function(){return he},InvalidNameError:function(){return M},InvalidPasswordError:function(){return Ce},InvalidRpcMessageError:function(){return J},InvalidSignatureError:function(){return Ve},InvalidTxError:function(){return $e},InvalidTxParamsError:function(){return Ue},Keystore:function(){return n},MemoryAccount:function(){return Ts},MerkleTreeHashMismatchError:function(){return Ee},MessageDirectionError:function(){return Ze},MissingCallbackError:function(){return Z},MissingContractAddressError:function(){return pe},MissingContractDefError:function(){return fe},MissingEventDefinitionError:function(){return be},MissingFunctionNameError:function(){return me},MissingNodeInTreeError:function(){return Ae},MissingParamError:function(){return B},NoBrowserFoundError:function(){return R},NoDefaultAensPointerError:function(){return He},NoSerializerFoundError:function(){return D},NoSuchContractFunctionError:function(){return ye},NoWalletConnectedError:function(){return et},Node:function(){return Jo},NodeError:function(){return A},NodeInvocationError:function(){return ge},NodeNotFoundError:function(){return Me},NodePool:function(){return cs},NotHardenedSegmentError:function(){return _e},NotImplementedError:function(){return H},NotPayableFunctionError:function(){return we},Oracle:function(){return ri},PayloadLengthError:function(){return De},PrefixMismatchError:function(){return Ke},PrefixNotFoundError:function(){return We},RequestTimedOutError:function(){return F},RpcAepp:function(){return ai},RpcConnectionError:function(){return tt},RpcWallet:function(){return li},SCHEMA:function(){return o},SchemaNotFoundError:function(){return Le},TagNotFoundError:function(){return Ge},Transaction:function(){return bs},TransactionError:function(){return k},Tx:function(){return Po},TxBuilder:function(){return s},TxBuilderHelper:function(){return a},TxNotInChainError:function(){return Qe},TxTimedOutError:function(){return q},TypeError:function(){return V},UnAuthorizedAccountError:function(){return ee},UnavailableAccountError:function(){return G},UnexpectedChannelMessageError:function(){return se},Universal:function(){return xc},UnknownChannelStateError:function(){return ie},UnknownNodeLengthError:function(){return Oe},UnknownPathNibbleError:function(){return Ne},UnknownRpcClientError:function(){return te},UnknownTxError:function(){return ze},UnsubscribedAccountError:function(){return ne},UnsupportedABIversionError:function(){return Ye},UnsupportedAlgorithmError:function(){return ke},UnsupportedChildIndexError:function(){return Se},UnsupportedPlatformError:function(){return $},UnsupportedProtocolError:function(){return U},UnsupportedVMversionError:function(){return Xe},UnsupportedVersionError:function(){return K},WalletDetector:function(){return Ec},WalletError:function(){return _},genSwaggerClient:function(){return Lo},getDefaultPointerKey:function(){return kc},verifyTransaction:function(){return is}});var e={};T.r(e),T.d(e,{bigNumberToByteArray:function(){return st},str2buf:function(){return ct},toBytes:function(){return it}});var t={};T.r(t),T.d(t,{decryptKey:function(){return Dt},encodeContractAddress:function(){return jt},encodeUnsigned:function(){return Pt},encryptKey:function(){return Rt},generateKeyPair:function(){return Bt},generateKeyPairFromSecret:function(){return Mt},getAddressFromPriv:function(){return Ot},hash:function(){return At},isAddressValid:function(){return Nt},isValidKeypair:function(){return Ht},messageToHash:function(){return Vt},salt:function(){return St},sha256hash:function(){return ht},sign:function(){return Ft},signMessage:function(){return $t},verify:function(){return qt},verifyMessage:function(){return Ut}});var n={};T.r(n),T.d(n,{deriveKeyUsingArgon2id:function(){return zt},dump:function(){return nn},getAddressFromPriv:function(){return en},recover:function(){return tn},validateKeyObj:function(){return rn}});var r={};T.r(r),T.d(r,{AE_AMOUNT_FORMATS:function(){return cn},DENOMINATION_MAGNITUDE:function(){return un},default:function(){return gn},formatAmount:function(){return hn},toAe:function(){return dn},toAettos:function(){return ln}});var a={};T.r(a),T.d(a,{buildContractId:function(){return Vn},buildPointers:function(){return zn},commitmentHash:function(){return Kn},computeAuctionEndBlock:function(){return rr},computeBidFee:function(){return nr},createSalt:function(){return qn},decode:function(){return Tt},encode:function(){return It},ensureNameValid:function(){return Jn},formatSalt:function(){return Un},getDefaultPointerKey:function(){return er},getMinimumNameFee:function(){return tr},isAuctionName:function(){return ar},isNameValid:function(){return Zn},oracleQueryId:function(){return $n},produceNameId:function(){return Hn},readId:function(){return Ln},readInt:function(){return Qn},readPointers:function(){return Yn},writeId:function(){return Wn},writeInt:function(){return Gn}});var o={};T.r(o),T.d(o,{ABI_VERSIONS:function(){return qr},AMOUNT:function(){return gr},BASE_GAS:function(){return Kr},CLIENT_TTL:function(){return An},CONTRACT_BYTE_CODE_LIMA:function(){return Xr},DEFAULT_FEE:function(){return Lr},DRY_RUN_ACCOUNT:function(){return xr},FIELD_TYPES:function(){return Hr},GAS_MAX:function(){return yr},GAS_PER_BYTE:function(){return Wr},ID_TAG:function(){return Bn},ID_TAG_PREFIX:function(){return Dn},KEY_BLOCK_INTERVAL:function(){return Gr},MAX_AUTH_FUN_GAS:function(){return br},MIN_GAS_PRICE:function(){return wr},NAME_BID_MAX_LENGTH:function(){return Sn},NAME_BID_RANGES:function(){return jn},NAME_BID_TIMEOUTS:function(){return Mn},NAME_BID_TIMEOUT_BLOCKS:function(){return On},NAME_FEE_BID_INCREMENT:function(){return _n},NAME_FEE_MULTIPLIER:function(){return kn},NAME_MAX_CLIENT_TTL:function(){return En},NAME_MAX_LENGTH_FEE:function(){return Nn},NAME_MAX_TTL:function(){return Cn},NAME_TTL:function(){return In},OBJECT_ID_TX_TYPE:function(){return Ur},OBJECT_TAG_SIGNED_TRANSACTION:function(){return vr},ORACLE_TTL:function(){return pr},POINTER_KEY_BY_PREFIX:function(){return Pn},PREFIX_ID_TAG:function(){return Rn},PROTOCOL_VERSIONS:function(){return Vr},PROTOCOL_VM_ABI:function(){return $r},QUERY_FEE:function(){return hr},QUERY_TTL:function(){return fr},RESPONSE_TTL:function(){return mr},TX_DESERIALIZATION_SCHEMA:function(){return Wa},TX_FEE_BASE_GAS:function(){return Qr},TX_FEE_OTHER_GAS:function(){return zr},TX_SERIALIZATION_SCHEMA:function(){return Ka},TX_TTL:function(){return lr},TX_TYPE:function(){return Dr},VM_VERSIONS:function(){return Fr},VSN:function(){return ur},VSN_2:function(){return dr}});var s={};T.r(s),T.d(s,{buildRawTx:function(){return so},buildTx:function(){return uo},buildTxHash:function(){return ho},calculateFee:function(){return ao},calculateMinFee:function(){return no},default:function(){return po},unpackRawTx:function(){return io},unpackTx:function(){return lo},validateParams:function(){return oo}});var i={};T.r(i),T.d(i,{deriveChild:function(){return Eo},derivePathFromKey:function(){return xo},derivePathFromSeed:function(){return vo},generateSaveHDWalletFromSeed:function(){return Ao},getHdWalletAccountFromSeed:function(){return _o},getKeyPair:function(){return Io},getMasterKeyFromSeed:function(){return Co},getSaveHDWalletAccounts:function(){return ko}});var c={};T.r(c),T.d(c,{ERRORS:function(){return Us},MESSAGE_DIRECTION:function(){return Ds},METHODS:function(){return Vs},RPC_STATUS:function(){return $s},SUBSCRIPTION_TYPES:function(){return qs},VERSION:function(){return Rs},WALLET_TYPE:function(){return Fs}});var u={};T.r(u),T.d(u,{getBrowserAPI:function(){return Hs},getHandler:function(){return Ls},isInIframe:function(){return Ks},isValidAccounts:function(){return Ys},message:function(){return Gs},responseMessage:function(){return Qs},sendMessage:function(){return Ws},sendResponseMessage:function(){return zs}});var d=T(79),l=T.n(d),h=T(236),p=T.n(h),f=T(192),m=T.n(f);class g extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends g{constructor(e){super(e),this.name="AccountError"}}class w extends g{constructor(e){super(e),this.name="AensError"}}class b extends g{constructor(e){super(e),this.name="AeppError"}}class x extends g{constructor(e){super(e),this.name="ChannelError"}}class v extends g{constructor(e){super(e),this.name="CompilerError"}}class C extends g{constructor(e){super(e),this.name="ContractError"}}class E extends g{constructor(e){super(e),this.name="CryptographyError"}}class A extends g{constructor(e){super(e),this.name="NodeError"}}class k extends g{constructor(e){super(e),this.name="TransactionError"}}class _ extends g{constructor(e){super(e),this.name="WalletError"}}class O extends g{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class N extends E{constructor(e){super(e),this.name="IllegalArgumentError"}}class S extends g{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class P extends g{constructor(e){super(e),this.name="InsufficientBalanceError"}}class j extends g{constructor(e){super(e),this.name="InvalidDenominationError"}}class M extends g{constructor(e){super(e),this.name="InvalidNameError"}}class B extends g{constructor(e){super(e),this.name="MissingParamError"}}class R extends g{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class D extends g{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class F extends g{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class q extends g{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class V extends g{constructor(e){super(e),this.name="TypeError"}}class $ extends g{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class U extends g{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class H extends g{constructor(e){super(e),this.name="NotImplementedError"}}class K extends g{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class W extends g{constructor(e){super(e),this.name="InternalError"}}class L extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class G extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Q extends w{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class z extends w{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class Y extends w{constructor(e){super(e),this.name="InvalidAensNameError"}}class X extends b{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class J extends b{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Z extends b{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ee extends b{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class te extends b{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ne extends b{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class re extends x{constructor(e){super(e),this.name="ChannelCallError"}}class ae extends x{constructor(e){super(e),this.name="ChannelConnectionError"}}class oe extends x{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class se extends x{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ie extends x{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ce extends v{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ue extends C{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class de extends C{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class le extends C{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class he extends C{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class pe extends C{constructor(e){super(e),this.name="MissingContractAddressError"}}class fe extends C{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class me extends C{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ge extends C{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class ye extends C{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class we extends C{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class be extends C{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class xe extends C{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ve extends E{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Te extends E{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ie extends E{constructor(e){super(e),this.name="InvalidKeyError"}}class Ce extends E{constructor(e){super(e),this.name="InvalidPasswordError"}}class Ee extends E{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class Ae extends E{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class ke extends E{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class _e extends E{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Oe extends E{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Ne extends E{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends E{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Pe extends A{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class je extends A{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Me extends A{constructor(e){super(e),this.name="NodeNotFoundError"}}class Be extends k{constructor(e){super(e),this.name="DecodeError"}}class Re extends k{constructor(e){super(e),this.name="EncodeError"}}class De extends k{constructor(e){super(e),this.name="PayloadLengthError"}}class Fe extends k{constructor(e){super(e),this.name="DryRunError"}}class qe extends k{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ve extends k{constructor(e){super(e),this.name="InvalidSignatureError"}}class $e extends k{constructor(e){super(e),this.name="InvalidTxError"}}class Ue extends k{constructor(e){super(e),this.name="InvalidTxParamsError"}}class He extends k{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Ke extends k{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class We extends k{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Le extends k{constructor(e){super(e),this.name="SchemaNotFoundError"}}class Ge extends k{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Qe extends k{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class ze extends k{constructor(e){super(e),this.name="UnknownTxError"}}class Ye extends k{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Xe extends k{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class Je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class Ze extends _{constructor(e){super(e),this.name="MessageDirectionError"}}class et extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class tt extends _{constructor(e){super(e),this.name="RpcConnectionError"}}function nt(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function rt(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function at(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var ot=T(408).Buffer;function st(e){if(!e.isInteger())throw new V(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),ot.from(t,"hex")}function it(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return ot.from([]);if(Number.isInteger(e)||m().isBigNumber(e)||t)return m().isBigNumber(e)||(e=new(m())(e)),st(e);if("string"==typeof e)return ot.from(e);throw new D}function ct(e,t){var n;return ot.from(e,null!==(n=null!=t?t:at(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var ut=T(783),dt=T(433),lt=T(408).Buffer;function ht(e){return(new dt.sha256).update(e).digest()}const pt=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],ft=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],mt={ak:32,ct:32,ok:32};function gt(e,t){if(mt[t]&&e.length!==mt[t])throw new De(`Payload should be ${mt[t]} bytes, got ${e.length} instead`)}const yt=e=>ht(ht(e)).slice(0,4),wt=e=>{const t=lt.from(e);return lt.concat([t,yt(t)])};function bt(e){const t=e.slice(0,-4);if(!yt(t).equals(e.slice(-4)))throw new ve;return t}const xt={encode:e=>wt(e).toString("base64"),decode:e=>bt(lt.from(e,"base64"))},vt={encode:e=>ut.encode(wt(e)),decode:e=>bt(ut.decode(e))};function Tt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Be(`Encoded string missing payload: ${e}`);if(a)throw new Be(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Ke(n,t);const o=pt.includes(n)&&xt.decode||ft.includes(n)&&vt.decode;if(!o)throw new Be(`Encoded string have unknown type: ${n}`);const s=o(r);return gt(s,n),s}function It(e,t){const n=pt.includes(t)&&xt.encode||ft.includes(t)&&vt.encode;if(!n)throw new Re(`Unknown type: ${t}`);return gt(e,t),`${t}_${n(e)}`}var Ct=T(343),Et=T(408).Buffer;function At(e){return Et.from((0,Ct.blake2b)(e,void 0,32))}var kt=T(408).Buffer;const _t=p().ModeOfOperation.ecb;function Ot(e){const t=l().sign.keyPair.fromSecretKey(ct(e));return It(kt.from(t.publicKey),"ak")}function Nt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return Tt(e,t),!0}catch(e){return!1}}function St(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Pt(e){const t=kt.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function jt(e,t){const n=Tt(e,"ak");return It(At(kt.concat([n,Pt(t)])),"ct")}function Mt(e){return l().sign.keyPair.fromSecretKey(e)}function Bt(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=l().sign.keyPair(),n=kt.from(t.publicKey),r=kt.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:It(n,"ak"),secretKey:r.toString("hex")}}function Rt(e,t){const n=ht(e);return new _t(n).encrypt(t)}function Dt(e,t){const n=kt.from(t),r=ht(e),a=new _t(r);return kt.from(a.decrypt(n))}function Ft(e,t){return l().sign.detached(kt.from(e),kt.from(t))}function qt(e,t,n){return l().sign.detached.verify(new Uint8Array(e),t,n)}function Vt(e){const t=kt.from("aeternity Signed Message:\n","utf8"),n=kt.from(e,"utf8");if(n.length>=253)throw new H("Message too long");return At(kt.concat([kt.from([t.length]),t,kt.from([n.length]),n]))}function $t(e,t){return Ft(Vt(e),t)}function Ut(e,t,n){return qt(Vt(e),t,n)}function Ht(e,t){const n=kt.from("TheMessage");return qt(n,Ft(n,e),t)}var Kt=T(983),Wt=T(289),Lt=T(408).Buffer;const Gt={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Qt={argon2id:zt};async function zt(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,o=(await(0,Wt.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:Wt.ArgonType.Argon2id})).hash;return Lt.from(o)}const Yt={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return l().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=l().secretbox.open(t,r,n);if(!a)throw new Ce("Invalid password or nonce");return a}}};function Xt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Gt.crypto.symmetric_alg;if(!Yt[r])throw new ke(r);return Yt[r].encrypt({plaintext:e,nonce:n,key:t})}async function Jt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Gt.crypto.kdf_params,kdf:Gt.crypto.kdf};if(!t)throw new O("nonce","provided",t);if(null==e)throw new O("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Qt,n.kdf))throw new ke(n.kdf);return Qt[n.kdf](e,t,n)}function Zt(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Gt.crypto,o);return Object.assign({name:e,version:1,public_key:en(n),id:(0,Kt.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:Lt.from(Xt(Lt.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:Lt.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:Lt.from(a).toString("hex")}})})}function en(e){const t=l().sign.keyPair.fromSecretKey(ct(e));return It(Lt.from(t.publicKey),"ak")}async function tn(e,t){rn(t);const n=Uint8Array.from(ct(t.crypto.cipher_params.nonce)),r=Uint8Array.from(ct(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Yt[r])throw new ke(r);return Yt[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(ct(t.crypto.ciphertext)),await Jt(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Ce("Invalid password");return 64===Lt.from(s).length?Lt.from(s).toString("hex"):Lt.from(s).toString("utf-8")}async function nn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:l().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Gt.crypto,o);return Zt(e,await Jt(t,a,s),"string"==typeof n?Lt.from(n,"hex"):n,r,a,s)}function rn(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ie(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ie(`Invalid key file format. Require properties: ${n}`);return!0}var an=T(485);const on=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||m().isBigNumber(e)),sn=e=>e.integerValue(m().ROUND_CEIL),cn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},un={[cn.AE]:0,[cn.MILI_AE]:-3,[cn.MICRO_AE]:-6,[cn.NANO_AE]:-9,[cn.PICO_AE]:-12,[cn.FEMTO_AE]:-15,[cn.AETTOS]:-18},dn=function(e){let{denomination:t=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return hn(e,{denomination:t,targetDenomination:cn.AE})},ln=function(e){let{denomination:t=cn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return hn(e,{denomination:t})},hn=function(e){let{denomination:t=cn.AETTOS,targetDenomination:n=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(cn);if(!r.includes(t))throw new j(`Invalid denomination: ${t}`);if(!r.includes(n))throw new j(`Invalid target denomination: ${n}`);if(!on(e))throw new O("value","a number",e);return new(m())(e).shiftedBy(un[t]-un[n]).toFixed()},pn=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],fn=e=>pn.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),mn=e=>{var t;return null!==(t=pn.find((t=>t.magnitude<=e)))&&void 0!==t?t:pn[pn.length-1]};var gn=e=>{var t;const n=new(m())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:o}=(r<0?fn:mn)(r);return`${n.shiftedBy(-o).precision(9+Math.min(r-o,0)).toFixed()}${""!==a?" ":""}${a}`};const yn=async e=>await new Promise((t=>setTimeout(t,e))),wn=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),bn=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),xn=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>xn(e,t))):wn(t,(t=>{let[n,r]=t;return[e(n),xn(e,r)]})),vn=xn.bind(null,rt),Tn=xn.bind(null,nt),In=18e4,Cn=36e3,En=84600,An=En,kn=1e14,_n=.05,On=480,Nn=31,Sn=12,Pn={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},jn=wn({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(m())(n).times(kn)]})),Mn={13:m()(0),12:m()(On),8:m()(31).times(On),4:m()(62).times(On)},Bn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Rn={ak:Bn.account,nm:Bn.name,cm:Bn.commitment,ok:Bn.oracle,ct:Bn.contract,ch:Bn.channel},Dn=wn(Rn,(e=>{let[t,n]=e;return[n,t]}));var Fn=T(408).Buffer;const qn=St;function Vn(e,t){return It(At(Fn.from([...Tt(e,"ak"),...it(t)])),"ct")}function $n(e,t,n){return It(At(Fn.from([...Tt(e,"ak"),...function(e){const t=it(e,!0);return Fn.concat([Fn.alloc(32-t.length),t])}(t),...Tt(n,"ok")])),"oq")}function Un(e){return Fn.from(e.toString(16).padStart(64,"0"),"hex")}function Hn(e){return Jn(e),It(At(e.toLowerCase()),"nm")}function Kn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qn();return Jn(e),It(At(Fn.concat([Fn.from(e.toLowerCase()),Un(t)])),"cm")}function Wn(e){if("string"!=typeof e)throw new O("hashId","a string",e);const t=e.slice(0,2),n=Rn[t];if(!n)throw new Ge(t);return Fn.from([...it(n),...Tt(e,t)])}function Ln(e){const t=Fn.from(e).readUIntBE(0,1),n=Dn[t];if(!n)throw new We(t);return It(e.slice(1,e.length),n)}function Gn(e){return it(e,!0)}function Qn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fn.from([]);return new(m())(Fn.from(e).toString("hex"),16).toString(10)}function zn(e){return e.map((e=>[it(e.key),Wn(e.id)]))}function Yn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:Ln(n)})}))}const Xn=".chain";function Jn(e){if(!e||"string"!=typeof e)throw new M("Name must be a string");if(!e.endsWith(Xn))throw new M(`Name should end with .chain: ${e}`)}function Zn(e){try{return Jn(e),!0}catch(e){return!1}}function er(e){Tt(e);const t=e.substr(0,2);return Pn[t]||(()=>{throw new He(t)})()}function tr(e){Jn(e);const t=e.length-Xn.length;return jn[Math.min(t,Nn)]}function nr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_n;if(Number(n)!==n||n%1==0)throw new qe(`Increment must be float. Current increment ${n}`);if(n<_n)throw new qe(`minimum increment percentage is ${_n}`);return sn(m()(null!=t?t:tr(e)).times(m()(_n).plus(1)))}function rr(e,t){Jn(e);const n=e.length-Xn.length;return(n<=4&&Mn[4]||n<=8&&Mn[8]||n<=12&&Mn[12]||Mn[13]).plus(t).toString(10)}function ar(e){return Jn(e),e.length<13+Xn.length}var or=T(408).Buffer;class sr{static serialize(e){return e}static deserialize(e){return e}}class ir extends sr{static serialize(e){return Wn(Zn(e)?Hn(e):e)}static deserialize(e){return Ln(e)}}class cr extends sr{static serialize(e,t){let{name:n}=t;if(+e)throw new N(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return Gn(0)}static deserialize(e){return Qn(e)}}const ur=1,dr=2,lr=0,hr=3e4,pr={type:"delta",value:500},fr={type:"delta",value:10},mr={type:"delta",value:10},gr=0,yr=1579e3,wr=1e9,br=5e4,xr={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},vr=11,Tr=521,Ir=570,Cr=571,Er=572,Ar=573,kr=574,_r=575,Or=621,Nr=622,Sr=623,Pr=624,jr=625,Mr=626,Br=(e,t,n)=>[e,t,n],Rr=(e,t)=>[e,t],Dr={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Fr={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},qr={NO_ABI:0,SOPHIA:1,FATE:3},Vr={IRIS:5},$r={[Vr.IRIS]:{[Dr.contractCreate]:{vmVersion:[Fr.FATE_2],abiVersion:[qr.FATE]},[Dr.contractCall]:{vmVersion:[Fr.FATE_2,Fr.FATE,Fr.SOPHIA_IMPROVEMENTS_LIMA,Fr.SOPHIA_IMPROVEMENTS_FORTUNA,Fr.SOPHIA,Fr.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[qr.FATE,qr.SOPHIA]},[Dr.oracleRegister]:{vmVersion:[],abiVersion:[qr.NO_ABI,qr.SOPHIA]}}},Ur={10:Dr.account,[vr]:Dr.signed,12:Dr.spend,32:Dr.nameClaim,33:Dr.namePreClaim,34:Dr.nameUpdate,35:Dr.nameRevoke,36:Dr.nameTransfer,40:Dr.contract,42:Dr.contractCreate,43:Dr.contractCall,41:Dr.contractCallResult,22:Dr.oracleRegister,25:Dr.oracleExtend,23:Dr.oracleQuery,24:Dr.oracleResponse,50:Dr.channelCreate,53:Dr.channelCloseMutual,54:Dr.channelCloseSolo,55:Dr.channelSlash,[Tr]:Dr.channelForceProgress,51:Dr.channelDeposit,52:Dr.channelWithdraw,56:Dr.channelSettle,57:Dr.channelOffChain,58:Dr.channel,59:Dr.channelSnapshotSolo,[Ir]:Dr.channelOffChainUpdateTransfer,[Cr]:Dr.channelOffChainUpdateDeposit,[Er]:Dr.channelOffChainUpdateWithdrawal,[Ar]:Dr.channelOffChainCreateContract,[kr]:Dr.channelOffChainCallContract,[_r]:Dr.channelReconnect,60:Dr.proofOfInclusion,62:Dr.stateTrees,63:Dr.merklePatriciaTree,64:Dr.merklePatriciaTreeValue,[Or]:Dr.contractsTree,[Nr]:Dr.contractCallsTree,[Sr]:Dr.channelsTree,[Pr]:Dr.nameserviceTree,[jr]:Dr.oraclesTree,[Mr]:Dr.accountsTree,80:Dr.gaAttach,81:Dr.gaMeta,82:Dr.payingFor,70:Dr.sophiaByteCode},Hr={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},Kr=15e3,Wr=20,Lr=2e4,Gr=3,Qr=e=>{const t={[Dr.channelForceProgress]:30,[Dr.channelOffChain]:0,[Dr.channelOffChainCallContract]:0,[Dr.channelOffChainCreateContract]:0,[Dr.channelOffChainUpdateDeposit]:0,[Dr.channelOffChainUpdateWithdrawal]:0,[Dr.channelOffChainUpdateTransfer]:0,[Dr.contractCreate]:5,[Dr.contractCall]:12,[Dr.gaAttach]:5,[Dr.gaMeta]:5,[Dr.payingFor]:.2}[e]||1;return new(m())(t*Kr)},zr=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Dr.oracleRegister:case Dr.oracleExtend:case Dr.oracleQuery:case Dr.oracleResponse:return new(m())(t).times(Wr).plus(Math.ceil(32e3*r/Math.floor(525600/Gr)));case Dr.gaMeta:case Dr.payingFor:return new(m())(t).minus(a).times(Wr);default:return new(m())(t).times(Wr)}},Yr=[Br("tag",Hr.int),Br("VSN",Hr.int)],Xr=[...Yr,Br("sourceCodeHash",Hr.rawBinary),Br("typeInfo",Hr.sophiaCodeTypeInfo),Br("byteCode",Hr.rawBinary),Br("compilerVersion",Hr.string),Br("payable",Hr.bool)],Jr=[...Yr,Br("flags",Hr.int),Br("nonce",Hr.int),Br("balance",Hr.int),Br("gaContract",Hr.id,["ct","nm"]),Br("gaAuthFun",Hr.binary,"cb")],Zr=[...Yr,Br("senderId",Hr.id,"ak"),Br("recipientId",Hr.id,["ak","nm"]),Br("amount",Hr.amount),Br("fee",Hr.int),Br("ttl",Hr.int),Br("nonce",Hr.int),Br("payload",Hr.payload)],ea=[...Yr,Br("signatures",Hr.signatures),Br("encodedTx",Hr.rlpBinary)],ta=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("commitmentId",Hr.id,"cm"),Br("fee",Hr.int),Br("ttl",Hr.int)],na=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("name",class extends sr{static serialize(e){return Jn(e),or.from(e)}static deserialize(e){return e.toString()}}),Br("nameSalt",Hr.int),Br("nameFee",class extends sr{static serialize(e,t){var n;let{name:r}=t;const a=tr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new z(e,a);return Gn(e)}static deserialize(e){return Qn(e)}}),Br("fee",Hr.int),Br("ttl",Hr.int)],ra=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("nameTtl",Hr.int),Br("pointers",Hr.pointers),Br("clientTtl",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],aa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("recipientId",Hr.id,["ak","nm"]),Br("fee",Hr.int),Br("ttl",Hr.int)],oa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("fee",Hr.int),Br("ttl",Hr.int)],sa=[...Yr,Br("owner",Hr.id,"ak"),Br("ctVersion",Hr.int),Br("code",Hr.binary,"cb"),Br("log",Hr.binary,"cb"),Br("active",Hr.bool),Br("referers",Hr.ids,"ak"),Br("deposit",cr)],ia=[...Yr,Br("ownerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("code",Hr.binary,"cb"),Br("authFun",Hr.rawBinary),Br("ctVersion",Hr.ctVersion),Br("fee",Hr.int),Br("ttl",Hr.int),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],ca=[...Yr,Br("gaId",Hr.id,"ak"),Br("authData",Hr.binary,"cb"),Br("abiVersion",Hr.int),Br("fee",Hr.int),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("tx",Hr.rlpBinary)],ua=[...Yr,Br("payerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("fee",Hr.int),Br("tx",Hr.rlpBinary)],da=[...Yr,Br("ownerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("code",Hr.binary,"cb"),Br("ctVersion",Hr.ctVersion),Br("fee",Hr.int),Br("ttl",Hr.int),Br("deposit",cr),Br("amount",Hr.amount),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],la=[...Yr,Br("callerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("contractId",Hr.id,["ct","nm"]),Br("abiVersion",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int),Br("amount",Hr.amount),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],ha=[...Yr,Br("callerId",Hr.id,"ak"),Br("callerNonce",Hr.int),Br("height",Hr.int),Br("contractId",Hr.id,"ct"),Br("gasPrice",Hr.int),Br("gasUsed",Hr.int),Br("returnValue",Hr.binary,"cb"),Br("returnType",Hr.callReturnType),Br("log",Hr.rawBinary)],pa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("queryFormat",Hr.string),Br("responseFormat",Hr.string),Br("queryFee",Hr.amount),Br("oracleTtlType",Hr.int),Br("oracleTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int),Br("abiVersion",Hr.int)],fa=[...Yr,Br("oracleId",Hr.id,["ok","nm"]),Br("nonce",Hr.int),Br("oracleTtlType",Hr.int),Br("oracleTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ma=[...Yr,Br("senderId",Hr.id,"ak"),Br("nonce",Hr.int),Br("oracleId",Hr.id,["ok","nm"]),Br("query",Hr.string),Br("queryFee",Hr.amount),Br("queryTtlType",Hr.int),Br("queryTtlValue",Hr.int),Br("responseTtlType",Hr.int),Br("responseTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ga=[...Yr,Br("oracleId",Hr.id,"ok"),Br("nonce",Hr.int),Br("queryId",Hr.binary,"oq"),Br("response",Hr.string),Br("responseTtlType",Hr.int),Br("responseTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ya=[...Yr,Br("initiator",Hr.id,"ak"),Br("initiatorAmount",Hr.int),Br("responder",Hr.id,"ak"),Br("responderAmount",Hr.int),Br("channelReserve",Hr.int),Br("lockPeriod",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("initiatorDelegateIds",Hr.string),Br("responderDelegateIds",Hr.string),Br("stateHash",Hr.binary,"st"),Br("nonce",Hr.int)],wa=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("amount",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("stateHash",Hr.binary,"st"),Br("round",Hr.int),Br("nonce",Hr.int)],ba=[...Yr,Br("channelId",Hr.id,"ch"),Br("toId",Hr.id,"ak"),Br("amount",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("stateHash",Hr.binary,"st"),Br("round",Hr.int),Br("nonce",Hr.int)],xa=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("initiatorAmountFinal",Hr.int),Br("responderAmountFinal",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],va=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("poi",Hr.binary,"pi"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ta=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("poi",Hr.binary,"pi"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ia=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("initiatorAmountFinal",Hr.int),Br("responderAmountFinal",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ca=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("round",Hr.int),Br("update",Hr.binary,"cb"),Br("stateHash",Hr.binary,"st"),Br("offChainTrees",Hr.stateTree),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ea=[...Yr,Br("channelId",Hr.id,"ch"),Br("round",Hr.int),Br("stateHash",Hr.binary,"st")],Aa=[...Yr,Br("initiator",Hr.id,"ak"),Br("responder",Hr.id,"ak"),Br("channelAmount",Hr.int),Br("initiatorAmount",Hr.int),Br("responderAmount",Hr.int),Br("channelReserve",Hr.int),Br("initiatorDelegateIds",Hr.ids),Br("responderDelegateIds",Hr.ids),Br("stateHash",Hr.hex),Br("round",Hr.int),Br("soloRound",Hr.int),Br("lockPeriod",Hr.int),Br("lockedUntil",Hr.int),Br("initiatorAuth",Hr.binary,"cb"),Br("responderAuth",Hr.binary,"cb")],ka=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],_a=[...Yr,Br("owner",Hr.id,"ak"),Br("ctVersion",Hr.int),Br("code",Hr.binary,"cb"),Br("deposit",Hr.int),Br("callData",Hr.binary,"cb")],Oa=[...Yr,Br("caller",Hr.id,"ak"),Br("contract",Hr.id,"ct"),Br("abiVersion",Hr.int),Br("amount",Hr.int),Br("callData",Hr.binary,"cb"),Br("callStack",Hr.callStack),Br("gasPrice",Hr.int),Br("gasLimit",Hr.int)],Na=[...Yr,Br("channelId",Hr.id,"ch"),Br("round",Hr.int),Br("role",Hr.string),Br("pubkey",Hr.id,"ak")],Sa=[...Yr,Br("from",Hr.id,"ak"),Br("to",Hr.id,"ak"),Br("amount",Hr.int)],Pa=[...Yr,Br("from",Hr.id,"ak"),Br("amount",Hr.int)],ja=[...Yr,Br("from",Hr.id,"ak"),Br("amount",Hr.int)],Ma=[...Yr,Br("accounts",Hr.mptrees),Br("calls",Hr.mptrees),Br("channels",Hr.mptrees),Br("contracts",Hr.mptrees),Br("ns",Hr.mptrees),Br("oracles",Hr.mptrees)],Ba=[...Yr,Br("contracts",Hr.rlpBinary),Br("calls",Hr.rlpBinary),Br("channels",Hr.rlpBinary),Br("ns",Hr.rlpBinary),Br("oracles",Hr.rlpBinary),Br("accounts",Hr.rlpBinary)],Ra=[...Yr,Br("values",Hr.rlpBinaries)],Da=[...Yr,Br("key",Hr.hex),Br("value",Hr.rawBinary)],Fa=[...Yr,Br("contracts",Hr.rlpBinary)],qa=[...Yr,Br("calls",Hr.rlpBinary)],Va=[...Yr,Br("channels",Hr.rlpBinary)],$a=[...Yr,Br("mtree",Hr.rlpBinary)],Ua=[...Yr,Br("otree",Hr.rlpBinary)],Ha=[...Yr,Br("accounts",Hr.rlpBinary)],Ka={[Dr.account]:{2:Rr(Jr,10)},[Dr.signed]:{1:Rr(ea,vr)},[Dr.spend]:{1:Rr(Zr,12)},[Dr.namePreClaim]:{1:Rr(ta,33)},[Dr.nameClaim]:{2:Rr(na,32)},[Dr.nameUpdate]:{1:Rr(ra,34)},[Dr.nameTransfer]:{1:Rr(aa,36)},[Dr.nameRevoke]:{1:Rr(oa,35)},[Dr.contract]:{1:Rr(sa,40)},[Dr.contractCreate]:{1:Rr(da,42)},[Dr.contractCall]:{1:Rr(la,43)},[Dr.contractCallResult]:{1:Rr(ha,41)},[Dr.oracleRegister]:{1:Rr(pa,22)},[Dr.oracleExtend]:{1:Rr(fa,25)},[Dr.oracleQuery]:{1:Rr(ma,23)},[Dr.oracleResponse]:{1:Rr(ga,24)},[Dr.channelCreate]:{2:Rr(ya,50)},[Dr.channelCloseMutual]:{1:Rr(xa,53)},[Dr.channelCloseSolo]:{1:Rr(va,54)},[Dr.channelSlash]:{1:Rr(Ta,55)},[Dr.channelDeposit]:{1:Rr(wa,51)},[Dr.channelWithdraw]:{1:Rr(ba,52)},[Dr.channelSettle]:{1:Rr(Ia,56)},[Dr.channelForceProgress]:{1:Rr(Ca,Tr)},[Dr.channelOffChain]:{2:Rr(Ea,57)},[Dr.channel]:{3:Rr(Aa,58)},[Dr.channelSnapshotSolo]:{1:Rr(ka,59)},[Dr.channelOffChainUpdateTransfer]:{1:Rr(Sa,Ir)},[Dr.channelOffChainUpdateDeposit]:{1:Rr(Pa,Cr)},[Dr.channelOffChainUpdateWithdrawal]:{1:Rr(ja,Er)},[Dr.channelOffChainCreateContract]:{1:Rr(_a,Ar)},[Dr.channelOffChainCallContract]:{1:Rr(Oa,kr)},[Dr.channelReconnect]:{1:Rr(Na,_r)},[Dr.proofOfInclusion]:{1:Rr(Ma,60)},[Dr.stateTrees]:{1:Rr(Ba,62)},[Dr.merklePatriciaTree]:{1:Rr(Ra,63)},[Dr.merklePatriciaTreeValue]:{1:Rr(Da,64)},[Dr.contractsTree]:{1:Rr(Fa,Or)},[Dr.contractCallsTree]:{1:Rr(qa,Nr)},[Dr.channelsTree]:{1:Rr(Va,Sr)},[Dr.nameserviceTree]:{1:Rr($a,Pr)},[Dr.oraclesTree]:{1:Rr(Ua,jr)},[Dr.accountsTree]:{1:Rr(Ha,Mr)},[Dr.gaAttach]:{1:Rr(ia,80)},[Dr.gaMeta]:{2:Rr(ca,81)},[Dr.payingFor]:{1:Rr(ua,82)}},Wa={10:{2:Rr(Jr,10)},[vr]:{1:Rr(ea,vr)},12:{1:Rr(Zr,12)},33:{1:Rr(ta,33)},32:{2:Rr(na,32)},34:{1:Rr(ra,34)},36:{1:Rr(aa,36)},35:{1:Rr(oa,35)},40:{1:Rr(sa,40)},42:{1:Rr(da,42)},43:{1:Rr(la,43)},41:{1:Rr(ha,41)},22:{1:Rr(pa,22)},25:{1:Rr(fa,25)},23:{1:Rr(ma,23)},24:{1:Rr(ga,24)},50:{2:Rr(ya,50)},53:{1:Rr(xa,53)},54:{1:Rr(va,54)},55:{1:Rr(Ta,55)},51:{1:Rr(wa,51)},52:{1:Rr(ba,52)},56:{1:Rr(Ia,56)},57:{2:Rr(Ea,57)},58:{3:Rr(Aa,58)},59:{1:Rr(ka,59)},[Ir]:{1:Rr(Sa,Ir)},[Cr]:{1:Rr(Pa,Cr)},[Er]:{1:Rr(ja,Er)},[Ar]:{1:Rr(_a,Ar)},[kr]:{1:Rr(Oa,kr)},[_r]:{1:Rr(Na,_r)},60:{1:Rr(Ma,60)},62:{1:Rr(Ba,62)},63:{1:Rr(Ra,63)},64:{1:Rr(Da,64)},[Or]:{1:Rr(Fa,Or)},[Nr]:{1:Rr(qa,Nr)},[Sr]:{1:Rr(Va,Sr)},[Pr]:{1:Rr($a,Pr)},[jr]:{1:Rr(Ua,jr)},[Mr]:{1:Rr(Ha,Mr)},80:{1:Rr(ia,80)},81:{2:Rr(ca,81)},82:{1:Rr(ua,82)},[Tr]:{1:Rr(Ca,Tr)},70:{3:Rr(Xr,70)}};var La,Ga=T(408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(La||(La={}));class Qa{static nodeHash(e){return Ga.from(At((0,an.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Ae("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(Qa.nodeHash(n)!==t)throw new Ee;const{type:r,payload:a}=Qa.parseNode(n);switch(r){case La.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Ae("Can't find a node by hash in branch node")}));break;case La.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Ae("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:La.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Ne(n);const r=n<=1?La.Extension:La.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Oe(e.length)}}serialize(){return[Ga.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Ga.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Qa.parseNode(this.nodes[t]);switch(n){case La.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case La.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case La.Leaf:if(a!==e)return;return r[0]}}}}var za=T(408).Buffer;const Ya="delta";function Xa(e,t,n){if(!e)return"";switch(t){case Hr.ctVersion:{const[t,,n]=e;return{vmVersion:Qn(za.from([t])),abiVersion:Qn(za.from([n]))}}case Hr.amount:case Hr.int:return Qn(e);case Hr.id:return Ln(e);case Hr.ids:return e.map(Ln);case Hr.bool:return 1===e[0];case Hr.binary:return It(e,n);case Hr.stateTree:return It(e,"ss");case Hr.string:return e.toString();case Hr.payload:return It(e,"ba");case Hr.pointers:return Yn(e);case Hr.rlpBinary:return lo(e,!0);case Hr.rlpBinaries:return e.map((e=>lo(e,!0)));case Hr.rawBinary:return e;case Hr.hex:return e.toString("hex");case Hr.offChainUpdates:return e.map((e=>lo(e,!0)));case Hr.callStack:return[Qn(e)];case Hr.mptrees:return e.map((e=>new Qa(e)));case Hr.callReturnType:switch(Qn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Hr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,o]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:o}}}),{});default:return t.prototype instanceof sr?t.deserialize(e):e}}function Ja(e,t,n,r){var a;switch(t){case Hr.amount:case Hr.int:return Gn(e);case Hr.id:return Wn(e);case Hr.ids:return e.map(Wn);case Hr.bool:return za.from([e?1:0]);case Hr.binary:return Tt(e,n);case Hr.stateTree:return Tt(e,"ss");case Hr.hex:return za.from(e,"hex");case Hr.signatures:return e.map(za.from);case Hr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Tt(e,"ba"):it(e);case Hr.string:return it(e);case Hr.pointers:return zn(e);case Hr.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case Hr.mptrees:return e.map((e=>e.serialize()));case Hr.ctVersion:return za.from([...it(e.vmVersion),0,...it(e.abiVersion)]);case Hr.callReturnType:switch(e){case"ok":return Gn(0);case"error":return Gn(1);case"revert":return Gn(2);default:return e}default:return t.prototype instanceof sr?t.serialize(e,r):e}}function Za(e,t,n){if(null==e)return"Field is required";switch(t){case Hr.amount:case Hr.int:return isNaN(e)&&!m().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(m())(e).lt(0)?`${e} must be >= 0`:void 0;case Hr.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case Hr.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Hr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function eo(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Hr.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:hn(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===Ya?0:1,e[`${n}Value`]=a.value),e}),{})}function to(e,t){const n={[Dr.oracleRegister]:"oracleTtl",[Dr.oracleExtend]:"oracleTtl",[Dr.oracleQuery]:"queryTtl",[Dr.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function no(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=m()(1e9);if(!r)return m()(Lr).times(o).toString(10);let s=ro(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=m()(0);for(;!s.eq(i);)s=ro(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function ro(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=uo({...n},e,{vsn:o}),i=s.length;return Qr(e).plus(zr(e,i,{relativeTtl:to(n,e),innerTxSize:[Dr.gaMeta,Dr.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function ao(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Lr})`),e||no(t,{params:r,gas:n,vsn:o})}function oo(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,Za(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function so(e,t){let{excludeKeys:n=[],denomination:r=cn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=oo(e=eo(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Ue("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return Ja(e[n],r,a,e)}))}function io(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:Xa(e[r],o,s)})}),{})}const co=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?Wa:Ka;if(!s[o])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function uo(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=ur,denomination:o=cn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=co({type:t,vsn:a}),c=so({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),u=(0,an.encode)(c),d=It(u,r);return{tx:d,rlpEncoded:u,binary:c,txObject:io(c,s)}}function lo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:Tt(e,n),a=(0,an.decode)(r),o=Qn(a[0]),s=Qn(a[1]),[i]=co({objId:o,vsn:s});return{txType:Ur[o],tx:io(a,i),rlpEncoded:r,binary:a}}function ho(e){return It(At("string"==typeof e&&e.startsWith("tx_")?Tt(e,"tx"):e),"th")}var po={calculateMinFee:no,calculateFee:ao,unpackTx:lo,unpackRawTx:io,buildTx:uo,buildRawTx:so,validateParams:oo,buildTxHash:ho},fo=T(882),mo=T(986),go=T(408).Buffer;const yo=go.from("ed25519 seed"),wo=2147483648,bo=e=>go.from(e).toString("hex");function xo(e,t){const n=""===e?[]:(0,mo.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<wo)throw new _e(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Eo(e,t)),t)}function vo(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Te;const n=Co(t);return xo(e.slice(2),n)}function To(e){const{secretKey:t,publicKey:n}=e;return{secretKey:bo(t),publicKey:It(n,"ak")}}function Io(e){return l().sign.keyPair.fromSeed(e)}function Co(e){const t=(0,fo.full)(e,yo);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Eo(e,t){let{secretKey:n,chainCode:r}=e;if(t<wo)throw new Se(t);const a=go.allocUnsafe(4);a.writeUInt32BE(t,0);const o=go.concat([go.alloc(1,0),go.from(n),go.from(a)]),s=(0,fo.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function Ao(e,t){const n=vo("m/44h/457h",e);return{secretKey:bo(Rt(t,n.secretKey)),chainCode:bo(Rt(t,n.chainCode))}}function ko(e,t,n){const r={secretKey:Dt(t,go.from(e.secretKey,"hex")),chainCode:Dt(t,go.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>To(Io(xo(`${t}h/0h/0h`,r).secretKey))))}const _o=(e,t)=>({...To(Io(xo(`${t}h/0h/0h`,vo("m/44h/457h",e)).secretKey)),idx:t});var Oo=T(910),No=T.n(Oo),So=T(180),Po=No()((0,So.required)({methods:{spendTx:So.required,namePreclaimTx:So.required,nameClaimTx:So.required,nameTransferTx:So.required,nameUpdateTx:So.required,nameRevokeTx:So.required,contractCreateTx:So.required,contractCallTx:So.required,oracleRegisterTx:So.required,oracleExtendTx:So.required,oraclePostQueryTx:So.required,oracleRespondTx:So.required,getAccountNonce:So.required,channelCloseSoloTx:So.required,channelSlashTx:So.required,channelSettleTx:So.required,channelSnapshotSoloTx:So.required,gaAttachTx:So.required,getVmVersion:So.required,prepareTxParams:So.required}}));const jo=No()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,So.required)({methods:{sendTransaction:So.required,height:So.required,awaitHeight:So.required,poll:So.required,balance:So.required,getBalance:So.required,tx:So.required,getTxInfo:So.required,mempool:So.required,txDryRun:So.required,getAccount:So.required}}));var Mo=jo;function Bo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const o=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===o?r:o}return r}),r)}var Ro=No()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==Bo)),t.compose.initializers=[Bo]}}),Do=T(659),Fo=T.n(Do),qo=T(503),Vo=T.n(qo),$o=T(911);const Uo=T.n($o)()({storeAsString:!0}),Ho=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Ho(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Ho(e)));if("string"==typeof e&&m()(e).toString(10)===e){const t=m()(e);return t.toJSON=()=>t.toString(10),t}return e};var Ko={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Uo.stringify(Ho(e),...n)},parse:Uo.parse};let Wo=!1;var Lo=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Vo()(e)).json();const s=r?JSON:Ko,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Fo()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=Vo()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=s.parse(e.text);return Object.assign(e,{body:a?n:Tn(n)}),o&&o(e)||e}})}))),u=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),wn((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Wo||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),Wo=!0),n(...arguments)}]}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),l={},h=wn(u,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+nt(t.slice(1));return[r,async function(){for(var e,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];const u=d[t],h=[...u.parameters,...u.requestBody?[{required:u.requestBody.required,schema:Object.values(u.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new S(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=wn(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),o=bn(a?n:vn(n),(e=>{let[t]=e;return r.includes(t)}));return[t,s.stringify(o)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=l[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return l[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Go(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),o=r(t),s=r(n),i=Math.max(...a,...o,...s)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),u=c(a),d=c(o),l=c(s);return u>=d&&u<l}function Qo(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new B("networkId is not provided");return n&&!r?null:r}const zo=Ro.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new B('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Lo(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Go(this.version,Yo,Xo)&&!r)throw new K("node",this.version,Yo,Xo);this.api=a.api;const{nodeRevision:o,genesisKeyBlockHash:s,networkId:i,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:o,genesisHash:s})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Yo="6.2.0",Xo="7.0.0";var Jo=zo,Zo=T(408).Buffer;const es=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var ts=No()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=Tt(e,"tx"),a=Zo.concat([Zo.from(n.join("-")),At(r)]),o=[await this.sign(a,t)];return uo({encodedTx:r,signatures:o},Dr.signed).tx},getNetworkId:Qo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Vt(e),t);return t.returnHex?Zo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Ut(e,"string"==typeof t?Zo.from(t,"hex"):t,Tt(await this.address(n)))}}},(0,So.required)({methods:{sign:So.required,address:So.required}}));const ns=No()(Po,ts,Mo,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),o=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:po.buildTxHash(o),rawTx:o}:this.sendTransaction(o,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new O("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),o=await this.address(r),s=new(m())(await this.balance(o)),i=s.times(e).integerValue(m().ROUND_HALF_UP),{tx:{fee:c}}=po.unpackTx(await this.spendTx({...r,senderId:o,recipientId:a,amount:i})),u=i.plus(c).gt(s)?s.minus(c):i;return this.send(await this.spendTx({...r,senderId:o,recipientId:a,amount:u}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:cn.AETTOS}}}});var rs=ns,as=T(408).Buffer;const os=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:o,parentTxTypes:s}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=as.from([o.nodeNetworkId,...s.includes(Dr.payingFor)?["inner_tx"]:[]].join("-")),c=as.concat([i,n.rlpEncoded]),u=as.concat([i,At(n.rlpEncoded)]),d=Tt(a.id,"ak");return qt(c,r[0],d)||qt(u,r[0],d)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:o,txType:s}=t;return void 0===(null!=n?n:r)?[]:is(It((null!=n?n:r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=ao(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(m())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:o,tx:s}=e,{account:i,parentTxTypes:c,txType:u}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:o))return[];const d=new(m())(a).plus(o||0).plus(r||0).plus(u===Dr.payingFor?s.tx.encodedTx.tx.fee:0).minus(c.includes(Dr.payingFor)?a:0);return d.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${d.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(Dr.gaMeta))return[];n=+n;const o=r.nonce+1;return n===o?[]:[{...n<o?{message:`Nonce ${n} is already used, valid nonce is ${o}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${o}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=wr?[]:[{message:`Gas price ${t} must be bigger then ${wr}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=$r[s];if(!i)throw new U(`Unsupported protocol: ${s}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Dr.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var o,s;if(null===(o=e.response)||void 0===o||null===(s=o.body)||void 0===s||!s.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],ss=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function is(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:o}=lo(e),s=null!==(n=ss(a))&&void 0!==n?n:o===Dr.signed?ss(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([s&&t.api.getAccountByPubkey(s).catch((()=>({id:s,balance:new(m())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(os.map((e=>e(a,{txType:o,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}var cs=No()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new Me("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new je(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new Me(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Qo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Pe;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new V('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new V(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new V(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new V(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function us(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:xr.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:o,...s}=e;const{resolve:i,reject:c,tx:u,options:d,accountAddress:l}=t[n];if("ok"===r)return i({...s,txEvents:a});c(Object.assign(new Fe(o),{tx:u,accountAddress:l,options:d}))}))}const ds=Mo.compose(cs,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await is(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new $e(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>is(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return hn(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return hn(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await yn(n),t=await this.height(),t>=e)return t;throw new F((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await yn(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new q(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new O("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new O("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,o;let{top:s,txEvents:i,combine:c}=n;const u=c?[s,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(o=(a=this._txDryRun)[u])&&void 0!==o||(a[u]=[]),new Promise(((n,r)=>{var a,o;this._txDryRun[u].push({tx:e,accountAddress:t,top:s,txEvents:i,resolve:n,reject:r}),c?null!==(o=(a=this._txDryRun[u]).timeout)&&void 0!==o||(a.timeout=setTimeout(us.bind(this,u))):us.call(this,u)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:o}=await this.api.getTransactionByHash(t);switch(o){case-1:throw new Qe(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Y(`Name or address should be a string: ${e}`);try{return Tt(e),e}catch(e){}if(Zn(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Q(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Hn(e)}throw new Y(`Invalid name or address: ${e}`)}}});var ls=ds,hs=T(408).Buffer;const ps=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new V('tx "params" should be an object');if("string"!=typeof e||!Object.values(Dr).includes(e))throw new ze(`Unknown transaction type ${e}`);const r=ao(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=uo({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},fs=e=>{if(!e)throw new $e(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=lo(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=lo(e,!0);return{encodedTx:It(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new $e(`"tx" should be a string or Uint8Array, got ${e} instead`)},ms=No()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return ps(n,t,r);if(e)return fs(e);throw new $e('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Dr.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>ms({tx:e}),fromRlp:e=>ms({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new V("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,ps(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=at(e)?hs.from(e,"hex"):e,!(hs.isBuffer(e)||e instanceof Uint8Array))throw new Ve("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,ps(Dr.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return ao(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var gs=ms;async function ys(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:lr,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new O("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const ws=ls.compose(Po,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ms({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:Dr.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:s,fee:parseInt(o),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(Dr.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Dr.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:Dr.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o),name:It(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ms({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:Dr.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:s,ttl:o,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(Dr.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:Dr.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(s)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(Dr.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Dr.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:o,gas:s,gasPrice:i=wr,callData:c}=e;const u=this.getVmVersion(Dr.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(Dr.contractCreate,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return this.nativeMode?{tx:ms({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:Dr.contractCreate}).encodedTx,contractId:Vn(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:i,vmVersion:u.vmVersion,abiVersion:u.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:o,gasPrice:s=wr,callData:i}=e;const c=this.getVmVersion(Dr.contractCall,arguments[0]),{fee:u,ttl:d,nonce:l}=await this.prepareTxParams(Dr.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:l,ttl:d,fee:u,abiVersion:c.abiVersion,gasPrice:s},type:Dr.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:l,ttl:d,fee:parseInt(u),gas:parseInt(o),gasPrice:s,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:o,gas:s,absoluteTtl:i,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const d=await ys.call(this,a,!i),l=ao(o,e,{showWarning:this.showWarning,gas:s,params:{...arguments[1],nonce:r,ttl:d},vsn:c});return{fee:l,ttl:d,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:o,abiVersion:s=qr.NO_ABI}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(Dr.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:ms({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Dr.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:s,fee:parseInt(i),oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return d},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ms({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:Dr.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:s,ttl:o});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:o,senderId:s}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(Dr.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ms({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:u,senderId:s},type:Dr.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:o,ttl:c,nonce:u,senderId:s});return d},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(Dr.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ms({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:Dr.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:o,fee:parseInt(s),ttl:i,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Dr.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Dr.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},Dr.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:s,fee:parseInt(o),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},Dr.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:parseInt(a),nonce:s});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:o,gas:s,gasPrice:i=wr,callData:c}=e;const u=this.getVmVersion(Dr.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(Dr.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return{tx:ms({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:Dr.gaAttach}).encodedTx,contractId:Vn(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:lo(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(Dr.payingFor,{...a,...r,senderId:n});return uo({...a,...r,fee:o,nonce:s},Dr.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=$r[r];if(!a)throw new U("Not supported consensus protocol version");const o=a[e];if(!o)throw new ze("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Xe(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Ye(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var bs=ws,xs=T(408).Buffer;const vs=new WeakMap;var Ts=ts.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return Tt(n),void vs.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new L("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new L('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new L('Public Key must be a base58c string with "ak_" prefix');if(!xs.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!at(t.secretKey))throw new L("Secret key must be hex string or Buffer");const r=xs.from(Tt(t.publicKey,"ak"));if(!Ht(xs.from(t.secretKey,"hex"),r))throw new L("Invalid Key Pair");vs.set(this,{secretKey:xs.isBuffer(t.secretKey)?t.secretKey:xs.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new L("You are trying to sign data using generalized account without keypair");return Promise.resolve(Ft(e,vs.get(this).secretKey))},address(){return Promise.resolve(vs.get(this).publicKey)}}}),Is=ts.compose(Ro,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(Tt(e,"ak"),!this.accounts[e])throw new G(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new V("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(Tt(e,"ak"),!this.accounts[e])throw new G(e);return this.accounts[e];case"object":return es(e)?e:Ts({keypair:e});default:throw new V(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}});const Cs=rs.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:In,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>In||r<=0)throw new O("nameTtl",`a number between 1 and ${In} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const n={...this.Ae.defaults,...t},r=St(),a=await this.height(),o=Kn(e,r),s=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:o}),i=await this.send(s,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:o})},aensClaim:async function(e,t,n){Jn(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),o=await this.send(a,r);if(!ar(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(o,t)}return{...o,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Jn(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},o=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(o,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Jn(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:An,nameTtl:In}}}});var Es=Cs,As=Ro.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new B("compilerUrl required");e=e.replace(/\/$/,"");const n=await Lo(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=wn(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Go(this.compilerVersion,ks,_s))throw new K("compiler",this.compilerVersion,ks,_s)}},props:{compilerVersion:null}});const ks="6.1.0",_s="7.0.0";var Os=T(946),Ns=T(408).Buffer,Ss=rs.compose(As,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:o={},validateBytecode:s,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:o}})),!r)throw new fe;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new pe("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new le(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new Os.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:o,...i},compilerVersion:this.compilerVersion};if(s){if(!a)throw new pe("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new ue(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new N("Contract already compiled");if(!c.source)throw new N("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:gs({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await d(a),{...r,result:a}},d=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=Tt(r).toString();break;default:throw new W(`Unknown returnType: ${n}`)}throw new ge(t)};function l(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new ye(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const o=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+At(n).toString("hex"))===t}));switch(o.length){case 0:throw new be(t,e);case 1:return o[0][0];default:throw new xe(e,o)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new de;const o=await e.address(a),{tx:s,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:o}),{hash:d,rawTx:l,result:h,txData:p}=await u(s,a);return c.deployInfo=Object.freeze({result:h,owner:o,transaction:d,rawTx:l,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},o=l(t),s=c.deployInfo.address;if(!t)throw new me;if("init"===t&&!a.callStatic)throw new he('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new he("You need to deploy contract before calling!");if("init"!==t&&a.amount>0&&!1===o.payable)throw new we(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return xr.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:yr,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:s}),{callObj:o,...u}=await e.txDryRun(r,i,a);await d(o),p={...u,tx:gs({tx:r}),result:o}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:s,callData:h});p=await u(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=o.returns&&"unit"!==o.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof be)return null;throw e}const o=c.calldata.decodeEvent(a,e.data,r),[s,i]=Object.entries(o)[0];return{name:s,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];const s=a.length===n.length+1?a.pop():{};if("object"!=typeof s)throw new V(`Options should be an object: ${s}`);return"init"===t?c.deploy(a,{callStatic:e,...s}):c.call(t,a,{callStatic:e,...s})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Ns.concat([Ns.from(this.getNetworkId(t)),...e.map((e=>Tt(e)))]),t);return Ns.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Hn(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([null!=n?n:await this.address(r),t],r)}},deepProps:{Ae:{defaults:{gasPrice:wr,amount:gr}}}});const Ps=e=>async(t,n)=>{if("object"!=typeof t)throw new ce("AuthData must be an object");if(t.gas&&m()(t.gas).gt(br))throw new ce(`the maximum gas value for ga authFun is ${br}, got ${t.gas}`);const r=t.gas||br;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new ce('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new ce("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},js=Ss.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...a},s=await this.address(o);if(await this.isGA(s))throw new N(`Account ${s} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:u}=await this.gaAttachTx({...o,gas:null!==(n=o.gas)&&void 0!==n?n:await i._estimateGas("init",r,o),ownerId:s,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:At(e)}),{hash:d,rawTx:l}=await this.send(c,o);return Object.freeze({owner:s,transaction:d,rawTx:l,gaContractId:u})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new B("authData is required");const{authCallData:a,gas:o}=await Ps(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Dr.contractCall),c=Bs(lo(e)),u={...s,tx:{...c,tx:c.txObject},gaId:await this.address(s),abiVersion:i,authData:a,gas:o,vsn:2},{fee:d}=await this.prepareTxParams(Dr.gaMeta,u),{rlpEncoded:l}=uo({...u,fee:`${d}`},Dr.gaMeta,{vsn:2});return Bs(l).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Ms=js;const Bs=e=>uo({encodedTx:e,signatures:[]},Dr.signed),Rs=1;let Ds,Fs,qs,Vs,$s;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(Ds||(Ds={})),function(e){e.window="window",e.extension="extension"}(Fs||(Fs={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(qs||(qs={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Vs||(Vs={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}($s||($s={}));const Us={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},Hs=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new R;return{}},Ks=()=>window!==window.parent,Ws=e=>{let t=0;return function(n){let{id:r,method:a,params:o,result:s,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=o?{params:o}:s?{result:s}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...u}),r}},Ls=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Gs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Qs=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},zs=e=>(t,n,r)=>e.sendMessage(Qs(t,n,r),!0),Ys=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length;var Xs=No()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:o,handlers:[s,i]}=e;this.id=t,this.connection=o,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Ws(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new J(e);s(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===$s.CONNECTED||this.info.status===$s.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=$s.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Ys(e))throw new V("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Gs(Vs.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==qs.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===qs.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Gs(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new X;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new Z(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Js={[Vs.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Vs.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await Jo(a),!0),e.onNetworkChange(n)},[Vs.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Zs={[Vs.address]:e=>t=>e.rpcClient.processResponse(t),[Vs.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=$s.CONNECTED),e.rpcClient.processResponse(t)},[Vs.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Vs.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Vs.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ei={};var ti=rs.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new O(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ne;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new Je("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Xs({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Kt.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?Ls(Zs,e,{debug:a.debug})(a)(e):Ls(ei,e,{debug:a.debug})(a)(e):Ls(Js,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const o=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(o,"node"))throw new tt("Missing URLs of the Node");return t&&this.addNode(n,await Jo(o.node),r),o},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new et("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Gs(Vs.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ne;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ee(e);return e||t},async askAddresses(){if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;return this.rpcClient.request(Vs.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new et("You are not connected to Wallet");return this.rpcClient.request(Vs.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Vs.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Vs.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Vs.connect,{name:this.name,version:Rs,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Vs.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}});const ni=rs.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),o=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(o,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},o=await this.address(a),s=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:o,response:n});return{...await this.send(s,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),o=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(o,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},o=await this.address(a),s=await this.oraclePostQueryTx({...a,oracleId:e,senderId:o,query:t}),i=$n(o,lo(s).tx.nonce,e);return{...await this.send(s,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await yn(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Tt(n,"or");if(o.length)return String(o)}throw new F((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let o;return(async()=>{for(;!o;)await a().catch(console.error),await yn(n)})(),()=>{o=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:Tt(n.query).toString(),decodedResponse:Tt(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>Tt(e)}}},deepProps:{Ae:{defaults:{queryFee:hr,oracleTtl:pr,queryTtl:fr,responseTtl:mr}}}});var ri=ni,ai=rs.compose(bs,ri,Ss,Es,ls,ti);const oi=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!es(n.onAccount))throw new V("Provided onAccount should be an AccountBase");t=n.onAccount}return t},si={[Vs.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ii={},ci={[Vs.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i,connectNode:c}=r;return s!==Rs?{error:Us.unsupportedProtocol()}:(n.updateInfo({status:$s.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:o,version:s},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?$s.NODE_BINDED:$s.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:$s.CONNECTION_REJECTED}),{error:Us.connectionDeny(e)}))))},[Vs.subscribeAddress](e,t,n,r){let{type:a,value:o}=r;return n.isConnected()?e("onSubscription",{type:a,value:o},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Ys(r))throw new V("Invalid provided accounts object");const s=n.updateSubscription(a,o);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:s,address:r}}}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.notAuthorize()}},[Vs.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.notAuthorize()},[Vs.sign](e,t,n,r){const{tx:a,onAccount:o,networkId:s,returnSigned:i=!1}=r,c=o||n.currentAccount;return s&&n.updateInfo({networkId:s}),n.isConnected()?n.hasAccessToAccount(c)?s&&s===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:gs.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=oi(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await is(e||a,t.selectedNode.instance);return r.length?{error:Us.invalidTransaction(r)}:{error:Us.broadcastFailed(n.message)}}throw n}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.unsupportedNetwork()}:{error:Us.permissionDeny(c)}:{error:Us.notAuthorize()}},[Vs.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Us.notAuthorize()};const s=o||n.currentAccount;return n.hasAccessToAccount(s)?e("onMessageSign",{message:a,onAccount:s},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=oi(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.permissionDeny(s)}}},ui=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return Ls(si,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return Ls(ii,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:o}=n,s=(n,s,i,c)=>()=>new Promise((u=>{e[n](a,{id:t,method:o,params:s,accept:function(){return u(i(...arguments))},deny:function(){return u(c(...arguments))}},r)})),i=Ls(ci,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;zs(a)(t,o,c)}};var di=rs.compose(Is,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new O(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,Kt.v4)();const a=this.selectAccount.bind(this),o=this.addAccount.bind(this),s=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await o(t,{select:n});const s=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[s]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[s]:r},...e.accounts.connected}})))},this.selectNode=e=>{s(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Gs(Vs.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===$s.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new te(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,Kt.v4)();return this.rpcClients[t]=Xs({id:t,info:{status:$s.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[ui(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Gs(Vs.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Hs(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Fs.extension:Fs.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),li=rs.compose(di,bs,Ss,ri,Es,Ms,ls),hi=T(397),pi=T(735);const fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,xi=new WeakMap,vi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Ci=new WeakMap,Ei=new WeakMap,Ai=new WeakMap,ki=new WeakMap,_i=new WeakMap,Oi=new WeakMap;function Ni(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];bi.get(e).emit(...n)}function Si(e,t){if(!t)throw new ie;yi.set(e,t),t.handler.enter&&t.handler.enter(e),Ri(e)}function Pi(e,t){t!==mi.get(e)&&(mi.set(e,t),Ni(e,"statusChanged",t))}function ji(e,t){gi.set(e,t),Ni(e,"stateChanged",t)}function Mi(e,t){const{debug:n=!1}=fi.get(e);n&&console.log("Send message: ",t),wi.get(e).send(Ko.stringify(t))}function Bi(e,t,n){Ti.set(e,[...Ti.get(e)||[],{guard:t,action:n}]),Ri(e)}async function Ri(e){const t=Ii.get(e),n=Ti.get(e)||[];if(t||!n.length)return;const r=yi.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;Ti.set(e,n.filter(((e,t)=>a!==t))),Ii.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));Ii.set(e,!1),Si(e,o)}async function Di(e,t){const{handler:n,state:r}=yi.get(e);Si(e,await Promise.resolve(n(e,t,r)))}function Fi(e){clearTimeout(ki.get(e)),clearTimeout(_i.get(e)),ki.set(e,setTimeout((()=>{Mi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),_i.set(e,setTimeout((()=>{Vi(e),Ni(e,"error",new oe)}),5e3))}),1e4))}function qi(e,t,n){return new Promise(((r,a)=>{const o=Ci.set(e,Ci.get(e)+1).get(e);Ai.get(e).set(o,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new re(e.error.message+(t?`: ${t}`:"")))}})),Mi(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Vi(e){wi.get(e).close(),clearTimeout(ki.get(e)),clearTimeout(_i.get(e))}async function $i(e,t,n,r){let{url:a,...o}=r;fi.set(e,o),yi.set(e,{handler:t}),bi.set(e,new pi.EventEmitter),Ci.set(e,0),Ai.set(e,new Map),xi.set(e,[]);const s=new URL(a);Object.entries(o).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return s.searchParams.set(rt(t),n)})),s.searchParams.set("protocol","json-rpc"),Pi(e,"connecting");const i=new hi.w3cwebsocket(s.toString());await new Promise(((t,r)=>Object.assign(i,{onerror:r,onopen:()=>{t(),Pi(e,"connected"),o.reconnectTx&&(Si(e,{handler:n}),setTimeout((async()=>ji(e,(await qi(e,"channels.get.offchain_state",{})).signed_tx)))),Fi(e)},onclose:()=>{Pi(e,"disconnected"),clearTimeout(ki.get(e)),clearTimeout(_i.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Ko.parse(t),{debug:r=!1}=fi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=Ai.get(e).get(n.id);try{t(n)}finally{Ai.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(xi.get(e).push(n),async function(e){if(vi.get(e))return;const t=xi.get(e);if(t.length){for(vi.set(e,!0);t.length;){const n=t.shift();try{await Di(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}vi.set(e,!1)}}(e)):n.params.channel_id!==Ei.get(e)&&null!=Ei.get(e)||Fi(e):Ni(e,"message",n.params.data.message)}(e,n)}}))),wi.set(e,i)}async function Ui(e,t){const{signatures:n,encodedTx:r}=lo(e).tx,a=await t(It(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=lo(a);return uo({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Hi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new se(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Xi}}function Ki(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Pi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Li}):"channel_reestablished"===t.params.data.event?{handler:zi}:"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),{handler:Ki}):{handler:Ki}:"channels.error"===t.method?(Ni(e,"error",new ae(t.payload.message)),{handler:gc}):void 0}async function Wi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),ji(e,(await qi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Xi}):Hi(0,t,n)}async function Li(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[fi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx);return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Gi}}const n=await Ui(t.params.data.signed_tx,(t=>fi.get(e).sign(r,t)));return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Gi}}}function Gi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===fi.get(e).role)return{handler:Qi};if("funding_created"===t.params.data.info&&"responder"===fi.get(e).role)return{handler:Qi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===fi.get(e).role)return Ei.set(e,t.params.channel_id),Pi(e,"signed"),{handler:Gi}}function Qi(e,t,n){if("channels.info"===t.method){const e={funding_created:Qi,own_funding_locked:Qi,funding_locked:zi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Qi}}function zi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return Ei.set(e,t.params.channel_id),{handler:Yi}}function Yi(e,t,n){if("channels.update"===t.method)return ji(e,t.params.data.state),{handler:Xi}}async function Xi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:ec};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Ni(e,t.params.data.event),{handler:Xi};case"fsm_up":return Oi.set(e,t.params.data.fsm_id),{handler:Xi};case"timeout":case"close_mutual":case"shutdown":return{handler:Xi};case"closing":return Pi(e,"closing"),{handler:Xi};case"closed_confirmed":return Pi(e,"closed"),{handler:gc};case"died":return Pi(e,"died"),{handler:gc}}break;case"channels.on_chain_tx":return Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Xi};case"channels.leave":return{handler:Xi};case"channels.update":return ji(e,t.params.data.state),{handler:Xi};case"channels.sign.shutdown_sign_ack":return ec(e,t,n)}}async function Ji(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Zi,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Zi,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Ji,state:n}}if("channels.error"===t.method)return n.reject(new ae(t.data.message)),{handler:Xi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new P("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new N("Amount cannot be negative")):n.reject(new ae(t.error.message)),{handler:Xi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}function Zi(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):t.error?(n.reject(new ae(t.error.message)),{handler:Xi}):Hi(0,t,n)}async function ec(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Xi}}else{const a=await Ui(t.params.data.signed_tx,(n=>fi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Xi};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:tc,state:n}}return Mi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Bt().publicKey,to:Bt().publicKey,amount:1}}),{handler:tc,state:n}}return Hi(0,t,n)}function tc(e,t,n){return t.error?{handler:tc,state:n}:"channels.conflict"===t.method?{handler:Xi}:Hi(0,t,n)}async function nc(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:rc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e)));return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:rc,state:n}}return Hi(0,t,n)}function rc(e,t,n){return"channels.on_chain_tx"===t.method?{handler:gc,state:n}:Hi(0,t,n)}function ac(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Vi(e),{handler:gc}):"channels.error"===t.method?(n.reject(new ae(t.data.message)),{handler:Xi}):Hi(0,t,n)}async function oc(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:sc,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:sc,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:sc,state:n}}return Hi(0,t,n)}function sc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:sc,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:sc,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function ic(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cc,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:cc,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:cc,state:n}}return Hi(0,t,n)}function cc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:cc,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:cc,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function uc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:dc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:dc,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:dc,state:n}}return Hi(0,t,n)}function dc(e,t,n){if("channels.update"===t.method){const{round:r}=lo(t.params.data.state).tx.encodedTx.tx,a=fi.get(e)[{initiator:"initiatorId",responder:"responderId"}[fi.get(e).role]];return ji(e,t.params.data.state),n.resolve({accepted:!0,address:jt(a,r),signedTx:t.params.data.state}),{handler:Xi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function lc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:fc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:fc,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:fc,state:n}}return Hi(0,t,n)}async function hc(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Mi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:pc,state:n}}return Hi(0,t,n)}function pc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),Hi(0,t,n)}function fc(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}function mc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Xi}):(n.reject(new se("Unexpected message received")),{handler:gc})}function gc(e,t,n){return n?"closing"===t.params.data.event?{handler:gc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:gc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:gc}):{handler:gc,state:n}:{handler:gc}}function yc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[nt(n)]:r}}),{})}Xi.enter=e=>{Pi(e,"open")};const wc=Ro.compose({async init(e){await $i(this,e.existingFsmId?Wi:Ki,Xi,e)},methods:{on:function(e,t){bi.get(this).on(e,t)},off:function(e,t){bi.get(this).removeListener(e,t)},status:function(){return mi.get(this)},state:async function(){return yc(await qi(this,"channels.get.offchain_state",{}))},round:function(){if(!gi.get(this))return null;const{txType:e,tx:t}=lo(gi.get(this)).tx.encodedTx;switch(e){case Dr.channelCreate:return 1;case Dr.channelOffChain:case Dr.channelWithdraw:case Dr.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return Ei.get(this)},fsmId:function(){return Oi.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Ji,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await qi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await qi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Bi(this,((e,t)=>t.handler===Xi),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:ac,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Bi(this,((e,t)=>t.handler===Xi),((r,a)=>(Mi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:nc,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Mi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:oc,state:{sign:t,resolve:o,reject:s,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:ic,state:{sign:t,resolve:o,reject:s,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:o,abiVersion:s}=e;return new Promise(((e,i)=>{Bi(this,((e,t)=>t.handler===Xi),((c,u)=>(Mi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:uc,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o}=e;return new Promise(((e,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:lc,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return yc(await qi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return yc(await qi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await qi(this,"channels.get.contract",{pubkey:e});return yc({...t,contract:yc(t.contract)})},disconnect:function(){return Vi(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Bi(this,((e,t)=>t.handler===Xi),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:mc,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o,gas:s=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Bi(this,((e,t)=>t.handler===Xi),((d,l)=>(Mi(d,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:o,gas_price:i,gas:s}}),{handler:hc,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return wc({...e,reconnectTx:await n("reconnect",uo(t,Dr.channelReconnect).tx)})}}});var bc=wc,xc=rs.compose(Is,ls,bs,Es,Ss,ri,Ms),vc=No()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new $("Window object not found, you can run bridge only in browser");if(!t)throw new B("pageConnection required");if(!n)throw new B("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),Tc=(0,So.required)({methods:{connect:So.required,disconnect:So.required,sendMessage:So.required,isConnected:So.required}});const Ic=()=>{const e="object"==typeof Hs(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ks()?window.parent:void 0};var Cc=No()({init(){let{connectionInfo:e={},target:t=Ic(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=Ds.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(Ds).includes(a))throw new Ze(`sendDirection must be one of [${Object.keys(Ds)}]`);if(!Object.keys(Ds).includes(o))throw new Ze(`receiveDirection must be one of [${Object.keys(Ds)}]`);this.connectionInfo={id:(0,Kt.v4)(),...e};const c=n,u=t;this.origin=r,this.debug=s,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=o,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Je("You already connected");this.listener=(o,s)=>{if(o&&"object"==typeof o.data&&(a||!t||t===o.origin))if(r&&console.log("Receive message: ",o),o.data.type){if(o.data.type!==n)return;e(o.data.data,o.origin,o.source)}else e(o.data,o.origin,o.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new et("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},Tc),Ec=No()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new $("Window object not found, you can run wallet detector only in browser");this.connection=e||Cc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:o,params:s}=n;if(!o||!s||o!==Vs.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return Cc({connectionInfo:this,sendDirection:e?Ds.to_waellet:void 0,receiveDirection:e?Ds.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),Ac=No()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Hs().runtime)throw new tt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Hs().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Je("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new et("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},Tc);const kc=er}(),I}()}));
1
+ /*! For license information please see aepp-sdk.browser.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("buffer"),require("bignumber.js"),require("rlp"),require("bs58"),require("tweetnacl"),require("varuint-bitcoin"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),require("aes-js"),require("@aeternity/aepp-calldata"),require("@azure/core-client"),require("@azure/core-rest-pipeline"),require("json-bigint"),require("websocket"),require("events")):"function"==typeof define&&define.amd?define(["buffer","bignumber.js","rlp","bs58","tweetnacl","varuint-bitcoin","@aeternity/uuid","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path","aes-js","@aeternity/aepp-calldata","@azure/core-client","@azure/core-rest-pipeline","json-bigint","websocket","events"],t):"object"==typeof exports?exports.Ae=t(require("buffer"),require("bignumber.js"),require("rlp"),require("bs58"),require("tweetnacl"),require("varuint-bitcoin"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),require("aes-js"),require("@aeternity/aepp-calldata"),require("@azure/core-client"),require("@azure/core-rest-pipeline"),require("json-bigint"),require("websocket"),require("events")):e.Ae=t(e.buffer,e["bignumber.js"],e.rlp,e.bs58,e.tweetnacl,e["varuint-bitcoin"],e["@aeternity/uuid"],e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"],e["aes-js"],e["@aeternity/aepp-calldata"],e["@azure/core-client"],e["@azure/core-rest-pipeline"],e["json-bigint"],e.websocket,e.events)}(self,(function(e,t,n,r,a,i,o,s,c,l,u,d,p,m,h,y,f){return function(){var g={8442:function(e,t,n){const r=n(9488);function a(e,t,n){const r=e[t]+e[n];let a=e[t+1]+e[n+1];r>=4294967296&&a++,e[t]=r,e[t+1]=a}function i(e,t,n,r){let a=e[t]+n;n<0&&(a+=4294967296);let i=e[t+1]+r;a>=4294967296&&i++,e[t]=a,e[t+1]=i}function o(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function s(e,t,n,r,o,s){const c=d[o],l=d[o+1],p=d[s],m=d[s+1];a(u,e,t),i(u,e,c,l);let h=u[r]^u[e],y=u[r+1]^u[e+1];u[r]=y,u[r+1]=h,a(u,n,r),h=u[t]^u[n],y=u[t+1]^u[n+1],u[t]=h>>>24^y<<8,u[t+1]=y>>>24^h<<8,a(u,e,t),i(u,e,p,m),h=u[r]^u[e],y=u[r+1]^u[e+1],u[r]=h>>>16^y<<16,u[r+1]=y>>>16^h<<16,a(u,n,r),h=u[t]^u[n],y=u[t+1]^u[n+1],u[t]=y>>>31^h<<1,u[t+1]=h>>>31^y<<1}const c=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),l=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((function(e){return 2*e}))),u=new Uint32Array(32),d=new Uint32Array(32);function p(e,t){let n=0;for(n=0;n<16;n++)u[n]=e.h[n],u[n+16]=c[n];for(u[24]=u[24]^e.t,u[25]=u[25]^e.t/4294967296,t&&(u[28]=~u[28],u[29]=~u[29]),n=0;n<32;n++)d[n]=o(e.b,4*n);for(n=0;n<12;n++)s(0,8,16,24,l[16*n+0],l[16*n+1]),s(2,10,18,26,l[16*n+2],l[16*n+3]),s(4,12,20,28,l[16*n+4],l[16*n+5]),s(6,14,22,30,l[16*n+6],l[16*n+7]),s(0,10,20,30,l[16*n+8],l[16*n+9]),s(2,12,22,24,l[16*n+10],l[16*n+11]),s(4,14,16,26,l[16*n+12],l[16*n+13]),s(6,8,18,28,l[16*n+14],l[16*n+15]);for(n=0;n<16;n++)e.h[n]=e.h[n]^u[n]^u[n+16]}const m=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function h(e,t,n,r){if(0===e||e>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(t&&t.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(n&&16!==n.length)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(r&&16!==r.length)throw new Error("Illegal personal, expected Uint8Array with length is 16");const a={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:e};m.fill(0),m[0]=e,t&&(m[1]=t.length),m[2]=1,m[3]=1,n&&m.set(n,32),r&&m.set(r,48);for(let e=0;e<16;e++)a.h[e]=c[e]^o(m,4*e);return t&&(y(a,t),a.c=128),a}function y(e,t){for(let n=0;n<t.length;n++)128===e.c&&(e.t+=e.c,p(e,!1),e.c=0),e.b[e.c++]=t[n]}function f(e){for(e.t+=e.c;e.c<128;)e.b[e.c++]=0;p(e,!0);const t=new Uint8Array(e.outlen);for(let n=0;n<e.outlen;n++)t[n]=e.h[n>>2]>>8*(3&n);return t}function g(e,t,n,a,i){n=n||64,e=r.normalizeInput(e),a&&(a=r.normalizeInput(a)),i&&(i=r.normalizeInput(i));const o=h(n,t,a,i);return y(o,e),f(o)}e.exports={blake2b:g,blake2bHex:function(e,t,n,a,i){const o=g(e,t,n,a,i);return r.toHex(o)},blake2bInit:h,blake2bUpdate:y,blake2bFinal:f}},9488:function(e){function t(e){return(4294967296+e).toString(16).substring(1)}e.exports={normalizeInput:function(e){let t;if(e instanceof Uint8Array)t=e;else{if("string"!=typeof e)throw new Error("Input must be an string, Buffer or Uint8Array");t=(new TextEncoder).encode(e)}return t},toHex:function(e){return Array.prototype.map.call(e,(function(e){return(e<16?"0":"")+e.toString(16)})).join("")},debugPrint:function(e,n,r){let a="\n"+e+" = ";for(let i=0;i<n.length;i+=2){if(32===r)a+=t(n[i]).toUpperCase(),a+=" ",a+=t(n[i+1]).toUpperCase();else{if(64!==r)throw new Error("Invalid size "+r);a+=t(n[i+1]).toUpperCase(),a+=t(n[i]).toUpperCase()}i%6==4?a+="\n"+new Array(e.length+4).join(" "):i<n.length-2&&(a+=" ")}console.log(a)},testSpeed:function(e,t,n){let r=(new Date).getTime();const a=new Uint8Array(t);for(let e=0;e<t;e++)a[e]=e%256;const i=(new Date).getTime();console.log("Generated random input in "+(i-r)+"ms"),r=i;for(let i=0;i<n;i++){const n=e(a),i=(new Date).getTime(),o=i-r;r=i,console.log("Hashed in "+o+"ms: "+n.substring(0,20)+"..."),console.log(Math.round(t/(1<<20)/(o/1e3)*100)/100+" MB PER SECOND")}}}},3536:function(e,t,n){var r=n(1910);e.exports=r},991:function(e,t,n){n(7690);var r=n(5703);e.exports=r("Array").includes},8557:function(e,t,n){var r=n(7046),a=n(991),i=n(1631),o=Array.prototype,s=String.prototype;e.exports=function(e){var t=e.includes;return e===o||r(o,e)&&t===o.includes?a:"string"==typeof e||e===s||r(s,e)&&t===s.includes?i:t}},8171:function(e,t,n){n(6450);var r=n(4058).Object,a=e.exports=function(e,t,n){return r.defineProperty(e,t,n)};r.defineProperty.sham&&(a.sham=!0)},1631:function(e,t,n){n(1035);var r=n(5703);e.exports=r("String").includes},3685:function(e,t,n){e.exports=n(621)},621:function(e,t,n){var r=n(3536);e.exports=r},4883:function(e,t,n){var r=n(7475),a=n(9826),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(a(e)+" is not a function")}},8479:function(e){e.exports=function(){}},6059:function(e,t,n){var r=n(941),a=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw i(a(e)+" is not an object")}},1692:function(e,t,n){var r=n(4529),a=n(9413),i=n(623),o=function(e){return function(t,n,o){var s,c=r(t),l=i(c),u=a(o,l);if(e&&n!=n){for(;l>u;)if((s=c[u++])!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},2532:function(e,t,n){var r=n(5329),a=r({}.toString),i=r("".slice);e.exports=function(e){return i(a(e),8,-1)}},9697:function(e,t,n){var r=n(2885),a=n(7475),i=n(2532),o=n(9813)("toStringTag"),s=Object,c="Arguments"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=s(e),o))?n:c?i(t):"Object"==(r=i(t))&&a(t.callee)?"Arguments":r}},7772:function(e,t,n){var r=n(9813)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},2029:function(e,t,n){var r=n(5746),a=n(5988),i=n(1887);e.exports=r?function(e,t,n){return a.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},1887:function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},5609:function(e,t,n){var r=n(1899),a=Object.defineProperty;e.exports=function(e,t){try{a(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},5746:function(e,t,n){var r=n(5981);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},1333:function(e,t,n){var r=n(1899),a=n(941),i=r.document,o=a(i)&&a(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},2861:function(e,t,n){var r=n(626);e.exports=r("navigator","userAgent")||""},3385:function(e,t,n){var r,a,i=n(1899),o=n(2861),s=i.process,c=i.Deno,l=s&&s.versions||c&&c.version,u=l&&l.v8;u&&(a=(r=u.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!a&&o&&(!(r=o.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/))&&(a=+r[1]),e.exports=a},5703:function(e,t,n){var r=n(4058);e.exports=function(e){return r[e+"Prototype"]}},6887:function(e,t,n){"use strict";var r=n(1899),a=n(9730),i=n(5329),o=n(7475),s=n(9677).f,c=n(7252),l=n(4058),u=n(6843),d=n(2029),p=n(953),m=function(e){var t=function(n,r,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,r)}return new e(n,r,i)}return a(e,this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var n,a,h,y,f,g,N,C,w=e.target,b=e.global,v=e.stat,x=e.proto,S=b?r:v?r[w]:(r[w]||{}).prototype,T=b?l:l[w]||d(l,w,{})[w],_=T.prototype;for(h in t)n=!c(b?h:w+(v?".":"#")+h,e.forced)&&S&&p(S,h),f=T[h],n&&(g=e.dontCallGetSet?(C=s(S,h))&&C.value:S[h]),y=n&&g?g:t[h],n&&typeof f==typeof y||(N=e.bind&&n?u(y,r):e.wrap&&n?m(y):x&&o(y)?i(y):y,(e.sham||y&&y.sham||f&&f.sham)&&d(N,"sham",!0),d(T,h,N),x&&(p(l,a=w+"Prototype")||d(l,a,{}),d(l[a],h,y),e.real&&_&&!_[h]&&d(_,h,y)))}},5981:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},9730:function(e,t,n){var r=n(8285),a=Function.prototype,i=a.apply,o=a.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(i):function(){return o.apply(i,arguments)})},6843:function(e,t,n){var r=n(5329),a=n(4883),i=n(8285),o=r(r.bind);e.exports=function(e,t){return a(e),void 0===t?e:i?o(e,t):function(){return e.apply(t,arguments)}}},8285:function(e,t,n){var r=n(5981);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},8834:function(e,t,n){var r=n(8285),a=Function.prototype.call;e.exports=r?a.bind(a):function(){return a.apply(a,arguments)}},5329:function(e,t,n){var r=n(8285),a=Function.prototype,i=a.bind,o=a.call,s=r&&i.bind(o,o);e.exports=r?function(e){return e&&s(e)}:function(e){return e&&function(){return o.apply(e,arguments)}}},626:function(e,t,n){var r=n(4058),a=n(1899),i=n(7475),o=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(a[e]):r[e]&&r[e][t]||a[e]&&a[e][t]}},4229:function(e,t,n){var r=n(4883);e.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},1899:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},953:function(e,t,n){var r=n(5329),a=n(9678),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(a(e),t)}},2840:function(e,t,n){var r=n(5746),a=n(5981),i=n(1333);e.exports=!r&&!a((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},7026:function(e,t,n){var r=n(5329),a=n(5981),i=n(2532),o=Object,s=r("".split);e.exports=a((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?s(e,""):o(e)}:o},7475:function(e){e.exports=function(e){return"function"==typeof e}},7252:function(e,t,n){var r=n(5981),a=n(7475),i=/#|\.prototype\./,o=function(e,t){var n=c[s(e)];return n==u||n!=l&&(a(t)?r(t):!!t)},s=o.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=o.data={},l=o.NATIVE="N",u=o.POLYFILL="P";e.exports=o},941:function(e,t,n){var r=n(7475);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},2529:function(e){e.exports=!0},685:function(e,t,n){var r=n(941),a=n(2532),i=n(9813)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},6664:function(e,t,n){var r=n(626),a=n(7475),i=n(7046),o=n(2302),s=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return a(t)&&i(t.prototype,s(e))}},623:function(e,t,n){var r=n(3057);e.exports=function(e){return r(e.length)}},5331:function(e){var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var r=+e;return(r>0?n:t)(r)}},2497:function(e,t,n){var r=n(3385),a=n(5981);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},344:function(e,t,n){var r=n(685),a=TypeError;e.exports=function(e){if(r(e))throw a("The method doesn't accept regular expressions");return e}},5988:function(e,t,n){var r=n(5746),a=n(2840),i=n(3937),o=n(6059),s=n(3894),c=TypeError,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor;t.f=r?i?function(e,t,n){if(o(e),t=s(t),o(n),"function"==typeof e&&"prototype"===t&&"value"in n&&"writable"in n&&!n.writable){var r=u(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return l(e,t,n)}:l:function(e,t,n){if(o(e),t=s(t),o(n),a)try{return l(e,t,n)}catch(e){}if("get"in n||"set"in n)throw c("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},9677:function(e,t,n){var r=n(5746),a=n(8834),i=n(6760),o=n(1887),s=n(4529),c=n(3894),l=n(953),u=n(2840),d=Object.getOwnPropertyDescriptor;t.f=r?d:function(e,t){if(e=s(e),t=c(t),u)try{return d(e,t)}catch(e){}if(l(e,t))return o(!a(i.f,e,t),e[t])}},7046:function(e,t,n){var r=n(5329);e.exports=r({}.isPrototypeOf)},6760:function(e,t){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,a=r&&!n.call({1:2},1);t.f=a?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},9811:function(e,t,n){var r=n(8834),a=n(7475),i=n(941),o=TypeError;e.exports=function(e,t){var n,s;if("string"===t&&a(n=e.toString)&&!i(s=r(n,e)))return s;if(a(n=e.valueOf)&&!i(s=r(n,e)))return s;if("string"!==t&&a(n=e.toString)&&!i(s=r(n,e)))return s;throw o("Can't convert object to primitive value")}},4058:function(e){e.exports={}},8219:function(e){var t=TypeError;e.exports=function(e){if(null==e)throw t("Can't call method on "+e);return e}},3030:function(e,t,n){var r=n(1899),a=n(5609),i="__core-js_shared__",o=r[i]||a(i,{});e.exports=o},8726:function(e,t,n){var r=n(2529),a=n(3030);(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.24.0",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.24.0/LICENSE",source:"https://github.com/zloirock/core-js"})},9413:function(e,t,n){var r=n(2435),a=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?a(n+t,0):i(n,t)}},4529:function(e,t,n){var r=n(7026),a=n(8219);e.exports=function(e){return r(a(e))}},2435:function(e,t,n){var r=n(5331);e.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}},3057:function(e,t,n){var r=n(2435),a=Math.min;e.exports=function(e){return e>0?a(r(e),9007199254740991):0}},9678:function(e,t,n){var r=n(8219),a=Object;e.exports=function(e){return a(r(e))}},6935:function(e,t,n){var r=n(8834),a=n(941),i=n(6664),o=n(4229),s=n(9811),c=n(9813),l=TypeError,u=c("toPrimitive");e.exports=function(e,t){if(!a(e)||i(e))return e;var n,c=o(e,u);if(c){if(void 0===t&&(t="default"),n=r(c,e,t),!a(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},3894:function(e,t,n){var r=n(6935),a=n(6664);e.exports=function(e){var t=r(e,"string");return a(t)?t:t+""}},2885:function(e,t,n){var r={};r[n(9813)("toStringTag")]="z",e.exports="[object z]"===String(r)},5803:function(e,t,n){var r=n(9697),a=String;e.exports=function(e){if("Symbol"===r(e))throw TypeError("Cannot convert a Symbol value to a string");return a(e)}},9826:function(e){var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},9418:function(e,t,n){var r=n(5329),a=0,i=Math.random(),o=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++a+i,36)}},2302:function(e,t,n){var r=n(2497);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3937:function(e,t,n){var r=n(5746),a=n(5981);e.exports=r&&a((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},9813:function(e,t,n){var r=n(1899),a=n(8726),i=n(953),o=n(9418),s=n(2497),c=n(2302),l=a("wks"),u=r.Symbol,d=u&&u.for,p=c?u:u&&u.withoutSetter||o;e.exports=function(e){if(!i(l,e)||!s&&"string"!=typeof l[e]){var t="Symbol."+e;s&&i(u,e)?l[e]=u[e]:l[e]=c&&d?d(t):p(t)}return l[e]}},7690:function(e,t,n){"use strict";var r=n(6887),a=n(1692).includes,i=n(5981),o=n(8479);r({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}}),o("includes")},6450:function(e,t,n){var r=n(6887),a=n(5746),i=n(5988).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==i,sham:!a},{defineProperty:i})},1035:function(e,t,n){"use strict";var r=n(6887),a=n(5329),i=n(344),o=n(8219),s=n(5803),c=n(7772),l=a("".indexOf);r({target:"String",proto:!0,forced:!c("includes")},{includes:function(e){return!!~l(s(o(this)),s(i(e)),arguments.length>1?arguments[1]:void 0)}})},3778:function(e,t,n){var r=n(8557);e.exports=r},1910:function(e,t,n){var r=n(8171);e.exports=r},5717:function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},9509:function(e,t,n){var r=n(9408),a=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return a(e,t,n)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=o),o.prototype=Object.create(a.prototype),i(a,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=a(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},4189:function(e,t,n){var r=n(9509).Buffer;function a(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}a.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,a=this._blockSize,i=e.length,o=this._len,s=0;s<i;){for(var c=o%a,l=Math.min(i-s,a-c),u=0;u<l;u++)n[c+u]=e[s+u];s+=l,(o+=l)%a==0&&this._update(n)}return this._len+=i,this},a.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,a=(n-r)/4294967296;this._block.writeUInt32BE(a,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var i=this._hash();return e?i.toString(e):i},a.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=a},7499:function(e,t,n){var r=n(5717),a=n(4189),i=n(9509).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function c(){this.init(),this._w=s,a.call(this,64,56)}function l(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function d(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function p(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function m(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(c,a),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,a=0|this._b,i=0|this._c,s=0|this._d,c=0|this._e,h=0|this._f,y=0|this._g,f=0|this._h,g=0;g<16;++g)n[g]=e.readInt32BE(4*g);for(;g<64;++g)n[g]=0|(((t=n[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[g-7]+m(n[g-15])+n[g-16];for(var N=0;N<64;++N){var C=f+p(c)+l(c,h,y)+o[N]+n[N]|0,w=d(r)+u(r,a,i)|0;f=y,y=h,h=c,c=s+C|0,s=i,i=a,a=r,r=C+w|0}this._a=r+this._a|0,this._b=a+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=c+this._e|0,this._f=h+this._f|0,this._g=y+this._g|0,this._h=f+this._h|0},c.prototype._hash=function(){var e=i.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},7946:function(e){"use strict";e.exports=d},7289:function(e){"use strict";e.exports=s},3983:function(e){"use strict";e.exports=o},4711:function(e){"use strict";e.exports=p},5039:function(e){"use strict";e.exports=m},8236:function(e){"use strict";e.exports=u},5192:function(e){"use strict";e.exports=t},1986:function(e){"use strict";e.exports=l},3783:function(e){"use strict";e.exports=r},9408:function(t){"use strict";t.exports=e},3735:function(e){"use strict";e.exports=f},2716:function(e){"use strict";e.exports=h},3485:function(e){"use strict";e.exports=n},79:function(e){"use strict";e.exports=a},9882:function(e){"use strict";e.exports=c},7480:function(e){"use strict";e.exports=i},8079:function(e){"use strict";e.exports=y},8118:function(e,t,n){e.exports=n(3778)},7445:function(e,t,n){e.exports=n(3685)}},N={};function C(e){var t=N[e];if(void 0!==t)return t.exports;var n=N[e]={exports:{}};return g[e](n,n.exports,C),n.exports}C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,{a:t}),t},C.d=function(e,t){for(var n in t)C.o(t,n)&&!C.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},C.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var w={};return function(){"use strict";C.r(w),C.d(w,{ABI_VERSIONS:function(){return rr},AE_AMOUNT_FORMATS:function(){return Ue},AMOUNT:function(){return Zn},AccountBase:function(){return ic},AccountError:function(){return f},AeSdk:function(){return hl},AeSdkAepp:function(){return Jl},AeSdkBase:function(){return ml},AeSdkWallet:function(){return ru},AensError:function(){return g},AensPointerContextError:function(){return G},AeppError:function(){return N},AlreadyConnectedError:function(){return je},AmbiguousEventDefinitionError:function(){return fe},ArgumentCountMismatchError:function(){return P},ArgumentError:function(){return q},BaseError:function(){return y},BrowserRuntimeConnection:function(){return Cd},BrowserWindowMessageConnection:function(){return gd},BytecodeMismatchError:function(){return ie},CLIENT_TTL:function(){return $t},Channel:function(){return ud},ChannelCallError:function(){return Z},ChannelConnectionError:function(){return ee},ChannelError:function(){return b},ChannelPingTimedOutError:function(){return te},Compiler:function(){return il},CompilerError:function(){return v},ContractError:function(){return x},CryptographyError:function(){return S},DRY_RUN_ACCOUNT:function(){return tr},DecodeError:function(){return Te},DerivationError:function(){return ha},DryRunError:function(){return ze},DuplicateContractError:function(){return oe},DuplicateNodeError:function(){return xe},Encoding:function(){return dt},FIELD_TYPES:function(){return or},GAS_MAX:function(){return si},ID_TAG:function(){return li},ID_TAG_PREFIX:function(){return di},IllegalArgumentError:function(){return A},IllegalBidFeeError:function(){return qe},InactiveContractError:function(){return se},InsufficientBalanceError:function(){return E},InsufficientNameFeeError:function(){return K},InternalError:function(){return U},InvalidAensNameError:function(){return L},InvalidAuthDataError:function(){return ae},InvalidChecksumError:function(){return ge},InvalidKeypairError:function(){return H},InvalidMethodInvocationError:function(){return ce},InvalidPasswordError:function(){return Ne},InvalidRpcMessageError:function(){return W},InvalidSignatureError:function(){return Ae},InvalidTxError:function(){return qr},InvalidTxParamsError:function(){return Pe},MAX_AUTH_FUN_GAS:function(){return er},MESSAGE_DIRECTION:function(){return yl},METHODS:function(){return Nl},MIN_GAS_PRICE:function(){return Gt},MemoryAccount:function(){return cc},MerkleTreeHashMismatchError:function(){return Ce},MissingCallbackError:function(){return Q},MissingContractAddressError:function(){return le},MissingContractDefError:function(){return ue},MissingEventDefinitionError:function(){return ye},MissingFunctionNameError:function(){return de},MissingNodeInTreeError:function(){return we},MissingParamError:function(){return I},NAME_BID_MAX_LENGTH:function(){return Yt},NAME_BID_RANGES:function(){return Xt},NAME_BID_TIMEOUT_BLOCKS:function(){return Wt},NAME_FEE_BID_INCREMENT:function(){return Lt},NAME_FEE_MULTIPLIER:function(){return Kt},NAME_MAX_CLIENT_TTL:function(){return Ht},NAME_MAX_LENGTH_FEE:function(){return Qt},NAME_MAX_TTL:function(){return Ft},NAME_TTL:function(){return Ut},NoSerializerFoundError:function(){return k},NoSuchContractFunctionError:function(){return me},NoWalletConnectedError:function(){return De},Node:function(){return rc},NodeError:function(){return T},NodeInvocationError:function(){return pe},NodeNotFoundError:function(){return Se},NotImplementedError:function(){return D},NotPayableFunctionError:function(){return he},ORACLE_TTL:function(){return Yn},ORACLE_TTL_TYPES:function(){return Ln},POINTER_KEY_BY_PREFIX:function(){return pi},PREFIX_ID_TAG:function(){return ui},PROTOCOL_VERSIONS:function(){return ar},PROTOCOL_VM_ABI:function(){return ir},PayloadLengthError:function(){return _e},PrefixNotFoundError:function(){return Ee},QUERY_FEE:function(){return Qn},QUERY_TTL:function(){return Xn},RESPONSE_TTL:function(){return Jn},RPC_STATUS:function(){return Cl},RequestTimedOutError:function(){return O},RpcBroadcastError:function(){return xl},RpcConnectionDenyError:function(){return _l},RpcConnectionError:function(){return Ve},RpcError:function(){return bl},RpcInternalError:function(){return Al},RpcInvalidTransactionError:function(){return vl},RpcMethodNotFoundError:function(){return Pl},RpcNotAuthorizeError:function(){return zl},RpcPermissionDenyError:function(){return ql},RpcRejectedByUserError:function(){return Sl},RpcUnsupportedProtocolError:function(){return Tl},SUBSCRIPTION_TYPES:function(){return gl},SchemaNotFoundError:function(){return Ie},TX_SCHEMA:function(){return cr},TX_TTL:function(){return Wn},TX_TYPE:function(){return ci},Tag:function(){return Jt},TagNotFoundError:function(){return ke},TransactionError:function(){return _},TxNotInChainError:function(){return Oe},TxTimedOutError:function(){return M},TypeError:function(){return R},UnAuthorizedAccountError:function(){return Y},UnavailableAccountError:function(){return $},UnexpectedChannelMessageError:function(){return ne},UnexpectedTsError:function(){return F},UnknownChannelStateError:function(){return re},UnknownNodeLengthError:function(){return be},UnknownPathNibbleError:function(){return ve},UnknownRpcClientError:function(){return X},UnknownTxError:function(){return Me},UnsubscribedAccountError:function(){return J},UnsupportedABIversionError:function(){return Re},UnsupportedPlatformError:function(){return B},UnsupportedProtocolError:function(){return j},UnsupportedVMversionError:function(){return Be},UnsupportedVersionError:function(){return V},VM_VERSIONS:function(){return nr},WALLET_TYPE:function(){return fl},WalletError:function(){return z},_buildTx:function(){return ia},_getPollInterval:function(){return zr},aensBid:function(){return Ra},aensClaim:function(){return Oa},aensPreclaim:function(){return Ma},aensQuery:function(){return ka},aensRevoke:function(){return Pa},aensTransfer:function(){return Ia},aensUpdate:function(){return Ea},awaitHeight:function(){return Er},bigNumberToByteArray:function(){return Je},buildAuthTxHash:function(){return ti},buildContractId:function(){return an},buildContractIdByContractTx:function(){return vr},buildPointers:function(){return pn},buildTx:function(){return Cr},buildTxHash:function(){return br},bytesToHex:function(){return tt},calculateMinFee:function(){return oi},commitmentHash:function(){return ln},computeAuctionEndBlock:function(){return wn},computeBidFee:function(){return Cn},connectionProxy:function(){return dd},createAensDelegationSignature:function(){return Ua},createGeneralizedAccount:function(){return Za},createMetaTx:function(){return ei},createOracleDelegationSignature:function(){return Fa},createSalt:function(){return ii},decode:function(){return St},decryptKey:function(){return ma},deriveChild:function(){return ga},derivePathFromKey:function(){return Na},derivePathFromSeed:function(){return wa},dump:function(){return na},encode:function(){return Tt},encodeContractAddress:function(){return It},encodeUnsigned:function(){return Pt},encryptKey:function(){return pa},extendOracleTtl:function(){return La},formatAmount:function(){return He},formatSalt:function(){return sn},genSalt:function(){return At},generateKeyPair:function(){return Ot},generateKeyPairFromSecret:function(){return kt},generateSaveHDWalletFromSeed:function(){return xa},getAccount:function(){return Or},getAddressFromPriv:function(){return zt},getBalance:function(){return Mr},getContract:function(){return Gr},getContractByteCode:function(){return $r},getContractInstance:function(){return ja},getCurrentGeneration:function(){return Rr},getDefaultPointerKey:function(){return gn},getGeneration:function(){return Br},getHdWalletAccountFromSeed:function(){return Ta},getHeight:function(){return Ar},getKeyBlock:function(){return Dr},getKeyPair:function(){return va},getMasterKeyFromSeed:function(){return Ca},getMicroBlockHeader:function(){return Vr},getMicroBlockTransactions:function(){return jr},getMinimumNameFee:function(){return Nn},getName:function(){return Kr},getOracleObject:function(){return Qa},getQueryObject:function(){return Ga},getSaveHDWalletAccounts:function(){return Sa},getVmVersion:function(){return ra},hash:function(){return Et},height:function(){return ri},hexToBytes:function(){return nt},isAddressValid:function(){return qt},isAuctionName:function(){return bn},isGA:function(){return Ja},isNameValid:function(){return yn},isValidKeypair:function(){return Vt},messageToHash:function(){return Bt},oracleQueryId:function(){return on},payForTransaction:function(){return Aa},poll:function(){return Pr},pollForQueries:function(){return Ha},pollForQueryResponse:function(){return $a},postQueryToOracle:function(){return Ka},prepareTxParams:function(){return aa},produceNameId:function(){return cn},readId:function(){return nn},readInt:function(){return dn},readPointers:function(){return mn},recover:function(){return ta},registerOracle:function(){return Ya},resolveName:function(){return Lr},respondToQuery:function(){return Wa},salt:function(){return ai},send:function(){return _a},sendTransaction:function(){return kr},sha256hash:function(){return mt},sign:function(){return Mt},signMessage:function(){return jt},signUsingGA:function(){return ni},spend:function(){return za},str2buf:function(){return et},toAe:function(){return $e},toAettos:function(){return Ge},toBytes:function(){return Ze},transferFunds:function(){return qa},txDryRun:function(){return Hr},unpackRawTx:function(){return Nr},unpackTx:function(){return wr},validateParams:function(){return gr},verify:function(){return Rt},verifyMessage:function(){return Dt},verifyTransaction:function(){return _r},waitForTxConfirm:function(){return Ir},walletDetector:function(){return Nd},writeId:function(){return tn},writeInt:function(){return un}});var e={};C.r(e),C.d(e,{InvalidTxError:function(){return qr},_getPollInterval:function(){return zr},awaitHeight:function(){return Er},getAccount:function(){return Or},getBalance:function(){return Mr},getContract:function(){return Gr},getContractByteCode:function(){return $r},getCurrentGeneration:function(){return Rr},getGeneration:function(){return Br},getHeight:function(){return Ar},getKeyBlock:function(){return Dr},getMicroBlockHeader:function(){return Vr},getMicroBlockTransactions:function(){return jr},getName:function(){return Kr},poll:function(){return Pr},resolveName:function(){return Lr},sendTransaction:function(){return kr},txDryRun:function(){return Hr},waitForTxConfirm:function(){return Ir}});var t={};C.r(t),C.d(t,{_buildTx:function(){return ia},getVmVersion:function(){return ra},prepareTxParams:function(){return aa}});var n={};C.r(n),C.d(n,{payForTransaction:function(){return Aa},send:function(){return _a},spend:function(){return za},transferFunds:function(){return qa}});var r={};C.r(r),C.d(r,{aensBid:function(){return Ra},aensClaim:function(){return Oa},aensPreclaim:function(){return Ma},aensQuery:function(){return ka},aensRevoke:function(){return Pa},aensTransfer:function(){return Ia},aensUpdate:function(){return Ea}});var a={};C.r(a),C.d(a,{createAensDelegationSignature:function(){return Ua},createOracleDelegationSignature:function(){return Fa},getContractInstance:function(){return ja}});var i={};C.r(i),C.d(i,{extendOracleTtl:function(){return La},getOracleObject:function(){return Qa},getQueryObject:function(){return Ga},pollForQueries:function(){return Ha},pollForQueryResponse:function(){return $a},postQueryToOracle:function(){return Ka},registerOracle:function(){return Ya},respondToQuery:function(){return Wa}});var o={};C.r(o),C.d(o,{buildAuthTxHash:function(){return ti},createGeneralizedAccount:function(){return Za},createMetaTx:function(){return ei},isGA:function(){return Ja}});var s={};C.r(s),C.d(s,{height:function(){return ri},signUsingGA:function(){return ni}});var c={};C.r(c),C.d(c,{Account:function(){return Bi},ByteCode:function(){return Zi},Channel:function(){return io},ChannelCloseMutualTx:function(){return zo},ChannelCloseSoloTx:function(){return qo},ChannelCreateTx:function(){return xo},ChannelDepositTx:function(){return So},ChannelForceProgressTx:function(){return _o},ChannelSetDelegatesTx:function(){return Io},ChannelSettleTx:function(){return Po},ChannelSlashTx:function(){return Ao},ChannelSnapshotSoloTx:function(){return Eo},ChannelWithdrawTx:function(){return To},CheckTxInPoolResponse:function(){return Ko},CommitmentId:function(){return bo},ContractCallObject:function(){return Ki},ContractCallTx:function(){return Vo},ContractCreateTx:function(){return Do},ContractObject:function(){return Ji},CountResponse:function(){return Mi},CreateContractUnsignedTx:function(){return Jo},Delegates:function(){return Pi},DryRunAccount:function(){return Vi},DryRunCallContext:function(){return Hi},DryRunCallReq:function(){return Fi},DryRunInput:function(){return Di},DryRunInputItem:function(){return Ui},DryRunResult:function(){return Gi},DryRunResults:function(){return $i},EncodedTx:function(){return Yi},ErrorModel:function(){return vi},Event:function(){return Li},GAAttachTx:function(){return Ho},GAMetaTx:function(){return $o},GAObject:function(){return Qi},Generation:function(){return Ri},HashResponse:function(){return Si},Header:function(){return bi},HeightResponse:function(){return Ti},KeyBlock:function(){return xi},MicroBlockHeader:function(){return _i},NameClaimTx:function(){return go},NameEntry:function(){return ao},NameHash:function(){return vo},NamePointer:function(){return Oi},NamePreclaimTx:function(){return fo},NameRevokeTx:function(){return wo},NameTransferTx:function(){return Co},NameUpdateTx:function(){return No},NextNonceResponse:function(){return ji},OffChainCallContract:function(){return Xo},OffChainDeposit:function(){return Qo},OffChainNewContract:function(){return Yo},OffChainTransfer:function(){return Lo},OffChainUpdate:function(){return Ei},OffChainWithdrawal:function(){return Wo},OracleExtendTx:function(){return mo},OracleQueries:function(){return no},OracleQuery:function(){return ro},OracleQueryTx:function(){return ho},OracleRegisterTx:function(){return po},OracleRespondTx:function(){return yo},PayingForTx:function(){return Go},PeerConnections:function(){return lo},PeerCount:function(){return Ro},PeerCountAvailable:function(){return jo},PeerCountConnected:function(){return Bo},PeerDetails:function(){return Oo},PeerPubKey:function(){return oo},Peers:function(){return Mo},PoI:function(){return eo},PostTxResponse:function(){return Xi},Protocol:function(){return co},PubKey:function(){return ko},RegisteredOracle:function(){return to},RelativeTTL:function(){return Ii},SignedTx:function(){return qi},SignedTxs:function(){return zi},SpendTx:function(){return uo},Status:function(){return so},TokenSupply:function(){return Fo},Ttl:function(){return ki},Tx:function(){return Ai},TxInfoObject:function(){return Wi},UnsignedTx:function(){return Uo},discriminators:function(){return Zo}});var l={};C.r(l),C.d(l,{APIVersion:function(){return yc},Aci:function(){return dc},ByteCode:function(){return fc},ByteCodeInput:function(){return gc},BytecodeCallResultInput:function(){return wc},Calldata:function(){return qc},CompileOpts:function(){return uc},CompilerError:function(){return pc},CompilerVersion:function(){return Nc},Contract:function(){return lc},DecodeCalldataBytecode:function(){return vc},DecodeCalldataSource:function(){return Sc},DecodedCalldata:function(){return xc},DecodedCallresult:function(){return bc},ErrorModel:function(){return hc},ErrorPos:function(){return mc},FateAssembler:function(){return Ac},FunctionCallInput:function(){return zc},SophiaBinaryData:function(){return Tc},SophiaCallResultInput:function(){return Cc},SophiaJsonData:function(){return _c},ValidateByteCodeInput:function(){return Pc}});var u=C(5192),d=C.n(u),p=C(8118),m=C.n(p);const h=e=>e.integerValue(d().ROUND_CEIL);class y extends Error{constructor(e){super(e),this.name="BaseError"}}class f extends y{constructor(e){super(e),this.name="AccountError"}}class g extends y{constructor(e){super(e),this.name="AensError"}}class N extends y{constructor(e){super(e),this.name="AeppError"}}class b extends y{constructor(e){super(e),this.name="ChannelError"}}class v extends y{constructor(e){super(e),this.name="CompilerError"}}class x extends y{constructor(e){super(e),this.name="ContractError"}}class S extends y{constructor(e){super(e),this.name="CryptographyError"}}class T extends y{constructor(e){super(e),this.name="NodeError"}}class _ extends y{constructor(e){super(e),this.name="TransactionError"}}class z extends y{constructor(e){super(e),this.name="WalletError"}}class q extends y{constructor(e,t,n){super(`${e} should be ${t}, got ${String(n)} instead`),this.name="ArgumentError"}}class A extends S{constructor(e){super(e),this.name="IllegalArgumentError"}}class P extends y{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class E extends y{constructor(e){super(e),this.name="InsufficientBalanceError"}}class I extends y{constructor(e){super(e),this.name="MissingParamError"}}class k extends y{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class O extends y{constructor(e){super(`Giving up at height ${e}`),this.name="RequestTimedOutError"}}class M extends y{constructor(e,t){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`].join(", ")),this.name="TxTimedOutError"}}class R extends y{constructor(e){super(e),this.name="TypeError"}}class B extends y{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class j extends y{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class D extends y{constructor(e){super(e),this.name="NotImplementedError"}}class V extends y{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class U extends y{constructor(e){super(e),this.name="InternalError"}}class F extends U{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Expected to not happen, required for TS"),this.name="UnexpectedTsError"}}class H extends f{constructor(e){super(e),this.name="InvalidKeypairError"}}class $ extends f{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class G extends g{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class K extends g{constructor(e,t){super(`the provided fee ${e.toString()} is not enough to execute the claim, required: ${t.toString()}`),this.name="InsufficientNameFeeError"}}class L extends g{constructor(e){super(e),this.name="InvalidAensNameError"}}class W extends N{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Q extends N{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class Y extends N{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class X extends N{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class J extends N{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class Z extends b{constructor(e){super(e),this.name="ChannelCallError"}}class ee extends b{constructor(e){super(e),this.name="ChannelConnectionError"}}class te extends b{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class ne extends b{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class re extends b{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ae extends v{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ie extends x{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class oe extends x{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class se extends x{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class ce extends x{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class le extends x{constructor(e){super(e),this.name="MissingContractAddressError"}}class ue extends x{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class de extends x{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class pe extends x{constructor(e,t){super("Invocation failed"+(null==e?"":`: "${e}"`)),this.name="NodeInvocationError",this.transaction=t}}class me extends x{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class he extends x{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept coins`),this.name="NotPayableFunctionError"}}class ye extends x{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class fe extends x{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ge extends S{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Ne extends S{constructor(){super("Invalid password or nonce"),this.name="InvalidPasswordError"}}class Ce extends S{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class we extends S{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class be extends S{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class ve extends S{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class xe extends T{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Se extends T{constructor(e){super(e),this.name="NodeNotFoundError"}}class Te extends _{constructor(e){super(e),this.name="DecodeError"}}class _e extends _{constructor(e){super(e),this.name="PayloadLengthError"}}class ze extends _{constructor(e){super(e),this.name="DryRunError"}}class qe extends _{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ae extends _{constructor(e){super(e),this.name="InvalidSignatureError"}}class Pe extends _{constructor(e){super(e),this.name="InvalidTxParamsError"}}class Ee extends _{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Ie extends _{constructor(e,t,n){super(`Transaction ${e} not implemented for ${t} version ${n}`),this.name="SchemaNotFoundError"}}class ke extends _{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Oe extends _{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Me extends _{constructor(e){super(e),this.name="UnknownTxError"}}class Re extends _{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Be extends _{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class je extends z{constructor(e){super(e),this.name="AlreadyConnectedError"}}class De extends z{constructor(e){super(e),this.name="NoWalletConnectedError"}}class Ve extends z{constructor(e){super(e),this.name="RpcConnectionError"}}let Ue;!function(e){e.AE="ae",e.MILI_AE="miliAE",e.MICRO_AE="microAE",e.NANO_AE="nanoAE",e.PICO_AE="picoAE",e.FEMTO_AE="femtoAE",e.AETTOS="aettos"}(Ue||(Ue={}));const Fe={[Ue.AE]:0,[Ue.MILI_AE]:-3,[Ue.MICRO_AE]:-6,[Ue.NANO_AE]:-9,[Ue.PICO_AE]:-12,[Ue.FEMTO_AE]:-15,[Ue.AETTOS]:-18},He=(e,t)=>{let{denomination:n=Ue.AETTOS,targetDenomination:r=Ue.AETTOS}=t;if("bigint"!=typeof(a=e)&&(!m()(i=["number","object","string"]).call(i,typeof a)||isNaN(a)&&!Number.isInteger(a)&&!d().isBigNumber(a)))throw new q("value","a number",e);var a,i;return new(d())("bigint"==typeof e?e.toString():e).shiftedBy(Fe[n]-Fe[r]).toFixed()},$e=function(e){let{denomination:t=Ue.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return He(e,{denomination:t,targetDenomination:Ue.AE})},Ge=function(e){let{denomination:t=Ue.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return He(e,{denomination:t})};var Ke=C(79),Le=C.n(Ke),We=C(8442),Qe=C(7480);function Ye(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var Xe=C(9408).Buffer;function Je(e){if(!e.isInteger())throw new R(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t=`0${t}`),Xe.from(t,"hex")}function Ze(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Xe.from([]);if(Number.isInteger(e)||d().isBigNumber(e)||t)return d().isBigNumber(e)||(e=new(d())(e)),Je(e);if("string"==typeof e)return Xe.from(e);throw new k}function et(e,t){var n;return Xe.from(e,null!==(n=null!=t?t:Ye(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}const tt=e=>Xe.from(e).toString("hex"),nt=e=>Xe.from(e,"hex");var rt=C(9408).Buffer;const at=async e=>new Promise((t=>{setTimeout(t,e)})),it=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),ot=(()=>{try{return rt.concat([Uint8Array.from([])]),!1}catch(e){return!0}})()?(e,t)=>rt.concat(e.map((e=>rt.from(e))),t):rt.concat;function st(e,t){return e in t}var ct=C(3783),lt=C(7499),ut=C.n(lt);let dt;!function(e){e.KeyBlockHash="kh",e.MicroBlockHash="mh",e.BlockPofHash="bf",e.BlockTxHash="bx",e.BlockStateHash="bs",e.Channel="ch",e.ContractAddress="ct",e.ContractBytearray="cb",e.ContractStoreKey="ck",e.ContractStoreValue="cv",e.Transaction="tx",e.TxHash="th",e.OracleAddress="ok",e.OracleQuery="ov",e.OracleQueryId="oq",e.OracleResponse="or",e.AccountAddress="ak",e.Signature="sg",e.Commitment="cm",e.PeerPubkey="pp",e.Name="nm",e.State="st",e.Poi="pi",e.StateTrees="ss",e.CallStateTree="cs",e.Bytearray="ba"}(dt||(dt={}));var pt=C(9408).Buffer;function mt(e){return(new(ut())).update(e).digest()}const ht=[dt.ContractBytearray,dt.ContractStoreKey,dt.ContractStoreValue,dt.Transaction,dt.OracleQuery,dt.OracleResponse,dt.State,dt.Poi,dt.StateTrees,dt.CallStateTree,dt.Bytearray],yt=[dt.KeyBlockHash,dt.MicroBlockHash,dt.BlockPofHash,dt.BlockTxHash,dt.BlockStateHash,dt.Channel,dt.ContractAddress,dt.TxHash,dt.OracleAddress,dt.OracleQueryId,dt.AccountAddress,dt.Signature,dt.Commitment,dt.PeerPubkey,dt.Name],ft={[dt.KeyBlockHash]:32,[dt.MicroBlockHash]:32,[dt.BlockPofHash]:32,[dt.BlockTxHash]:32,[dt.BlockStateHash]:32,[dt.Channel]:32,[dt.ContractAddress]:32,[dt.TxHash]:32,[dt.OracleAddress]:32,[dt.OracleQueryId]:32,[dt.AccountAddress]:32,[dt.Signature]:64,[dt.Commitment]:32,[dt.PeerPubkey]:32,[dt.State]:32};function gt(e,t){if(!st(t,ft))return;const n=ft[t];if(null!=n&&e.length!==n)throw new _e(`Payload should be ${n} bytes, got ${e.length} instead`)}const Nt=e=>mt(mt(e)).slice(0,4),Ct=e=>ot([e,Nt(e)]);function wt(e){const t=e.slice(0,-4);if(!Nt(t).equals(e.slice(-4)))throw new ge;return t}const bt={encode:e=>Ct(e).toString("base64"),decode:e=>wt(pt.from(e,"base64"))},vt={encode:e=>(0,ct.encode)(Ct(e)),decode:e=>wt(pt.from((0,ct.decode)(e)))},xt=e=>{const t=ht.find((t=>t===e));if(null!=t)return[t,bt];const n=yt.find((t=>t===e));if(null!=n)return[n,vt];throw new q("prefix",`one of ${[...yt,...ht].join(", ")}`,e)};function St(e){const[t,n,r]=e.split("_");if(null==n)throw new Te(`Encoded string missing payload: ${e}`);if(null!=r)throw new Te(`Encoded string have extra parts: ${e}`);const[a,i]=xt(t),o=i.decode(n);return gt(o,a),o}function Tt(e,t){const[,n]=xt(t);return gt(e,t),`${t}_${n.encode(e)}`}var _t=C(9408).Buffer;function zt(e){const t="string"==typeof e?et(e):e;return Tt(Le().sign.keyPair.fromSecretKey(t).publicKey,dt.AccountAddress)}function qt(e){arguments.length>1&&void 0!==arguments[1]||dt.AccountAddress;try{return St(e),!0}catch(e){return!1}}function At(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Pt(e){const t=_t.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Et(e){return _t.from((0,We.blake2b)(e,void 0,32))}function It(e,t){const n=St(e);return Tt(Et(ot([n,Pt(t)])),dt.ContractAddress)}function kt(e){return Le().sign.keyPair.fromSecretKey(e)}function Ot(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=Le().sign.keyPair(),n=_t.from(t.publicKey),r=_t.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:Tt(n,dt.AccountAddress),secretKey:r.toString("hex")}}function Mt(e,t){return Le().sign.detached(_t.from(e),_t.from(t))}function Rt(e,t,n){const r="string"==typeof n?et(n):n;return Le().sign.detached.verify(e,t,r)}function Bt(e){const t=_t.from("aeternity Signed Message:\n","utf8"),n=_t.from(e,"utf8");return Et(ot([(0,Qe.encode)(t.length),t,(0,Qe.encode)(n.length),n]))}function jt(e,t){return Mt(Bt(e),t)}function Dt(e,t,n){return Rt(Bt(e),t,n)}function Vt(e,t){const n=_t.from("TheMessage");return Rt(n,Mt(n,e),t)}const Ut=18e4,Ft=36e3,Ht=84600,$t=Ht,Gt=1e9,Kt=1e14,Lt=.05,Wt=480,Qt=31,Yt=12,Xt=it({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(d())(n).times(Kt)]}));let Jt;!function(e){e[e.Account=10]="Account",e[e.SignedTx=11]="SignedTx",e[e.SpendTx=12]="SpendTx",e[e.OracleRegisterTx=22]="OracleRegisterTx",e[e.OracleQueryTx=23]="OracleQueryTx",e[e.OracleResponseTx=24]="OracleResponseTx",e[e.OracleExtendTx=25]="OracleExtendTx",e[e.NameClaimTx=32]="NameClaimTx",e[e.NamePreclaimTx=33]="NamePreclaimTx",e[e.NameUpdateTx=34]="NameUpdateTx",e[e.NameRevokeTx=35]="NameRevokeTx",e[e.NameTransferTx=36]="NameTransferTx",e[e.Contract=40]="Contract",e[e.ContractCall=41]="ContractCall",e[e.ContractCreateTx=42]="ContractCreateTx",e[e.ContractCallTx=43]="ContractCallTx",e[e.ChannelCreateTx=50]="ChannelCreateTx",e[e.ChannelDepositTx=51]="ChannelDepositTx",e[e.ChannelWithdrawTx=52]="ChannelWithdrawTx",e[e.ChannelForceProgressTx=521]="ChannelForceProgressTx",e[e.ChannelCloseMutualTx=53]="ChannelCloseMutualTx",e[e.ChannelCloseSoloTx=54]="ChannelCloseSoloTx",e[e.ChannelSlashTx=55]="ChannelSlashTx",e[e.ChannelSettleTx=56]="ChannelSettleTx",e[e.ChannelOffChainTx=57]="ChannelOffChainTx",e[e.ChannelOffChainUpdateTransfer=570]="ChannelOffChainUpdateTransfer",e[e.ChannelOffChainUpdateDeposit=571]="ChannelOffChainUpdateDeposit",e[e.ChannelOffChainUpdateWithdraw=572]="ChannelOffChainUpdateWithdraw",e[e.ChannelOffChainUpdateCreateContract=573]="ChannelOffChainUpdateCreateContract",e[e.ChannelOffChainUpdateCallContract=574]="ChannelOffChainUpdateCallContract",e[e.ChannelClientReconnectTx=575]="ChannelClientReconnectTx",e[e.Channel=58]="Channel",e[e.ChannelSnapshotSoloTx=59]="ChannelSnapshotSoloTx",e[e.TreesPoi=60]="TreesPoi",e[e.StateTrees=62]="StateTrees",e[e.Mtree=63]="Mtree",e[e.MtreeValue=64]="MtreeValue",e[e.ContractsMtree=621]="ContractsMtree",e[e.CallsMtree=622]="CallsMtree",e[e.ChannelsMtree=623]="ChannelsMtree",e[e.NameserviceMtree=624]="NameserviceMtree",e[e.OraclesMtree=625]="OraclesMtree",e[e.AccountsMtree=626]="AccountsMtree",e[e.CompilerSophia=70]="CompilerSophia",e[e.GaAttachTx=80]="GaAttachTx",e[e.GaMetaTx=81]="GaMetaTx",e[e.PayingForTx=82]="PayingForTx"}(Jt||(Jt={}));var Zt=C(9408).Buffer;const en=[dt.AccountAddress,dt.Name,dt.Commitment,dt.OracleAddress,dt.ContractAddress,dt.Channel];function tn(e){if("string"!=typeof e)throw new q("hashId","a string",e);const t=e.slice(0,2);if(n=t,r=en,!m()(r).call(r,n))throw new ke(t);var n,r;const a=en.indexOf(t)+1;return Zt.from([...Ze(a),...St(e)])}function nn(e){const t=Zt.from(e).readUIntBE(0,1),n=en[t-1];if(null==n)throw new Ee(t);return Tt(e.slice(1,e.length),n)}var rn=C(9408).Buffer;function an(e,t){return Tt(Et(rn.from([...St(e),...Ze(t)])),dt.ContractAddress)}function on(e,t,n){return Tt(Et(rn.from([...St(e),...function(e){const t=Ze(e,!0);return ot([rn.alloc(32-t.length),t])}(t),...St(n)])),dt.OracleQueryId)}function sn(e){return rn.from(e.toString(16).padStart(64,"0"),"hex")}function cn(e){return Tt(Et(e.toLowerCase()),dt.Name)}function ln(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:At();return Tt(Et(ot([rn.from(e.toLowerCase()),sn(t)])),dt.Commitment)}function un(e){return Ze(e,!0)}function dn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:rn.from([]);return new(d())(rn.from(e).toString("hex"),16).toString(10)}function pn(e){return e.map((e=>[Ze(e.key),tn(e.id)]))}function mn(e){return e.map((e=>{let[t,n]=e;return{key:t.toString(),id:nn(n)}}))}const hn=".chain";function yn(e){return e.endsWith(hn)}const fn=[[dt.AccountAddress,"account_pubkey"],[dt.OracleAddress,"oracle_pubkey"],[dt.ContractAddress,"contract_pubkey"],[dt.Channel,"channel"]];function gn(e){var t;St(e);const n=e.substring(0,2),r=null===(t=fn.find((e=>{let[t]=e;return t===n})))||void 0===t?void 0:t[1];if(null!=r)return r;throw new q("identifier",`prefixed with one of ${fn.map((e=>{let[t]=e;return`${t}_`})).join(", ")}`,e)}function Nn(e){const t=e.length-hn.length;return Xt[Math.min(t,Qt)]}function Cn(e){let{startFee:t,increment:n=Lt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number(n)!==n||n%1==0)throw new qe(`Increment must be float. Current increment ${n}`);if(n<Lt)throw new qe(`minimum increment percentage is ${Lt}`);return h(new(d())(null!=t?t:Nn(e)).times(new(d())(Lt).plus(1)))}function wn(e,t){const n=e.length-hn.length;return(n<=4&&62*Wt||n<=8&&31*Wt||n<=12&&Wt||0)+t}function bn(e){return e.length<13+hn.length}var vn={serialize(e){if(e<0)throw new q("value","greater or equal to 0",e);return un(e)},deserialize:e=>dn(e)},xn={serialize:e=>vn.serialize(e),deserialize:e=>+vn.deserialize(e)},Sn={...vn,serializeAettos(e){if(null==e)throw new q("value","provided",e);return e},serializeOptional(e,t){let{denomination:n,...r}=t;return vn.serialize(this.serializeAettos(null!=e?He(e,{denomination:n}):e,r))},serialize(e,t){return this.serializeOptional(e,t)}},Tn={...Sn,serialize(e,t){var n;if(null!==(n=e)&&void 0!==n||(e=0),0!=+e)throw new A(`Contract deposit is not refundable, so it should be equal 0, got ${e.toString()} instead`);return Sn.serialize(e,t)}};function _n(e,t){const n={[Jt.OracleRegisterTx]:"oracleTtlValue",[Jt.OracleExtendTx]:"oracleTtlValue",[Jt.OracleQueryTx]:"queryTtlValue",[Jt.OracleResponseTx]:"responseTtlValue"};return st(t,n)?e[n[t]]:1}function zn(e,t){var n;const{rlpEncoded:{length:r},txObject:a}=t;return(e=>{var t;const n=null!==(t={[Jt.ChannelForceProgressTx]:30,[Jt.ChannelOffChainTx]:0,[Jt.ChannelOffChainUpdateCallContract]:0,[Jt.ChannelOffChainUpdateCreateContract]:0,[Jt.ChannelOffChainUpdateDeposit]:0,[Jt.ChannelOffChainUpdateWithdraw]:0,[Jt.ChannelOffChainUpdateTransfer]:0,[Jt.ContractCreateTx]:5,[Jt.ContractCallTx]:12,[Jt.GaAttachTx]:5,[Jt.GaMetaTx]:5,[Jt.PayingForTx]:.2}[e])&&void 0!==t?t:1;return new(d())(15e3*n)})(e).plus(((e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Jt.OracleRegisterTx:case Jt.OracleExtendTx:case Jt.OracleQueryTx:case Jt.OracleResponseTx:return new(d())(t).times(20).plus(Math.ceil(32e3*r/Math.floor(175200)));case Jt.GaMetaTx:case Jt.PayingForTx:return new(d())(t).minus(a).times(20);default:return new(d())(t).times(20)}})(e,r,{relativeTtl:_n(a,e),innerTxSize:m()(n=[Jt.GaMetaTx,Jt.PayingForTx]).call(n,e)?a.tx.tx.encodedTx.rlpEncoded.length:0})).times(Gt)}function qn(e,t){let n,r=new(d())(0);do{n=r,r=zn(e,t(r))}while(!r.eq(n));return r}var An={...Sn,serializeAettos(e,t){let{txType:n,rebuildTx:r,_computingMinFee:a}=t;if(null!=a)return a;const i=qn(n,(e=>r({_computingMinFee:e}))),o=new(d())(null!=e?e:i);if(i.gt(o))throw new A(`Fee ${o.toString()} must be bigger then ${i}`);return o.toFixed()},serialize:Sn.serializeOptional},Pn={...xn,serialize(e,t){let{txType:n,rebuildTx:r,gasMax:a=6e6,_computingGasLimit:i}=t;if(null!=i)return xn.serialize(i);const o=function(e,t,n){return t-+zn(e,n(t)).dividedBy(Gt)}(n,a,(e=>r({_computingGasLimit:e}))),s=null!=e?e:o;if(s>o)throw new A(`Gas limit ${s} must be less or equal to ${o}`);return xn.serialize(s)}},En={...Sn,serializeAettos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gt.toString();if(+e<Gt)throw new A(`Gas price ${e.toString()} must be bigger then ${Gt}`);return e},serialize:Sn.serializeOptional},In=C(9408).Buffer,kn=e=>In.from(e),On=e=>e.toString(),Mn={serialize:e=>kn(e),deserialize:e=>On(e)},Rn={...Sn,serializeAettos(e,t){const n=Nn(t.name),r=new(d())(null!=e?e:n);if(n.gt(r))throw new K(r,n);return r.toFixed()},serialize(e,t){return Sn.serializeOptional.call(this,e,t)}};const Bn=vn,jn=xn,Dn=Sn,Vn=Tn,Un=An,Fn=Pn,Hn=En,$n=Mn,Gn=Rn,Kn={serialize:e=>tn(yn(e)?cn(e):e),deserialize:e=>nn(e)};let Ln;!function(e){e[e.delta=0]="delta",e[e.block=1]="block"}(Ln||(Ln={}));const Wn=0,Qn=3e4,Yn={type:Ln.delta,value:500},Xn={type:Ln.delta,value:10},Jn={type:Ln.delta,value:10},Zn=0,er=5e4,tr={pub:"ak_11111111111111111111111111111111273Yts",amount:100000000000000000000000000000000000n};let nr,rr,ar;!function(e){e[e.NO_VM=0]="NO_VM",e[e.SOPHIA=1]="SOPHIA",e[e.SOPHIA_IMPROVEMENTS_MINERVA=3]="SOPHIA_IMPROVEMENTS_MINERVA",e[e.SOPHIA_IMPROVEMENTS_FORTUNA=4]="SOPHIA_IMPROVEMENTS_FORTUNA",e[e.FATE=5]="FATE",e[e.SOPHIA_IMPROVEMENTS_LIMA=6]="SOPHIA_IMPROVEMENTS_LIMA",e[e.FATE_2=7]="FATE_2"}(nr||(nr={})),function(e){e[e.NO_ABI=0]="NO_ABI",e[e.SOPHIA=1]="SOPHIA",e[e.FATE=3]="FATE"}(rr||(rr={})),function(e){e[e.IRIS=5]="IRIS"}(ar||(ar={}));const ir={[ar.IRIS]:{[Jt.ContractCreateTx]:{vmVersion:[nr.FATE_2],abiVersion:[rr.FATE]},[Jt.ContractCallTx]:{vmVersion:[],abiVersion:[rr.FATE,rr.SOPHIA]},[Jt.OracleRegisterTx]:{vmVersion:[],abiVersion:[rr.NO_ABI,rr.SOPHIA]}}};let or;!function(e){e[e.id=0]="id",e[e.ids=1]="ids",e[e.string=2]="string",e[e.binary=3]="binary",e[e.bool=4]="bool",e[e.hex=5]="hex",e[e.rlpBinary=6]="rlpBinary",e[e.rlpBinaries=7]="rlpBinaries",e[e.rawBinary=8]="rawBinary",e[e.signatures=9]="signatures",e[e.pointers=10]="pointers",e[e.offChainUpdates=11]="offChainUpdates",e[e.callStack=12]="callStack",e[e.proofOfInclusion=13]="proofOfInclusion",e[e.mptrees=14]="mptrees",e[e.callReturnType=15]="callReturnType",e[e.ctVersion=16]="ctVersion",e[e.abiVersion=17]="abiVersion",e[e.ttlType=18]="ttlType",e[e.sophiaCodeTypeInfo=19]="sophiaCodeTypeInfo",e[e.payload=20]="payload",e[e.stateTree=21]="stateTree"}(or||(or={}));const sr=[["tag",jn],["VSN",jn]],cr={[Jt.Account]:{1:[...sr,["nonce",jn],["balance",Bn]],2:[...sr,["flags",Bn],["nonce",jn],["balance",Bn],["gaContract",or.id,[dt.ContractAddress,dt.Name]],["gaAuthFun",or.binary,dt.ContractBytearray]]},[Jt.SignedTx]:{1:[...sr,["signatures",or.signatures],["encodedTx",or.rlpBinary]]},[Jt.SpendTx]:{1:[...sr,["senderId",or.id,dt.AccountAddress],["recipientId",or.id,[dt.AccountAddress,dt.Name]],["amount",Dn],["fee",Un],["ttl",jn],["nonce",jn],["payload",or.payload]]},[Jt.NamePreclaimTx]:{1:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["commitmentId",or.id,dt.Commitment],["fee",Un],["ttl",jn]]},[Jt.NameClaimTx]:{2:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["name",$n],["nameSalt",Bn],["nameFee",Gn],["fee",Un],["ttl",jn]]},[Jt.NameUpdateTx]:{1:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["nameId",Kn],["nameTtl",Bn],["pointers",or.pointers],["clientTtl",jn],["fee",Un],["ttl",jn]]},[Jt.NameTransferTx]:{1:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["nameId",Kn],["recipientId",or.id,[dt.AccountAddress,dt.Name]],["fee",Un],["ttl",jn]]},[Jt.NameRevokeTx]:{1:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["nameId",Kn],["fee",Un],["ttl",jn]]},[Jt.Contract]:{1:[...sr,["owner",or.id,dt.AccountAddress],["ctVersion",or.ctVersion],["code",or.binary,dt.ContractBytearray],["log",or.binary,dt.ContractBytearray],["active",or.bool],["referers",or.ids,dt.AccountAddress],["deposit",Vn]]},[Jt.ContractCreateTx]:{1:[...sr,["ownerId",or.id,dt.AccountAddress],["nonce",jn],["code",or.binary,dt.ContractBytearray],["ctVersion",or.ctVersion],["fee",Un],["ttl",jn],["deposit",Vn],["amount",Dn],["gasLimit",Fn],["gasPrice",Hn],["callData",or.binary,dt.ContractBytearray]]},[Jt.ContractCallTx]:{1:[...sr,["callerId",or.id,dt.AccountAddress],["nonce",jn],["contractId",or.id,[dt.ContractAddress,dt.Name]],["abiVersion",or.abiVersion],["fee",Un],["ttl",jn],["amount",Dn],["gasLimit",Fn],["gasPrice",Hn],["callData",or.binary,dt.ContractBytearray]]},[Jt.ContractCall]:{1:[...sr,["callerId",or.id,dt.AccountAddress],["callerNonce",jn],["height",jn],["contractId",or.id,dt.ContractAddress],["gasPrice",Hn],["gasUsed",jn],["returnValue",or.binary,dt.ContractBytearray],["returnType",or.callReturnType],["log",or.rawBinary]]},[Jt.OracleRegisterTx]:{1:[...sr,["accountId",or.id,dt.AccountAddress],["nonce",jn],["queryFormat",or.string],["responseFormat",or.string],["queryFee",Dn],["oracleTtlType",or.ttlType],["oracleTtlValue",jn],["fee",Un],["ttl",jn],["abiVersion",or.abiVersion]]},[Jt.OracleExtendTx]:{1:[...sr,["oracleId",or.id,[dt.OracleAddress,dt.Name]],["nonce",jn],["oracleTtlType",or.ttlType],["oracleTtlValue",jn],["fee",Un],["ttl",jn]]},[Jt.OracleQueryTx]:{1:[...sr,["senderId",or.id,dt.AccountAddress],["nonce",jn],["oracleId",or.id,[dt.OracleAddress,dt.Name]],["query",or.string],["queryFee",Dn],["queryTtlType",or.ttlType],["queryTtlValue",jn],["responseTtlType",or.ttlType],["responseTtlValue",jn],["fee",Un],["ttl",jn]]},[Jt.OracleResponseTx]:{1:[...sr,["oracleId",or.id,dt.OracleAddress],["nonce",jn],["queryId",or.binary,dt.OracleQueryId],["response",or.string],["responseTtlType",or.ttlType],["responseTtlValue",jn],["fee",Un],["ttl",jn]]},[Jt.ChannelCreateTx]:{2:[...sr,["initiator",or.id,dt.AccountAddress],["initiatorAmount",Bn],["responder",or.id,dt.AccountAddress],["responderAmount",Bn],["channelReserve",Bn],["lockPeriod",Bn],["ttl",jn],["fee",Un],["initiatorDelegateIds",or.string],["responderDelegateIds",or.string],["stateHash",or.binary,"st"],["nonce",jn]]},[Jt.ChannelCloseMutualTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["initiatorAmountFinal",Bn],["responderAmountFinal",Bn],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelCloseSoloTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["payload",or.binary,"tx"],["poi",or.binary,"pi"],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelSlashTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["payload",or.binary,"tx"],["poi",or.binary,"pi"],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelDepositTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["amount",Bn],["ttl",jn],["fee",Un],["stateHash",or.binary,"st"],["round",jn],["nonce",jn]]},[Jt.ChannelWithdrawTx]:{1:[...sr,["channelId",or.id,dt.Channel],["toId",or.id,dt.AccountAddress],["amount",Bn],["ttl",jn],["fee",Un],["stateHash",or.binary,"st"],["round",jn],["nonce",jn]]},[Jt.ChannelSettleTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["initiatorAmountFinal",Bn],["responderAmountFinal",Bn],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelForceProgressTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["payload",or.binary,"tx"],["round",jn],["update",or.binary,dt.ContractBytearray],["stateHash",or.binary,"st"],["offChainTrees",or.stateTree],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelOffChainTx]:{2:[...sr,["channelId",or.id,dt.Channel],["round",jn],["stateHash",or.binary,"st"]]},[Jt.Channel]:{3:[...sr,["initiator",or.id,dt.AccountAddress],["responder",or.id,dt.AccountAddress],["channelAmount",Bn],["initiatorAmount",Bn],["responderAmount",Bn],["channelReserve",Bn],["initiatorDelegateIds",or.ids],["responderDelegateIds",or.ids],["stateHash",or.hex],["round",jn],["soloRound",Bn],["lockPeriod",Bn],["lockedUntil",Bn],["initiatorAuth",or.binary,dt.ContractBytearray],["responderAuth",or.binary,dt.ContractBytearray]]},[Jt.ChannelSnapshotSoloTx]:{1:[...sr,["channelId",or.id,dt.Channel],["fromId",or.id,dt.AccountAddress],["payload",or.binary,"tx"],["ttl",jn],["fee",Un],["nonce",jn]]},[Jt.ChannelOffChainUpdateTransfer]:{1:[...sr,["from",or.id,dt.AccountAddress],["to",or.id,dt.AccountAddress],["amount",Bn]]},[Jt.ChannelOffChainUpdateDeposit]:{1:[...sr,["from",or.id,dt.AccountAddress],["amount",Bn]]},[Jt.ChannelOffChainUpdateWithdraw]:{1:[...sr,["from",or.id,dt.AccountAddress],["amount",Bn]]},[Jt.ChannelOffChainUpdateCreateContract]:{1:[...sr,["owner",or.id,dt.AccountAddress],["ctVersion",or.ctVersion],["code",or.binary,dt.ContractBytearray],["deposit",Bn],["callData",or.binary,dt.ContractBytearray]]},[Jt.ChannelOffChainUpdateCallContract]:{1:[...sr,["caller",or.id,dt.AccountAddress],["contract",or.id,dt.ContractAddress],["abiVersion",or.abiVersion],["amount",Bn],["callData",or.binary,dt.ContractBytearray],["callStack",or.callStack],["gasPrice",Hn],["gasLimit",Fn]]},[Jt.ChannelClientReconnectTx]:{1:[...sr,["channelId",or.id,dt.Channel],["round",jn],["role",or.string],["pubkey",or.id,dt.AccountAddress]]},[Jt.TreesPoi]:{1:[...sr,["accounts",or.mptrees],["calls",or.mptrees],["channels",or.mptrees],["contracts",or.mptrees],["ns",or.mptrees],["oracles",or.mptrees]]},[Jt.StateTrees]:{1:[...sr,["contracts",or.rlpBinary],["calls",or.rlpBinary],["channels",or.rlpBinary],["ns",or.rlpBinary],["oracles",or.rlpBinary],["accounts",or.rlpBinary]]},[Jt.Mtree]:{1:[...sr,["values",or.rlpBinaries]]},[Jt.MtreeValue]:{1:[...sr,["key",or.hex],["value",or.rawBinary]]},[Jt.ContractsMtree]:{1:[...sr,["contracts",or.rlpBinary]]},[Jt.CallsMtree]:{1:[...sr,["calls",or.rlpBinary]]},[Jt.ChannelsMtree]:{1:[...sr,["channels",or.rlpBinary]]},[Jt.NameserviceMtree]:{1:[...sr,["mtree",or.rlpBinary]]},[Jt.OraclesMtree]:{1:[...sr,["otree",or.rlpBinary]]},[Jt.AccountsMtree]:{1:[...sr,["accounts",or.rlpBinary]]},[Jt.GaAttachTx]:{1:[...sr,["ownerId",or.id,dt.AccountAddress],["nonce",jn],["code",or.binary,dt.ContractBytearray],["authFun",or.rawBinary],["ctVersion",or.ctVersion],["fee",Un],["ttl",jn],["gasLimit",Fn],["gasPrice",Hn],["callData",or.binary,dt.ContractBytearray]]},[Jt.GaMetaTx]:{2:[...sr,["gaId",or.id,dt.AccountAddress],["authData",or.binary,dt.ContractBytearray],["abiVersion",or.abiVersion],["fee",Un],["gasLimit",Fn],["gasPrice",Hn],["tx",or.rlpBinary]]},[Jt.PayingForTx]:{1:[...sr,["payerId",or.id,dt.AccountAddress],["nonce",jn],["fee",Un],["tx",or.rlpBinary]]},[Jt.CompilerSophia]:{3:[...sr,["sourceCodeHash",or.rawBinary],["typeInfo",or.sophiaCodeTypeInfo],["byteCode",or.rawBinary],["compilerVersion",or.string],["payable",or.bool]]}};var lr,ur=C(3485),dr=C(9408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(lr||(lr={}));class pr{static nodeHash(e){return dr.from(Et((0,ur.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new we("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(pr.nodeHash(n)!==t)throw new Ce;const{type:r,payload:a}=pr.parseNode(n);switch(r){case lr.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new we("Can't find a node by hash in branch node")}));break;case lr.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new we("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:lr.Branch,payload:e,path:null};case 2:{var t;const n=e[0][0]>>4;if(n>3)throw new ve(n);const r=n<=1?lr.Extension:lr.Leaf,a=m()(t=[0,2]).call(t,n)?2:1;return{type:r,payload:[e[1]],path:e[0].toString("hex").slice(a)}}default:throw new be(e.length)}}serialize(){return[dr.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[dr.from(t,"hex"),n]}))]}get(e){let t=this.rootHash,n=e;for(;;){const{type:e,payload:r,path:a}=pr.parseNode(this.nodes[t]);switch(e){case lr.Branch:if(0===n.length)return r[16];t=r[+`0x${n[0]}`].toString("hex"),n=n.substring(1);break;case lr.Extension:if(n.substring(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),n=n.substring(a.length);break;case lr.Leaf:if(a!==n)return;return r[0]}}}}var mr=C(9408).Buffer;function hr(e,t,n){if(null==e)return"";switch(t){case or.ctVersion:{const[t,,n]=e;return{vmVersion:dn(mr.from([t])),abiVersion:dn(mr.from([n]))}}case or.abiVersion:case or.ttlType:return dn(e);case or.id:return nn(e);case or.ids:return e.map(nn);case or.bool:return 1===e[0];case or.binary:return Tt(e,n);case or.stateTree:return Tt(e,dt.StateTrees);case or.string:return e.toString();case or.payload:return Tt(e,dt.Bytearray);case or.pointers:return mn(e);case or.rlpBinary:return wr(Tt(e,dt.Transaction));case or.rlpBinaries:return e.map((e=>wr(Tt(e,dt.Transaction))));case or.rawBinary:return e;case or.hex:return e.toString("hex");case or.offChainUpdates:return e.map((e=>wr(Tt(e,dt.Transaction))));case or.callStack:return[dn(e)];case or.mptrees:return e.map((e=>new pr(e)));case or.callReturnType:switch(dn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case or.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,i]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:i}}}),{});default:return"number"==typeof t?e:t.deserialize(e)}}function yr(e,t,n){var r;switch(t){case or.abiVersion:case or.ttlType:return un(e);case or.id:return tn(e);case or.ids:return e.map(tn);case or.bool:return mr.from([!0===e?1:0]);case or.binary:case or.stateTree:return St(e);case or.hex:return mr.from(e,"hex");case or.signatures:return e.map(mr.from);case or.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?St(e):Ze(e);case or.string:return Ze(e);case or.pointers:return pn(e);case or.rlpBinary:return null!==(r=e.rlpEncoded)&&void 0!==r?r:e;case or.mptrees:return e.map((e=>e.serialize()));case or.ctVersion:return mr.from([...Ze(e.vmVersion),0,...Ze(e.abiVersion)]);case or.callReturnType:switch(e){case"ok":return un(0);case"error":return un(1);case"revert":return un(2);default:return e}default:return"number"==typeof t?e:t.serialize(e,n)}}function fr(e,t,n){if(null==e)return"Field is required";switch(t){case or.id:{const t=Array.isArray(n)?n:[n];return m()(t).call(t,e.split("_")[0])?void 0:null==n?`'${String(e)}' prefix doesn't exist'`:`'${String(e)}' prefix doesn't match expected prefix '${n.toString()}'`}case or.ctVersion:return Boolean(e.abiVersion)&&Boolean(e.vmVersion)?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case or.pointers:return Array.isArray(e)?e.some((e=>!(Boolean(e.key)&&Boolean(e.id))))?'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'':e.length>32?`Expected 32 pointers or less, got ${e.length} instead`:void 0:"Value must be of type Array";default:return}}function gr(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{var t;let[n]=e;return!m()(r).call(r,n)&&!m()(t=["payload","nameFee","deposit","gasPrice","fee","gasLimit"]).call(t,n)})).map((t=>{let[n,r,a]=t;return[n,fr(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Nr(e,t){return t.reduce(((t,n,r)=>{let[a,i,o]=n;return Object.assign(t,{[a]:hr(e[r],i,o)})}),{})}function Cr(e,t){var n;let{excludeKeys:r=[],prefix:a=dt.Transaction,vsn:i,denomination:o=Ue.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=cr[t];if(null!==(n=i)&&void 0!==n||(i=Math.max(...Object.keys(s).map((e=>+e)))),!st(i,s))throw new Ie("serialization",Jt[t],i);const c=s[i],l=e;l.VSN=i,l.tag=t,l.denomination=o;const u=c.filter((e=>{let[t]=e;return!m()(r).call(r,t)})),d=gr(l,c,{excludeKeys:r});if(Object.keys(d).length>0)throw new Pe(`Transaction build error. ${JSON.stringify(d)}`);const p=u.map((e=>{let[n,a]=e;return yr(l[n],a,{...l,txType:t,rebuildTx:e=>Cr({...l,...e},t,{excludeKeys:r,prefix:dt.Transaction,vsn:i,denomination:o})})})).filter((e=>void 0!==e)),h=(0,ur.encode)(p),y=Tt(h,a);return{tx:y,rlpEncoded:h,binary:p,txObject:Nr(p,c)}}function wr(e,t){const n=St(e),r=(0,ur.decode)(n),a=+dn(r[0]);if(!st(a,cr))throw new Te(`Unknown transaction tag: ${a}`);if(null!=t&&t!==a)throw new Te(`Expected transaction to have ${Jt[t]} tag, got ${Jt[a]} instead`);const i=+dn(r[1]);if(!st(i,cr[a]))throw new Ie("deserialization",`tag ${a}`,i);return{txType:a,tx:Nr(r,cr[a][i]),rlpEncoded:n}}function br(e){return Tt(Et("string"==typeof e&&e.startsWith("tx_")?St(e):e),dt.TxHash)}function vr(e){var t;const{txType:n,tx:r}=wr(e);if(!m()(t=[Jt.ContractCreateTx,Jt.GaAttachTx]).call(t,n))throw new q("contractCreateTx","a contractCreateTx or gaAttach",n);return an(r.ownerId,+r.nonce)}var xr=C(9408).Buffer;const Sr=[],Tr=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>null==e?void 0:e.toString().replace(/^ok_/,"ak_")))[0];async function _r(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:i}=wr(e),o=null!==(n=Tr(a))&&void 0!==n?n:i===Jt.SignedTx?Tr(a.encodedTx.tx):void 0,[s,{height:c},{consensusProtocolVersion:l,nodeNetworkId:u}]=await Promise.all([null==o?void 0:t.getAccountByPubkey(o).catch((()=>({id:o,balance:0n,nonce:0}))).then((e=>({...e,id:e.id}))),t.getCurrentKeyBlockHeight(),t.getNodeInfo()]);return(await Promise.all(Sr.map((e=>e(a,{txType:i,node:t,account:s,height:c,consensusProtocolVersion:l,nodeNetworkId:u,parentTxTypes:r}))))).flat()}function zr(e,t){let{_expectedMineRate:n=18e4,_microBlockCycle:r=3e3,_maxPollInterval:a=5e3}=t;const i={block:n,microblock:r}[e];return Math.min(i/3,a)}Sr.push(((e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,nodeNetworkId:i,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(null==a)return[];if(1!==r.length)return[];const s=xr.from([i,...m()(o).call(o,Jt.PayingForTx)?["inner_tx"]:[]].join("-")),c=ot([s,n.rlpEncoded]),l=ot([s,Et(n.rlpEncoded)]),u=St(a.id);return Rt(c,r[0],u)||Rt(l,r[0],u)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]}),(async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:i,txType:o}=t;return void 0===(null!=n?n:r)?[]:_r(Tt((null!=n?n:r).rlpEncoded,dt.Transaction),a,[...i,o])}),((e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])}),((e,t)=>{var n,r;let{amount:a,fee:i,nameFee:o,tx:s}=e,{account:c,parentTxTypes:l,txType:u}=t;if(null==c)return[];if(void 0===(null!==(n=null!=a?a:i)&&void 0!==n?n:o))return[];null!==(r=i)&&void 0!==r||(i=0);const p=new(d())(i).plus(null!=o?o:0).plus(null!=a?a:0).plus(u===Jt.PayingForTx?s.tx.encodedTx.tx.fee:0).minus(m()(l).call(l,Jt.PayingForTx)?i:0);return p.lte(c.balance.toString())?[]:[{message:`Account balance ${c.balance.toString()} is not enough to execute the transaction that costs ${p.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]}),((e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(null==n||null==r||m()(a).call(a,Jt.GaMetaTx))return[];n=+n;const i=r.nonce+1;return n===i?[]:[{...n<i?{message:`Nonce ${n} is already used, valid nonce is ${i}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${i}`,key:"NonceHigh"},checkedKeys:["nonce"]}]}),((e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,consensusProtocolVersion:i}=t;if(!st(i,ir))throw new j(`Unsupported protocol: ${i}`);null==n&&(n={abiVersion:r});const o=ir[i][a];return null==o?[]:Object.entries(n).some((e=>{var t;let[n,r]=e;return!m()(t=o[n]).call(t,+r)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(o)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]}),(async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Jt.ContractCallTx!==r)return[];try{const{active:e}=await a.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var i,o;if(null==(null===(i=e.response)||void 0===i||null===(o=i.parsedBody)||void 0===o?void 0:o.reason))throw e;return[{message:e.response.parsedBody.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}));class qr extends _{constructor(e,t,n){super(e),this.name="InvalidTxError",this.validation=t,this.transaction=n}}async function Ar(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}async function Pr(e,t){var n;let{blocks:r=10,interval:a,onNode:i,...o}=t;null!==(n=a)&&void 0!==n||(a=zr("microblock",o));const s=await Ar({onNode:i})+r;do{const t=await i.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await at(a)}while(await Ar({onNode:i})<s);throw new M(r,e)}async function Er(e,t){var n;let r,{interval:a,onNode:i,...o}=t;null!==(n=a)&&void 0!==n||(a=zr("block",o));do{null!=r&&await at(a),r=(await i.getCurrentKeyBlockHeight()).height}while(r<e);return r}async function Ir(e,t){let{confirm:n=3,onNode:r,...a}=t;const{blockHeight:i}=await r.getTransactionByHash(e),o=await Er(i+n,{onNode:r,...a}),{blockHeight:s}=await r.getTransactionByHash(e);switch(s){case-1:throw new Oe(e);case i:return o;default:return Ir(e,{onNode:r,confirm:n,...a})}}async function kr(e,t){let{onNode:n,onAccount:r,verify:a=!0,waitMined:i=!0,confirm:o,...s}=t;if(a){const t=await _r(e,n);if(t.length>0){const n=`Transaction verification errors: ${t.map((e=>e.message)).join(", ")}`;throw new qr(n,t,e)}}try{let t;try{t=null!=r?`tx-${await r.address(s)}`:null}catch(e){t=null}const{txHash:a}=await n.postTransaction({tx:e},null!=t?{requestOptions:{customHeaders:{__queue:t}}}:{});if(i){const t=await Pr(a,{onNode:n,...s}),r={...t,hash:t.hash,rawTx:e};if(null!=o&&(!0===o||o>0)){const e="boolean"==typeof o?void 0:o;return{...r,confirmationHeight:await Ir(a,{onNode:n,confirm:e,...s})}}return r}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:async()=>_r(e,n)})}}async function Or(e,t){let{height:n,hash:r,onNode:a}=t;return null!=n?a.getAccountByPubkeyAndHeight(e,n):null!=r?a.getAccountByPubkeyAndHash(e,r):a.getAccountByPubkey(e)}async function Mr(e,t){let{format:n=Ue.AETTOS,...r}=t;const{balance:a}=await Or(e,r).catch((()=>({balance:0n})));return He(a,{targetDenomination:n})}async function Rr(e){let{onNode:t}=e;return t.getCurrentGeneration()}async function Br(e,t){let{onNode:n}=t;return"number"==typeof e?n.getGenerationByHeight(e):n.getGenerationByHash(e)}async function jr(e,t){let{onNode:n}=t;return(await n.getMicroBlockTransactionsByHash(e)).transactions}async function Dr(e,t){let{onNode:n}=t;return"number"==typeof e?n.getKeyBlockByHeight(e):n.getKeyBlockByHash(e)}async function Vr(e,t){let{onNode:n}=t;return n.getMicroBlockHeaderByHash(e)}const Ur=new Map;async function Fr(e,t){const n=Ur.get(e);if(Ur.delete(e),null==n)throw new U("Can't get dry-run request");let r;try{r=await t.protectedDryRunTxs({top:n[0].top,txEvents:n[0].txEvents,txs:n.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(n.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:tr.amount})))})}catch(e){return void n.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:a,txEvents:i}=r;a.forEach(((e,t)=>{let{result:r,reason:a,...o}=e;const{resolve:s,reject:c,tx:l,accountAddress:u}=n[t];"ok"===r?s({...o,txEvents:i}):c(Object.assign(new ze(a),{tx:l,accountAddress:u}))}))}async function Hr(e,t,n){var r;let{top:a,txEvents:i,combine:o,onNode:s}=n;const c=!0===o?[a,i].join():"immediate",l=null!==(r=Ur.get(c))&&void 0!==r?r:[];return Ur.set(c,l),new Promise(((n,r)=>{var u;l.push({tx:e,accountAddress:t,top:a,txEvents:i,resolve:n,reject:r}),!0===o?null!==(u=l.timeout)&&void 0!==u||(l.timeout=setTimeout((()=>{Fr(c,s)}))):Fr(c,s)}))}async function $r(e,t){let{onNode:n}=t;return n.getContractCode(e)}async function Gr(e,t){let{onNode:n}=t;return n.getContract(e)}async function Kr(e,t){let{onNode:n}=t;return n.getNameEntryByName(e)}async function Lr(e,t,n){let{verify:r=!0,resolveByNode:a=!1,onNode:i}=n;if(yn(e)){if(r||a){const n=(await i.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(null==n)throw new G(e,t);if(a)return n.id}return cn(e)}try{return St(e),e}catch(t){throw new L(`Invalid name or address: ${e}`)}}var Wr=C(3983),Qr=C(7289);const Yr={async argon2id(e,t,n){const{memlimit_kib:r,opslimit:a}=n;return(await(0,Qr.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:Qr.ArgonType.Argon2id})).hash}},Xr={"xsalsa20-poly1305":{encrypt:Le().secretbox,decrypt(){const e=Le().secretbox.open(...arguments);if(null==e)throw new Ne;return e}}},Jr={secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}};function Zr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Jr.symmetric_alg;return Xr[r].encrypt(e,n,t)}async function ea(e,t,n,r){return Yr[n](e,t,r)}async function ta(e,t){let{crypto:n}=t;const r=nt(n.kdf_params.salt);return tt(function(e,t,n){return Xr[arguments.length>3&&void 0!==arguments[3]?arguments[3]:Jr.symmetric_alg].decrypt(e,n,t)}(nt(n.ciphertext),await ea(e,r,n.kdf,n.kdf_params),nt(n.cipher_params.nonce),n.symmetric_alg))}async function na(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Le().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Le().randomBytes(16),i=arguments.length>5?arguments[5]:void 0;const o={...Jr,...i},s=await ea(t,a,o.kdf,o.kdf_params),c="string"==typeof n?nt(n):n;return{name:e,version:1,public_key:zt(c),id:(0,Wr.v4)(),crypto:{secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:tt(Zr(c,s,r,o.symmetric_alg)),cipher_params:{nonce:tt(r)},kdf:o.kdf,kdf_params:{...o.kdf_params,salt:tt(a)}}}}async function ra(e,t){var n,r;let{vmVersion:a,abiVersion:i,onNode:o}=t;const{consensusProtocolVersion:s}=await o.getNodeInfo();if(!st(s,ir))throw new j("Not supported consensus protocol version");const c=ir[s];if(!st(e,c))throw new Me("Not supported tx type");const l=c[e];return null!==(n=i)&&void 0!==n||(i=l.abiVersion[0]),null!==(r=a)&&void 0!==r||(a=l.vmVersion[0]),{vmVersion:a,abiVersion:i}}async function aa(e,t){var n;let{senderId:r,nonce:a,ttl:i=Wn,absoluteTtl:o,strategy:s,onNode:c}=t;if(null!==(n=a)&&void 0!==n||(a=(await c.getAccountNextNonce(r,{strategy:s}).catch((()=>({nextNonce:1})))).nextNonce),0!==i){if(i<0)throw new q("ttl","greater or equal to 0",i);i+=!0===o?0:(await c.getCurrentKeyBlock()).height}return{ttl:i,nonce:a}}async function ia(e,t){var n;let{denomination:r,absoluteTtl:a,...i}=t;const o=i;let s;switch(e){case Jt.SpendTx:case Jt.OracleQueryTx:s="senderId";break;case Jt.NameClaimTx:case Jt.NameUpdateTx:case Jt.NameRevokeTx:case Jt.NameTransferTx:case Jt.NamePreclaimTx:case Jt.OracleRegisterTx:s="accountId";break;case Jt.ContractCreateTx:case Jt.GaAttachTx:s="ownerId";break;case Jt.ContractCallTx:case Jt.OracleExtendTx:case Jt.OracleResponseTx:s="callerId";break;case Jt.ChannelCloseSoloTx:case Jt.ChannelSlashTx:case Jt.ChannelSettleTx:case Jt.ChannelSnapshotSoloTx:s="fromId";break;case Jt.PayingForTx:s="payerId";break;default:throw new q("txType","valid transaction type",e)}var c;m()(n=[Jt.ContractCreateTx,Jt.GaAttachTx]).call(n,e)&&(o.ctVersion=await ra(Jt.ContractCreateTx,{...o,...o.ctVersion})),e===Jt.ContractCallTx&&(o.abiVersion=(await ra(Jt.ContractCallTx,o)).abiVersion),e===Jt.OracleRegisterTx&&(null!==(c=o.abiVersion)&&void 0!==c||(o.abiVersion=rr.NO_ABI)),e===Jt.PayingForTx&&(o.tx=wr(o.tx));const l=o[s];if(null==l)throw new Pe(`Transaction field ${s} is missed`);const u=await aa(0,{...o,senderId:l,absoluteTtl:a});return Cr({...o,...u},e,{denomination:r}).tx}var oa=C(9882),sa=C(1986),ca=C(8236),la=C.n(ca),ua=C(9408).Buffer;const da=la().ModeOfOperation.ecb;function pa(e,t){const n=mt(e);return new da(n).encrypt(t)}function ma(e,t){const n=ua.from(t),r=mt(e);return new da(r).decrypt(n)}class ha extends S{constructor(e){super(e),this.name="DerivationError"}}const ya=ua.from("ed25519 seed"),fa=2147483648;function ga(e,t){let{secretKey:n,chainCode:r}=e;if(t<fa)throw new ha(`Segment ${t} is not hardened`);const a=ua.allocUnsafe(4);a.writeUInt32BE(t,0);const i=ot([ua.alloc(1,0),n,a]),o=(0,oa.full)(i,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function Na(e,t){const n=""===e?[]:(0,sa.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<fa)throw new ha(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>ga(e,t)),t)}function Ca(e){const t=(0,oa.full)(e,ya);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function wa(e,t){var n;if(!m()(n=["m","m/"]).call(n,e.slice(0,2)))throw new ha("Root element is required");const r=Ca(t);return Na(e.slice(2),r)}function ba(e){const{secretKey:t,publicKey:n}=e;return{secretKey:tt(t),publicKey:Tt(n,dt.AccountAddress)}}function va(e){return Le().sign.keyPair.fromSeed(e)}function xa(e,t){const n=wa("m/44h/457h",e);return{secretKey:tt(pa(t,n.secretKey)),chainCode:tt(pa(t,n.chainCode))}}function Sa(e,t,n){const r={secretKey:ma(t,ua.from(e.secretKey,"hex")),chainCode:ma(t,ua.from(e.chainCode,"hex"))};return new Array(n).fill(void 0).map(((e,t)=>ba(va(Na(`${t}h/0h/0h`,r).secretKey))))}const Ta=(e,t)=>({...ba(va(Na(`${t}h/0h/0h`,wa("m/44h/457h",e)).secretKey)),idx:t});async function _a(e,t){const n=!0===t.innerTx?void 0:(await Or(await t.onAccount.address(t),t)).authFun,r=await t.onAccount.signTransaction(e,{...t,authFun:n,networkId:(await t.onNode.getStatus()).networkId});return!0===t.innerTx?{hash:br(r),rawTx:r}:kr(r,t)}async function za(e,t,n){return _a(await ia(Jt.SpendTx,{...n,senderId:await n.onAccount.address(n),recipientId:await Lr(t,"account_pubkey",n),amount:e}),n)}async function qa(e,t,n){if(e<0||e>1)throw new q("fraction","a number between 0 and 1",e);const r=await Lr(t,"account_pubkey",n),a=await n.onAccount.address(n),i=new(d())(await Mr.bind(n.onAccount)(a,n)),o=i.times(e).integerValue(d().ROUND_HALF_UP),{tx:{fee:s}}=wr(await ia(Jt.SpendTx,{...n,senderId:a,recipientId:r,amount:o}),Jt.SpendTx),c=o.plus(s).gt(i)?i.minus(s):o;return _a(await ia(Jt.SpendTx,{...n,senderId:a,recipientId:r,amount:c}),n)}async function Aa(e,t){return _a(await ia(Jt.PayingForTx,{...t,payerId:await t.onAccount.address(t),tx:e}),t)}async function Pa(e,t){return _a(await ia(Jt.NameRevokeTx,{...t,nameId:e,accountId:await t.onAccount.address(t)}),t)}async function Ea(e,t,n){let{extendPointers:r,...a}=n;const i={...!0===r&&Object.fromEntries((await Kr(e,a)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t};return _a(await ia(Jt.NameUpdateTx,{clientTtl:$t,nameTtl:Ut,...a,nameId:e,accountId:await a.onAccount.address(a),pointers:Object.entries(i).map((e=>{let[t,n]=e;return{key:t,id:n.toString()}}))}),a)}async function Ia(e,t,n){return _a(await ia(Jt.NameTransferTx,{...n,nameId:e,accountId:await n.onAccount.address(n),recipientId:t}),n)}async function ka(e,t){const n=await Kr(e,t);return Object.freeze({...n,id:n.id,owner:n.owner,update:async(n,r)=>({...await Ea(e,n,{...t,...r}),...await ka(e,{...t,...r})}),transfer:async(n,r)=>({...await Ia(e,n,{...t,...r}),...await ka(e,{...t,...r})}),revoke:async n=>Pa(e,{...t,...n}),async extendTtl(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ut,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n>Ut||n<=0)throw new q("nameTtl",`a number between 1 and ${Ut} blocks`,n);return{...await Ea(e,{},{...t,...r,nameTtl:n,extendPointers:!0}),...await ka(e,{...t,...r})}}})}async function Oa(e,t,n){const r=await ia(Jt.NameClaimTx,{...n,accountId:await n.onAccount.address(n),nameSalt:t,name:e}),a=await _a(r,n);if(!bn(e)){const t=null!=a.blockHeight&&a.blockHeight>0?await ka(e,n):{};return Object.assign(a,t)}return a}async function Ma(e,t){const n=At(),r=await Ar(t),a=ln(e,n),i=await ia(Jt.NamePreclaimTx,{...t,accountId:await t.onAccount.address(t),commitmentId:a});return Object.freeze({...await _a(i,t),height:r,salt:n,commitmentId:a,claim:async r=>Oa(e,n,{...t,...r})})}async function Ra(e,t,n){return Oa(e,0,{...n,nameFee:t})}var Ba=C(7946);async function ja(e){let{onAccount:t,onCompiler:n,onNode:r,source:a,bytecode:i,aci:o,contractAddress:s,fileSystem:c={},validateBytecode:l,...u}=e;if(null==o&&null!=a&&(o=await n.generateACI({code:a,options:{fileSystem:c}})),null==o)throw new ue;if(null!=s&&(s=await Lr(s,"contract_pubkey",{resolveByNode:!0,onNode:r})),null==s&&null==a&&null==i)throw new le("Can't create instance by ACI without address");if(null!=s&&null==(await Gr(s,{onNode:r})).active)throw new se(s);const d={_aci:o,_name:o.encodedAci.contract.name,calldata:new Ba.Encoder([o.encodedAci,...o.externalEncodedAci]),source:a,bytecode:i,deployInfo:{address:s},options:{onAccount:t,onCompiler:n,onNode:r,amount:Zn,callStatic:!1,fileSystem:c,...u},async compile(e){},async _estimateGas(e,t,n){},async deploy(e,t){},async call(e,t,n){},decodeEvents(e,t){},methods:void 0};if(null!=l){if(null==s)throw new le("Can't validate bytecode without contract address");const e=(await $r(s,{onNode:r})).bytecode;if(!(null!=a?await n.validateByteCode({bytecode:e,source:a,options:d.options}).then((()=>!0),(()=>!1)):i===e))throw new ie(null!=a?"source":"bytecode")}d.compile=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=d.bytecode)throw new A("Contract already compiled");if(null==d.source)throw new A("Can't compile without source code");return d.bytecode=(await n.compileContract({code:d.source,options:{...d.options,...e}})).bytecode,d.bytecode};const p=(e,t)=>{let n,{returnType:r,returnValue:a}=e;switch(r){case"ok":return;case"revert":n=d.calldata.decodeFateString(a);break;case"error":n=St(a).toString();break;default:throw new U(`Unknown return type: ${r}`)}throw new pe(n,t)},m=async(e,t)=>{t={...d.options,...t};const n=await _a(e,t),a={hash:n.hash,tx:wr(n.rawTx),txData:n,rawTx:n.rawTx};if(null==n.blockHeight)return a;const{callInfo:i}=await r.getTransactionInfoByHash(n.hash);return Object.assign(a.txData,i),p(i,e),{...a,result:i}};function h(e){const t=d._aci.encodedAci.contract.functions.find((t=>t.name===e));if(null!=t)return t;if("init"===e)return{payable:!1};throw new me(`Function ${e} doesn't exist in contract`)}function y(e,t,n){let{contractAddressToName:r}=n;const a={...d.options.contractAddressToName,...r};if(null!=a[e])return a[e];const i=[d._aci.encodedAci,...d._aci.externalEncodedAci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt(`0x${Et(n).toString("hex")}`)===t}));switch(i.length){case 0:throw new ye(t.toString(),e);case 1:return i[0][0];default:throw new fe(e,i)}}return d._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await d.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},d.deploy=async function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;const a={...d.options,...n};if(null==d.bytecode&&await d.compile(a),!0===a.callStatic)return d.call("init",t,a);if(null!=d.deployInfo.address)throw new oe;const i=await a.onAccount.address(n),o=await ia(Jt.ContractCreateTx,{...a,gasLimit:null!==(e=a.gasLimit)&&void 0!==e?e:await d._estimateGas("init",t,a),callData:d.calldata.encode(d._name,"init",t),code:d.bytecode,ownerId:i,onNode:r}),s=vr(o),{hash:c,rawTx:l,result:u,txData:p}=await m(o,a);return d.deployInfo=Object.freeze({result:u,owner:i,transaction:c,rawTx:l,txData:p,address:s}),d.deployInfo},d.call=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...d.options,...n},i=h(e),o=d.deployInfo.address;if(null==e)throw new de;if("init"===e&&!1===a.callStatic)throw new ce('"init" can be called only via dryRun');if(null==o&&"init"!==e)throw new ce("You need to deploy contract before calling!");if("init"!==e&&a.amount>0&&!1===i.payable)throw new he(a.amount,e);const s=await Promise.resolve().then((()=>a.onAccount.address(a))).catch((e=>{if(!0===a.callStatic)return tr.pub;throw e})),c=d.calldata.encode(d._name,e,t);let l;if(!0===a.callStatic){"number"==typeof a.top&&(a.top=(await Dr(a.top,{onNode:r})).hash);const t={...a,onNode:r,callData:c};null==a.nonce&&null!=a.top&&(a.nonce=(await Or(s,{hash:a.top,onNode:r})).nonce+1);const n=await("init"===e?ia(Jt.ContractCreateTx,{...t,code:d.bytecode,ownerId:s}):ia(Jt.ContractCallTx,{...t,callerId:s,contractId:o})),{callObj:i,...u}=await Hr(n,s,{onNode:r,...a});if(null==i)throw new F;p({returnType:i.returnType,returnValue:i.returnValue},n),l={...u,tx:wr(n),result:i}}else{var u;const n=await ia(Jt.ContractCallTx,{...a,onNode:r,gasLimit:null!==(u=a.gasLimit)&&void 0!==u?u:await d._estimateGas(e,t,a),callerId:s,contractId:o,callData:c});l=await m(n,a)}return!0!==a.callStatic&&null==l.txData.blockHeight||(l.decodedResult=null!=i.returns&&"unit"!==i.returns&&"init"!==e&&d.calldata.decode(d._name,e,l.result.returnValue),l.decodedEvents=d.decodeEvents(l.result.log,a)),l},d.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=y(e.address,r[0],n)}catch(e){if(null!=t&&t&&e instanceof ye)return null;throw e}const i=d.calldata.decodeEvent(a,e.data,r),[o,s]=Object.entries(i)[0];return{name:o,args:s,contract:{name:a,address:e.address}}})).filter((e=>null!=e))},d.methods=Object.fromEntries(d._aci.encodedAci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>async function(){for(var r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new R(`Options should be an object: ${o}`);return"init"===t?d.deploy(a,{callStatic:e,...o}):d.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),d}var Da=C(9408).Buffer;async function Va(e,t){let{onAccount:n,onNode:r,...a}=t;const i=await n.sign(ot([Da.from((await r.getStatus()).networkId),...e.map((e=>St(e)))]),a);return Da.from(i).toString("hex")}async function Ua(e,t){return Va([await t.onAccount.address(t),...null!=t.name?[cn(t.name)]:[],e],t)}async function Fa(e,t){var n;return Va([null!==(n=t.queryId)&&void 0!==n?n:await t.onAccount.address(t),e],t)}function Ha(e,t,n){var r;let{interval:a,onNode:i,...o}=n;null!==(r=a)&&void 0!==r||(a=zr("microblock",o));const s=new Set,c=async()=>{var n;const r=(null!==(n=(await i.getOracleQueriesByPubkey(e)).oracleQueries)&&void 0!==n?n:[]).filter((e=>{let{id:t}=e;return!s.has(t)}));r.forEach((e=>{let{id:t}=e;return s.add(t)})),r.length>0&&t(r)};let l=!1;return(async()=>{for(;!l;)await c().catch(console.error),await at(a)})(),()=>{l=!0}}async function $a(e,t,n){var r;let a,i,o,{interval:s,onNode:c,...l}=n;null!==(r=s)&&void 0!==r||(s=zr("microblock",l));do{null!=a&&await at(s),({response:o,ttl:i}=await c.getOracleQueryByPubkeyAndQueryId(e,t));const n=St(o);if(n.length>0)return n.toString();a=await this.getHeight()}while(i>=a);throw new O(a)}async function Ga(e,t,n){const r=await n.onNode.getOracleQueryByPubkeyAndQueryId(e,t);return{...r,decodedQuery:St(r.query).toString(),decodedResponse:St(r.response).toString(),respond:async(r,a)=>Wa(e,t,r,{...n,...a}),pollForResponse:async r=>$a(e,t,{...n,...r})}}async function Ka(e,t,n){var r;null!==(r=n.queryFee)&&void 0!==r||(n.queryFee=(await n.onNode.getOracleByPubkey(e)).queryFee.toString());const a=await n.onAccount.address(n),i=await ia(Jt.OracleQueryTx,{queryTtlType:Xn.type,queryTtlValue:Xn.value,responseTtlType:Jn.type,responseTtlValue:Jn.value,...n,oracleId:e,senderId:a,query:t}),{nonce:o}=wr(i,Jt.OracleQueryTx).tx,s=on(a,o,e);return{...await _a(i,n),...await Ga(e,s,n)}}async function La(e,t){const n=await ia(Jt.OracleExtendTx,{oracleTtlType:Yn.type,oracleTtlValue:Yn.value,...t,callerId:await t.onAccount.address(t),oracleId:e});return{...await _a(n,t),...await Qa(e,t)}}async function Wa(e,t,n,r){const a=await ia(Jt.OracleResponseTx,{responseTtlType:Jn.type,responseTtlValue:Jn.value,...r,callerId:await r.onAccount.address(r),oracleId:e,queryId:t,response:n});return{...await _a(a,r),...await Qa(e,r)}}async function Qa(e,t){return{...await t.onNode.getOracleByPubkey(e),queries:(await t.onNode.getOracleQueriesByPubkey(e)).oracleQueries,...it({pollQueries:Ha,postQuery:Ka,respondToQuery:Wa,extendOracle:La,getQuery:Ga},(n=>{let[r,a]=n;return[r,function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];const o=r[r.length-1];return null!=o&&"object"==typeof o&&o.constructor===Object?Object.assign(o,{...t,...o}):r.push(t),a(e,...r)}]}))}}async function Ya(e,t,n){const r=await n.onAccount.address(n),a=await ia(Jt.OracleRegisterTx,{queryFee:Qn,oracleTtlValue:Yn.value,oracleTtlType:Yn.type,...n,accountId:r,queryFormat:e,responseFormat:t});return{...await _a(a,n),...await Qa(Tt(St(r),dt.OracleAddress),n)}}var Xa=C(9408).Buffer;async function Ja(e,t){const{contractId:n}=await Or(e,t);return null!=n}async function Za(e,t,n,r){var a;let{onAccount:i,onCompiler:o,onNode:s,...c}=r;const l=await i.address(c);if(await Ja(l,{onNode:s}))throw new A(`Account ${l} is already GA`);const u=await ja({onAccount:i,onCompiler:o,onNode:s,source:t}),d=await ia(Jt.GaAttachTx,{...c,onNode:s,code:await u.compile(),gasLimit:null!==(a=c.gasLimit)&&void 0!==a?a:await u._estimateGas("init",n,c),ownerId:l,callData:u.calldata.encode(u._name,"init",n),authFun:Et(e)}),p=vr(d),{hash:m,rawTx:h}=await _a(d,{onNode:s,onAccount:i,onCompiler:o,...c});return Object.freeze({owner:l,transaction:m,rawTx:h,gaContractId:p})}async function ei(e,t,n,r){var a,i;let{onAccount:o,onCompiler:s,onNode:c,...l}=r;const u=e=>Cr({encodedTx:e,signatures:[]},Jt.SignedTx);if(Object.keys(t).length<=0)throw new I("authData is required");const d=null!==(a=t.gasLimit)&&void 0!==a?a:er;if(d>er)throw new ae(`the maximum gasLimit value for ga authFun is ${er}, got ${d}`);const p=null!==(i=t.callData)&&void 0!==i?i:await(async()=>{if(null==t.source||null==t.args)throw new ae("Auth data must contain source code and arguments.");const e=await ja({onCompiler:s,onNode:c,source:t.source});return e.calldata.encode(e._name,n,t.args)})(),{abiVersion:m}=await ra(Jt.ContractCallTx,{onNode:c}),h=u(wr(e)),y={...l,tx:{...h,tx:h.txObject},gaId:await o.address(l),abiVersion:m,authData:p,gasLimit:d,vsn:2},{fee:f}=await aa(Jt.GaMetaTx,{...y,onNode:c}),{rlpEncoded:g}=Cr({...y,fee:f},Jt.GaMetaTx);return u(g).tx}async function ti(e,t){let{onNode:n}=t;const{networkId:r}=await n.getStatus();return new Uint8Array(Et(ot([Xa.from(r),St(e)])))}async function ni(e,t){let{authData:n,authFun:r,...a}=t;return ei(e,n,r,a)}async function ri(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}function ai(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}const ii=ai;function oi(e,t){let{params:n,vsn:r,denomination:a}=t;return qn(e,(t=>Cr({...n,_computingMinFee:t},e,{vsn:r,denomination:a})))}const si=1579e3;let ci;!function(e){e[e.account=10]="account",e[e.signed=11]="signed",e[e.spend=12]="spend",e[e.oracleRegister=22]="oracleRegister",e[e.oracleQuery=23]="oracleQuery",e[e.oracleResponse=24]="oracleResponse",e[e.oracleExtend=25]="oracleExtend",e[e.nameClaim=32]="nameClaim",e[e.namePreClaim=33]="namePreClaim",e[e.nameUpdate=34]="nameUpdate",e[e.nameRevoke=35]="nameRevoke",e[e.nameTransfer=36]="nameTransfer",e[e.contract=40]="contract",e[e.contractCallResult=41]="contractCallResult",e[e.contractCreate=42]="contractCreate",e[e.contractCall=43]="contractCall",e[e.channelCreate=50]="channelCreate",e[e.channelDeposit=51]="channelDeposit",e[e.channelWithdraw=52]="channelWithdraw",e[e.channelCloseMutual=53]="channelCloseMutual",e[e.channelCloseSolo=54]="channelCloseSolo",e[e.channelSlash=55]="channelSlash",e[e.channelSettle=56]="channelSettle",e[e.channelOffChain=57]="channelOffChain",e[e.channel=58]="channel",e[e.channelSnapshotSolo=59]="channelSnapshotSolo",e[e.proofOfInclusion=60]="proofOfInclusion",e[e.stateTrees=62]="stateTrees",e[e.merklePatriciaTree=63]="merklePatriciaTree",e[e.merklePatriciaTreeValue=64]="merklePatriciaTreeValue",e[e.sophiaByteCode=70]="sophiaByteCode",e[e.gaAttach=80]="gaAttach",e[e.gaMeta=81]="gaMeta",e[e.payingFor=82]="payingFor",e[e.channelForceProgress=521]="channelForceProgress",e[e.channelOffChainUpdateTransfer=570]="channelOffChainUpdateTransfer",e[e.channelOffChainUpdateDeposit=571]="channelOffChainUpdateDeposit",e[e.channelOffChainUpdateWithdrawal=572]="channelOffChainUpdateWithdrawal",e[e.channelOffChainCreateContract=573]="channelOffChainCreateContract",e[e.channelOffChainCallContract=574]="channelOffChainCallContract",e[e.channelReconnect=575]="channelReconnect",e[e.contractsTree=621]="contractsTree",e[e.contractCallsTree=622]="contractCallsTree",e[e.channelsTree=623]="channelsTree",e[e.nameserviceTree=624]="nameserviceTree",e[e.oraclesTree=625]="oraclesTree",e[e.accountsTree=626]="accountsTree"}(ci||(ci={}));const li={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},ui={ak:li.account,nm:li.name,cm:li.commitment,ok:li.oracle,ct:li.contract,ch:li.channel},di=it(ui,(e=>{let[t,n]=e;return[n,t]}));let pi;!function(e){e.ak="account_pubkey",e.ok="oracle_pubkey",e.ct="contract_pubkey",e.ch="channel"}(pi||(pi={}));var mi=C(7445);function hi(e,t,n){return t in e?mi(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yi=C(5039);const fi=()=>{const e=new Map;return{policy:{name:"request-queues",async sendRequest(t,n){var r;const a=t.headers.get("__queue");t.headers.delete("__queue");const i=async()=>n(t);if(null==a)return i();const o=(null!==(r=e.get(a))&&void 0!==r?r:Promise.resolve()).then(i,i);return e.set(a,o.then((async()=>at(750)))),o}},position:"perCall"}},gi=()=>{const e=new Map;return{policy:{name:"combine-requests",async sendRequest(t,n){var r;if("GET"!==t.method)return n(t);const a=JSON.stringify([t.url,t.body]),i=null!==(r=e.get(a))&&void 0!==r?r:n(t);e.set(a,i);try{return await i}finally{e.delete(a)}}},position:"perCall"}},Ni=e=>({policy:{name:"error-formatter",async sendRequest(t,n){try{return await n(t)}catch(t){var r;if(!(t instanceof yi.RestError)||null==t.request)throw t;if(null==(null===(r=t.response)||void 0===r?void 0:r.bodyAsText))throw t;let n;try{n=JSON.parse(t.response.bodyAsText)}catch(e){throw t}t.message=`${new URL(t.request.url).pathname.slice(1)} error`;const a=e(n);throw""!==a&&(t.message+=`:${a}`),t}}},position:"perCall"}),Ci=(e,t,n,r,a)=>({name:"version-check",async sendRequest(i,o){if(new URL(i.url).pathname===t)return o(i);const s=[await n,r,a];if(!function(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),i=r(t),o=r(n),s=Math.max(...a,...i,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*s**n),0),l=c(a),u=c(i),d=c(o);return l>=u&&l<d}(...s))throw new V(e,...s);return o(i)}});var wi=C(4711);const bi={type:{name:"Composite",className:"Header",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},miner:{serializedName:"miner",type:{name:"String"}},beneficiary:{serializedName:"beneficiary",type:{name:"String"}},target:{serializedName:"target",type:{name:"String"}},pow:{constraints:{MinItems:42,MaxItems:42},serializedName:"pow",type:{name:"Sequence",element:{type:{name:"String"}}}},nonce:{serializedName:"nonce",type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},info:{serializedName:"info",type:{name:"String"}},pofHash:{serializedName:"pof_hash",type:{name:"String"}},txsHash:{serializedName:"txs_hash",type:{name:"String"}},signature:{serializedName:"signature",type:{name:"String"}}}}},vi={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},xi={type:{name:"Composite",className:"KeyBlock",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},miner:{serializedName:"miner",required:!0,type:{name:"String"}},beneficiary:{serializedName:"beneficiary",required:!0,type:{name:"String"}},target:{serializedName:"target",required:!0,type:{name:"String"}},pow:{constraints:{MinItems:42,MaxItems:42},serializedName:"pow",type:{name:"Sequence",element:{type:{name:"String"}}}},nonce:{serializedName:"nonce",type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},info:{serializedName:"info",required:!0,type:{name:"String"}}}}},Si={type:{name:"Composite",className:"HashResponse",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}}}}},Ti={type:{name:"Composite",className:"HeightResponse",modelProperties:{height:{serializedName:"height",required:!0,type:{name:"String"}}}}},_i={type:{name:"Composite",className:"MicroBlockHeader",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},pofHash:{serializedName:"pof_hash",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},txsHash:{serializedName:"txs_hash",required:!0,type:{name:"String"}},signature:{serializedName:"signature",required:!0,type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}}}}},zi={type:{name:"Composite",className:"SignedTxs",modelProperties:{transactions:{serializedName:"transactions",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"SignedTx"}}}}}}},qi={type:{name:"Composite",className:"SignedTx",modelProperties:{tx:{serializedName:"tx",type:{name:"Composite",className:"Tx"}},blockHeight:{serializedName:"block_height",required:!0,type:{name:"String"}},blockHash:{serializedName:"block_hash",required:!0,type:{name:"String"}},hash:{serializedName:"hash",required:!0,type:{name:"String"}},signatures:{serializedName:"signatures",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Ai={type:{name:"Composite",className:"Tx",uberParent:"Tx",polymorphicDiscriminator:{serializedName:"type",clientName:"type"},modelProperties:{recipientId:{serializedName:"recipient_id",type:{name:"String"}},amount:{serializedName:"amount",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},payload:{serializedName:"payload",type:{name:"String"}},initiatorId:{serializedName:"initiator_id",type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",type:{name:"String"}},responderId:{serializedName:"responder_id",type:{name:"String"}},responderAmount:{serializedName:"responder_amount",type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",type:{name:"String"}},lockPeriod:{serializedName:"lock_period",type:{name:"String"}},stateHash:{serializedName:"state_hash",type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}},channelId:{serializedName:"channel_id",type:{name:"String"}},fromId:{serializedName:"from_id",type:{name:"String"}},round:{serializedName:"round",type:{name:"String"}},toId:{serializedName:"to_id",type:{name:"String"}},update:{serializedName:"update",type:{name:"Composite",className:"OffChainUpdate"}},offchainTrees:{serializedName:"offchain_trees",type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",type:{name:"String"}},poi:{serializedName:"poi",type:{name:"String"}},initiatorDelegateIds:{serializedName:"initiator_delegate_ids",type:{name:"Sequence",element:{type:{name:"String"}}}},responderDelegateIds:{serializedName:"responder_delegate_ids",type:{name:"Sequence",element:{type:{name:"String"}}}},queryFormat:{serializedName:"query_format",type:{name:"String"}},responseFormat:{serializedName:"response_format",type:{name:"String"}},queryFee:{serializedName:"query_fee",type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"RelativeTTL"}},accountId:{serializedName:"account_id",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}},oracleId:{serializedName:"oracle_id",type:{name:"String"}},query:{serializedName:"query",type:{name:"String"}},queryTtl:{serializedName:"query_ttl",type:{name:"Composite",className:"Ttl"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},queryId:{serializedName:"query_id",type:{name:"String"}},response:{serializedName:"response",type:{name:"String"}},commitmentId:{serializedName:"commitment_id",type:{name:"String"}},name:{serializedName:"name",type:{name:"String"}},nameSalt:{serializedName:"name_salt",type:{name:"String"}},nameFee:{serializedName:"name_fee",type:{name:"String"}},nameId:{serializedName:"name_id",type:{name:"String"}},nameTtl:{serializedName:"name_ttl",type:{name:"String"}},pointers:{serializedName:"pointers",type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}},clientTtl:{serializedName:"client_ttl",type:{name:"String"}},ownerId:{serializedName:"owner_id",type:{name:"String"}},code:{serializedName:"code",type:{name:"String"}},vmVersion:{serializedName:"vm_version",type:{name:"String"}},deposit:{serializedName:"deposit",type:{name:"String"}},gas:{serializedName:"gas",type:{name:"String"}},gasPrice:{serializedName:"gas_price",type:{name:"String"}},callData:{serializedName:"call_data",type:{name:"String"}},callerId:{serializedName:"caller_id",type:{name:"String"}},contractId:{serializedName:"contract_id",type:{name:"String"}},authFun:{constraints:{Pattern:new RegExp("^(0x|0X)?[a-fA-F0-9]+$")},serializedName:"auth_fun",type:{name:"String"}},gaId:{serializedName:"ga_id",type:{name:"String"}},authData:{serializedName:"auth_data",type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}},payerId:{serializedName:"payer_id",type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},type:{serializedName:"type",required:!0,type:{name:"Enum",allowedValues:["SpendTx","ChannelCreateTx","ChannelDepositTx","ChannelWithdrawTx","ChannelForceProgressTx","ChannelCloseMutualTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","ChannelSetDelegatesTx","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleRespondTx","NamePreclaimTx","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","ContractCreateTx","ContractCallTx","GAAttachTx","GAMetaTx","PayingForTx"]}}}}},Pi={type:{name:"Composite",className:"Delegates",modelProperties:{initiator:{serializedName:"initiator",type:{name:"Sequence",element:{type:{name:"String"}}}},responder:{serializedName:"responder",type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Ei={type:{name:"Composite",className:"OffChainUpdate",uberParent:"OffChainUpdate",polymorphicDiscriminator:{serializedName:"op",clientName:"op"},modelProperties:{op:{serializedName:"op",required:!0,type:{name:"String"}}}}},Ii={type:{name:"Composite",className:"RelativeTTL",modelProperties:{type:{defaultValue:"delta",isConstant:!0,serializedName:"type",type:{name:"String"}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},ki={type:{name:"Composite",className:"Ttl",modelProperties:{type:{serializedName:"type",required:!0,type:{name:"Enum",allowedValues:["delta","block"]}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},Oi={type:{name:"Composite",className:"NamePointer",modelProperties:{key:{serializedName:"key",required:!0,type:{name:"String"}},id:{serializedName:"id",required:!0,type:{name:"String"}}}}},Mi={type:{name:"Composite",className:"CountResponse",modelProperties:{count:{serializedName:"count",required:!0,type:{name:"String"}}}}},Ri={type:{name:"Composite",className:"Generation",modelProperties:{keyBlock:{serializedName:"key_block",type:{name:"Composite",className:"KeyBlock"}},microBlocks:{serializedName:"micro_blocks",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Bi={type:{name:"Composite",className:"Account",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},balance:{serializedName:"balance",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},payable:{serializedName:"payable",type:{name:"Boolean"}},kind:{serializedName:"kind",type:{name:"Enum",allowedValues:["basic","generalized"]}},contractId:{serializedName:"contract_id",type:{name:"String"}},authFun:{serializedName:"auth_fun",type:{name:"String"}}}}},ji={type:{name:"Composite",className:"NextNonceResponse",modelProperties:{nextNonce:{serializedName:"next_nonce",required:!0,type:{name:"String"}}}}},Di={type:{name:"Composite",className:"DryRunInput",modelProperties:{top:{serializedName:"top",type:{name:"String"}},accounts:{serializedName:"accounts",type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunAccount"}}}},txs:{serializedName:"txs",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunInputItem"}}}},txEvents:{defaultValue:!1,serializedName:"tx_events",type:{name:"Boolean"}}}}},Vi={type:{name:"Composite",className:"DryRunAccount",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Ui={type:{name:"Composite",className:"DryRunInputItem",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},callReq:{serializedName:"call_req",type:{name:"Composite",className:"DryRunCallReq"}}}}},Fi={type:{name:"Composite",className:"DryRunCallReq",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}},contract:{serializedName:"contract",required:!0,type:{name:"String"}},amount:{serializedName:"amount",type:{name:"String"}},gas:{serializedName:"gas",type:{name:"String"}},caller:{serializedName:"caller",type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}},context:{serializedName:"context",type:{name:"Composite",className:"DryRunCallContext"}}}}},Hi={type:{name:"Composite",className:"DryRunCallContext",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},txHash:{serializedName:"tx_hash",type:{name:"String"}},stateful:{serializedName:"stateful",type:{name:"Boolean"}}}}},$i={type:{name:"Composite",className:"DryRunResults",modelProperties:{results:{serializedName:"results",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunResult"}}}},txEvents:{serializedName:"tx_events",type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}}}}},Gi={type:{name:"Composite",className:"DryRunResult",modelProperties:{type:{serializedName:"type",required:!0,type:{name:"String"}},result:{serializedName:"result",required:!0,type:{name:"String"}},reason:{serializedName:"reason",type:{name:"String"}},callObj:{serializedName:"call_obj",type:{name:"Composite",className:"ContractCallObject"}}}}},Ki={type:{name:"Composite",className:"ContractCallObject",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},callerNonce:{serializedName:"caller_nonce",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},gasUsed:{serializedName:"gas_used",required:!0,type:{name:"String"}},log:{serializedName:"log",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Event"}}}},returnValue:{serializedName:"return_value",required:!0,type:{name:"String"}},returnType:{serializedName:"return_type",required:!0,type:{name:"Enum",allowedValues:["ok","error","revert"]}}}}},Li={type:{name:"Composite",className:"Event",modelProperties:{address:{serializedName:"address",required:!0,type:{name:"String"}},topics:{serializedName:"topics",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},data:{serializedName:"data",required:!0,type:{name:"String"}}}}},Wi={type:{name:"Composite",className:"TxInfoObject",modelProperties:{callInfo:{serializedName:"call_info",type:{name:"Composite",className:"ContractCallObject"}},gaInfo:{serializedName:"ga_info",type:{name:"Composite",className:"GAObject"}},txInfo:{serializedName:"tx_info",type:{name:"String"}}}}},Qi={type:{name:"Composite",className:"GAObject",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},gasUsed:{serializedName:"gas_used",required:!0,type:{name:"String"}},returnValue:{serializedName:"return_value",required:!0,type:{name:"String"}},returnType:{serializedName:"return_type",required:!0,type:{name:"Enum",allowedValues:["ok","error"]}},innerObject:{serializedName:"inner_object",type:{name:"Composite",className:"TxInfoObject"}}}}},Yi={type:{name:"Composite",className:"EncodedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},Xi={type:{name:"Composite",className:"PostTxResponse",modelProperties:{txHash:{serializedName:"tx_hash",required:!0,type:{name:"String"}}}}},Ji={type:{name:"Composite",className:"ContractObject",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},active:{serializedName:"active",required:!0,type:{name:"Boolean"}},referrerIds:{serializedName:"referrer_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}}}}},Zi={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},eo={type:{name:"Composite",className:"PoI",modelProperties:{poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},to={type:{name:"Composite",className:"RegisteredOracle",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},queryFormat:{serializedName:"query_format",required:!0,type:{name:"String"}},responseFormat:{serializedName:"response_format",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}}}}},no={type:{name:"Composite",className:"OracleQueries",modelProperties:{oracleQueries:{serializedName:"oracle_queries",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"OracleQuery"}}}}}}},ro={type:{name:"Composite",className:"OracleQuery",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},senderNonce:{serializedName:"sender_nonce",required:!0,type:{name:"String"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},query:{serializedName:"query",required:!0,type:{name:"String"}},response:{serializedName:"response",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"Ttl"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}}}}},ao={type:{name:"Composite",className:"NameEntry",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},owner:{serializedName:"owner",type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},pointers:{serializedName:"pointers",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}}}}},io={type:{name:"Composite",className:"Channel",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},initiatorId:{serializedName:"initiator_id",required:!0,type:{name:"String"}},responderId:{serializedName:"responder_id",required:!0,type:{name:"String"}},channelAmount:{serializedName:"channel_amount",required:!0,type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",required:!0,type:{name:"String"}},responderAmount:{serializedName:"responder_amount",required:!0,type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",required:!0,type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},soloRound:{serializedName:"solo_round",required:!0,type:{name:"String"}},lockPeriod:{serializedName:"lock_period",required:!0,type:{name:"String"}},lockedUntil:{serializedName:"locked_until",required:!0,type:{name:"String"}}}}},oo={type:{name:"Composite",className:"PeerPubKey",modelProperties:{pubkey:{serializedName:"pubkey",required:!0,type:{name:"String"}}}}},so={type:{name:"Composite",className:"Status",modelProperties:{genesisKeyBlockHash:{serializedName:"genesis_key_block_hash",required:!0,type:{name:"String"}},solutions:{serializedName:"solutions",required:!0,type:{name:"String"}},difficulty:{serializedName:"difficulty",required:!0,type:{name:"String"}},syncing:{serializedName:"syncing",required:!0,type:{name:"Boolean"}},syncProgress:{constraints:{InclusiveMaximum:100,InclusiveMinimum:0},serializedName:"sync_progress",type:{name:"Number"}},listening:{serializedName:"listening",required:!0,type:{name:"Boolean"}},protocols:{serializedName:"protocols",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Protocol"}}}},nodeVersion:{serializedName:"node_version",required:!0,type:{name:"String"}},nodeRevision:{serializedName:"node_revision",required:!0,type:{name:"String"}},peerCount:{serializedName:"peer_count",required:!0,type:{name:"String"}},peerConnections:{serializedName:"peer_connections",type:{name:"Composite",className:"PeerConnections"}},pendingTransactionsCount:{serializedName:"pending_transactions_count",required:!0,type:{name:"String"}},networkId:{serializedName:"network_id",required:!0,type:{name:"String"}},peerPubkey:{serializedName:"peer_pubkey",required:!0,type:{name:"String"}},topKeyBlockHash:{serializedName:"top_key_block_hash",required:!0,type:{name:"String"}},topBlockHeight:{serializedName:"top_block_height",required:!0,type:{name:"String"}}}}},co={type:{name:"Composite",className:"Protocol",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}},effectiveAtHeight:{serializedName:"effective_at_height",required:!0,type:{name:"String"}}}}},lo={type:{name:"Composite",className:"PeerConnections",modelProperties:{inbound:{serializedName:"inbound",required:!0,type:{name:"String"}},outbound:{serializedName:"outbound",required:!0,type:{name:"String"}}}}},uo={type:{name:"Composite",className:"SpendTx",modelProperties:{recipientId:{serializedName:"recipient_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}}}}},po={type:{name:"Composite",className:"OracleRegisterTx",modelProperties:{queryFormat:{serializedName:"query_format",required:!0,type:{name:"String"}},responseFormat:{serializedName:"response_format",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"Ttl"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}}}}},mo={type:{name:"Composite",className:"OracleExtendTx",modelProperties:{fee:{serializedName:"fee",required:!0,type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"RelativeTTL"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}}}}},ho={type:{name:"Composite",className:"OracleQueryTx",modelProperties:{oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},query:{serializedName:"query",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},queryTtl:{serializedName:"query_ttl",type:{name:"Composite",className:"Ttl"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},yo={type:{name:"Composite",className:"OracleRespondTx",modelProperties:{queryId:{serializedName:"query_id",required:!0,type:{name:"String"}},response:{serializedName:"response",required:!0,type:{name:"String"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},fo={type:{name:"Composite",className:"NamePreclaimTx",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},go={type:{name:"Composite",className:"NameClaimTx",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},nameSalt:{serializedName:"name_salt",required:!0,type:{name:"String"}},nameFee:{serializedName:"name_fee",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},No={type:{name:"Composite",className:"NameUpdateTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},nameTtl:{serializedName:"name_ttl",required:!0,type:{name:"String"}},pointers:{serializedName:"pointers",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}},clientTtl:{serializedName:"client_ttl",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Co={type:{name:"Composite",className:"NameTransferTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},recipientId:{serializedName:"recipient_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},wo={type:{name:"Composite",className:"NameRevokeTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},bo={type:{name:"Composite",className:"CommitmentId",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}}}}},vo={type:{name:"Composite",className:"NameHash",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}}}}},xo={type:{name:"Composite",className:"ChannelCreateTx",modelProperties:{initiatorId:{serializedName:"initiator_id",required:!0,type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",required:!0,type:{name:"String"}},responderId:{serializedName:"responder_id",required:!0,type:{name:"String"}},responderAmount:{serializedName:"responder_amount",required:!0,type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",required:!0,type:{name:"String"}},lockPeriod:{serializedName:"lock_period",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}}}}},So={type:{name:"Composite",className:"ChannelDepositTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}}}}},To={type:{name:"Composite",className:"ChannelWithdrawTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},toId:{serializedName:"to_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}}}}},_o={type:{name:"Composite",className:"ChannelForceProgressTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},update:{serializedName:"update",type:{name:"Composite",className:"OffChainUpdate"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},offchainTrees:{serializedName:"offchain_trees",type:{name:"String"}}}}},zo={type:{name:"Composite",className:"ChannelCloseMutualTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",required:!0,type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}}}}},qo={type:{name:"Composite",className:"ChannelCloseSoloTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},Ao={type:{name:"Composite",className:"ChannelSlashTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},Po={type:{name:"Composite",className:"ChannelSettleTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",required:!0,type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}}}}},Eo={type:{name:"Composite",className:"ChannelSnapshotSoloTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Io={type:{name:"Composite",className:"ChannelSetDelegatesTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorDelegateIds:{serializedName:"initiator_delegate_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},responderDelegateIds:{serializedName:"responder_delegate_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},ko={type:{name:"Composite",className:"PubKey",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}}}}},Oo={type:{name:"Composite",className:"PeerDetails",modelProperties:{host:{serializedName:"host",required:!0,type:{name:"String"}},port:{serializedName:"port",required:!0,type:{name:"String"}},firstSeen:{serializedName:"first_seen",required:!0,type:{name:"String"}},lastSeen:{serializedName:"last_seen",required:!0,type:{name:"String"}},genesisHash:{serializedName:"genesis_hash",required:!0,type:{name:"String"}},topHash:{serializedName:"top_hash",required:!0,type:{name:"String"}},topDifficulty:{serializedName:"top_difficulty",required:!0,type:{name:"String"}},networkId:{serializedName:"network_id",type:{name:"String"}},nodeVersion:{serializedName:"node_version",type:{name:"String"}},nodeRevision:{serializedName:"node_revision",type:{name:"String"}},nodeVendor:{serializedName:"node_vendor",type:{name:"String"}},nodeOs:{serializedName:"node_os",type:{name:"String"}}}}},Mo={type:{name:"Composite",className:"Peers",modelProperties:{peers:{serializedName:"peers",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},blocked:{serializedName:"blocked",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Ro={type:{name:"Composite",className:"PeerCount",modelProperties:{connected:{serializedName:"connected",type:{name:"Composite",className:"PeerCountConnected"}},available:{serializedName:"available",type:{name:"Composite",className:"PeerCountAvailable"}},blocked:{serializedName:"blocked",required:!0,type:{name:"String"}}}}},Bo={type:{name:"Composite",className:"PeerCountConnected",modelProperties:{inbound:{serializedName:"inbound",type:{name:"String"}},outbound:{serializedName:"outbound",type:{name:"String"}}}}},jo={type:{name:"Composite",className:"PeerCountAvailable",modelProperties:{verified:{serializedName:"verified",type:{name:"String"}},unverified:{serializedName:"unverified",type:{name:"String"}}}}},Do={type:{name:"Composite",className:"ContractCreateTx",modelProperties:{ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},code:{serializedName:"code",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},Vo={type:{name:"Composite",className:"ContractCallTx",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},Uo={type:{name:"Composite",className:"UnsignedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},Fo={type:{name:"Composite",className:"TokenSupply",modelProperties:{accounts:{serializedName:"accounts",type:{name:"String"}},contracts:{serializedName:"contracts",type:{name:"String"}},contractOracles:{serializedName:"contract_oracles",type:{name:"String"}},locked:{serializedName:"locked",type:{name:"String"}},oracles:{serializedName:"oracles",type:{name:"String"}},oracleQueries:{serializedName:"oracle_queries",type:{name:"String"}},pendingRewards:{serializedName:"pending_rewards",type:{name:"String"}},total:{serializedName:"total",type:{name:"String"}}}}},Ho={type:{name:"Composite",className:"GAAttachTx",modelProperties:{ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},code:{serializedName:"code",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}},authFun:{constraints:{Pattern:new RegExp("^(0x|0X)?[a-fA-F0-9]+$")},serializedName:"auth_fun",required:!0,type:{name:"String"}}}}},$o={type:{name:"Composite",className:"GAMetaTx",modelProperties:{gaId:{serializedName:"ga_id",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},authData:{serializedName:"auth_data",required:!0,type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}}}}},Go={type:{name:"Composite",className:"PayingForTx",modelProperties:{payerId:{serializedName:"payer_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}}}}},Ko={type:{name:"Composite",className:"CheckTxInPoolResponse",modelProperties:{status:{serializedName:"status",required:!0,type:{name:"String"}}}}},Lo={serializedName:"OffChainTransfer",type:{name:"Composite",className:"OffChainTransfer",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ei.type.polymorphicDiscriminator,modelProperties:{...Ei.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Wo={serializedName:"OffChainWithdrawal",type:{name:"Composite",className:"OffChainWithdrawal",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ei.type.polymorphicDiscriminator,modelProperties:{...Ei.type.modelProperties,to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Qo={serializedName:"OffChainDeposit",type:{name:"Composite",className:"OffChainDeposit",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ei.type.polymorphicDiscriminator,modelProperties:{...Ei.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Yo={serializedName:"OffChainNewContract",type:{name:"Composite",className:"OffChainNewContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ei.type.polymorphicDiscriminator,modelProperties:{...Ei.type.modelProperties,owner:{serializedName:"owner",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},code:{serializedName:"code",type:{name:"Composite",className:"ByteCode"}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},Xo={serializedName:"OffChainCallContract",type:{name:"Composite",className:"OffChainCallContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ei.type.polymorphicDiscriminator,modelProperties:{...Ei.type.modelProperties,caller:{serializedName:"caller",required:!0,type:{name:"String"}},contract:{serializedName:"contract",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},Jo={type:{name:"Composite",className:"CreateContractUnsignedTx",modelProperties:{...Uo.type.modelProperties,contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}}}}};let Zo={"Tx.undefined":Ai,OffChainUpdate:Ei,"OffChainUpdate.OffChainTransfer":Lo,"OffChainUpdate.OffChainWithdrawal":Wo,"OffChainUpdate.OffChainDeposit":Qo,"OffChainUpdate.OffChainNewContract":Yo,"OffChainUpdate.OffChainCallContract":Xo};const es={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},ts={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},ns={parameterPath:"intAsString",mapper:{defaultValue:!1,serializedName:"int-as-string",type:{name:"Boolean"}}},rs={parameterPath:"hash",mapper:{serializedName:"hash",required:!0,type:{name:"String"}}},as={parameterPath:"height",mapper:{constraints:{InclusiveMaximum:0x10000000000000000,InclusiveMinimum:0},serializedName:"height",required:!0,type:{name:"Number"}}},is={parameterPath:"pubkey",mapper:{serializedName:"pubkey",required:!0,type:{name:"String"}}},os={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},ss={parameterPath:"body",mapper:Di},cs={parameterPath:"body",mapper:Yi};class ls extends wi.ServiceClient{constructor(e,t){var n,r,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-node/1.0.0-beta.1",o=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,s={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:o},baseUri:null!==(n=null!==(r=t.endpoint)&&void 0!==r?r:t.baseUri)&&void 0!==n?n:"{$host}"};super(s),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===yi.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:yi.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(yi.bearerTokenAuthenticationPolicy({scopes:`${s.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:wi.authorizeRequestOnClaimChallenge}})))),this.$host=e}getTopHeader(e){return this.sendOperationRequest({options:e},ds)}getCurrentKeyBlock(e){return this.sendOperationRequest({options:e},ps)}getCurrentKeyBlockHash(e){return this.sendOperationRequest({options:e},ms)}getCurrentKeyBlockHeight(e){return this.sendOperationRequest({options:e},hs)}getPendingKeyBlock(e){return this.sendOperationRequest({options:e},ys)}getKeyBlockByHash(e,t){return this.sendOperationRequest({hash:e,options:t},fs)}getKeyBlockByHeight(e,t){return this.sendOperationRequest({height:e,options:t},gs)}getMicroBlockHeaderByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Ns)}getMicroBlockTransactionsByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Cs)}getMicroBlockTransactionByHashAndIndex(e,t,n){return this.sendOperationRequest({hash:e,index:t,options:n},ws)}getMicroBlockTransactionsCountByHash(e,t){return this.sendOperationRequest({hash:e,options:t},bs)}getCurrentGeneration(e){return this.sendOperationRequest({options:e},vs)}getGenerationByHash(e,t){return this.sendOperationRequest({hash:e,options:t},xs)}getGenerationByHeight(e,t){return this.sendOperationRequest({height:e,options:t},Ss)}getAccountByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ts)}getAccountByPubkeyAndHeight(e,t,n){return this.sendOperationRequest({pubkey:e,height:t,options:n},_s)}getAccountByPubkeyAndHash(e,t,n){return this.sendOperationRequest({pubkey:e,hash:t,options:n},zs)}getPendingAccountTransactionsByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},qs)}getAccountNextNonce(e,t){return this.sendOperationRequest({pubkey:e,options:t},As)}protectedDryRunTxs(e,t){return this.sendOperationRequest({body:e,options:t},Ps)}getTransactionByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Es)}getTransactionInfoByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Is)}postTransaction(e,t){return this.sendOperationRequest({body:e,options:t},ks)}getContract(e,t){return this.sendOperationRequest({pubkey:e,options:t},Os)}getContractCode(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ms)}getContractPoI(e,t){return this.sendOperationRequest({pubkey:e,options:t},Rs)}getOracleByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Bs)}getOracleQueriesByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},js)}getOracleQueryByPubkeyAndQueryId(e,t,n){return this.sendOperationRequest({pubkey:e,queryId:t,options:n},Ds)}getNameEntryByName(e,t){return this.sendOperationRequest({name:e,options:t},Vs)}getChannelByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Us)}getPeerPubkey(e){return this.sendOperationRequest({options:e},Fs)}getStatus(e){return this.sendOperationRequest({options:e},Hs)}getChainEnds(e){return this.sendOperationRequest({options:e},$s)}}const us=wi.createSerializer(c,!1),ds={path:"/v3/headers/top",httpMethod:"GET",responses:{200:{bodyMapper:bi},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},ps={path:"/v3/key-blocks/current",httpMethod:"GET",responses:{200:{bodyMapper:xi},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},ms={path:"/v3/key-blocks/current/hash",httpMethod:"GET",responses:{200:{bodyMapper:Si},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},hs={path:"/v3/key-blocks/current/height",httpMethod:"GET",responses:{200:{bodyMapper:Ti},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},ys={path:"/v3/key-blocks/pending",httpMethod:"GET",responses:{200:{bodyMapper:xi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},fs={path:"/v3/key-blocks/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:xi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},gs={path:"/v3/key-blocks/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:xi},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,as],headerParameters:[es],serializer:us},Ns={path:"/v3/micro-blocks/hash/{hash}/header",httpMethod:"GET",responses:{200:{bodyMapper:_i},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},Cs={path:"/v3/micro-blocks/hash/{hash}/transactions",httpMethod:"GET",responses:{200:{bodyMapper:zi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},ws={path:"/v3/micro-blocks/hash/{hash}/transactions/index/{index}",httpMethod:"GET",responses:{200:{bodyMapper:qi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs,{parameterPath:"index",mapper:{constraints:{InclusiveMinimum:1},serializedName:"index",required:!0,type:{name:"Number"}}}],headerParameters:[es],serializer:us},bs={path:"/v3/micro-blocks/hash/{hash}/transactions/count",httpMethod:"GET",responses:{200:{bodyMapper:Mi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},vs={path:"/v3/generations/current",httpMethod:"GET",responses:{200:{bodyMapper:Ri},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},xs={path:"/v3/generations/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Ri},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},Ss={path:"/v3/generations/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Ri},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,as],headerParameters:[es],serializer:us},Ts={path:"/v3/accounts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Bi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},_s={path:"/v3/accounts/{pubkey}/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Bi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,as,is],headerParameters:[es],serializer:us},zs={path:"/v3/accounts/{pubkey}/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Bi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs,is],headerParameters:[es],serializer:us},qs={path:"/v3/accounts/{pubkey}/transactions/pending",httpMethod:"GET",responses:{200:{bodyMapper:zi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},As={path:"/v3/accounts/{pubkey}/next-nonce",httpMethod:"GET",responses:{200:{bodyMapper:ji},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns,{parameterPath:["options","strategy"],mapper:{defaultValue:"max",serializedName:"strategy",type:{name:"Enum",allowedValues:["max","continuity"]}}}],urlParameters:[ts,is],headerParameters:[es],serializer:us},Ps={path:"/v3/dry-run",httpMethod:"POST",responses:{200:{bodyMapper:$i},403:{bodyMapper:vi,isError:!0}},requestBody:ss,queryParameters:[ns],urlParameters:[ts],headerParameters:[es,os],mediaType:"json",serializer:us},Es={path:"/v3/transactions/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:qi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},Is={path:"/v3/transactions/{hash}/info",httpMethod:"GET",responses:{200:{bodyMapper:Wi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,rs],headerParameters:[es],serializer:us},ks={path:"/v3/transactions",httpMethod:"POST",responses:{200:{bodyMapper:Xi},400:{bodyMapper:vi,isError:!0}},requestBody:cs,queryParameters:[ns],urlParameters:[ts],headerParameters:[es,os],mediaType:"json",serializer:us},Os={path:"/v3/contracts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Ji},400:{bodyMapper:vi,isError:!0},404:{isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},Ms={path:"/v3/contracts/{pubkey}/code",httpMethod:"GET",responses:{200:{bodyMapper:Zi},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},Rs={path:"/v3/contracts/{pubkey}/poi",httpMethod:"GET",responses:{200:{bodyMapper:eo},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},Bs={path:"/v3/oracles/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:to},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},js={path:"/v3/oracles/{pubkey}/queries",httpMethod:"GET",responses:{200:{bodyMapper:no},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns,{parameterPath:["options","from"],mapper:{serializedName:"from",type:{name:"String"}}},{parameterPath:["options","limit"],mapper:{defaultValue:20,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},serializedName:"limit",type:{name:"Number"}}},{parameterPath:["options","type"],mapper:{defaultValue:"all",serializedName:"type",type:{name:"Enum",allowedValues:["open","closed","all"]}}}],urlParameters:[ts,is],headerParameters:[es],serializer:us},Ds={path:"/v3/oracles/{pubkey}/queries/{query-id}",httpMethod:"GET",responses:{200:{bodyMapper:ro},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is,{parameterPath:"queryId",mapper:{serializedName:"query-id",required:!0,type:{name:"String"}}}],headerParameters:[es],serializer:us},Vs={path:"/v3/names/{name}",httpMethod:"GET",responses:{200:{bodyMapper:ao},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,{parameterPath:"name",mapper:{serializedName:"name",required:!0,type:{name:"String"}}}],headerParameters:[es],serializer:us},Us={path:"/v3/channels/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:io},400:{bodyMapper:vi,isError:!0},404:{bodyMapper:vi,isError:!0}},queryParameters:[ns],urlParameters:[ts,is],headerParameters:[es],serializer:us},Fs={path:"/v3/peers/pubkey",httpMethod:"GET",responses:{200:{bodyMapper:oo}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},Hs={path:"/v3/status",httpMethod:"GET",responses:{200:{bodyMapper:so}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us},$s={path:"/v3/status/chain-ends",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"String"}}}}}},queryParameters:[ns],urlParameters:[ts],headerParameters:[es],serializer:us};function Gs(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function Ks(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}async function Ls(){var e,t,n;let{networkId:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=null!==(e=null!=r?r:this.networkId)&&void 0!==e?e:null===(t=await(null===(n=this.api)||void 0===n?void 0:n.getStatus()))||void 0===t?void 0:t.networkId;if(null!=a)return a;throw new I("networkId is not provided")}const Ws=["balance","queryFee","fee","amount","nameFee","channelAmount","initiatorAmount","responderAmount","channelReserve","initiatorAmountFinal","responderAmountFinal","gasPrice","deposit"],Qs=["time","gas","gasUsed","nameSalt","nonce","nextNonce","height","blockHeight","top","topBlockHeight","ttl","nameTtl","clientTtl","inbound","outbound","peerCount","pendingTransactionsCount","effectiveAtHeight","version","solutions","round"];var Ys=new WeakSet,Xs=new WeakSet,Js=new WeakSet;class Zs extends ls{constructor(){super(...arguments),Gs(this,Js),Gs(this,Xs),Gs(this,Ys)}async sendOperationRequest(e,t){const n=it(e,(e=>{let[t,n]=e;return[t,Ks(this,Xs,tc).call(this,n)]}));return Ks(this,Js,nc).call(this,await super.sendOperationRequest(n,t))}}function ec(e,t){return Array.isArray(e)?e.map((e=>Ks(this,Ys,ec).call(this,e,t))):null!=e&&"object"==typeof e?it(e,(e=>{let[n,r]=e;return null==r?[n,r]:Ws.some((e=>e===n))?[n,t.bigInt(r)]:Qs.some((e=>e===n))?[n,t.number(r)]:[n,Ks(this,Ys,ec).call(this,r,t)]})):e}function tc(e){return Ks(this,Ys,ec).call(this,e,{bigInt:e=>e instanceof d()?e.toFixed():e.toString(),number:e=>e.toString()})}function nc(e){return Ks(this,Ys,ec).call(this,e,{bigInt:e=>BigInt(e),number:e=>+e})}class rc extends Zs{constructor(e){let{ignoreVersion:t=!1,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[fi(),gi(),Ni((e=>` ${e.reason}`))],...n}),this.url=e,!t){const e=this.getStatus().then((e=>{let{nodeVersion:t}=e;return t}));this.pipeline.addPolicy(Ci("node","/v3/status",e,"6.2.0","7.0.0"))}this.intAsString=!0}async getNodeInfo(){const{nodeVersion:e,networkId:t,protocols:n,topBlockHeight:r}=await this.getStatus(),a=n.filter((e=>{let{effectiveAtHeight:t}=e;return r>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version;return{url:this.url,nodeNetworkId:t,version:e,consensusProtocolVersion:a}}}var ac=C(9408).Buffer;class ic{constructor(){var e;let{networkId:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};hi(this,"getNetworkId",Ls),null!==(e=this.networkId)&&void 0!==e||(this.networkId=t)}async signTransaction(e){let{innerTx:t,networkId:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=[await this.getNetworkId({networkId:n})];!0===t&&a.push("inner_tx");const i=St(e),o=ot([ac.from(a.join("-")),Et(i)]);return Cr({encodedTx:i,signatures:[await this.sign(o,r)]},Jt.SignedTx).tx}async signMessage(e){let{returnHex:t=!1,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.sign(Bt(e),n);return t?ac.from(r).toString("hex"):r}async verifyMessage(e,t,n){return Dt(e,"string"==typeof t?ac.from(t,"hex"):t,St(await this.address(n)))}}var oc=C(9408).Buffer;const sc=new WeakMap;class cc extends ic{constructor(e){let{keypair:t,gaId:n,...r}=e;if(super(r),this.isGa=null!=n,this.isGa&&null!=n)return St(n),void sc.set(this,{publicKey:n});if(null==t)throw new I("Either gaId or keypair is required");if(!oc.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!Ye(t.secretKey))throw new H("Secret key must be hex string or Buffer");const a="string"==typeof t.secretKey?oc.from(t.secretKey,"hex"):t.secretKey;if(!Vt(a,St(t.publicKey)))throw new H("Invalid Key Pair");sc.set(this,{secretKey:a,publicKey:t.publicKey})}async sign(e){if(this.isGa)throw new H("You are trying to sign data using generalized account without keypair");return Mt(e,sc.get(this).secretKey)}async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isGa||!0===t.innerTx)return super.signTransaction(e,t);const{authData:n,authFun:r,onCompiler:a,onNode:i}=t;if(null==r||null==n||null==a||null==i)throw new q("authData, authFun, onCompiler, onNode","provided",null);return ei(e,n,r,{onCompiler:a,onNode:i,onAccount:this})}async address(){return sc.get(this).publicKey}}const lc={type:{name:"Composite",className:"Contract",modelProperties:{code:{serializedName:"code",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}}}}},uc={type:{name:"Composite",className:"CompileOpts",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},fileSystem:{serializedName:"file_system",type:{name:"Dictionary",value:{type:{name:"any"}}}},srcFile:{serializedName:"src_file",type:{name:"String"}}}}},dc={type:{name:"Composite",className:"Aci",modelProperties:{encodedAci:{serializedName:"encoded_aci",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}},externalEncodedAci:{serializedName:"external_encoded_aci",type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}},interface:{serializedName:"interface",required:!0,type:{name:"String"}}}}},pc={type:{name:"Composite",className:"CompilerError",modelProperties:{context:{serializedName:"context",type:{name:"String"}},message:{serializedName:"message",required:!0,type:{name:"String"}},pos:{serializedName:"pos",type:{name:"Composite",className:"ErrorPos"}},type:{serializedName:"type",required:!0,type:{name:"String"}}}}},mc={type:{name:"Composite",className:"ErrorPos",modelProperties:{col:{serializedName:"col",required:!0,type:{name:"Number"}},file:{serializedName:"file",type:{name:"String"}},line:{serializedName:"line",required:!0,type:{name:"Number"}}}}},hc={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},yc={type:{name:"Composite",className:"APIVersion",modelProperties:{apiVersion:{serializedName:"api-version",required:!0,type:{name:"String"}}}}},fc={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},gc={type:{name:"Composite",className:"ByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Nc={type:{name:"Composite",className:"CompilerVersion",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}}}}},Cc={type:{name:"Composite",className:"SophiaCallResultInput",modelProperties:{callResult:{serializedName:"call-result",required:!0,type:{name:"String"}},callValue:{serializedName:"call-value",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},wc={type:{name:"Composite",className:"BytecodeCallResultInput",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},callResult:{serializedName:"call-result",required:!0,type:{name:"String"}},callValue:{serializedName:"call-value",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}}}}},bc={type:{name:"Composite",className:"DecodedCallresult",modelProperties:{function:{serializedName:"function",required:!0,type:{name:"String"}},result:{serializedName:"result",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},vc={type:{name:"Composite",className:"DecodeCalldataBytecode",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},xc={type:{name:"Composite",className:"DecodedCalldata",modelProperties:{arguments:{serializedName:"arguments",required:!0,type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}},function:{serializedName:"function",required:!0,type:{name:"String"}}}}},Sc={type:{name:"Composite",className:"DecodeCalldataSource",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},Tc={type:{name:"Composite",className:"SophiaBinaryData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"String"}},sophiaType:{serializedName:"sophia-type",required:!0,type:{name:"String"}}}}},_c={type:{name:"Composite",className:"SophiaJsonData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},zc={type:{name:"Composite",className:"FunctionCallInput",modelProperties:{arguments:{serializedName:"arguments",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},qc={type:{name:"Composite",className:"Calldata",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},Ac={type:{name:"Composite",className:"FateAssembler",modelProperties:{fateAssembler:{serializedName:"fate-assembler",required:!0,type:{name:"String"}}}}},Pc={type:{name:"Composite",className:"ValidateByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},Ec={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Ic={parameterPath:"body",mapper:lc},kc={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},Oc={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},Mc={parameterPath:"body",mapper:gc},Rc={parameterPath:"body",mapper:Cc},Bc={parameterPath:"body",mapper:wc},jc={parameterPath:"body",mapper:vc},Dc={parameterPath:"body",mapper:Sc},Vc={parameterPath:"body",mapper:Tc},Uc={parameterPath:"body",mapper:zc},Fc={parameterPath:"body",mapper:Pc};class Hc extends wi.ServiceClient{constructor(e,t){var n,r,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-compiler/1.0.0-beta.1",o=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,s={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:o},baseUri:null!==(n=null!==(r=t.endpoint)&&void 0!==r?r:t.baseUri)&&void 0!==n?n:"{$host}"};super(s),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===yi.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:yi.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(yi.bearerTokenAuthenticationPolicy({scopes:`${s.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:wi.authorizeRequestOnClaimChallenge}})))),this.$host=e}generateACI(e,t){return this.sendOperationRequest({body:e,options:t},Gc)}api(e){return this.sendOperationRequest({options:e},Kc)}aPIVersion(e){return this.sendOperationRequest({options:e},Lc)}compileContract(e,t){return this.sendOperationRequest({body:e,options:t},Wc)}getCompilerVersion(e,t){return this.sendOperationRequest({body:e,options:t},Qc)}decodeCallResult(e,t){return this.sendOperationRequest({body:e,options:t},Yc)}decodeCallResultBytecode(e,t){return this.sendOperationRequest({body:e,options:t},Xc)}decodeCalldataBytecode(e,t){return this.sendOperationRequest({body:e,options:t},Jc)}decodeCalldataSource(e,t){return this.sendOperationRequest({body:e,options:t},Zc)}decodeData(e,t){return this.sendOperationRequest({body:e,options:t},el)}encodeCalldata(e,t){return this.sendOperationRequest({body:e,options:t},tl)}getFateAssemblerCode(e,t){return this.sendOperationRequest({body:e,options:t},nl)}validateByteCode(e,t){return this.sendOperationRequest({body:e,options:t},rl)}version(e){return this.sendOperationRequest({options:e},al)}}const $c=wi.createSerializer(l,!1),Gc={path:"/aci",httpMethod:"POST",responses:{200:{bodyMapper:dc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Ic,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Kc={path:"/api",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Dictionary",value:{type:{name:"any"}}}}},400:{bodyMapper:hc,isError:!0}},urlParameters:[Oc],headerParameters:[kc],serializer:$c},Lc={path:"/api-version",httpMethod:"GET",responses:{200:{bodyMapper:yc},500:{bodyMapper:hc,isError:!0}},urlParameters:[Oc],headerParameters:[kc],serializer:$c},Wc={path:"/compile",httpMethod:"POST",responses:{200:{bodyMapper:fc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Ic,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Qc={path:"/compiler-version",httpMethod:"POST",responses:{200:{bodyMapper:Nc},400:{bodyMapper:hc,isError:!0}},requestBody:Mc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Yc={path:"/decode-call-result",httpMethod:"POST",responses:{200:{bodyMapper:{type:{name:"any"}}},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Rc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Xc={path:"/decode-call-result/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:bc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Bc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Jc={path:"/decode-calldata/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:xc},400:{bodyMapper:hc,isError:!0}},requestBody:jc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},Zc={path:"/decode-calldata/source",httpMethod:"POST",responses:{200:{bodyMapper:xc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Dc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},el={path:"/decode-data",httpMethod:"POST",responses:{200:{bodyMapper:_c},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Vc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},tl={path:"/encode-calldata",httpMethod:"POST",responses:{200:{bodyMapper:qc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Uc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},nl={path:"/fate-assembler",httpMethod:"POST",responses:{200:{bodyMapper:Ac},400:{bodyMapper:hc,isError:!0}},requestBody:Mc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},rl={path:"/validate-byte-code",httpMethod:"POST",responses:{200:{},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Fc,urlParameters:[Oc],headerParameters:[Ec,kc],mediaType:"json",serializer:$c},al={path:"/version",httpMethod:"GET",responses:{200:{bodyMapper:Nc},500:{bodyMapper:hc,isError:!0}},urlParameters:[Oc],headerParameters:[kc],serializer:$c};class il extends Hc{constructor(e){let{ignoreVersion:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[Ni((e=>{let t="";return"reason"in e&&(t+=` ${e.reason}${null!=e.parameter?` in ${e.parameter}`:""}${null!=e.info?` (${JSON.stringify(e.info)})`:""}`),Array.isArray(e)&&(t+=`\n${e.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${null!=e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")}`),t}))]}),!0!==t){const e=this.aPIVersion().then((e=>{let{apiVersion:t}=e;return t}));this.pipeline.addPolicy(Ci("compiler","/api-version",e,"6.1.0","7.0.0"))}}}function ol(e){try{return e()}catch(e){return new Proxy({},Object.fromEntries(["get","set","has"].map((t=>[t,()=>{throw e}]))))}}class sl{constructor(){let{nodes:e=[],compilerUrl:t,ignoreVersion:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};hi(this,"_options",{denomination:Ue.AETTOS,amount:Zn}),hi(this,"pool",new Map),hi(this,"getNetworkId",Ls),Object.assign(this._options,r),e.forEach(((e,t)=>{let{name:n,instance:r}=e;return this.addNode(n,r,0===t)})),null==t?this.compilerApi=ol((()=>{throw new v("You can't use Compiler API. Compiler is not ready!")})):this.setCompilerUrl(t,{ignoreVersion:n})}setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.compilerApi=new il(e,{ignoreVersion:t})}get api(){return this.ensureNodeConnected(),this.pool.get(this.selectedNodeName)}addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new xe(e);this.pool.set(e,t),(n||null==this.selectedNodeName)&&this.selectNode(e)}selectNode(e){if(!this.pool.has(e))throw new Se(`Node with name ${e} not in pool`);this.selectedNodeName=e}isNodeConnected(){return null!=this.selectedNodeName}ensureNodeConnected(){if(!this.isNodeConnected())throw new Se("You can't use Node API. Node is not connected or not defined!")}async getNodeInfo(){return this.ensureNodeConnected(),{name:this.selectedNodeName,...await this.api.getNodeInfo()}}async getNodesInPool(){return Promise.all(Array.from(this.pool.entries()).map((async e=>{let[t,n]=e;return{name:t,...await n.getNodeInfo()}})))}addresses(){return[]}async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()}async sign(e){let{onAccount:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e,n)}async signTransaction(e){let{onAccount:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).signTransaction(e,{...n,networkId:await this.getNetworkId(n)})}async signMessage(e){let{onAccount:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).signMessage(e,n)}async verifyMessage(e,t){let{onAccount:n,...r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._resolveAccount(n).verifyMessage(e,t,r)}_resolveAccount(e){switch(null!==e&&typeof e){case"string":throw new D("Address in AccountResolver");case"object":return t=e,["sign","address","signTransaction","signMessage"].some((e=>"function"!=typeof t[e]))?new cc({keypair:e}):e;default:throw new R(`Account should be an address (ak-prefixed string), keypair, or instance of AccountBase, got ${String(e)} instead`)}var t}_getOptions(){return{...this._options,onNode:ol((()=>this.api)),onAccount:ol((()=>this._resolveAccount())),onCompiler:ol((()=>this.compilerApi))}}async buildTx(e,t){return ia(e,{...this._getOptions(),...t})}}const{_buildTx:cl,...ll}=t,{InvalidTxError:ul,...dl}=e,pl={...dl,...ll,...r,...n,...i,...a,...o,...s};Object.assign(sl.prototype,it(pl,(e=>{let[t,n]=e;return[t,function(){const e=this._getOptions();for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];const i=r[r.length-1];return null!=i&&"object"==typeof i&&i.constructor===Object?r[r.length-1]={...e,...i,...null!=i.onAccount&&{onAccount:this._resolveAccount(i.onAccount)}}:r.push(e),n(...r)}]})));var ml=sl;class hl extends ml{constructor(){super(...arguments),hi(this,"accounts",{})}_resolveAccount(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectedAddress;if("string"==typeof e){const t=e;if(St(t),null==this.accounts[t])throw new $(e);e=this.accounts[t]}return super._resolveAccount(e)}addresses(){return Object.keys(this.accounts)}async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,!0===t&&this.selectAccount(n)}removeAccount(e){null!=this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&delete this.selectedAddress):console.warn(`removeAccount: Account for ${e} not available`)}selectAccount(e){if(St(e),null==this.accounts[e])throw new $(e);this.selectedAddress=e}}let yl,fl,gl,Nl,Cl;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(yl||(yl={})),function(e){e.window="window",e.extension="extension"}(fl||(fl={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(gl||(gl={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Nl||(Nl={})),function(e){e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Cl||(Cl={}));const wl=[];class bl extends y{toJSON(){return{code:this.code,message:this.message,data:this.data}}static deserialize(e){const t=wl.find((t=>t.code===e.code));if(null==t)throw new U(`Can't find RpcError with code: ${e.code}`);return new t(e.data)}}class vl extends bl{constructor(e){super("Invalid transaction"),hi(this,"code",2),this.data=e,this.name="RpcInvalidTransactionError"}}hi(vl,"code",2),wl.push(vl);class xl extends bl{constructor(e){super("Broadcast failed"),hi(this,"code",3),this.data=e,this.name="RpcBroadcastError"}}hi(xl,"code",3),wl.push(xl);class Sl extends bl{constructor(e){super("Operation rejected by user"),hi(this,"code",4),this.data=e,this.name="RpcRejectedByUserError"}}hi(Sl,"code",4),wl.push(Sl);class Tl extends bl{constructor(){super("Unsupported Protocol Version"),hi(this,"code",5),this.name="RpcUnsupportedProtocolError"}}hi(Tl,"code",5),wl.push(Tl);class _l extends bl{constructor(e){super("Wallet deny your connection request"),hi(this,"code",9),this.data=e,this.name="RpcConnectionDenyError"}}hi(_l,"code",9),wl.push(_l);class zl extends bl{constructor(){super("You are not connected to the wallet"),hi(this,"code",10),this.name="RpcNotAuthorizeError"}}hi(zl,"code",10),wl.push(zl);class ql extends bl{constructor(e){super(`You are not subscribed for account ${e}`),hi(this,"code",11),this.data=e,this.name="RpcPermissionDenyError"}}hi(ql,"code",11),wl.push(ql);class Al extends bl{constructor(){super("The peer failed to execute your request due to unknown error"),hi(this,"code",12),this.name="RpcInternalError"}}hi(Al,"code",12),wl.push(Al);class Pl extends bl{constructor(){super("Method not found"),hi(this,"code",-32601),this.name="RpcMethodNotFoundError"}}hi(Pl,"code",-32601),wl.push(Pl);var El=C(9408).Buffer;class Il extends ic{constructor(e){let{rpcClient:t,address:n,...r}=e;super(r),this._rpcClient=t,this._address=n}async sign(){throw new D("RAW signing using wallet")}async address(){return this._address}async signTransaction(e){let{innerTx:t,networkId:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=t)throw new D("innerTx option in AccountRpc");return(await this._rpcClient.request(Nl.sign,{onAccount:this._address,tx:e,returnSigned:!0,networkId:n})).signedTransaction}async signMessage(e){let{returnHex:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{signature:n}=await this._rpcClient.request(Nl.signMessage,{onAccount:this._address,message:e});return t?n:El.from(n,"hex")}}function kl(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function Ol(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,kl(e,t,"get"))}function Ml(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,kl(e,t,"set"),n),n}function Rl(e,t){jl(e,t),t.add(e)}function Bl(e,t,n){jl(e,t),t.set(e,n)}function jl(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Dl(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}var Vl=new WeakMap,Ul=new WeakMap,Fl=new WeakMap,Hl=new WeakSet,$l=new WeakSet,Gl=new WeakSet,Kl=new WeakSet;class Ll{constructor(e,t,n){Rl(this,Kl),Rl(this,Gl),Rl(this,$l),Rl(this,Hl),Bl(this,Vl,{writable:!0,value:new Map}),Bl(this,Ul,{writable:!0,value:0}),Bl(this,Fl,{writable:!0,value:void 0}),this.connection=e,Ml(this,Fl,n),e.connect(Dl(this,Hl,Wl).bind(this),t)}async request(e,t){return Dl(this,$l,Ql).call(this,Ml(this,Ul,Ol(this,Ul)+1),e,t),new Promise(((e,t)=>{Ol(this,Vl).set(Ol(this,Ul),{resolve:e,reject:t})}))}notify(e,t){Dl(this,$l,Ql).call(this,void 0,e,t)}}async function Wl(e,t){if("2.0"!==(null==e?void 0:e.jsonrpc))throw new W(JSON.stringify(e));if("result"in e||"error"in e)return void Dl(this,Kl,Xl).call(this,e);const n=e;let r,a;try{if(!(n.method in Ol(this,Fl)))throw new Pl;const e=n.method;r=await Ol(this,Fl)[e](n.params,t)}catch(e){a=e instanceof bl?e:new Al}null!=n.id&&Dl(this,Gl,Yl).call(this,n.id,n.method,r,a)}function Ql(e,t,n){this.connection.sendMessage({jsonrpc:"2.0",...null!=e?{id:e}:{},method:t,...null!=n?{params:n}:{}})}function Yl(e,t,n,r){this.connection.sendMessage({jsonrpc:"2.0",id:e,method:t,...null!=r?{error:r}:{result:n}})}function Xl(e){let{id:t,error:n,result:r}=e;const a=Ol(this,Vl).get(t);if(null==a)throw new Q(t);null!=n?a.reject(bl.deserialize(n)):a.resolve(r),Ol(this,Vl).delete(t)}class Jl extends ml{constructor(e){let{name:t,onAddressChange:n=(()=>{}),onDisconnect:r=(()=>{}),onNetworkChange:a=(()=>{}),...i}=e;super(i),this.onAddressChange=n,this.onDisconnect=r,this.onNetworkChange=a,this.name=t}_resolveAccount(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.addresses()[0];if("string"==typeof e){var t;const n=e;if(St(n),!m()(t=this.addresses()).call(t,n))throw new Y(n);e=new Il({rpcClient:this.rpcClient,address:n})}return null==e&&this._ensureAccountAccess(),super._resolveAccount(e)}addresses(){if(null==this._accounts)return[];const e=Object.keys(this._accounts.current)[0];return[...null!=e?[e]:[],...Object.keys(this._accounts.connected)]}async connectToWallet(e){let t,{connectNode:n=!1,name:r="wallet-node",select:a=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=this.rpcClient)throw new je("You are already connected to wallet");const i=new Ll(e,(()=>{delete this.rpcClient,delete this._accounts,this.onDisconnect(t)}),{[Nl.updateAddress]:e=>{this._accounts=e,this.onAddressChange(e)},[Nl.updateNetwork]:e=>{const{node:t}=e;null!=t&&this.addNode(t.name,new rc(t.url),!0),this.onNetworkChange(e)},[Nl.closeConnection]:e=>{t=e,i.connection.disconnect()},[Nl.readyToConnect]:()=>{}}),{node:o,...s}=await i.request(Nl.connect,{name:this.name,version:1,connectNode:n});if(n){if(null==o)throw new Ve("Missing URLs of the Node");this.addNode(r,new rc(o.url),a)}return this.rpcClient=i,s}disconnectWallet(){this._ensureConnected(),this.rpcClient.notify(Nl.closeConnection,{reason:"bye"}),this.rpcClient.connection.disconnect()}async askAddresses(){return this._ensureAccountAccess(),this.rpcClient.request(Nl.address,void 0)}async subscribeAddress(e,t){this._ensureConnected();const n=await this.rpcClient.request(Nl.subscribeAddress,{type:e,value:t});return this._accounts=n.address,n}_ensureConnected(){if(null==this.rpcClient)throw new De("You are not connected to Wallet")}_ensureAccountAccess(){if(this._ensureConnected(),0===this.addresses().length)throw new J}}var Zl=C(2716);const eu=C.n(Zl)()({storeAsString:!0}),tu=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return it(e,(e=>{let[t,n]=e;return[t,tu(n)]}));if(Array.isArray(e))return e.map((e=>tu(e)));if("string"==typeof e&&new(d())(e).toString(10)===e){const t=new(d())(e);return t.toJSON=()=>t.toString(10),t}return e};var nu={stringify:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return eu.stringify(tu(t[0]),...t.slice(1))},parse:eu.parse};class ru extends hl{constructor(e){let{name:t,id:n,type:r,onConnection:a,onSubscription:i,onSign:o,onDisconnect:s,onAskAccounts:c,onMessageSign:l,...u}=e;super(u),this.onConnection=a,this.onSubscription=i,this.onSign=o,this.onDisconnect=s,this.onAskAccounts=c,this.onMessageSign=l,this._clients=new Map,this.name=t,this.id=n,this._type=r}_pushAccountsToApps(){Array.from(this._clients.keys()).filter((e=>this._isRpcClientSubscribed(e))).map((e=>this._getClient(e).rpc)).forEach((e=>e.notify(Nl.updateAddress,this.getAccounts())))}selectAccount(e){super.selectAccount(e),this._pushAccountsToApps()}async addAccount(e,t){await super.addAccount(e,t),this._pushAccountsToApps()}_getNode(){return this.ensureNodeConnected(),{node:{url:this.api.url,name:this.selectedNodeName}}}async selectNode(e){super.selectNode(e);const t=await this.getNetworkId();Array.from(this._clients.keys()).filter((e=>this._isRpcClientConnected(e))).map((e=>this._getClient(e))).forEach((e=>{e.rpc.notify(Nl.updateNetwork,{networkId:t,...e.connectNode&&this._getNode()})}))}_getClient(e){const t=this._clients.get(e);if(null==t)throw new X(e);return t}_isRpcClientSubscribed(e){return this._isRpcClientConnected(e)&&0!==this._getClient(e).addressSubscription.size}_isRpcClientConnected(e){return Cl.CONNECTED===this._getClient(e).status&&this._getClient(e).rpc.connection.isConnected()}_disconnectRpcClient(e){const t=this._getClient(e);t.rpc.connection.disconnect(),t.status=Cl.DISCONNECTED,t.addressSubscription=new Set}removeRpcClient(e){this._disconnectRpcClient(e),this._clients.delete(e)}addRpcClient(e){const t=(0,Wr.v4)();let n;const r={id:t,status:Cl.WAITING_FOR_CONNECTION_REQUEST,addressSubscription:new Set,connectNode:!1,rpc:new Ll(e,(()=>{this._clients.delete(t),this.onDisconnect(t,n)}),{[Nl.closeConnection]:e=>{n=e,this._disconnectRpcClient(t)},[Nl.connect]:async(e,n)=>{let{name:a,version:i,icons:o,connectNode:s}=e;if(1!==i)throw new Tl;return await this.onConnection(t,{name:a,icons:o,connectNode:s},n),r.status=Cl.CONNECTED,r.connectNode=s,{...await this.getWalletInfo(),...s&&this._getNode()}},[Nl.subscribeAddress]:async(e,n)=>{let{type:a,value:i}=e;if(!this._isRpcClientConnected(t))throw new zl;switch(await this.onSubscription(t,{type:a,value:i},n),a){case gl.subscribe:r.addressSubscription.add(i);break;case gl.unsubscribe:r.addressSubscription.delete(i);break;default:throw new U(`Unknown subscription type: ${a}`)}return{subscription:Array.from(r.addressSubscription),address:this.getAccounts()}},[Nl.address]:async(e,n)=>{if(!this._isRpcClientSubscribed(t))throw new zl;return await this.onAskAccounts(t,e,n),this.addresses()},[Nl.sign]:async(e,n)=>{var r,a,i,o;let{tx:s,onAccount:c,returnSigned:l}=e;if(!this._isRpcClientConnected(t))throw new zl;if(null!==(r=c)&&void 0!==r||(c=await this.address()),!m()(a=this.addresses()).call(a,c))throw new ql(c);const u=await this.onSign(t,{tx:s,returnSigned:l,onAccount:c},n);if(c=null!==(i=null==u?void 0:u.onAccount)&&void 0!==i?i:c,s=null!==(o=null==u?void 0:u.tx)&&void 0!==o?o:s,l)return{signedTransaction:await this.signTransaction(s,{onAccount:c})};try{return nu.parse(nu.stringify({transactionHash:await this.send(s,{onAccount:c,verify:!1})}))}catch(e){const t=await _r(s,this.api);if(t.length>0)throw new vl(t);throw new xl(e.message)}},[Nl.signMessage]:async(e,n)=>{var r,a,i;let{message:o,onAccount:s}=e;if(!this._isRpcClientConnected(t))throw new zl;if(null!==(r=s)&&void 0!==r||(s=await this.address()),!m()(a=this.addresses()).call(a,s))throw new ql(s);const c=await this.onMessageSign(t,{message:o,onAccount:s},n);return s=null!==(i=null==c?void 0:c.onAccount)&&void 0!==i?i:s,{signature:await this.signMessage(o,{onAccount:s,returnHex:!0})}}})};return this._clients.set(t,r),t}async shareWalletInfo(e){this._getClient(e).rpc.notify(Nl.readyToConnect,await this.getWalletInfo())}async getWalletInfo(){return{id:this.id,name:this.name,networkId:await this.getNetworkId(),origin:window.location.origin,type:this._type}}getAccounts(){return{current:null!=this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}var au=C(8079),iu=C(3735);const ou=new WeakMap,su=new WeakMap,cu=new WeakMap,lu=new WeakMap,uu=new WeakMap,du=new WeakMap,pu=new WeakMap,mu=new WeakMap,hu=new WeakMap,yu=new WeakMap,fu=new WeakMap,gu=new WeakMap,Nu=new WeakMap,Cu=new WeakMap,wu=new WeakMap,bu=new WeakMap;function vu(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];const[i,...o]=r;null===(t=du.get(e))||void 0===t||t.emit(i,...o)}function xu(e,t){var n;if(null==t)throw new re;lu.set(e,t),null!=(null==t||null===(n=t.handler)||void 0===n?void 0:n.enter)&&t.handler.enter(e),zu(e)}function Su(e,t){t!==su.get(e)&&(su.set(e,t),vu(e,"statusChanged",t))}function Tu(e,t){cu.set(e,t),vu(e,"stateChanged",t)}function _u(e,t){var n,r,a;null!==(n=null===(r=ou.get(e))||void 0===r?void 0:r.debug)&&void 0!==n&&n&&console.log("Send message: ",t),null===(a=uu.get(e))||void 0===a||a.send(nu.stringify(t))}async function zu(e){var t;const n=yu.get(e),r=null!==(t=hu.get(e))&&void 0!==t?t:[];if(Boolean(n)||0===r.length)return;const a=lu.get(e);if(null==a)return;const i=r.findIndex((t=>t.guard(e,a)));if(-1===i)return;hu.set(e,r.filter(((e,t)=>i!==t))),yu.set(e,!0);const o=await Promise.resolve(r[i].action(e,a));yu.set(e,!1),xu(e,o)}function qu(e,t,n){var r;const a=null!==(r=hu.get(e))&&void 0!==r?r:[];hu.set(e,[...a,{guard:t,action:n}]),zu(e)}async function Au(e,t){const n=lu.get(e);if(null==n)throw new re;const{handler:r,state:a}=n;xu(e,await Promise.resolve(r(e,t,a)))}function Pu(e){var t;null===(t=uu.get(e))||void 0===t||t.close();const n=Cu.get(e),r=wu.get(e);null!=n&&clearTimeout(n),null!=r&&clearTimeout(r)}function Eu(e){const t=Cu.get(e),n=wu.get(e);null!=t&&clearTimeout(t),null!=n&&clearTimeout(n),Cu.set(e,setTimeout((()=>{_u(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),wu.set(e,setTimeout((()=>{Pu(e),vu(e,"error",new te)}),5e3))}),1e4))}async function Iu(e,t,n){return new Promise(((r,a)=>{var i,o,s;const c=null!==(i=fu.get(e))&&void 0!==i?i:0,l=null!==(o=fu.set(e,c+1).get(e))&&void 0!==o?o:1;null===(s=Nu.get(e))||void 0===s||s.set(l,(e=>{if(null!=e.error){var t;const[{message:n}={message:""}]=null!==(t=e.error.data)&&void 0!==t?t:[];return a(new Z(e.error.message+n))}return r(e.result)})),_u(e,{jsonrpc:"2.0",method:t,id:l,params:n})}))}async function ku(e,t,n,r){let{url:a,...i}=r;ou.set(e,{url:a,...i}),lu.set(e,{handler:t}),du.set(e,new iu.EventEmitter),fu.set(e,0),Nu.set(e,new Map),pu.set(e,[]);const o=new URL(a);Object.entries(i).filter((e=>{var t;let[n]=e;return!m()(t=["sign","debug"]).call(t,n)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(t.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`)),n)})),o.searchParams.set("protocol","json-rpc"),Su(e,"connecting");const s=new au.w3cwebsocket(o.toString());await new Promise(((t,r)=>{Object.assign(s,{onerror:r,onopen:async()=>{if(t(),Su(e,"connected"),null!=i.reconnectTx){xu(e,{handler:n});const t=(await Iu(e,"channels.get.offchain_state",{})).signed_tx;Tu(e,t)}Eu(e)},onclose:()=>{Su(e,"disconnected");const t=Cu.get(e),n=wu.get(e);null!=t&&clearTimeout(t),null!=n&&clearTimeout(n)},onmessage:t=>{let{data:n}=t;return function(e,t){var n,r,a;const i=nu.parse(t);if(null!==(n=null===(r=ou.get(e))||void 0===r?void 0:r.debug)&&void 0!==n&&n&&console.log("Receive message: ",i),null==i.id)"channels.message"!==i.method?"channels.system.pong"!==i.method?(null===(a=pu.get(e))||void 0===a||a.push(i),async function(e){var t,n;if(null!==(t=mu.get(e))&&void 0!==t&&t)return;const r=null!==(n=pu.get(e))&&void 0!==n?n:[];if(0!==r.length){for(mu.set(e,!0);r.length>0;){var a;const t=null!==(a=r.shift())&&void 0!==a?a:"";try{await Au(e,t)}catch(e){console.error("Error handling incoming message:"),console.error(t),console.error(e)}}mu.set(e,!1)}}(e)):i.params.channel_id!==gu.get(e)&&null!=gu.get(e)||Eu(e):vu(e,"message",i.params.data.message);else{var o;const t=null===(o=Nu.get(e))||void 0===o?void 0:o.get(i.id);try{null==t||t(i)}finally{var s;null===(s=Nu.get(e))||void 0===s||s.delete(i.id)}}}(e,n)}})})),uu.set(e,s)}async function Ou(e,t){const{signatures:n,encodedTx:r}=wr(e,Jt.SignedTx).tx,a=await t(Tt(r.rlpEncoded,dt.Transaction));if("string"==typeof a){const{tx:e}=wr(a,Jt.SignedTx);return Cr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},Jt.SignedTx).tx}return a}function Mu(e,t,n){var r;return null==n||null===(r=n.reject)||void 0===r||r.call(n,Object.assign(new ne(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Hu}}function Ru(e,t){if("channels.info"===t.method){var n;const r=t.params.data.event;return m()(n=["channel_accept","funding_created"]).call(n,r)?(Su(e,{channel_accept:"accepted",funding_created:"halfSigned"}[r]),{handler:ju}):"channel_reestablished"===t.params.data.event?{handler:Uu}:"fsm_up"===t.params.data.event?(bu.set(e,t.params.data.fsm_id),{handler:Ru}):{handler:Ru}}var r;if("channels.error"===t.method)return vu(e,"error",new ee(null==t||null===(r=t.payload)||void 0===r?void 0:r.message)),{handler:cd}}async function Bu(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(bu.set(e,t.params.data.fsm_id),Tu(e,(await Iu(e,"channels.get.offchain_state",{})).signed_tx),{handler:Hu}):Mu(0,t,n)}async function ju(e,t){const n=ou.get(e);if(null!=n){const r={initiator:"initiator_sign",responder:"responder_sign"}[n.role];if(t.method===`channels.sign.${r}`){if(null!=t.params.data.tx){const a=await n.sign(r,t.params.data.tx);return _u(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:a}}),{handler:Du}}const a=await Ou(t.params.data.signed_tx,(async e=>n.sign(r,e)));return _u(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Du}}}}function Du(e,t){const n=ou.get(e);if(null!=n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===n.role)return{handler:Vu};if("funding_created"===t.params.data.info&&"responder"===n.role)return{handler:Vu}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===n.role)return gu.set(e,t.params.channel_id),Su(e,"signed"),{handler:Du}}}function Vu(e,t){if("channels.info"===t.method){const e={funding_created:Vu,own_funding_locked:Vu,funding_locked:Uu}[t.params.data.event];if(null!=e)return{handler:e}}if("channels.on_chain_tx"===t.method)return vu(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Vu}}function Uu(e,t){if("channels.info"===t.method&&"open"===t.params.data.event)return gu.set(e,t.params.channel_id),{handler:Fu}}function Fu(e,t){if("channels.update"===t.method)return Tu(e,t.params.data.state),{handler:Hu}}async function Hu(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Ku};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return vu(e,t.params.data.event),{handler:Hu};case"fsm_up":return bu.set(e,t.params.data.fsm_id),{handler:Hu};case"timeout":case"close_mutual":case"shutdown":return{handler:Hu};case"closing":return Su(e,"closing"),{handler:Hu};case"closed_confirmed":return Su(e,"closed"),{handler:cd};case"died":return Su(e,"died"),{handler:cd}}break;case"channels.on_chain_tx":return vu(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Hu};case"channels.leave":return{handler:Hu};case"channels.update":return Tu(e,t.params.data.state),{handler:Hu};case"channels.sign.shutdown_sign_ack":return Ku(e,t,n)}}async function $u(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Gu,state:n};const a=await Ou(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Gu,state:n};if("number"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:$u,state:n}}if("channels.error"===t.method)return n.reject(new ee(t.data.message)),{handler:Hu};if(null!=t.error){var r;const{data:e}=null!==(r=t.error)&&void 0!==r?r:{data:[]};return null!=e.find((e=>1001===e.code))?n.reject(new E("Insufficient balance")):null!=e.find((e=>1002===e.code))?n.reject(new A("Amount cannot be negative")):n.reject(new ee(t.error.message)),{handler:Hu}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):Mu(0,t,n)}function Gu(e,t,n){return"channels.update"===t.method?(Tu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Hu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):null!=t.error?(n.reject(new ee(t.error.message)),{handler:Hu}):Mu(0,t,n)}async function Ku(e,t,n){var r;const[,a]=null!==(r=t.method.match(/^channels\.sign\.([^.]+)$/))&&void 0!==r?r:[],i=ou.get(e);if(null!=a&&null!=i){if(null!=t.params.data.tx){const n=await i.sign(a,t.params.data.tx,{updates:t.params.data.updates});if(null!=n)return _u(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{tx:n}}),{handler:Hu}}else{const r=await Ou(t.params.data.signed_tx,(async e=>i.sign(a,e,{updates:t.params.data.updates})));if("string"==typeof r)return _u(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{signed_tx:r}}),{handler:Hu};if("number"==typeof r)return _u(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{error:r}}),{handler:Lu,state:n}}return _u(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Ot().publicKey,to:Ot().publicKey,amount:1}}),{handler:Lu,state:n}}return Mu(0,t,n)}function Lu(e,t,n){return null!=t.error?{handler:Lu,state:n}:"channels.conflict"===t.method?{handler:Hu}:Mu(0,t,n)}async function Wu(e,t,n){return"channels.sign.shutdown_sign"===t.method?null!=t.params.data.tx?(_u(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Qu,state:n}):(_u(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:await Ou(t.params.data.signed_tx,(async e=>n.sign(e)))}}),{handler:Qu,state:n}):Mu(0,t,n)}function Qu(e,t,n){return"channels.on_chain_tx"===t.method?{handler:cd,state:n}:Mu(0,t,n)}function Yu(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Pu(e),{handler:cd}):"channels.error"===t.method?(n.reject(new ee(t.data.message)),{handler:Hu}):Mu(0,t,n)}async function Xu(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return _u(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Ju,state:n};const a=await Ou(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Ju,state:n};if("number"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Ju,state:n}}return Mu(0,t,n)}function Ju(e,t,n){var r,a;if("channels.on_chain_tx"===t.method)return null===(r=n.onOnChainTx)||void 0===r||r.call(n,t.params.data.tx),{handler:Ju,state:n};if("channels.info"===t.method&&m()(a=["own_withdraw_locked","withdraw_locked"]).call(a,t.params.data.event)){var i;const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked};return null===(i=e[t.params.data.event])||void 0===i||i.call(e),{handler:Ju,state:n}}return"channels.update"===t.method?(Tu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Hu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):Mu(0,t,n)}async function Zu(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return _u(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ed,state:n};const a=await Ou(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:ed,state:n};if("number"==typeof a)return _u(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:ed,state:n}}return Mu(0,t,n)}function ed(e,t,n){var r,a;if("channels.on_chain_tx"===t.method)return null===(r=n.onOnChainTx)||void 0===r||r.call(n,t.params.data.tx),{handler:ed,state:n};if("channels.info"===t.method&&m()(a=["own_deposit_locked","deposit_locked"]).call(a,t.params.data.event)){var i;const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked};return null===(i=e[t.params.data.event])||void 0===i||i.call(e),{handler:ed,state:n}}return"channels.update"===t.method?(Tu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Hu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):Mu(0,t,n)}async function td(e,t,n){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:nd,state:n};const r=await Ou(t.params.data.signed_tx,(async e=>n.sign(e)));if("string"==typeof r)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:nd,state:n};if("number"==typeof r)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:nd,state:n}}return Mu(0,t,n)}function nd(e,t,n){const r=ou.get(e);if("channels.update"===t.method){const{round:a}=wr(t.params.data.state,Jt.SignedTx).tx.encodedTx.tx;if(null!=(null==r?void 0:r.role)){let i=null;if("initiator"===r.role&&(i="initiatorId"),"responder"===r.role&&(i="responderId"),null!=i){const o=null==r?void 0:r[i];return Tu(e,t.params.data.state),n.resolve({accepted:!0,address:It(o,a),signedTx:t.params.data.state}),{handler:Hu}}}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):Mu(0,t,n)}async function rd(e,t,n){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:od,state:n};const r=await Ou(t.params.data.signed_tx,(async e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:od,state:n};if("number"==typeof r)return _u(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:od,state:n}}return Mu(0,t,n)}async function ad(e,t,n){return"channels.sign.force_progress_tx"===t.method?(_u(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:await Ou(t.params.data.signed_tx,(async e=>n.sign(e,{updates:t.params.data.updates})))}}),{handler:id,state:n}):Mu(0,t,n)}function id(e,t,n){var r;return"channels.on_chain_tx"===t.method&&(null===(r=n.onOnChainTx)||void 0===r||r.call(n,t.params.data.tx),vu(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),Mu(0,t,n)}function od(e,t,n){return"channels.update"===t.method?(Tu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Hu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Hu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Hu}):Mu(0,t,n)}function sd(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Hu}):(n.reject(new ne("Unexpected message received")),{handler:cd})}function cd(e,t,n){return null==n?{handler:cd}:"closing"===t.params.data.event?{handler:cd,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:cd,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:cd}):{handler:cd,state:n}}function ld(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[(a=n,a.replace(/_./g,(e=>e[1].toUpperCase())))]:r};var a}),{})}Hu.enter=e=>{Su(e,"open")};class ud{static async initialize(e){const t=new ud;return await ku(t,null!=e.existingFsmId?Bu:Ru,Hu,e),t}on(e,t){const n=du.get(this);if(null==n)throw new re;n.on(e,t)}off(e,t){const n=du.get(this);if(null==n)throw new re;n.removeListener(e,t)}disconnect(){return Pu(this)}status(){const e=su.get(this);if(null==e)throw new re;return e}async state(){return ld(await Iu(this,"channels.get.offchain_state",{}))}round(){const e=cu.get(this);if(null==e)return null;const{txType:t,tx:n}=wr(e,Jt.SignedTx).tx.encodedTx;switch(t){case Jt.ChannelCreateTx:return 1;case Jt.ChannelOffChainTx:case Jt.ChannelWithdrawTx:case Jt.ChannelDepositTx:return n.round;default:return null}}id(){const e=gu.get(this);if(null==e)throw new b("Channel is not initialized");return e}fsmId(){const e=bu.get(this);if(null==e)throw new b("Channel is not initialized");return e}async update(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];return new Promise(((i,o)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(s=>(_u(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:$u,state:{resolve:i,reject:o,sign:r}})))}))}async poi(e){let{accounts:t,contracts:n}=e;return(await Iu(this,"channels.get.poi",{accounts:t,contracts:n})).poi}async balances(e){return Object.fromEntries((await Iu(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))}async leave(){return new Promise(((e,t)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(n=>(_u(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Yu,state:{resolve:e,reject:t}})))}))}async shutdown(e){return new Promise(((t,n)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(r=>(_u(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Wu,state:{sign:e,resolve:t,reject:n}})))}))}async withdraw(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((i,o)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(s=>(_u(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Xu,state:{sign:t,resolve:i,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))}async deposit(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((i,o)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(s=>(_u(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Zu,state:{sign:t,resolve:i,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))}async createContract(e,t){let{code:n,callData:r,deposit:a,vmVersion:i,abiVersion:o}=e;return new Promise(((e,s)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(c=>(_u(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:i,abi_version:o}}),{handler:td,state:{sign:t,resolve:e,reject:s}})))}))}async callContract(e,t){let{amount:n,callData:r,contract:a,abiVersion:i}=e;return new Promise(((e,o)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(s=>(_u(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:i}}),{handler:rd,state:{resolve:e,reject:o,sign:t}})))}))}async forceProgress(e,t){let{amount:n,callData:r,contract:a,abiVersion:i,gasLimit:o=1e6,gasPrice:s=Gt}=e,{onOnChainTx:c}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,l)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(u=>(_u(u,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:i,gas_price:s,gas:o}}),{handler:ad,state:{resolve:e,reject:l,sign:t,onOnChainTx:c}})))}))}async callContractStatic(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return ld(await Iu(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))}async getContractCall(e){let{caller:t,contract:n,round:r}=e;return ld(await Iu(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))}async getContractState(e){const t=await Iu(this,"channels.get.contract",{pubkey:e});return ld({...t,contract:ld(t.contract)})}async cleanContractCalls(){return new Promise(((e,t)=>{qu(this,((e,t)=>(null==t?void 0:t.handler)===Hu),(n=>(_u(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:sd,state:{resolve:e,reject:t}})))}))}async sendMessage(e,t){const n="object"==typeof e?JSON.stringify(e):e;"connecting"===this.status()&&(await new Promise((e=>{const t=n=>{"connecting"!==n&&(e(),this.off("statusChanged",t))};this.on("statusChanged",t)})),await at(500)),_u(this,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}})}static async reconnect(e,t){const{sign:n}=e;return ud.initialize({...e,reconnectTx:await n("reconnect",Cr(t,Jt.ChannelClientReconnectTx).tx)})}}var dd=(e,t)=>(e.connect((e=>t.sendMessage(e)),(()=>t.disconnect())),t.connect((t=>e.sendMessage(t)),(()=>e.disconnect())),()=>{e.disconnect(),t.disconnect()});class pd{constructor(e){let{debug:t=!1}=e;this.debug=t}connect(e,t){if(this.isConnected())throw new je("You already connected")}disconnect(){if(!this.isConnected())throw new De("You dont have connection. Please connect before")}receiveMessage(e){this.debug&&console.log("Receive message:",e)}sendMessage(e){this.debug&&console.log("Send message:",e)}}function md(e,t,n){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,n)}var hd=new WeakMap,yd=new WeakMap,fd=new WeakMap;class gd extends pd{constructor(){let{target:e,self:t=window,origin:n,sendDirection:r,receiveDirection:a=yl.to_aepp,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),md(this,hd,{writable:!0,value:void 0}),md(this,yd,{writable:!0,value:void 0}),md(this,fd,{writable:!0,value:void 0}),Ml(this,yd,e),Ml(this,fd,t),this.origin=n,this.sendDirection=r,this.receiveDirection=a}isConnected(){return null!=this.listener}connect(e,t){super.connect(e,t),this.listener=t=>{var n,r;if("object"!=typeof t.data||"2.0"!==(null!==(n=t.data.jsonrpc)&&void 0!==n?n:null===(r=t.data.data)||void 0===r?void 0:r.jsonrpc))return;if(null!=this.origin&&this.origin!==t.origin)return;if(null!=Ol(this,yd)&&Ol(this,yd)!==t.source)return;this.receiveMessage(t);let{data:a}=t;if(null!=a.type){if(t.data.type!==this.receiveDirection)return;a=a.data}e(a,t.origin,t.source)},Ol(this,fd).addEventListener("message",this.listener),Ml(this,hd,t)}disconnect(){if(super.disconnect(),null==this.listener||null==Ol(this,hd))throw new U("Expected to not happen, required for TS");Ol(this,fd).removeEventListener("message",this.listener),delete this.listener,Ol(this,hd).call(this),Ml(this,hd,void 0)}sendMessage(e){var t;if(null==Ol(this,yd))throw new Ve("Can't send messages without target");const n=null!=this.sendDirection?{type:this.sendDirection,data:e}:e;super.sendMessage(n),Ol(this,yd).postMessage(n,null!==(t=this.origin)&&void 0!==t?t:"*")}}var Nd=(e,t)=>{if(null==window)throw new B("Window object not found, you can run wallet detector only in browser");const n={};return e.connect(((e,r,a)=>{let{method:i,params:o}=e;if(i!==Nl.readyToConnect||null!=n[o.id])return;const s={info:o,getConnection(){const e="extension"===o.type;return new gd({sendDirection:e?yl.to_waellet:void 0,receiveDirection:e?yl.to_aepp:void 0,target:a,origin:e?window.origin:o.origin})}};n[s.info.id]=s,t({wallets:n,newWallet:s})}),(()=>{})),Object.keys(n).length>0&&t({wallets:n}),()=>e.disconnect()};class Cd extends pd{constructor(e){let{port:t,...n}=e;super(n),this.port=t}disconnect(){super.disconnect(),this.port.disconnect()}connect(e,t){super.connect(e,t),this.port.onMessage.addListener(((t,n)=>{this.receiveMessage(t),e(t,n.name,n)})),this.port.onDisconnect.addListener(t)}sendMessage(e){super.sendMessage(e),this.port.postMessage(e)}isConnected(){return this.port.onMessage.hasListeners()}}}(),w}()}));
2
3
  //# sourceMappingURL=aepp-sdk.browser.js.map