@aeternity/aepp-sdk 11.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) 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 +20764 -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 +138 -88
  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 +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  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 -240
  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 -664
  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 -108
  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 +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  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 +56 -42
  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 +170 -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 +146 -0
  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/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. 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("sha.js"),require("@aeternity/blakejs"),require("buffer"),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","sha.js","@aeternity/blakejs","buffer","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("sha.js"),require("@aeternity/blakejs"),require("buffer"),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["sha.js"],e["@aeternity/blakejs"],e.buffer,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=c},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=u},503:function(e){e.exports=h},735:function(e){e.exports=g},485:function(e){e.exports=d},433:function(e){e.exports=i},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 rs},AccountError:function(){return b},AccountMultiple:function(){return Es},Ae:function(){return os},Aens:function(){return ks},AensError:function(){return x},AensPointerContextError:function(){return Y},AeppError:function(){return v},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AlreadyConnectedError:function(){return et},AmbiguousEventDefinitionError:function(){return Te},AmountFormatter:function(){return o},ArgumentCountMismatchError:function(){return j},ArgumentError:function(){return S},BaseError:function(){return w},BrowserRuntimeConnection:function(){return _c},BrowserWindowMessageConnection:function(){return Ac},BytecodeMismatchError:function(){return le},Bytes:function(){return e},Chain:function(){return No},ChainNode:function(){return ps},Channel:function(){return vc},ChannelCallError:function(){return oe},ChannelConnectionError:function(){return se},ChannelError:function(){return C},ChannelPingTimedOutError:function(){return ie},CompilerError:function(){return E},ContentScriptBridge:function(){return Ic},Contract:function(){return js},ContractCompilerHttp:function(){return _s},ContractError:function(){return A},Crypto:function(){return r},CryptographyError:function(){return k},DecodeError:function(){return De},DisconnectedError:function(){return Me},DryRunError:function(){return Ve},DuplicateCallbackError:function(){return Z},DuplicateContractError:function(){return he},DuplicateNodeError:function(){return Be},EncodeError:function(){return Fe},GeneralizedAccount:function(){return Rs},HdWallet:function(){return i},IllegalArgumentError:function(){return P},IllegalBidFeeError:function(){return $e},InactiveContractError:function(){return pe},InsufficientBalanceError:function(){return M},InsufficientNameFeeError:function(){return X},InternalError:function(){return G},InvalidAensNameError:function(){return J},InvalidAuthDataError:function(){return de},InvalidChecksumError:function(){return Ie},InvalidDenominationError:function(){return B},InvalidDerivationPathError:function(){return Ce},InvalidKeyError:function(){return Ee},InvalidKeypairError:function(){return Q},InvalidMethodInvocationError:function(){return fe},InvalidNameError:function(){return R},InvalidPasswordError:function(){return Ae},InvalidRpcMessageError:function(){return ee},InvalidSignatureError:function(){return Ue},InvalidTxError:function(){return He},InvalidTxParamsError:function(){return Ke},Keystore:function(){return a},MemoryAccount:function(){return Cs},MerkleTreeHashMismatchError:function(){return ke},MessageDirectionError:function(){return tt},MissingCallbackError:function(){return te},MissingContractAddressError:function(){return me},MissingContractDefError:function(){return ge},MissingEventDefinitionError:function(){return ve},MissingFunctionNameError:function(){return ye},MissingNodeInTreeError:function(){return _e},MissingParamError:function(){return D},NoBrowserFoundError:function(){return F},NoDefaultAensPointerError:function(){return We},NoSerializerFoundError:function(){return q},NoSuchContractFunctionError:function(){return be},NoWalletConnectedError:function(){return nt},Node:function(){return es},NodeError:function(){return _},NodeInvocationError:function(){return we},NodeNotFoundError:function(){return Re},NodePool:function(){return ds},NotHardenedSegmentError:function(){return Ne},NotImplementedError:function(){return W},NotPayableFunctionError:function(){return xe},Oracle:function(){return oi},PayloadLengthError:function(){return qe},PrefixMismatchError:function(){return Le},PrefixNotFoundError:function(){return Ge},RequestTimedOutError:function(){return V},RpcAepp:function(){return si},RpcConnectionError:function(){return rt},RpcWallet:function(){return pi},SCHEMA:function(){return t},SchemaNotFoundError:function(){return Qe},TagNotFoundError:function(){return ze},Transaction:function(){return vs},TransactionError:function(){return O},Tx:function(){return _o},TxBuilder:function(){return s},TxBuilderHelper:function(){return n},TxNotInChainError:function(){return Ye},TxTimedOutError:function(){return $},TypeError:function(){return U},UnAuthorizedAccountError:function(){return ne},UnavailableAccountError:function(){return z},UnexpectedChannelMessageError:function(){return ce},Universal:function(){return Tc},UnknownChannelStateError:function(){return ue},UnknownNodeLengthError:function(){return Se},UnknownPathNibbleError:function(){return Pe},UnknownRpcClientError:function(){return re},UnknownTxError:function(){return Xe},UnsubscribedAccountError:function(){return ae},UnsupportedABIversionError:function(){return Je},UnsupportedAlgorithmError:function(){return Oe},UnsupportedChildIndexError:function(){return je},UnsupportedPlatformError:function(){return H},UnsupportedProtocolError:function(){return K},UnsupportedVMversionError:function(){return Ze},UnsupportedVersionError:function(){return L},WalletDetector:function(){return kc},WalletError:function(){return N},genSwaggerClient:function(){return Qo},getDefaultPointerKey:function(){return Oc},verifyTransaction:function(){return us}});var e={};T.r(e),T.d(e,{bigNumberToByteArray:function(){return ct},str2buf:function(){return dt},toBytes:function(){return ut}});var t={};T.r(t),T.d(t,{ABI_VERSIONS:function(){return un},AMOUNT:function(){return kt},BASE_GAS:function(){return fn},CLIENT_TTL:function(){return Bt},CONTRACT_BYTE_CODE_LIMA:function(){return En},DEFAULT_FEE:function(){return gn},DRY_RUN_ACCOUNT:function(){return St},FIELD_TYPES:function(){return pn},GAS_MAX:function(){return _t},GAS_PER_BYTE:function(){return mn},ID_TAG:function(){return xn},ID_TAG_PREFIX:function(){return Tn},KEY_BLOCK_INTERVAL:function(){return yn},MAX_AUTH_FUN_GAS:function(){return Nt},MIN_GAS_PRICE:function(){return Ot},NAME_BID_MAX_LENGTH:function(){return Vt},NAME_BID_RANGES:function(){return Ut},NAME_BID_TIMEOUTS:function(){return Ht},NAME_BID_TIMEOUT_BLOCKS:function(){return Ft},NAME_FEE_BID_INCREMENT:function(){return Dt},NAME_FEE_MULTIPLIER:function(){return Rt},NAME_MAX_CLIENT_TTL:function(){return Mt},NAME_MAX_LENGTH_FEE:function(){return qt},NAME_MAX_TTL:function(){return jt},NAME_TTL:function(){return Pt},OBJECT_ID_TX_TYPE:function(){return hn},OBJECT_TAG_SIGNED_TRANSACTION:function(){return Kt},ORACLE_TTL:function(){return Ct},POINTER_KEY_BY_PREFIX:function(){return $t},PREFIX_ID_TAG:function(){return vn},PROTOCOL_VERSIONS:function(){return dn},PROTOCOL_VM_ABI:function(){return ln},QUERY_FEE:function(){return It},QUERY_TTL:function(){return Et},RESPONSE_TTL:function(){return At},TX_DESERIALIZATION_SCHEMA:function(){return br},TX_FEE_BASE_GAS:function(){return wn},TX_FEE_OTHER_GAS:function(){return bn},TX_SERIALIZATION_SCHEMA:function(){return wr},TX_TTL:function(){return Tt},TX_TYPE:function(){return sn},VM_VERSIONS:function(){return cn},VSN:function(){return xt},VSN_2:function(){return vt}});var n={};T.r(n),T.d(n,{buildContractId:function(){return Cr},buildPointers:function(){return Kr},commitmentHash:function(){return _r},computeAuctionEndBlock:function(){return Jr},computeBidFee:function(){return Xr},createSalt:function(){return Ir},decode:function(){return Fr},encode:function(){return qr},ensureNameValid:function(){return Gr},formatSalt:function(){return Ar},getDefaultPointerKey:function(){return zr},getMinimumNameFee:function(){return Yr},isAuctionName:function(){return Zr},isNameValid:function(){return Qr},oracleQueryId:function(){return Er},produceNameId:function(){return kr},readId:function(){return $r},readInt:function(){return Hr},readPointers:function(){return Wr},writeId:function(){return Vr},writeInt:function(){return Ur}});var r={};T.r(r),T.d(r,{decryptKey:function(){return la},encodeContractAddress:function(){return ia},encodeUnsigned:function(){return sa},encryptKey:function(){return da},generateKeyPair:function(){return ua},generateKeyPairFromSecret:function(){return ca},getAddressFromPriv:function(){return na},hash:function(){return mt},isAddressValid:function(){return ra},isValidKeypair:function(){return ya},messageToHash:function(){return fa},salt:function(){return oa},sha256hash:function(){return aa},sign:function(){return ha},signMessage:function(){return ma},verify:function(){return pa},verifyMessage:function(){return ga}});var a={};T.r(a),T.d(a,{deriveKeyUsingArgon2id:function(){return Ia},dump:function(){return Na},getAddressFromPriv:function(){return _a},recover:function(){return Oa},validateKeyObj:function(){return Sa}});var o={};T.r(o),T.d(o,{AE_AMOUNT_FORMATS:function(){return ja},DENOMINATION_MAGNITUDE:function(){return Ma},default:function(){return Ua},formatAmount:function(){return Da},toAe:function(){return Ba},toAettos:function(){return Ra}});var s={};T.r(s),T.d(s,{buildRawTx:function(){return no},buildTx:function(){return oo},buildTxHash:function(){return io},calculateFee:function(){return eo},calculateMinFee:function(){return Ja},default:function(){return co},unpackRawTx:function(){return ro},unpackTx:function(){return so},validateParams:function(){return to}});var i={};T.r(i),T.d(i,{deriveChild:function(){return vo},derivePathFromKey:function(){return go},derivePathFromSeed:function(){return yo},generateSaveHDWalletFromSeed:function(){return To},getHdWalletAccountFromSeed:function(){return Co},getKeyPair:function(){return bo},getMasterKeyFromSeed:function(){return xo},getSaveHDWalletAccounts:function(){return Io}});var c={};T.r(c),T.d(c,{ERRORS:function(){return Ks},MESSAGE_DIRECTION:function(){return qs},METHODS:function(){return Us},RPC_STATUS:function(){return Hs},SUBSCRIPTION_TYPES:function(){return $s},VERSION:function(){return Fs},WALLET_TYPE:function(){return Vs}});var u={};T.r(u),T.d(u,{getBrowserAPI:function(){return Ws},getHandler:function(){return Qs},isInIframe:function(){return Ls},isValidAccounts:function(){return Js},message:function(){return zs},responseMessage:function(){return Ys},sendMessage:function(){return Gs},sendResponseMessage:function(){return Xs}});var d=T(79),l=T.n(d),h=T(236),p=T.n(h),f=T(433),m=T.n(f),g=T(192),y=T.n(g);class w extends Error{constructor(e){super(e),this.name="BaseError"}}class b extends w{constructor(e){super(e),this.name="AccountError"}}class x extends w{constructor(e){super(e),this.name="AensError"}}class v extends w{constructor(e){super(e),this.name="AeppError"}}class C extends w{constructor(e){super(e),this.name="ChannelError"}}class E extends w{constructor(e){super(e),this.name="CompilerError"}}class A extends w{constructor(e){super(e),this.name="ContractError"}}class k extends w{constructor(e){super(e),this.name="CryptographyError"}}class _ extends w{constructor(e){super(e),this.name="NodeError"}}class O extends w{constructor(e){super(e),this.name="TransactionError"}}class N extends w{constructor(e){super(e),this.name="WalletError"}}class S extends w{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class P extends k{constructor(e){super(e),this.name="IllegalArgumentError"}}class j extends w{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class M extends w{constructor(e){super(e),this.name="InsufficientBalanceError"}}class B extends w{constructor(e){super(e),this.name="InvalidDenominationError"}}class R extends w{constructor(e){super(e),this.name="InvalidNameError"}}class D extends w{constructor(e){super(e),this.name="MissingParamError"}}class F extends w{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class q extends w{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class V extends w{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 $ extends w{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class U extends w{constructor(e){super(e),this.name="TypeError"}}class H extends w{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class K extends w{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class W extends w{constructor(e){super(e),this.name="NotImplementedError"}}class L extends w{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class G extends w{constructor(e){super(e),this.name="InternalError"}}class Q extends b{constructor(e){super(e),this.name="InvalidKeypairError"}}class z extends b{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Y extends x{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class X extends x{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class J extends x{constructor(e){super(e),this.name="InvalidAensNameError"}}class Z extends v{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class ee extends v{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class te extends v{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ne extends v{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class re extends v{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ae extends v{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class oe extends C{constructor(e){super(e),this.name="ChannelCallError"}}class se extends C{constructor(e){super(e),this.name="ChannelConnectionError"}}class ie extends C{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class ce extends C{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ue extends C{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class de extends E{constructor(e){super(e),this.name="InvalidAuthDataError"}}class le extends A{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class he extends A{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class pe extends A{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class fe extends A{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class me extends A{constructor(e){super(e),this.name="MissingContractAddressError"}}class ge extends A{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class ye extends A{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class we extends A{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class be extends A{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class xe extends A{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 ve extends A{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 Te extends A{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 Ie extends k{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Ce extends k{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ee extends k{constructor(e){super(e),this.name="InvalidKeyError"}}class Ae extends k{constructor(e){super(e),this.name="InvalidPasswordError"}}class ke extends k{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class _e extends k{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class Oe extends k{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class Ne extends k{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Se extends k{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Pe extends k{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class je extends k{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Me extends _{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Be extends _{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Re extends _{constructor(e){super(e),this.name="NodeNotFoundError"}}class De extends O{constructor(e){super(e),this.name="DecodeError"}}class Fe extends O{constructor(e){super(e),this.name="EncodeError"}}class qe extends O{constructor(e){super(e),this.name="PayloadLengthError"}}class Ve extends O{constructor(e){super(e),this.name="DryRunError"}}class $e extends O{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ue extends O{constructor(e){super(e),this.name="InvalidSignatureError"}}class He extends O{constructor(e){super(e),this.name="InvalidTxError"}}class Ke extends O{constructor(e){super(e),this.name="InvalidTxParamsError"}}class We extends O{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Le extends O{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class Ge extends O{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Qe extends O{constructor(e){super(e),this.name="SchemaNotFoundError"}}class ze extends O{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Ye extends O{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Xe extends O{constructor(e){super(e),this.name="UnknownTxError"}}class Je extends O{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Ze extends O{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class et extends N{constructor(e){super(e),this.name="AlreadyConnectedError"}}class tt extends N{constructor(e){super(e),this.name="MessageDirectionError"}}class nt extends N{constructor(e){super(e),this.name="NoWalletConnectedError"}}class rt extends N{constructor(e){super(e),this.name="RpcConnectionError"}}function at(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function ot(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function st(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var it=T(408).Buffer;function ct(e){if(!e.isInteger())throw new U(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),it.from(t,"hex")}function ut(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return it.from([]);if(Number.isInteger(e)||y().isBigNumber(e)||t)return y().isBigNumber(e)||(e=new(y())(e)),ct(e);if("string"==typeof e)return it.from(e);throw new q}function dt(e,t){var n;return it.from(e,null!==(n=null!=t?t:st(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 lt=T(783),ht=T.n(lt),pt=T(343),ft=T(408).Buffer;function mt(e){return ft.from((0,pt.blake2b)(e,void 0,32))}var gt=T(408).Buffer;class yt{static serialize(e){return e}static deserialize(e){return e}}class wt extends yt{static serialize(e){return Vr(Qr(e)?kr(e):e)}static deserialize(e){return $r(e)}}class bt extends yt{static serialize(e,t){let{name:n}=t;if(+e)throw new P(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return Ur(0)}static deserialize(e){return Hr(e)}}const xt=1,vt=2,Tt=0,It=3e4,Ct={type:"delta",value:500},Et={type:"delta",value:10},At={type:"delta",value:10},kt=0,_t=1579e3,Ot=1e9,Nt=5e4,St={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Pt=18e4,jt=36e3,Mt=84600,Bt=Mt,Rt=1e14,Dt=.05,Ft=480,qt=31,Vt=12,$t={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},Ut={31:y()(3).times(Rt),30:y()(5).times(Rt),29:y()(8).times(Rt),28:y()(13).times(Rt),27:y()(21).times(Rt),26:y()(34).times(Rt),25:y()(55).times(Rt),24:y()(89).times(Rt),23:y()(144).times(Rt),22:y()(233).times(Rt),21:y()(377).times(Rt),20:y()(610).times(Rt),19:y()(987).times(Rt),18:y()(1597).times(Rt),17:y()(2584).times(Rt),16:y()(4181).times(Rt),15:y()(6765).times(Rt),14:y()(10946).times(Rt),13:y()(17711).times(Rt),12:y()(28657).times(Rt),11:y()(46368).times(Rt),10:y()(75025).times(Rt),9:y()(121393).times(Rt),8:y()(196418).times(Rt),7:y()(317811).times(Rt),6:y()(514229).times(Rt),5:y()(832040).times(Rt),4:y()(1346269).times(Rt),3:y()(2178309).times(Rt),2:y()(3524578).times(Rt),1:y()(5702887).times(Rt)},Ht={13:y()(0),12:y()(Ft),8:y()(31).times(Ft),4:y()(62).times(Ft)},Kt=11,Wt=521,Lt=570,Gt=571,Qt=572,zt=573,Yt=574,Xt=575,Jt=621,Zt=622,en=623,tn=624,nn=625,rn=626,an=(e,t,n)=>[e,t,n],on=(e,t)=>[e,t],sn={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"},cn={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},un={NO_ABI:0,SOPHIA:1,FATE:3},dn={IRIS:5},ln={[dn.IRIS]:{[sn.contractCreate]:{vmVersion:[cn.FATE_2],abiVersion:[un.FATE]},[sn.contractCall]:{vmVersion:[cn.FATE_2,cn.FATE,cn.SOPHIA_IMPROVEMENTS_LIMA,cn.SOPHIA_IMPROVEMENTS_FORTUNA,cn.SOPHIA,cn.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[un.FATE,un.SOPHIA]},[sn.oracleRegister]:{vmVersion:[],abiVersion:[un.NO_ABI,un.SOPHIA]}}},hn={10:sn.account,[Kt]:sn.signed,12:sn.spend,32:sn.nameClaim,33:sn.namePreClaim,34:sn.nameUpdate,35:sn.nameRevoke,36:sn.nameTransfer,40:sn.contract,42:sn.contractCreate,43:sn.contractCall,41:sn.contractCallResult,22:sn.oracleRegister,25:sn.oracleExtend,23:sn.oracleQuery,24:sn.oracleResponse,50:sn.channelCreate,53:sn.channelCloseMutual,54:sn.channelCloseSolo,55:sn.channelSlash,[Wt]:sn.channelForceProgress,51:sn.channelDeposit,52:sn.channelWithdraw,56:sn.channelSettle,57:sn.channelOffChain,58:sn.channel,59:sn.channelSnapshotSolo,[Lt]:sn.channelOffChainUpdateTransfer,[Gt]:sn.channelOffChainUpdateDeposit,[Qt]:sn.channelOffChainUpdateWithdrawal,[zt]:sn.channelOffChainCreateContract,[Yt]:sn.channelOffChainCallContract,[Xt]:sn.channelReconnect,60:sn.proofOfInclusion,62:sn.stateTrees,63:sn.merklePatriciaTree,64:sn.merklePatriciaTreeValue,[Jt]:sn.contractsTree,[Zt]:sn.contractCallsTree,[en]:sn.channelsTree,[tn]:sn.nameserviceTree,[nn]:sn.oraclesTree,[rn]:sn.accountsTree,80:sn.gaAttach,81:sn.gaMeta,82:sn.payingFor,70:sn.sophiaByteCode},pn={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"},fn=15e3,mn=20,gn=2e4,yn=3,wn=e=>{const t={[sn.channelForceProgress]:30,[sn.channelOffChain]:0,[sn.channelOffChainCallContract]:0,[sn.channelOffChainCreateContract]:0,[sn.channelOffChainUpdateDeposit]:0,[sn.channelOffChainUpdateWithdrawal]:0,[sn.channelOffChainUpdateTransfer]:0,[sn.contractCreate]:5,[sn.contractCall]:12,[sn.gaAttach]:5,[sn.gaMeta]:5,[sn.payingFor]:.2}[e]||1;return new(y())(t*fn)},bn=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case sn.oracleRegister:case sn.oracleExtend:case sn.oracleQuery:case sn.oracleResponse:return new(y())(t).times(mn).plus(Math.ceil(32e3*r/Math.floor(525600/yn)));case sn.gaMeta:case sn.payingFor:return new(y())(t).minus(a).times(mn);default:return new(y())(t).times(mn)}},xn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},vn={ak:xn.account,nm:xn.name,cm:xn.commitment,ok:xn.oracle,ct:xn.contract,ch:xn.channel},Tn=(In=vn,Object.entries(In).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var In;const Cn=[an("tag",pn.int),an("VSN",pn.int)],En=[...Cn,an("sourceCodeHash",pn.rawBinary),an("typeInfo",pn.sophiaCodeTypeInfo),an("byteCode",pn.rawBinary),an("compilerVersion",pn.string),an("payable",pn.bool)],An=[...Cn,an("flags",pn.int),an("nonce",pn.int),an("balance",pn.int),an("gaContract",pn.id,["ct","nm"]),an("gaAuthFun",pn.binary,"cb")],kn=[...Cn,an("senderId",pn.id,"ak"),an("recipientId",pn.id,["ak","nm"]),an("amount",pn.amount),an("fee",pn.int),an("ttl",pn.int),an("nonce",pn.int),an("payload",pn.payload)],_n=[...Cn,an("signatures",pn.signatures),an("encodedTx",pn.rlpBinary)],On=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("commitmentId",pn.id,"cm"),an("fee",pn.int),an("ttl",pn.int)],Nn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("name",class extends yt{static serialize(e){return Gr(e),gt.from(e)}static deserialize(e){return e.toString()}}),an("nameSalt",pn.int),an("nameFee",class extends yt{static serialize(e,t){var n;let{name:r}=t;const a=Yr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new X(e,a);return Ur(e)}static deserialize(e){return Hr(e)}}),an("fee",pn.int),an("ttl",pn.int)],Sn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("nameTtl",pn.int),an("pointers",pn.pointers),an("clientTtl",pn.int),an("fee",pn.int),an("ttl",pn.int)],Pn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("recipientId",pn.id,["ak","nm"]),an("fee",pn.int),an("ttl",pn.int)],jn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("fee",pn.int),an("ttl",pn.int)],Mn=[...Cn,an("owner",pn.id,"ak"),an("ctVersion",pn.int),an("code",pn.binary,"cb"),an("log",pn.binary,"cb"),an("active",pn.bool),an("referers",pn.ids,"ak"),an("deposit",bt)],Bn=[...Cn,an("ownerId",pn.id,"ak"),an("nonce",pn.int),an("code",pn.binary,"cb"),an("authFun",pn.rawBinary),an("ctVersion",pn.ctVersion),an("fee",pn.int),an("ttl",pn.int),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],Rn=[...Cn,an("gaId",pn.id,"ak"),an("authData",pn.binary,"cb"),an("abiVersion",pn.int),an("fee",pn.int),an("gas",pn.int),an("gasPrice",pn.int),an("tx",pn.rlpBinary)],Dn=[...Cn,an("payerId",pn.id,"ak"),an("nonce",pn.int),an("fee",pn.int),an("tx",pn.rlpBinary)],Fn=[...Cn,an("ownerId",pn.id,"ak"),an("nonce",pn.int),an("code",pn.binary,"cb"),an("ctVersion",pn.ctVersion),an("fee",pn.int),an("ttl",pn.int),an("deposit",bt),an("amount",pn.amount),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],qn=[...Cn,an("callerId",pn.id,"ak"),an("nonce",pn.int),an("contractId",pn.id,["ct","nm"]),an("abiVersion",pn.int),an("fee",pn.int),an("ttl",pn.int),an("amount",pn.amount),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],Vn=[...Cn,an("callerId",pn.id,"ak"),an("callerNonce",pn.int),an("height",pn.int),an("contractId",pn.id,"ct"),an("gasPrice",pn.int),an("gasUsed",pn.int),an("returnValue",pn.binary,"cb"),an("returnType",pn.callReturnType),an("log",pn.rawBinary)],$n=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("queryFormat",pn.string),an("responseFormat",pn.string),an("queryFee",pn.amount),an("oracleTtlType",pn.int),an("oracleTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int),an("abiVersion",pn.int)],Un=[...Cn,an("oracleId",pn.id,["ok","nm"]),an("nonce",pn.int),an("oracleTtlType",pn.int),an("oracleTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Hn=[...Cn,an("senderId",pn.id,"ak"),an("nonce",pn.int),an("oracleId",pn.id,["ok","nm"]),an("query",pn.string),an("queryFee",pn.amount),an("queryTtlType",pn.int),an("queryTtlValue",pn.int),an("responseTtlType",pn.int),an("responseTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Kn=[...Cn,an("oracleId",pn.id,"ok"),an("nonce",pn.int),an("queryId",pn.binary,"oq"),an("response",pn.string),an("responseTtlType",pn.int),an("responseTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Wn=[...Cn,an("initiator",pn.id,"ak"),an("initiatorAmount",pn.int),an("responder",pn.id,"ak"),an("responderAmount",pn.int),an("channelReserve",pn.int),an("lockPeriod",pn.int),an("ttl",pn.int),an("fee",pn.int),an("initiatorDelegateIds",pn.string),an("responderDelegateIds",pn.string),an("stateHash",pn.binary,"st"),an("nonce",pn.int)],Ln=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("amount",pn.int),an("ttl",pn.int),an("fee",pn.int),an("stateHash",pn.binary,"st"),an("round",pn.int),an("nonce",pn.int)],Gn=[...Cn,an("channelId",pn.id,"ch"),an("toId",pn.id,"ak"),an("amount",pn.int),an("ttl",pn.int),an("fee",pn.int),an("stateHash",pn.binary,"st"),an("round",pn.int),an("nonce",pn.int)],Qn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("initiatorAmountFinal",pn.int),an("responderAmountFinal",pn.int),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],zn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("poi",pn.binary,"pi"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Yn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("poi",pn.binary,"pi"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Xn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("initiatorAmountFinal",pn.int),an("responderAmountFinal",pn.int),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Jn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("round",pn.int),an("update",pn.binary,"cb"),an("stateHash",pn.binary,"st"),an("offChainTrees",pn.stateTree),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Zn=[...Cn,an("channelId",pn.id,"ch"),an("round",pn.int),an("stateHash",pn.binary,"st")],er=[...Cn,an("initiator",pn.id,"ak"),an("responder",pn.id,"ak"),an("channelAmount",pn.int),an("initiatorAmount",pn.int),an("responderAmount",pn.int),an("channelReserve",pn.int),an("initiatorDelegateIds",pn.ids),an("responderDelegateIds",pn.ids),an("stateHash",pn.hex),an("round",pn.int),an("soloRound",pn.int),an("lockPeriod",pn.int),an("lockedUntil",pn.int),an("initiatorAuth",pn.binary,"cb"),an("responderAuth",pn.binary,"cb")],tr=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],nr=[...Cn,an("owner",pn.id,"ak"),an("ctVersion",pn.int),an("code",pn.binary,"cb"),an("deposit",pn.int),an("callData",pn.binary,"cb")],rr=[...Cn,an("caller",pn.id,"ak"),an("contract",pn.id,"ct"),an("abiVersion",pn.int),an("amount",pn.int),an("callData",pn.binary,"cb"),an("callStack",pn.callStack),an("gasPrice",pn.int),an("gasLimit",pn.int)],ar=[...Cn,an("channelId",pn.id,"ch"),an("round",pn.int),an("role",pn.string),an("pubkey",pn.id,"ak")],or=[...Cn,an("from",pn.id,"ak"),an("to",pn.id,"ak"),an("amount",pn.int)],sr=[...Cn,an("from",pn.id,"ak"),an("amount",pn.int)],ir=[...Cn,an("from",pn.id,"ak"),an("amount",pn.int)],cr=[...Cn,an("accounts",pn.mptrees),an("calls",pn.mptrees),an("channels",pn.mptrees),an("contracts",pn.mptrees),an("ns",pn.mptrees),an("oracles",pn.mptrees)],ur=[...Cn,an("contracts",pn.rlpBinary),an("calls",pn.rlpBinary),an("channels",pn.rlpBinary),an("ns",pn.rlpBinary),an("oracles",pn.rlpBinary),an("accounts",pn.rlpBinary)],dr=[...Cn,an("values",pn.rlpBinaries)],lr=[...Cn,an("key",pn.hex),an("value",pn.rawBinary)],hr=[...Cn,an("contracts",pn.rlpBinary)],pr=[...Cn,an("calls",pn.rlpBinary)],fr=[...Cn,an("channels",pn.rlpBinary)],mr=[...Cn,an("mtree",pn.rlpBinary)],gr=[...Cn,an("otree",pn.rlpBinary)],yr=[...Cn,an("accounts",pn.rlpBinary)],wr={[sn.account]:{2:on(An,10)},[sn.signed]:{1:on(_n,Kt)},[sn.spend]:{1:on(kn,12)},[sn.namePreClaim]:{1:on(On,33)},[sn.nameClaim]:{2:on(Nn,32)},[sn.nameUpdate]:{1:on(Sn,34)},[sn.nameTransfer]:{1:on(Pn,36)},[sn.nameRevoke]:{1:on(jn,35)},[sn.contract]:{1:on(Mn,40)},[sn.contractCreate]:{1:on(Fn,42)},[sn.contractCall]:{1:on(qn,43)},[sn.contractCallResult]:{1:on(Vn,41)},[sn.oracleRegister]:{1:on($n,22)},[sn.oracleExtend]:{1:on(Un,25)},[sn.oracleQuery]:{1:on(Hn,23)},[sn.oracleResponse]:{1:on(Kn,24)},[sn.channelCreate]:{2:on(Wn,50)},[sn.channelCloseMutual]:{1:on(Qn,53)},[sn.channelCloseSolo]:{1:on(zn,54)},[sn.channelSlash]:{1:on(Yn,55)},[sn.channelDeposit]:{1:on(Ln,51)},[sn.channelWithdraw]:{1:on(Gn,52)},[sn.channelSettle]:{1:on(Xn,56)},[sn.channelForceProgress]:{1:on(Jn,Wt)},[sn.channelOffChain]:{2:on(Zn,57)},[sn.channel]:{3:on(er,58)},[sn.channelSnapshotSolo]:{1:on(tr,59)},[sn.channelOffChainUpdateTransfer]:{1:on(or,Lt)},[sn.channelOffChainUpdateDeposit]:{1:on(sr,Gt)},[sn.channelOffChainUpdateWithdrawal]:{1:on(ir,Qt)},[sn.channelOffChainCreateContract]:{1:on(nr,zt)},[sn.channelOffChainCallContract]:{1:on(rr,Yt)},[sn.channelReconnect]:{1:on(ar,Xt)},[sn.proofOfInclusion]:{1:on(cr,60)},[sn.stateTrees]:{1:on(ur,62)},[sn.merklePatriciaTree]:{1:on(dr,63)},[sn.merklePatriciaTreeValue]:{1:on(lr,64)},[sn.contractsTree]:{1:on(hr,Jt)},[sn.contractCallsTree]:{1:on(pr,Zt)},[sn.channelsTree]:{1:on(fr,en)},[sn.nameserviceTree]:{1:on(mr,tn)},[sn.oraclesTree]:{1:on(gr,nn)},[sn.accountsTree]:{1:on(yr,rn)},[sn.gaAttach]:{1:on(Bn,80)},[sn.gaMeta]:{2:on(Rn,81)},[sn.payingFor]:{1:on(Dn,82)}},br={10:{2:on(An,10)},[Kt]:{1:on(_n,Kt)},12:{1:on(kn,12)},33:{1:on(On,33)},32:{2:on(Nn,32)},34:{1:on(Sn,34)},36:{1:on(Pn,36)},35:{1:on(jn,35)},40:{1:on(Mn,40)},42:{1:on(Fn,42)},43:{1:on(qn,43)},41:{1:on(Vn,41)},22:{1:on($n,22)},25:{1:on(Un,25)},23:{1:on(Hn,23)},24:{1:on(Kn,24)},50:{2:on(Wn,50)},53:{1:on(Qn,53)},54:{1:on(zn,54)},55:{1:on(Yn,55)},51:{1:on(Ln,51)},52:{1:on(Gn,52)},56:{1:on(Xn,56)},57:{2:on(Zn,57)},58:{3:on(er,58)},59:{1:on(tr,59)},[Lt]:{1:on(or,Lt)},[Gt]:{1:on(sr,Gt)},[Qt]:{1:on(ir,Qt)},[zt]:{1:on(nr,zt)},[Yt]:{1:on(rr,Yt)},[Xt]:{1:on(ar,Xt)},60:{1:on(cr,60)},62:{1:on(ur,62)},63:{1:on(dr,63)},64:{1:on(lr,64)},[Jt]:{1:on(hr,Jt)},[Zt]:{1:on(pr,Zt)},[en]:{1:on(fr,en)},[tn]:{1:on(mr,tn)},[nn]:{1:on(gr,nn)},[rn]:{1:on(yr,rn)},80:{1:on(Bn,80)},81:{2:on(Rn,81)},82:{1:on(Dn,82)},[Wt]:{1:on(Jn,Wt)},70:{3:on(En,70)}},xr=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||y().isBigNumber(e)),vr=e=>e.integerValue(y().ROUND_CEIL);var Tr=T(408).Buffer;const Ir=oa;function Cr(e,t){return qr(mt(Tr.from([...Fr(e,"ak"),...ut(t)])),"ct")}function Er(e,t,n){return qr(mt(Tr.from([...Fr(e,"ak"),...function(e){const t=ut(e,!0);return Tr.concat([Tr.alloc(32-t.length),t])}(t),...Fr(n,"ok")])),"oq")}function Ar(e){return Tr.from(e.toString(16).padStart(64,"0"),"hex")}function kr(e){return Gr(e),qr(mt(e.toLowerCase()),"nm")}function _r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ir();return Gr(e),qr(mt(Tr.concat([Tr.from(e.toLowerCase()),Ar(t)])),"cm")}const Or=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],Nr=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],Sr={ak:32,ct:32,ok:32};function Pr(e,t){if(Sr[t]&&e.length!==Sr[t])throw new qe(`Payload should be ${Sr[t]} bytes, got ${e.length} instead`)}const jr=e=>aa(aa(e)).slice(0,4),Mr=e=>{const t=Tr.from(e);return Tr.concat([t,jr(t)])};function Br(e){const t=e.slice(0,-4);if(!jr(t).equals(e.slice(-4)))throw new Ie;return t}const Rr={encode:e=>Mr(e).toString("base64"),decode:e=>Br(Tr.from(e,"base64"))},Dr={encode:e=>ht().encode(Mr(e)),decode:e=>Br(ht().decode(e))};function Fr(e,t){if("string"!=typeof e)throw new De(`Encoded should be a string, got ${e} instead`);const[n,r,a]=e.split("_");if(!r)throw new De(`Encoded string missing payload: ${e}`);if(a)throw new De(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Le(n,t);const o=Or.includes(n)&&Rr.decode||Nr.includes(n)&&Dr.decode;if(!o)throw new De(`Encoded string have unknown type: ${n}`);const s=o(r);return Pr(s,n),s}function qr(e,t){const n=Or.includes(t)&&Rr.encode||Nr.includes(t)&&Dr.encode;if(!n)throw new Fe(`Unknown type: ${t}`);return Pr(e,t),`${t}_${n(e)}`}function Vr(e){if("string"!=typeof e)throw new S("hashId","a string",e);const t=e.slice(0,2),n=vn[t];if(!n)throw new ze(t);return Tr.from([...ut(n),...Fr(e,t)])}function $r(e){const t=Tr.from(e).readUIntBE(0,1),n=Tn[t];if(!n)throw new Ge(t);return qr(e.slice(1,e.length),n)}function Ur(e){return ut(e,!0)}function Hr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Tr.from([]);return new(y())(Tr.from(e).toString("hex"),16).toString(10)}function Kr(e){return e.map((e=>[ut(e.key),Vr(e.id)]))}function Wr(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:$r(n)})}))}const Lr=".chain";function Gr(e){if(!e||"string"!=typeof e)throw new R("Name must be a string");if(!e.endsWith(Lr))throw new R(`Name should end with .chain: ${e}`)}function Qr(e){try{return Gr(e),!0}catch(e){return!1}}function zr(e){Fr(e);const t=e.substr(0,2);return $t[t]||(()=>{throw new We(t)})()}function Yr(e){Gr(e);const t=e.length-Lr.length;return Ut[Math.min(t,qt)]}function Xr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Dt;if(Number(n)!==n||n%1==0)throw new $e(`Increment must be float. Current increment ${n}`);if(n<Dt)throw new $e(`minimum increment percentage is ${Dt}`);return vr(y()(null!=t?t:Yr(e)).times(y()(Dt).plus(1)))}function Jr(e,t){Gr(e);const n=e.length-Lr.length;return(n<=4&&Ht[4]||n<=8&&Ht[8]||n<=12&&Ht[12]||Ht[13]).plus(t).toString(10)}function Zr(e){return Gr(e),e.length<13+Lr.length}var ea=T(408).Buffer;const ta=p().ModeOfOperation.ecb;function na(e){const t=l().sign.keyPair.fromSecretKey(dt(e));return qr(ea.from(t.publicKey),"ak")}function ra(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return Fr(e,t),!0}catch(e){return!1}}function aa(e){return m()("sha256").update(e).digest()}function oa(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function sa(e){const t=ea.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function ia(e,t){const n=Fr(e,"ak");return qr(mt(ea.concat([n,sa(t)])),"ct")}function ca(e){return l().sign.keyPair.fromSecretKey(e)}function ua(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=l().sign.keyPair(),n=ea.from(t.publicKey),r=ea.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:qr(n,"ak"),secretKey:r.toString("hex")}}function da(e,t){const n=aa(e);return new ta(n).encrypt(t)}function la(e,t){const n=ea.from(t),r=aa(e),a=new ta(r);return ea.from(a.decrypt(n))}function ha(e,t){return l().sign.detached(ea.from(e),ea.from(t))}function pa(e,t,n){return l().sign.detached.verify(new Uint8Array(e),t,n)}function fa(e){const t=ea.from("aeternity Signed Message:\n","utf8"),n=ea.from(e,"utf8");if(n.length>=253)throw new W("Message too long");return mt(ea.concat([ea.from([t.length]),t,ea.from([n.length]),n]))}function ma(e,t){return ha(fa(e),t)}function ga(e,t,n){return pa(fa(e),t,n)}function ya(e,t){const n=ea.from("TheMessage");return pa(n,ha(n,e),t)}var wa=T(983),ba=T(289),xa=T(408).Buffer;const va={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Ta={argon2id:Ia};async function Ia(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,o=(await(0,ba.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:ba.ArgonType.Argon2id})).hash;return xa.from(o)}const Ca={"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 Ae("Invalid password or nonce");return a}}};function Ea(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:va.crypto.symmetric_alg;if(!Ca[r])throw new Oe(r);return Ca[r].encrypt({plaintext:e,nonce:n,key:t})}async function Aa(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:va.crypto.kdf_params,kdf:va.crypto.kdf};if(!t)throw new S("nonce","provided",t);if(null==e)throw new S("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Ta,n.kdf))throw new Oe(n.kdf);return Ta[n.kdf](e,t,n)}function ka(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},va.crypto,o);return Object.assign({name:e,version:1,public_key:_a(n),id:(0,wa.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:xa.from(Ea(xa.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:xa.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:xa.from(a).toString("hex")}})})}function _a(e){const t=l().sign.keyPair.fromSecretKey(dt(e));return qr(xa.from(t.publicKey),"ak")}async function Oa(e,t){Sa(t);const n=Uint8Array.from(dt(t.crypto.cipher_params.nonce)),r=Uint8Array.from(dt(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Ca[r])throw new Oe(r);return Ca[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(dt(t.crypto.ciphertext)),await Aa(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Ae("Invalid password");return 64===xa.from(s).length?xa.from(s).toString("hex"):xa.from(s).toString("utf-8")}async function Na(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({},va.crypto,o);return ka(e,await Aa(t,a,s),"string"==typeof n?xa.from(n,"hex"):n,r,a,s)}function Sa(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ee(`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 Ee(`Invalid key file format. Require properties: ${n}`);return!0}var Pa=T(485);const ja={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},Ma={[ja.AE]:0,[ja.MILI_AE]:-3,[ja.MICRO_AE]:-6,[ja.NANO_AE]:-9,[ja.PICO_AE]:-12,[ja.FEMTO_AE]:-15,[ja.AETTOS]:-18},Ba=function(e){let{denomination:t=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Da(e,{denomination:t,targetDenomination:ja.AE})},Ra=function(e){let{denomination:t=ja.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Da(e,{denomination:t})},Da=function(e){let{denomination:t=ja.AETTOS,targetDenomination:n=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(ja);if(!r.includes(t))throw new B(`Invalid denomination: ${t}`);if(!r.includes(n))throw new B(`Invalid target denomination: ${n}`);if(!xr(e))throw new S("value","a number",e);return new(y())(e).shiftedBy(Ma[t]-Ma[n]).toFixed()},Fa=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],qa=e=>Fa.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),Va=e=>{var t;return null!==(t=Fa.find((t=>t.magnitude<=e)))&&void 0!==t?t:Fa[Fa.length-1]};var $a,Ua=e=>{var t;const n=new(y())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:o}=(r<0?qa:Va)(r);return`${n.shiftedBy(-o).precision(9+Math.min(r-o,0)).toFixed()}${""!==a?" ":""}${a}`},Ha=T(408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}($a||($a={}));class Ka{static nodeHash(e){return Ha.from(mt((0,Pa.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 _e("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(Ka.nodeHash(n)!==t)throw new ke;const{type:r,payload:a}=Ka.parseNode(n);switch(r){case $a.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new _e("Can't find a node by hash in branch node")}));break;case $a.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new _e("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:$a.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Pe(n);const r=n<=1?$a.Extension:$a.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Se(e.length)}}serialize(){return[Ha.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Ha.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Ka.parseNode(this.nodes[t]);switch(n){case $a.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case $a.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 $a.Leaf:if(a!==e)return;return r[0]}}}}var Wa=T(408).Buffer;const La="delta";function Ga(e,t,n){if(!e)return"";switch(t){case pn.ctVersion:{const[t,,n]=e;return{vmVersion:Hr(Wa.from([t])),abiVersion:Hr(Wa.from([n]))}}case pn.amount:case pn.int:return Hr(e);case pn.id:return $r(e);case pn.ids:return e.map($r);case pn.bool:return 1===e[0];case pn.binary:return qr(e,n);case pn.stateTree:return qr(e,"ss");case pn.string:return e.toString();case pn.payload:return qr(e,"ba");case pn.pointers:return Wr(e);case pn.rlpBinary:return so(e,!0);case pn.rlpBinaries:return e.map((e=>so(e,!0)));case pn.rawBinary:return e;case pn.hex:return e.toString("hex");case pn.offChainUpdates:return e.map((e=>so(e,!0)));case pn.callStack:return[Hr(e)];case pn.mptrees:return e.map((e=>new Ka(e)));case pn.callReturnType:switch(Hr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case pn.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 yt?t.deserialize(e):e}}function Qa(e,t,n,r){var a;switch(t){case pn.amount:case pn.int:return Ur(e);case pn.id:return Vr(e);case pn.ids:return e.map(Vr);case pn.bool:return Wa.from([e?1:0]);case pn.binary:return Fr(e,n);case pn.stateTree:return Fr(e,"ss");case pn.hex:return Wa.from(e,"hex");case pn.signatures:return e.map(Wa.from);case pn.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Fr(e,"ba"):ut(e);case pn.string:return ut(e);case pn.pointers:return Kr(e);case pn.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case pn.mptrees:return e.map((e=>e.serialize()));case pn.ctVersion:return Wa.from([...ut(e.vmVersion),0,...ut(e.abiVersion)]);case pn.callReturnType:switch(e){case"ok":return Ur(0);case"error":return Ur(1);case"revert":return Ur(2);default:return e}default:return t.prototype instanceof yt?t.serialize(e,r):e}}function za(e,t,n){if(null==e)return"Field is required";switch(t){case pn.amount:case pn.int:return isNaN(e)&&!y().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(y())(e).lt(0)?`${e} must be >= 0`:void 0;case pn.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case pn.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case pn.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 Ya(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===pn.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:Da(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===La?0:1,e[`${n}Value`]=a.value),e}),{})}function Xa(e,t){const n={[sn.oracleRegister]:"oracleTtl",[sn.oracleExtend]:"oracleTtl",[sn.oracleQuery]:"queryTtl",[sn.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ja(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=y()(1e9);if(!r)return y()(gn).times(o).toString(10);let s=Za(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=y()(0);for(;!s.eq(i);)s=Za(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function Za(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=oo({...n},e,{vsn:o}),i=s.length;return wn(e).plus(bn(e,i,{relativeTtl:Xa(n,e),innerTxSize:[sn.gaMeta,sn.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function eo(){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(${gn})`),e||Ja(t,{params:r,gas:n,vsn:o})}function to(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 no(e,t){let{excludeKeys:n=[],denomination:r=ja.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=to(e=Ya(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Ke("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return Qa(e[n],r,a,e)}))}function ro(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:Ga(e[r],o,s)})}),{})}const ao=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?br:wr;if(!s[o])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function oo(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=xt,denomination:o=ja.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=ao({type:t,vsn:a}),c=no({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),u=(0,Pa.encode)(c),d=qr(u,r);return{tx:d,rlpEncoded:u,binary:c,txObject:ro(c,s)}}function so(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:Fr(e,n),a=(0,Pa.decode)(r),o=Hr(a[0]),s=Hr(a[1]),[i]=ao({objId:o,vsn:s});return{txType:hn[o],tx:ro(a,i),rlpEncoded:r,binary:a}}function io(e){return qr(mt("string"==typeof e&&e.startsWith("tx_")?Fr(e,"tx"):e),"th")}var co={calculateMinFee:Ja,calculateFee:eo,unpackTx:so,unpackRawTx:ro,buildTx:oo,buildRawTx:no,validateParams:to,buildTxHash:io},uo=T(882),lo=T(986),ho=T(408).Buffer;const po=ho.from("ed25519 seed"),fo=2147483648,mo=e=>ho.from(e).toString("hex");function go(e,t){const n=""===e?[]:(0,lo.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<fo)throw new Ne(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>vo(e,t)),t)}function yo(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Ce;const n=xo(t);return go(e.slice(2),n)}function wo(e){const{secretKey:t,publicKey:n}=e;return{secretKey:mo(t),publicKey:qr(n,"ak")}}function bo(e){return l().sign.keyPair.fromSeed(e)}function xo(e){const t=(0,uo.full)(e,po);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function vo(e,t){let{secretKey:n,chainCode:r}=e;if(t<fo)throw new je(t);const a=ho.allocUnsafe(4);a.writeUInt32BE(t,0);const o=ho.concat([ho.alloc(1,0),ho.from(n),ho.from(a)]),s=(0,uo.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function To(e,t){const n=yo("m/44h/457h",e);return{secretKey:mo(da(t,n.secretKey)),chainCode:mo(da(t,n.chainCode))}}function Io(e,t,n){const r={secretKey:la(t,ho.from(e.secretKey,"hex")),chainCode:la(t,ho.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>wo(bo(go(`${t}h/0h/0h`,r).secretKey))))}const Co=(e,t)=>({...wo(bo(go(`${t}h/0h/0h`,yo("m/44h/457h",e)).secretKey)),idx:t});var Eo=T(910),Ao=T.n(Eo),ko=T(180),_o=Ao()((0,ko.required)({methods:{spendTx:ko.required,namePreclaimTx:ko.required,nameClaimTx:ko.required,nameTransferTx:ko.required,nameUpdateTx:ko.required,nameRevokeTx:ko.required,contractCreateTx:ko.required,contractCallTx:ko.required,oracleRegisterTx:ko.required,oracleExtendTx:ko.required,oraclePostQueryTx:ko.required,oracleRespondTx:ko.required,getAccountNonce:ko.required,channelCloseSoloTx:ko.required,channelSlashTx:ko.required,channelSettleTx:ko.required,channelSnapshotSoloTx:ko.required,gaAttachTx:ko.required,getVmVersion:ko.required,prepareTxParams:ko.required}}));const Oo=Ao()({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,ko.required)({methods:{sendTransaction:ko.required,height:ko.required,awaitHeight:ko.required,poll:ko.required,balance:ko.required,getBalance:ko.required,tx:ko.required,getTxInfo:ko.required,mempool:ko.required,txDryRun:ko.required,getAccount:ko.required}}));var No=Oo;function So(){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 Po=Ao()({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!==So)),t.compose.initializers=[So]}}),jo=T(659),Mo=T.n(jo),Bo=T(503),Ro=T.n(Bo),Do=T(911);const Fo=T.n(Do)()({storeAsString:!0}),qo=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,qo(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>qo(e)));if("string"==typeof e&&y()(e).toString(10)===e){const t=y()(e);return t.toJSON=()=>t.toString(10),t}return e};var Vo={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 Fo.stringify(qo(e),...n)},parse:Fo.parse};const $o=async e=>await new Promise((t=>setTimeout(t,e))),Uo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),Ho=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),Ko=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>Ko(e,t))):Uo(t,(t=>{let[n,r]=t;return[e(n),Ko(e,r)]})),Wo=Ko.bind(null,ot),Lo=Ko.bind(null,at);let Go=!1;var Qo=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 Ro()(e)).json();const s=r?JSON:Vo,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Mo()({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]=Ro()(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:Lo(n)}),o&&o(e)||e}})}))),u=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),Uo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Go||(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")'),Go=!0),n(...arguments)}]}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),l={},h=Uo(u,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+at(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 j(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=Uo(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=Ho(a?n:Wo(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 zo(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 Yo(){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 D("networkId is not provided");return n&&!r?null:r}const Xo=Po.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new D('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Qo(`${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,!zo(this.version,Jo,Zo)&&!r)throw new L("node",this.version,Jo,Zo);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}}),Jo="6.2.0",Zo="7.0.0";var es=Xo,ts=T(408).Buffer;const ns=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var rs=Ao()({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=Fr(e,"tx"),a=ts.concat([ts.from(n.join("-")),mt(r)]),o=[await this.sign(a,t)];return oo({encodedTx:r,signatures:o},sn.signed).tx},getNetworkId:Yo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(fa(e),t);return t.returnHex?ts.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ga(e,"string"==typeof t?ts.from(t,"hex"):t,Fr(await this.address(n)))}}},(0,ko.required)({methods:{sign:ko.required,address:ko.required}}));const as=Ao()(_o,rs,No,{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:co.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 S("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(y())(await this.balance(o)),i=s.times(e).integerValue(y().ROUND_HALF_UP),{tx:{fee:c}}=co.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:ja.AETTOS}}}});var os=as,ss=T(408).Buffer;const is=[(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=ss.from([o.nodeNetworkId,...s.includes(sn.payingFor)?["inner_tx"]:[]].join("-")),c=ss.concat([i,n.rlpEncoded]),u=ss.concat([i,mt(n.rlpEncoded)]),d=Fr(a.id,"ak");return pa(c,r[0],d)||pa(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)?[]:us(qr((null!=n?n:r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=eo(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(y())(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(y())(a).plus(o||0).plus(r||0).plus(u===sn.payingFor?s.tx.encodedTx.tx.fee:0).minus(c.includes(sn.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(sn.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>=Ot?[]:[{message:`Gas price ${t} must be bigger then ${Ot}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=ln[s];if(!i)throw new K(`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(sn.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"]}]}}],cs=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 us(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:o}=so(e),s=null!==(n=cs(a))&&void 0!==n?n:o===sn.signed?cs(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([s&&t.api.getAccountByPubkey(s).catch((()=>({id:s,balance:new(y())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(is.map((e=>e(a,{txType:o,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}var ds=Ao()({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 Re("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 Be(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 Re(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Yo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Me;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 U('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new U(`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 U(`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 U(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function ls(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:St.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 Ve(o),{tx:u,accountAddress:l,options:d}))}))}const hs=No.compose(ds,{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 us(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new He(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:()=>us(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return Da(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=ja.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 Da(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 $o(n),t=await this.height(),t>=e)return t;throw new V((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 $o(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new $(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 S("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 S("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(ls.bind(this,u))):ls.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 Ye(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 J(`Name or address should be a string: ${e}`);try{return Fr(e),e}catch(e){}if(Qr(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Y(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return kr(e)}throw new J(`Invalid name or address: ${e}`)}}});var ps=hs,fs=T(408).Buffer;const ms=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new U('tx "params" should be an object');if("string"!=typeof e||!Object.values(sn).includes(e))throw new Xe(`Unknown transaction type ${e}`);const r=eo(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=oo({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},gs=e=>{if(!e)throw new He(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=so(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}=so(e,!0);return{encodedTx:qr(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new He(`"tx" should be a string or Uint8Array, got ${e} instead`)},ys=Ao()({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 ms(n,t,r);if(e)return gs(e);throw new He('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===sn.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=>ys({tx:e}),fromRlp:e=>ys({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 U("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,ms(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=st(e)?fs.from(e,"hex"):e,!(fs.isBuffer(e)||e instanceof Uint8Array))throw new Ue("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,ms(sn.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 eo(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var ws=ys;async function bs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Tt,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new S("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const xs=ps.compose(_o,{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(sn.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ys({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:sn.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(sn.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:sn.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(sn.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:sn.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o),name:qr(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(sn.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ys({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:sn.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(sn.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:sn.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(sn.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:sn.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=Ot,callData:c}=e;const u=this.getVmVersion(sn.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(sn.contractCreate,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return this.nativeMode?{tx:ys({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:sn.contractCreate}).encodedTx,contractId:Cr(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=Ot,callData:i}=e;const c=this.getVmVersion(sn.contractCall,arguments[0]),{fee:u,ttl:d,nonce:l}=await this.prepareTxParams(sn.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:l,ttl:d,fee:u,abiVersion:c.abiVersion,gasPrice:s},type:sn.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 bs.call(this,a,!i),l=eo(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=un.NO_ABI}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(sn.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:ys({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:sn.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(sn.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ys({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:sn.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(sn.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ys({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:u,senderId:s},type:sn.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(sn.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ys({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:sn.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(sn.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},sn.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(sn.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},sn.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(sn.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},sn.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(sn.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},sn.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=Ot,callData:c}=e;const u=this.getVmVersion(sn.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(sn.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return{tx:ys({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:sn.gaAttach}).encodedTx,contractId:Cr(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:so(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(sn.payingFor,{...a,...r,senderId:n});return oo({...a,...r,fee:o,nonce:s},sn.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=ln[r];if(!a)throw new K("Not supported consensus protocol version");const o=a[e];if(!o)throw new Xe("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Ze(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Je(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var vs=xs,Ts=T(408).Buffer;const Is=new WeakMap;var Cs=rs.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return Fr(n),void Is.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new Q("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Q('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Q('Public Key must be a base58c string with "ak_" prefix');if(!Ts.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!st(t.secretKey))throw new Q("Secret key must be hex string or Buffer");const r=Ts.from(Fr(t.publicKey,"ak"));if(!ya(Ts.from(t.secretKey,"hex"),r))throw new Q("Invalid Key Pair");Is.set(this,{secretKey:Ts.isBuffer(t.secretKey)?t.secretKey:Ts.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Q("You are trying to sign data using generalized account without keypair");return Promise.resolve(ha(e,Is.get(this).secretKey))},address(){return Promise.resolve(Is.get(this).publicKey)}}}),Es=rs.compose(Po,{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(Fr(e,"ak"),!this.accounts[e])throw new z(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new U("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(Fr(e,"ak"),!this.accounts[e])throw new z(e);return this.accounts[e];case"object":return ns(e)?e:Cs({keypair:e});default:throw new U(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}});const As=os.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Gr(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]:Pt,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>Pt||r<=0)throw new S("nameTtl",`a number between 1 and ${Pt} 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]:{};Gr(e);const n={...this.Ae.defaults,...t},r=oa(),a=await this.height(),o=_r(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){Gr(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(!Zr(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]:{};Gr(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]:{};Gr(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]:{};Gr(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:Bt,nameTtl:Pt}}}});var ks=As,_s=Po.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 D("compilerUrl required");e=e.replace(/\/$/,"");const n=await Qo(`${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=Uo(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&&!zo(this.compilerVersion,Os,Ns))throw new L("compiler",this.compilerVersion,Os,Ns)}},props:{compilerVersion:null}});const Os="6.1.0",Ns="7.0.0";var Ss=T(946),Ps=T(408).Buffer,js=os.compose(_s,{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 ge;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new me("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new pe(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new Ss.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 me("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 le(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new P("Contract already compiled");if(!c.source)throw new P("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:ws({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=Fr(r).toString();break;default:throw new G(`Unknown returnType: ${n}`)}throw new we(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 be(`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"+mt(n).toString("hex"))===t}));switch(o.length){case 0:throw new ve(t,e);case 1:return o[0][0];default:throw new Te(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 he;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 ye;if("init"===t&&!a.callStatic)throw new fe('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new fe("You need to deploy contract before calling!");if(a.amount>0&&!1===o.payable)throw new xe(`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 St.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:_t,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:ws({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 ve)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 U(`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(Ps.concat([Ps.from(this.getNetworkId(t)),...e.map((e=>Fr(e)))]),t);return Ps.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?[kr(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([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{gasPrice:Ot,amount:kt}}}});const Ms=e=>async(t,n)=>{if("object"!=typeof t)throw new de("AuthData must be an object");if(t.gas&&y()(t.gas).gt(Nt))throw new de(`the maximum gas value for ga authFun is ${Nt}, got ${t.gas}`);const r=t.gas||Nt;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new de('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new de("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}},Bs=js.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 P(`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:mt(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 D("authData is required");const{authCallData:a,gas:o}=await Ms(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(sn.contractCall),c=Ds(so(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(sn.gaMeta,u),{rlpEncoded:l}=oo({...u,fee:`${d}`},sn.gaMeta,{vsn:2});return Ds(l).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Rs=Bs;const Ds=e=>oo({encodedTx:e,signatures:[]},sn.signed),Fs=1;let qs,Vs,$s,Us,Hs;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(qs||(qs={})),function(e){e.window="window",e.extension="extension"}(Vs||(Vs={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}($s||($s={})),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"}(Us||(Us={})),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"}(Hs||(Hs={}));const Ks={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"})},Ws=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 F;return{}},Ls=()=>window!==window.parent,Gs=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}},Qs=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)},zs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ys=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}}},Xs=e=>(t,n,r)=>e.sendMessage(Ys(t,n,r),!0),Js=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length;var Zs=Ao()({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=Gs(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new ee(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===Hs.CONNECTED||this.info.status===Hs.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=Hs.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Js(e))throw new U("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(zs(Us.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==$s.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===$s.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(zs(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Z;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 te(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 ei={[Us.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Us.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 es(a),!0),e.onNetworkChange(n)},[Us.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},ti={[Us.address]:e=>t=>e.rpcClient.processResponse(t),[Us.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Hs.CONNECTED),e.rpcClient.processResponse(t)},[Us.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]}))},[Us.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Us.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ni={};var ri=os.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 S(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 ae;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 et("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Zs({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,wa.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?Qs(ti,e,{debug:a.debug})(a)(e):Qs(ni,e,{debug:a.debug})(a)(e):Qs(ei,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const o=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(o,"node"))throw new rt("Missing URLs of the Node");return t&&this.addNode(n,await es(o.node),r),o},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new nt("You are not connected to Wallet");e&&this.rpcClient.sendMessage(zs(Us.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 nt("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ae;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ne(e);return e||t},async askAddresses(){if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;return this.rpcClient.request(Us.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new nt("You are not connected to Wallet");return this.rpcClient.request(Us.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(Us.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 nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(Us.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Us.connect,{name:this.name,version:Fs,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 nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(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(Us.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 ai=os.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=Er(o,so(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 $o(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Fr(n,"or");if(o.length)return String(o)}throw new V((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 $o(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:Fr(n.query).toString(),decodedResponse:Fr(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>Fr(e)}}},deepProps:{Ae:{defaults:{queryFee:It,oracleTtl:Ct,queryTtl:Et,responseTtl:At}}}});var oi=ai,si=os.compose(vs,oi,js,ks,ps,ri);const ii=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||!ns(n.onAccount))throw new U("Provided onAccount should be an AccountBase");t=n.onAccount}return t},ci={[Us.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ui={},di={[Us.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i,connectNode:c}=r;return s!==Fs?{error:Ks.unsupportedProtocol()}:(n.updateInfo({status:Hs.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?Hs.NODE_BINDED:Hs.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Hs.CONNECTION_REJECTED}),{error:Ks.connectionDeny(e)}))))},[Us.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(!Js(r))throw new U("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:Ks.internalError(e.message)}}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.notAuthorize()}},[Us.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:Ks.rejectedByUser(e)}))):{error:Ks.notAuthorize()},[Us.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:ws.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=ii(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Ks.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 us(e||a,t.selectedNode.instance);return r.length?{error:Ks.invalidTransaction(r)}:{error:Ks.broadcastFailed(n.message)}}throw n}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.unsupportedNetwork()}:{error:Ks.permissionDeny(c)}:{error:Ks.notAuthorize()}},[Us.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Ks.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=ii(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Ks.internalError(e.message)}}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.permissionDeny(s)}}},li=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return Qs(ci,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return Qs(ui,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=Qs(di,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;Xs(a)(t,o,c)}};var hi=os.compose(Es,{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 S(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,wa.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(zs(Us.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Hs.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 re(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,wa.v4)();return this.rpcClients[t]=Zs({id:t,info:{status:Hs.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[li(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...zs(Us.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Ws(!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?Vs.extension:Vs.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),pi=os.compose(hi,vs,js,oi,ks,Rs,ps),fi=T(397),mi=T(735);const 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,Ni=new WeakMap,Si=new WeakMap;function Pi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];vi.get(e).emit(...n)}function ji(e,t){if(!t)throw new ue;bi.set(e,t),t.handler.enter&&t.handler.enter(e),Fi(e)}function Mi(e,t){t!==yi.get(e)&&(yi.set(e,t),Pi(e,"statusChanged",t))}function Bi(e,t){wi.set(e,t),Pi(e,"stateChanged",t)}function Ri(e,t){const{debug:n=!1}=gi.get(e);n&&console.log("Send message: ",t),xi.get(e).send(Vo.stringify(t))}function Di(e,t,n){Ci.set(e,[...Ci.get(e)||[],{guard:t,action:n}]),Fi(e)}async function Fi(e){const t=Ei.get(e),n=Ci.get(e)||[];if(t||!n.length)return;const r=bi.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;Ci.set(e,n.filter(((e,t)=>a!==t))),Ei.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));Ei.set(e,!1),ji(e,o)}async function qi(e,t){const{handler:n,state:r}=bi.get(e);ji(e,await Promise.resolve(n(e,t,r)))}function Vi(e){clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e)),Oi.set(e,setTimeout((()=>{Ri(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),Ni.set(e,setTimeout((()=>{Ui(e),Pi(e,"error",new ie)}),5e3))}),1e4))}function $i(e,t,n){return new Promise(((r,a)=>{const o=Ai.set(e,Ai.get(e)+1).get(e);_i.get(e).set(o,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new oe(e.error.message+(t?`: ${t}`:"")))}})),Ri(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Ui(e){xi.get(e).close(),clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e))}async function Hi(e,t){let{url:n,...r}=t;gi.set(e,r),bi.set(e,{handler:r.existingFsmId?Gi:Li}),vi.set(e,new mi.EventEmitter),Ai.set(e,0),_i.set(e,new Map),Ti.set(e,[]);const a=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return a.searchParams.set(ot(t),n)})),a.searchParams.set("protocol","json-rpc"),Mi(e,"connecting");const o=new fi.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:()=>{t(),Mi(e,"connected"),r.reconnectTx&&(ji(e,{handler:Zi}),setTimeout((async()=>Bi(e,(await $i(e,"channels.get.offchain_state",{})).signed_tx)))),Vi(e)},onclose:()=>{Mi(e,"disconnected"),clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Vo.parse(t),{debug:r=!1}=gi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=_i.get(e).get(n.id);try{t(n)}finally{_i.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(Ti.get(e).push(n),async function(e){if(Ii.get(e))return;const t=Ti.get(e);if(t.length){for(Ii.set(e,!0);t.length;){const n=t.shift();try{await qi(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}Ii.set(e,!1)}}(e)):n.params.channel_id!==ki.get(e)&&null!=ki.get(e)||Vi(e):Pi(e,"message",n.params.data.message)}(e,n)}}))),xi.set(e,o)}async function Ki(e,t){const{signatures:n,encodedTx:r}=so(e).tx,a=await t(qr(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=so(a);return oo({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Wi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new ce(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Zi}}function Li(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Mi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Qi}):"channel_reestablished"===t.params.data.event?{handler:Xi}:"fsm_up"===t.params.data.event?(Si.set(e,t.params.data.fsm_id),{handler:Li}):{handler:Li}:"channels.error"===t.method?(Pi(e,"error",new se(t.payload.message)),{handler:wc}):void 0}async function Gi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Si.set(e,t.params.data.fsm_id),Bi(e,(await $i(e,"channels.get.offchain_state",{})).signed_tx),{handler:Zi}):Wi(0,t,n)}async function Qi(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[gi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await gi.get(e).sign(r,t.params.data.tx);return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:zi}}const n=await Ki(t.params.data.signed_tx,(t=>gi.get(e).sign(r,t)));return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:zi}}}function zi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===gi.get(e).role)return{handler:Yi};if("funding_created"===t.params.data.info&&"responder"===gi.get(e).role)return{handler:Yi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===gi.get(e).role)return ki.set(e,t.params.channel_id),Mi(e,"signed"),{handler:zi}}function Yi(e,t,n){if("channels.info"===t.method){const e={funding_created:Yi,own_funding_locked:Yi,funding_locked:Xi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Pi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yi}}function Xi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return ki.set(e,t.params.channel_id),{handler:Ji}}function Ji(e,t,n){if("channels.update"===t.method)return Bi(e,t.params.data.state),{handler:Zi}}async function Zi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:nc};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Pi(e,t.params.data.event),{handler:Zi};case"fsm_up":return Si.set(e,t.params.data.fsm_id),{handler:Zi};case"timeout":case"close_mutual":case"shutdown":return{handler:Zi};case"closing":return Mi(e,"closing"),{handler:Zi};case"closed_confirmed":return Mi(e,"closed"),{handler:wc};case"died":return Mi(e,"died"),{handler:wc}}break;case"channels.on_chain_tx":return Pi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Zi};case"channels.leave":return{handler:Zi};case"channels.update":return Bi(e,t.params.data.state),{handler:Zi};case"channels.sign.shutdown_sign_ack":return nc(e,t,n)}}async function ec(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:tc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:tc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:ec,state:n}}if("channels.error"===t.method)return n.reject(new se(t.data.message)),{handler:Zi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new M("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new P("Amount cannot be negative")):n.reject(new se(t.error.message)),{handler:Zi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}function tc(e,t,n){return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):t.error?(n.reject(new se(t.error.message)),{handler:Zi}):Wi(0,t,n)}async function nc(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await gi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Zi}}else{const a=await Ki(t.params.data.signed_tx,(n=>gi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Zi};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:rc,state:n}}return Ri(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:ua().publicKey,to:ua().publicKey,amount:1}}),{handler:rc,state:n}}return Wi(0,t,n)}function rc(e,t,n){return t.error?{handler:rc,state:n}:"channels.conflict"===t.method?{handler:Zi}:Wi(0,t,n)}async function ac(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:oc,state:n};const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e)));return Ri(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:oc,state:n}}return Wi(0,t,n)}function oc(e,t,n){return"channels.on_chain_tx"===t.method?{handler:wc,state:n}:Wi(0,t,n)}function sc(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ui(e),{handler:wc}):"channels.error"===t.method?(n.reject(new se(t.data.message)),{handler:Zi}):Wi(0,t,n)}async function ic(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:cc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:cc,state:n}}return Wi(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_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:cc,state:n}}return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function uc(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:dc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:dc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:dc,state:n}}return Wi(0,t,n)}function dc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:dc,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:dc,state:n}}return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function lc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:hc,state:n};const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:hc,state:n};if("number"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:hc,state:n}}return Wi(0,t,n)}function hc(e,t,n){if("channels.update"===t.method){const{round:r}=so(t.params.data.state).tx.encodedTx.tx,a=gi.get(e)[{initiator:"initiatorId",responder:"responderId"}[gi.get(e).role]];return Bi(e,t.params.data.state),n.resolve({accepted:!0,address:ia(a,r),signedTx:t.params.data.state}),{handler:Zi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function pc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:gc,state:n};const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:gc,state:n};if("number"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:gc,state:n}}return Wi(0,t,n)}async function fc(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Ri(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:mc,state:n}}return Wi(0,t,n)}function mc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Pi(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})),Wi(0,t,n)}function gc(e,t,n){return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}function yc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Zi}):(n.reject(new ce("Unexpected message received")),{handler:wc})}function wc(e,t,n){return n?"closing"===t.params.data.event?{handler:wc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:wc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:wc}):{handler:wc,state:n}:{handler:wc}}function bc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[at(n)]:r}}),{})}Zi.enter=e=>{Mi(e,"open")};const xc=Po.compose({async init(e){Hi(this,e)},methods:{on:function(e,t){vi.get(this).on(e,t)},off:function(e,t){vi.get(this).removeListener(e,t)},status:function(){return yi.get(this)},state:async function(){return bc(await $i(this,"channels.get.offchain_state",{}))},round:function(){if(!wi.get(this))return null;const{txType:e,tx:t}=so(wi.get(this)).tx.encodedTx;switch(e){case sn.channelCreate:return 1;case sn.channelOffChain:case sn.channelWithdraw:case sn.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return ki.get(this)},fsmId:function(){return Si.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:ec,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await $i(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await $i(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Di(this,((e,t)=>t.handler===Zi),((n,r)=>(Ri(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:sc,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Di(this,((e,t)=>t.handler===Zi),((r,a)=>(Ri(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:ac,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Ri(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)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:ic,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)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:uc,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)=>{Di(this,((e,t)=>t.handler===Zi),((c,u)=>(Ri(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:lc,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)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:pc,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return bc(await $i(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 bc(await $i(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await $i(this,"channels.get.contract",{pubkey:e});return bc({...t,contract:bc(t.contract)})},disconnect:function(){return Ui(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Di(this,((e,t)=>t.handler===Zi),((n,r)=>(Ri(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:yc,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)=>{Di(this,((e,t)=>t.handler===Zi),((d,l)=>(Ri(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:fc,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return xc({...e,reconnectTx:await n("reconnect",oo(t,sn.channelReconnect).tx)})}}});var vc=xc,Tc=os.compose(Es,ps,vs,ks,js,oi,Rs),Ic=Ao()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new H("Window object not found, you can run bridge only in browser");if(!t)throw new D("pageConnection required");if(!n)throw new D("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()}}}),Cc=(0,ko.required)({methods:{connect:ko.required,disconnect:ko.required,sendMessage:ko.required,isConnected:ko.required}});const Ec=()=>{const e="object"==typeof Ws(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ls()?window.parent:void 0};var Ac=Ao()({init(){let{connectionInfo:e={},target:t=Ec(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=qs.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(qs).includes(a))throw new tt(`sendDirection must be one of [${Object.keys(qs)}]`);if(!Object.keys(qs).includes(o))throw new tt(`receiveDirection must be one of [${Object.keys(qs)}]`);this.connectionInfo={id:(0,wa.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 et("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 nt("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},Cc),kc=Ao()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new H("Window object not found, you can run wallet detector only in browser");this.connection=e||Ac({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!==Us.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return Ac({connectionInfo:this,sendDirection:e?qs.to_waellet:void 0,receiveDirection:e?qs.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()}}}),_c=Ao()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Ws().runtime)throw new rt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Ws().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new et("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 nt("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)}}},Cc);const Oc=zr}(),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 nr},AE_AMOUNT_FORMATS:function(){return Ue},AMOUNT:function(){return Jn},AccountBase:function(){return rc},AccountError:function(){return f},AeSdk:function(){return pl},AeSdkAepp:function(){return Yl},AeSdkBase:function(){return dl},AeSdkWallet:function(){return tu},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 gd},BrowserWindowMessageConnection:function(){return yd},BytecodeMismatchError:function(){return ie},CLIENT_TTL:function(){return $t},Channel:function(){return cd},ChannelCallError:function(){return Z},ChannelConnectionError:function(){return ee},ChannelError:function(){return b},ChannelPingTimedOutError:function(){return te},Compiler:function(){return rl},CompilerError:function(){return v},ContractError:function(){return x},CryptographyError:function(){return S},DRY_RUN_ACCOUNT:function(){return er},DecodeError:function(){return Te},DerivationError:function(){return ma},DryRunError:function(){return ze},DuplicateContractError:function(){return oe},DuplicateNodeError:function(){return xe},Encoding:function(){return dt},FIELD_TYPES:function(){return ir},GAS_MAX:function(){return ii},ID_TAG:function(){return si},ID_TAG_PREFIX:function(){return li},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 zr},InvalidTxParamsError:function(){return Pe},MAX_AUTH_FUN_GAS:function(){return Zn},MESSAGE_DIRECTION:function(){return ml},METHODS:function(){return fl},MIN_GAS_PRICE:function(){return Gt},MemoryAccount:function(){return oc},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 tc},NodeError:function(){return T},NodeInvocationError:function(){return pe},NodeNotFoundError:function(){return Se},NotImplementedError:function(){return D},NotPayableFunctionError:function(){return he},ORACLE_TTL:function(){return Qn},ORACLE_TTL_TYPES:function(){return Kn},POINTER_KEY_BY_PREFIX:function(){return ui},PREFIX_ID_TAG:function(){return ci},PROTOCOL_VERSIONS:function(){return rr},PROTOCOL_VM_ABI:function(){return ar},PayloadLengthError:function(){return _e},PrefixNotFoundError:function(){return Ee},QUERY_FEE:function(){return Wn},QUERY_TTL:function(){return Yn},RESPONSE_TTL:function(){return Xn},RPC_STATUS:function(){return gl},RequestTimedOutError:function(){return O},RpcBroadcastError:function(){return bl},RpcConnectionDenyError:function(){return Sl},RpcConnectionError:function(){return Ve},RpcError:function(){return Cl},RpcInternalError:function(){return zl},RpcInvalidTransactionError:function(){return wl},RpcMethodNotFoundError:function(){return ql},RpcNotAuthorizeError:function(){return Tl},RpcPermissionDenyError:function(){return _l},RpcRejectedByUserError:function(){return vl},RpcUnsupportedProtocolError:function(){return xl},SUBSCRIPTION_TYPES:function(){return yl},SchemaNotFoundError:function(){return Ie},TX_SCHEMA:function(){return sr},TX_TTL:function(){return Ln},TX_TYPE:function(){return oi},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 tr},WALLET_TYPE:function(){return hl},WalletError:function(){return z},_buildTx:function(){return aa},_getPollInterval:function(){return _r},aensBid:function(){return Ma},aensClaim:function(){return ka},aensPreclaim:function(){return Oa},aensQuery:function(){return Ia},aensRevoke:function(){return Aa},aensTransfer:function(){return Ea},aensUpdate:function(){return Pa},awaitHeight:function(){return Pr},bigNumberToByteArray:function(){return Je},buildAuthTxHash:function(){return ei},buildContractId:function(){return an},buildContractIdByContractTx:function(){return br},buildPointers:function(){return pn},buildTx:function(){return Nr},buildTxHash:function(){return wr},bytesToHex:function(){return tt},commitmentHash:function(){return ln},computeAuctionEndBlock:function(){return wn},computeBidFee:function(){return Cn},connectionProxy:function(){return ld},createAensDelegationSignature:function(){return Va},createGeneralizedAccount:function(){return Ja},createMetaTx:function(){return Za},createOracleDelegationSignature:function(){return Ua},createSalt:function(){return ai},decode:function(){return St},decryptKey:function(){return pa},deriveChild:function(){return fa},derivePathFromKey:function(){return ga},derivePathFromSeed:function(){return Ca},dump:function(){return ta},encode:function(){return Tt},encodeContractAddress:function(){return It},encodeUnsigned:function(){return Pt},encryptKey:function(){return da},extendOracleTtl:function(){return Ka},formatAmount:function(){return He},formatSalt:function(){return sn},genSalt:function(){return At},generateKeyPair:function(){return Ot},generateKeyPairFromSecret:function(){return kt},generateSaveHDWalletFromSeed:function(){return va},getAccount:function(){return kr},getAddressFromPriv:function(){return zt},getBalance:function(){return Or},getContract:function(){return $r},getContractByteCode:function(){return Hr},getContractInstance:function(){return Ba},getCurrentGeneration:function(){return Mr},getDefaultPointerKey:function(){return gn},getGeneration:function(){return Rr},getHdWalletAccountFromSeed:function(){return Sa},getHeight:function(){return qr},getKeyBlock:function(){return jr},getKeyPair:function(){return ba},getMasterKeyFromSeed:function(){return Na},getMicroBlockHeader:function(){return Dr},getMicroBlockTransactions:function(){return Br},getMinimumNameFee:function(){return Nn},getName:function(){return Gr},getOracleObject:function(){return Wa},getQueryObject:function(){return $a},getSaveHDWalletAccounts:function(){return xa},getVmVersion:function(){return na},hash:function(){return Et},height:function(){return ni},hexToBytes:function(){return nt},isAddressValid:function(){return qt},isAuctionName:function(){return bn},isGA:function(){return Xa},isNameValid:function(){return yn},isValidKeypair:function(){return Vt},messageToHash:function(){return Bt},oracleQueryId:function(){return on},payForTransaction:function(){return qa},poll:function(){return Ar},pollForQueries:function(){return Fa},pollForQueryResponse:function(){return Ha},postQueryToOracle:function(){return Ga},prepareTxParams:function(){return ra},produceNameId:function(){return cn},readId:function(){return nn},readInt:function(){return dn},readPointers:function(){return mn},recover:function(){return ea},registerOracle:function(){return Qa},resolveName:function(){return Kr},respondToQuery:function(){return La},salt:function(){return ri},send:function(){return Ta},sendTransaction:function(){return Ir},sha256hash:function(){return mt},sign:function(){return Mt},signMessage:function(){return jt},signUsingGA:function(){return ti},spend:function(){return _a},str2buf:function(){return et},toAe:function(){return $e},toAettos:function(){return Ge},toBytes:function(){return Ze},transferFunds:function(){return za},txDryRun:function(){return Fr},unpackRawTx:function(){return gr},unpackTx:function(){return Cr},validateParams:function(){return fr},verify:function(){return Rt},verifyMessage:function(){return Dt},verifyTransaction:function(){return Tr},waitForTxConfirm:function(){return Er},walletDetector:function(){return fd},writeId:function(){return tn},writeInt:function(){return un}});var e={};C.r(e),C.d(e,{InvalidTxError:function(){return zr},_getPollInterval:function(){return _r},awaitHeight:function(){return Pr},getAccount:function(){return kr},getBalance:function(){return Or},getContract:function(){return $r},getContractByteCode:function(){return Hr},getCurrentGeneration:function(){return Mr},getGeneration:function(){return Rr},getHeight:function(){return qr},getKeyBlock:function(){return jr},getMicroBlockHeader:function(){return Dr},getMicroBlockTransactions:function(){return Br},getName:function(){return Gr},poll:function(){return Ar},resolveName:function(){return Kr},sendTransaction:function(){return Ir},txDryRun:function(){return Fr},waitForTxConfirm:function(){return Er}});var t={};C.r(t),C.d(t,{_buildTx:function(){return aa},getVmVersion:function(){return na},prepareTxParams:function(){return ra}});var n={};C.r(n),C.d(n,{payForTransaction:function(){return qa},send:function(){return Ta},spend:function(){return _a},transferFunds:function(){return za}});var r={};C.r(r),C.d(r,{aensBid:function(){return Ma},aensClaim:function(){return ka},aensPreclaim:function(){return Oa},aensQuery:function(){return Ia},aensRevoke:function(){return Aa},aensTransfer:function(){return Ea},aensUpdate:function(){return Pa}});var a={};C.r(a),C.d(a,{createAensDelegationSignature:function(){return Va},createOracleDelegationSignature:function(){return Ua},getContractInstance:function(){return Ba}});var i={};C.r(i),C.d(i,{extendOracleTtl:function(){return Ka},getOracleObject:function(){return Wa},getQueryObject:function(){return $a},pollForQueries:function(){return Fa},pollForQueryResponse:function(){return Ha},postQueryToOracle:function(){return Ga},registerOracle:function(){return Qa},respondToQuery:function(){return La}});var o={};C.r(o),C.d(o,{buildAuthTxHash:function(){return ei},createGeneralizedAccount:function(){return Ja},createMetaTx:function(){return Za},isGA:function(){return Xa}});var s={};C.r(s),C.d(s,{height:function(){return ni},signUsingGA:function(){return ti}});var c={};C.r(c),C.d(c,{Account:function(){return Mi},ByteCode:function(){return Xi},Channel:function(){return ro},ChannelCloseMutualTx:function(){return To},ChannelCloseSoloTx:function(){return _o},ChannelCreateTx:function(){return bo},ChannelDepositTx:function(){return vo},ChannelForceProgressTx:function(){return So},ChannelSetDelegatesTx:function(){return Po},ChannelSettleTx:function(){return qo},ChannelSlashTx:function(){return zo},ChannelSnapshotSoloTx:function(){return Ao},ChannelWithdrawTx:function(){return xo},CheckTxInPoolResponse:function(){return $o},CommitmentId:function(){return Co},ContractCallObject:function(){return $i},ContractCallTx:function(){return jo},ContractCreateTx:function(){return Bo},ContractObject:function(){return Yi},CountResponse:function(){return ki},CreateContractUnsignedTx:function(){return Yo},Delegates:function(){return qi},DryRunAccount:function(){return ji},DryRunCallContext:function(){return Ui},DryRunCallReq:function(){return Vi},DryRunInput:function(){return Bi},DryRunInputItem:function(){return Di},DryRunResult:function(){return Hi},DryRunResults:function(){return Fi},EncodedTx:function(){return Wi},ErrorModel:function(){return wi},Event:function(){return Gi},GAAttachTx:function(){return Uo},GAMetaTx:function(){return Fo},GAObject:function(){return Li},Generation:function(){return Oi},HashResponse:function(){return vi},Header:function(){return Ci},HeightResponse:function(){return xi},KeyBlock:function(){return bi},MicroBlockHeader:function(){return Si},NameClaimTx:function(){return yo},NameEntry:function(){return no},NameHash:function(){return wo},NamePointer:function(){return Ii},NamePreclaimTx:function(){return ho},NameRevokeTx:function(){return No},NameTransferTx:function(){return go},NameUpdateTx:function(){return fo},NextNonceResponse:function(){return Ri},OffChainCallContract:function(){return Qo},OffChainDeposit:function(){return Lo},OffChainNewContract:function(){return Wo},OffChainTransfer:function(){return Go},OffChainUpdate:function(){return Ai},OffChainWithdrawal:function(){return Ko},OracleExtendTx:function(){return uo},OracleQueries:function(){return eo},OracleQuery:function(){return to},OracleQueryTx:function(){return po},OracleRegisterTx:function(){return lo},OracleRespondTx:function(){return mo},PayingForTx:function(){return Ho},PeerConnections:function(){return so},PeerCount:function(){return Oo},PeerCountAvailable:function(){return Ro},PeerCountConnected:function(){return Mo},PeerDetails:function(){return Io},PeerPubKey:function(){return ao},Peers:function(){return ko},PoI:function(){return Ji},PostTxResponse:function(){return Qi},Protocol:function(){return oo},PubKey:function(){return Eo},RegisteredOracle:function(){return Zi},RelativeTTL:function(){return Pi},SignedTx:function(){return _i},SignedTxs:function(){return Ti},SpendTx:function(){return co},Status:function(){return io},TokenSupply:function(){return Vo},Ttl:function(){return Ei},Tx:function(){return zi},TxInfoObject:function(){return Ki},UnsignedTx:function(){return Do},discriminators:function(){return Xo}});var l={};C.r(l),C.d(l,{APIVersion:function(){return mc},Aci:function(){return lc},ByteCode:function(){return hc},ByteCodeInput:function(){return yc},BytecodeCallResultInput:function(){return Nc},Calldata:function(){return _c},CompileOpts:function(){return cc},CompilerError:function(){return uc},CompilerVersion:function(){return fc},Contract:function(){return sc},DecodeCalldataBytecode:function(){return wc},DecodeCalldataSource:function(){return vc},DecodedCalldata:function(){return bc},DecodedCallresult:function(){return Cc},ErrorModel:function(){return pc},ErrorPos:function(){return dc},FateAssembler:function(){return zc},FunctionCallInput:function(){return Tc},SophiaBinaryData:function(){return xc},SophiaCallResultInput:function(){return gc},SophiaJsonData:function(){return Sc},ValidateByteCodeInput:function(){return qc}});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)}var qn={...Sn,serializeAettos(e,t){let{txType:n,rebuildTx:r,_computingMinFee:a}=t;if(null!=a)return a;const i=function(e,t){let n,r=new(d())(0);do{n=r,r=zn(e,t(r))}while(!r.eq(n));return r}(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},An={...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)}},Pn={...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},En=C(9408).Buffer,In=e=>En.from(e),kn=e=>e.toString(),On={serialize:e=>In(e),deserialize:e=>kn(e)},Mn={...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 Rn=vn,Bn=xn,jn=Sn,Dn=Tn,Vn=qn,Un=An,Fn=Pn,Hn=On,$n=Mn,Gn={serialize:e=>tn(yn(e)?cn(e):e),deserialize:e=>nn(e)};let Kn;!function(e){e[e.delta=0]="delta",e[e.block=1]="block"}(Kn||(Kn={}));const Ln=0,Wn=3e4,Qn={type:Kn.delta,value:500},Yn={type:Kn.delta,value:10},Xn={type:Kn.delta,value:10},Jn=0,Zn=5e4,er={pub:"ak_11111111111111111111111111111111273Yts",amount:100000000000000000000000000000000000n};let tr,nr,rr;!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"}(tr||(tr={})),function(e){e[e.NO_ABI=0]="NO_ABI",e[e.SOPHIA=1]="SOPHIA",e[e.FATE=3]="FATE"}(nr||(nr={})),function(e){e[e.IRIS=5]="IRIS"}(rr||(rr={}));const ar={[rr.IRIS]:{[Jt.ContractCreateTx]:{vmVersion:[tr.FATE_2],abiVersion:[nr.FATE]},[Jt.ContractCallTx]:{vmVersion:[],abiVersion:[nr.FATE,nr.SOPHIA]},[Jt.OracleRegisterTx]:{vmVersion:[],abiVersion:[nr.NO_ABI,nr.SOPHIA]}}};let ir;!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"}(ir||(ir={}));const or=[["tag",Bn],["VSN",Bn]],sr={[Jt.Account]:{1:[...or,["nonce",Bn],["balance",Rn]],2:[...or,["flags",Rn],["nonce",Bn],["balance",Rn],["gaContract",ir.id,[dt.ContractAddress,dt.Name]],["gaAuthFun",ir.binary,dt.ContractBytearray]]},[Jt.SignedTx]:{1:[...or,["signatures",ir.signatures],["encodedTx",ir.rlpBinary]]},[Jt.SpendTx]:{1:[...or,["senderId",ir.id,dt.AccountAddress],["recipientId",ir.id,[dt.AccountAddress,dt.Name]],["amount",jn],["fee",Vn],["ttl",Bn],["nonce",Bn],["payload",ir.payload]]},[Jt.NamePreclaimTx]:{1:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["commitmentId",ir.id,dt.Commitment],["fee",Vn],["ttl",Bn]]},[Jt.NameClaimTx]:{2:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["name",Hn],["nameSalt",Rn],["nameFee",$n],["fee",Vn],["ttl",Bn]]},[Jt.NameUpdateTx]:{1:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["nameId",Gn],["nameTtl",Rn],["pointers",ir.pointers],["clientTtl",Bn],["fee",Vn],["ttl",Bn]]},[Jt.NameTransferTx]:{1:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["nameId",Gn],["recipientId",ir.id,[dt.AccountAddress,dt.Name]],["fee",Vn],["ttl",Bn]]},[Jt.NameRevokeTx]:{1:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["nameId",Gn],["fee",Vn],["ttl",Bn]]},[Jt.Contract]:{1:[...or,["owner",ir.id,dt.AccountAddress],["ctVersion",ir.ctVersion],["code",ir.binary,dt.ContractBytearray],["log",ir.binary,dt.ContractBytearray],["active",ir.bool],["referers",ir.ids,dt.AccountAddress],["deposit",Dn]]},[Jt.ContractCreateTx]:{1:[...or,["ownerId",ir.id,dt.AccountAddress],["nonce",Bn],["code",ir.binary,dt.ContractBytearray],["ctVersion",ir.ctVersion],["fee",Vn],["ttl",Bn],["deposit",Dn],["amount",jn],["gasLimit",Un],["gasPrice",Fn],["callData",ir.binary,dt.ContractBytearray]]},[Jt.ContractCallTx]:{1:[...or,["callerId",ir.id,dt.AccountAddress],["nonce",Bn],["contractId",ir.id,[dt.ContractAddress,dt.Name]],["abiVersion",ir.abiVersion],["fee",Vn],["ttl",Bn],["amount",jn],["gasLimit",Un],["gasPrice",Fn],["callData",ir.binary,dt.ContractBytearray]]},[Jt.ContractCall]:{1:[...or,["callerId",ir.id,dt.AccountAddress],["callerNonce",Bn],["height",Bn],["contractId",ir.id,dt.ContractAddress],["gasPrice",Fn],["gasUsed",Bn],["returnValue",ir.binary,dt.ContractBytearray],["returnType",ir.callReturnType],["log",ir.rawBinary]]},[Jt.OracleRegisterTx]:{1:[...or,["accountId",ir.id,dt.AccountAddress],["nonce",Bn],["queryFormat",ir.string],["responseFormat",ir.string],["queryFee",jn],["oracleTtlType",ir.ttlType],["oracleTtlValue",Bn],["fee",Vn],["ttl",Bn],["abiVersion",ir.abiVersion]]},[Jt.OracleExtendTx]:{1:[...or,["oracleId",ir.id,[dt.OracleAddress,dt.Name]],["nonce",Bn],["oracleTtlType",ir.ttlType],["oracleTtlValue",Bn],["fee",Vn],["ttl",Bn]]},[Jt.OracleQueryTx]:{1:[...or,["senderId",ir.id,dt.AccountAddress],["nonce",Bn],["oracleId",ir.id,[dt.OracleAddress,dt.Name]],["query",ir.string],["queryFee",jn],["queryTtlType",ir.ttlType],["queryTtlValue",Bn],["responseTtlType",ir.ttlType],["responseTtlValue",Bn],["fee",Vn],["ttl",Bn]]},[Jt.OracleResponseTx]:{1:[...or,["oracleId",ir.id,dt.OracleAddress],["nonce",Bn],["queryId",ir.binary,dt.OracleQueryId],["response",ir.string],["responseTtlType",ir.ttlType],["responseTtlValue",Bn],["fee",Vn],["ttl",Bn]]},[Jt.ChannelCreateTx]:{2:[...or,["initiator",ir.id,dt.AccountAddress],["initiatorAmount",Rn],["responder",ir.id,dt.AccountAddress],["responderAmount",Rn],["channelReserve",Rn],["lockPeriod",Rn],["ttl",Bn],["fee",Vn],["initiatorDelegateIds",ir.string],["responderDelegateIds",ir.string],["stateHash",ir.binary,"st"],["nonce",Bn]]},[Jt.ChannelCloseMutualTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["initiatorAmountFinal",Rn],["responderAmountFinal",Rn],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelCloseSoloTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["payload",ir.binary,"tx"],["poi",ir.binary,"pi"],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelSlashTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["payload",ir.binary,"tx"],["poi",ir.binary,"pi"],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelDepositTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["amount",Rn],["ttl",Bn],["fee",Vn],["stateHash",ir.binary,"st"],["round",Bn],["nonce",Bn]]},[Jt.ChannelWithdrawTx]:{1:[...or,["channelId",ir.id,dt.Channel],["toId",ir.id,dt.AccountAddress],["amount",Rn],["ttl",Bn],["fee",Vn],["stateHash",ir.binary,"st"],["round",Bn],["nonce",Bn]]},[Jt.ChannelSettleTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["initiatorAmountFinal",Rn],["responderAmountFinal",Rn],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelForceProgressTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["payload",ir.binary,"tx"],["round",Bn],["update",ir.binary,dt.ContractBytearray],["stateHash",ir.binary,"st"],["offChainTrees",ir.stateTree],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelOffChainTx]:{2:[...or,["channelId",ir.id,dt.Channel],["round",Bn],["stateHash",ir.binary,"st"]]},[Jt.Channel]:{3:[...or,["initiator",ir.id,dt.AccountAddress],["responder",ir.id,dt.AccountAddress],["channelAmount",Rn],["initiatorAmount",Rn],["responderAmount",Rn],["channelReserve",Rn],["initiatorDelegateIds",ir.ids],["responderDelegateIds",ir.ids],["stateHash",ir.hex],["round",Bn],["soloRound",Rn],["lockPeriod",Rn],["lockedUntil",Rn],["initiatorAuth",ir.binary,dt.ContractBytearray],["responderAuth",ir.binary,dt.ContractBytearray]]},[Jt.ChannelSnapshotSoloTx]:{1:[...or,["channelId",ir.id,dt.Channel],["fromId",ir.id,dt.AccountAddress],["payload",ir.binary,"tx"],["ttl",Bn],["fee",Vn],["nonce",Bn]]},[Jt.ChannelOffChainUpdateTransfer]:{1:[...or,["from",ir.id,dt.AccountAddress],["to",ir.id,dt.AccountAddress],["amount",Rn]]},[Jt.ChannelOffChainUpdateDeposit]:{1:[...or,["from",ir.id,dt.AccountAddress],["amount",Rn]]},[Jt.ChannelOffChainUpdateWithdraw]:{1:[...or,["from",ir.id,dt.AccountAddress],["amount",Rn]]},[Jt.ChannelOffChainUpdateCreateContract]:{1:[...or,["owner",ir.id,dt.AccountAddress],["ctVersion",ir.ctVersion],["code",ir.binary,dt.ContractBytearray],["deposit",Rn],["callData",ir.binary,dt.ContractBytearray]]},[Jt.ChannelOffChainUpdateCallContract]:{1:[...or,["caller",ir.id,dt.AccountAddress],["contract",ir.id,dt.ContractAddress],["abiVersion",ir.abiVersion],["amount",Rn],["callData",ir.binary,dt.ContractBytearray],["callStack",ir.callStack],["gasPrice",Fn],["gasLimit",Un]]},[Jt.ChannelClientReconnectTx]:{1:[...or,["channelId",ir.id,dt.Channel],["round",Bn],["role",ir.string],["pubkey",ir.id,dt.AccountAddress]]},[Jt.TreesPoi]:{1:[...or,["accounts",ir.mptrees],["calls",ir.mptrees],["channels",ir.mptrees],["contracts",ir.mptrees],["ns",ir.mptrees],["oracles",ir.mptrees]]},[Jt.StateTrees]:{1:[...or,["contracts",ir.rlpBinary],["calls",ir.rlpBinary],["channels",ir.rlpBinary],["ns",ir.rlpBinary],["oracles",ir.rlpBinary],["accounts",ir.rlpBinary]]},[Jt.Mtree]:{1:[...or,["values",ir.rlpBinaries]]},[Jt.MtreeValue]:{1:[...or,["key",ir.hex],["value",ir.rawBinary]]},[Jt.ContractsMtree]:{1:[...or,["contracts",ir.rlpBinary]]},[Jt.CallsMtree]:{1:[...or,["calls",ir.rlpBinary]]},[Jt.ChannelsMtree]:{1:[...or,["channels",ir.rlpBinary]]},[Jt.NameserviceMtree]:{1:[...or,["mtree",ir.rlpBinary]]},[Jt.OraclesMtree]:{1:[...or,["otree",ir.rlpBinary]]},[Jt.AccountsMtree]:{1:[...or,["accounts",ir.rlpBinary]]},[Jt.GaAttachTx]:{1:[...or,["ownerId",ir.id,dt.AccountAddress],["nonce",Bn],["code",ir.binary,dt.ContractBytearray],["authFun",ir.rawBinary],["ctVersion",ir.ctVersion],["fee",Vn],["ttl",Bn],["gasLimit",Un],["gasPrice",Fn],["callData",ir.binary,dt.ContractBytearray]]},[Jt.GaMetaTx]:{2:[...or,["gaId",ir.id,dt.AccountAddress],["authData",ir.binary,dt.ContractBytearray],["abiVersion",ir.abiVersion],["fee",Vn],["gasLimit",Un],["gasPrice",Fn],["tx",ir.rlpBinary]]},[Jt.PayingForTx]:{1:[...or,["payerId",ir.id,dt.AccountAddress],["nonce",Bn],["fee",Vn],["tx",ir.rlpBinary]]},[Jt.CompilerSophia]:{3:[...or,["sourceCodeHash",ir.rawBinary],["typeInfo",ir.sophiaCodeTypeInfo],["byteCode",ir.rawBinary],["compilerVersion",ir.string],["payable",ir.bool]]}};var cr,lr=C(3485),ur=C(9408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(cr||(cr={}));class dr{static nodeHash(e){return ur.from(Et((0,lr.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(dr.nodeHash(n)!==t)throw new Ce;const{type:r,payload:a}=dr.parseNode(n);switch(r){case cr.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 cr.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:cr.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?cr.Extension:cr.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[ur.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[ur.from(t,"hex"),n]}))]}get(e){let t=this.rootHash,n=e;for(;;){const{type:e,payload:r,path:a}=dr.parseNode(this.nodes[t]);switch(e){case cr.Branch:if(0===n.length)return r[16];t=r[+`0x${n[0]}`].toString("hex"),n=n.substring(1);break;case cr.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 cr.Leaf:if(a!==n)return;return r[0]}}}}var pr=C(9408).Buffer;function mr(e,t,n){if(null==e)return"";switch(t){case ir.ctVersion:{const[t,,n]=e;return{vmVersion:dn(pr.from([t])),abiVersion:dn(pr.from([n]))}}case ir.abiVersion:case ir.ttlType:return dn(e);case ir.id:return nn(e);case ir.ids:return e.map(nn);case ir.bool:return 1===e[0];case ir.binary:return Tt(e,n);case ir.stateTree:return Tt(e,dt.StateTrees);case ir.string:return e.toString();case ir.payload:return Tt(e,dt.Bytearray);case ir.pointers:return mn(e);case ir.rlpBinary:return Cr(Tt(e,dt.Transaction));case ir.rlpBinaries:return e.map((e=>Cr(Tt(e,dt.Transaction))));case ir.rawBinary:return e;case ir.hex:return e.toString("hex");case ir.offChainUpdates:return e.map((e=>Cr(Tt(e,dt.Transaction))));case ir.callStack:return[dn(e)];case ir.mptrees:return e.map((e=>new dr(e)));case ir.callReturnType:switch(dn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case ir.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 hr(e,t,n){var r;switch(t){case ir.abiVersion:case ir.ttlType:return un(e);case ir.id:return tn(e);case ir.ids:return e.map(tn);case ir.bool:return pr.from([!0===e?1:0]);case ir.binary:case ir.stateTree:return St(e);case ir.hex:return pr.from(e,"hex");case ir.signatures:return e.map(pr.from);case ir.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?St(e):Ze(e);case ir.string:return Ze(e);case ir.pointers:return pn(e);case ir.rlpBinary:return null!==(r=e.rlpEncoded)&&void 0!==r?r:e;case ir.mptrees:return e.map((e=>e.serialize()));case ir.ctVersion:return pr.from([...Ze(e.vmVersion),0,...Ze(e.abiVersion)]);case ir.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 yr(e,t,n){if(null==e)return"Field is required";switch(t){case ir.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 ir.ctVersion:return Boolean(e.abiVersion)&&Boolean(e.vmVersion)?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case ir.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 fr(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,yr(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function gr(e,t){return t.reduce(((t,n,r)=>{let[a,i,o]=n;return Object.assign(t,{[a]:mr(e[r],i,o)})}),{})}function Nr(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=sr[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=fr(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 hr(l[n],a,{...l,txType:t,rebuildTx:e=>Nr({...l,...e},t,{excludeKeys:r,prefix:dt.Transaction,vsn:i,denomination:o})})})).filter((e=>void 0!==e)),h=(0,lr.encode)(p),y=Tt(h,a);return{tx:y,rlpEncoded:h,binary:p,txObject:gr(p,c)}}function Cr(e,t){const n=St(e),r=(0,lr.decode)(n),a=+dn(r[0]);if(!st(a,sr))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,sr[a]))throw new Ie("deserialization",`tag ${a}`,i);return{txType:a,tx:gr(r,sr[a][i]),rlpEncoded:n}}function wr(e){return Tt(Et("string"==typeof e&&e.startsWith("tx_")?St(e):e),dt.TxHash)}function br(e){var t;const{txType:n,tx:r}=Cr(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 vr=C(9408).Buffer;const xr=[],Sr=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 Tr(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:i}=Cr(e),o=null!==(n=Sr(a))&&void 0!==n?n:i===Jt.SignedTx?Sr(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(xr.map((e=>e(a,{txType:i,node:t,account:s,height:c,consensusProtocolVersion:l,nodeNetworkId:u,parentTxTypes:r}))))).flat()}function _r(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)}xr.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=vr.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)?[]:Tr(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,ar))throw new j(`Unsupported protocol: ${i}`);null==n&&(n={abiVersion:r});const o=ar[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 zr extends _{constructor(e,t,n){super(e),this.name="InvalidTxError",this.validation=t,this.transaction=n}}async function qr(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}async function Ar(e,t){var n;let{blocks:r=10,interval:a,onNode:i,...o}=t;null!==(n=a)&&void 0!==n||(a=_r("microblock",o));const s=await qr({onNode:i})+r;do{const t=await i.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await at(a)}while(await qr({onNode:i})<s);throw new M(r,e)}async function Pr(e,t){var n;let r,{interval:a,onNode:i,...o}=t;null!==(n=a)&&void 0!==n||(a=_r("block",o));do{null!=r&&await at(a),r=(await i.getCurrentKeyBlockHeight()).height}while(r<e);return r}async function Er(e,t){let{confirm:n=3,onNode:r,...a}=t;const{blockHeight:i}=await r.getTransactionByHash(e),o=await Pr(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 Er(e,{onNode:r,confirm:n,...a})}}async function Ir(e,t){let{onNode:n,onAccount:r,verify:a=!0,waitMined:i=!0,confirm:o,...s}=t;if(a){const t=await Tr(e,n);if(t.length>0){const n=`Transaction verification errors: ${t.map((e=>e.message)).join(", ")}`;throw new zr(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 Ar(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 Er(a,{onNode:n,confirm:e,...s})}}return r}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:async()=>Tr(e,n)})}}async function kr(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 Or(e,t){let{format:n=Ue.AETTOS,...r}=t;const{balance:a}=await kr(e,r).catch((()=>({balance:0n})));return He(a,{targetDenomination:n})}async function Mr(e){let{onNode:t}=e;return t.getCurrentGeneration()}async function Rr(e,t){let{onNode:n}=t;return"number"==typeof e?n.getGenerationByHeight(e):n.getGenerationByHash(e)}async function Br(e,t){let{onNode:n}=t;return(await n.getMicroBlockTransactionsByHash(e)).transactions}async function jr(e,t){let{onNode:n}=t;return"number"==typeof e?n.getKeyBlockByHeight(e):n.getKeyBlockByHash(e)}async function Dr(e,t){let{onNode:n}=t;return n.getMicroBlockHeaderByHash(e)}const Vr=new Map;async function Ur(e,t){const n=Vr.get(e);if(Vr.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:er.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 Fr(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=Vr.get(c))&&void 0!==r?r:[];return Vr.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((()=>{Ur(c,s)}))):Ur(c,s)}))}async function Hr(e,t){let{onNode:n}=t;return n.getContractCode(e)}async function $r(e,t){let{onNode:n}=t;return n.getContract(e)}async function Gr(e,t){let{onNode:n}=t;return n.getNameEntryByName(e)}async function Kr(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 Lr=C(3983),Wr=C(7289);const Qr={async argon2id(e,t,n){const{memlimit_kib:r,opslimit:a}=n;return(await(0,Wr.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:Wr.ArgonType.Argon2id})).hash}},Yr={"xsalsa20-poly1305":{encrypt:Le().secretbox,decrypt(){const e=Le().secretbox.open(...arguments);if(null==e)throw new Ne;return e}}},Xr={secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}};function Jr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Xr.symmetric_alg;return Yr[r].encrypt(e,n,t)}async function Zr(e,t,n,r){return Qr[n](e,t,r)}async function ea(e,t){let{crypto:n}=t;const r=nt(n.kdf_params.salt);return tt(function(e,t,n){return Yr[arguments.length>3&&void 0!==arguments[3]?arguments[3]:Xr.symmetric_alg].decrypt(e,n,t)}(nt(n.ciphertext),await Zr(e,r,n.kdf,n.kdf_params),nt(n.cipher_params.nonce),n.symmetric_alg))}async function ta(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={...Xr,...i},s=await Zr(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,Lr.v4)(),crypto:{secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:tt(Jr(c,s,r,o.symmetric_alg)),cipher_params:{nonce:tt(r)},kdf:o.kdf,kdf_params:{...o.kdf_params,salt:tt(a)}}}}async function na(e,t){var n,r;let{vmVersion:a,abiVersion:i,onNode:o}=t;const{consensusProtocolVersion:s}=await o.getNodeInfo();if(!st(s,ar))throw new j("Not supported consensus protocol version");const c=ar[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 ra(e,t){var n;let{senderId:r,nonce:a,ttl:i=Ln,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 aa(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 na(Jt.ContractCreateTx,{...o,...o.ctVersion})),e===Jt.ContractCallTx&&(o.abiVersion=(await na(Jt.ContractCallTx,o)).abiVersion),e===Jt.OracleRegisterTx&&(null!==(c=o.abiVersion)&&void 0!==c||(o.abiVersion=nr.NO_ABI)),e===Jt.PayingForTx&&(o.tx=Cr(o.tx));const l=o[s];if(null==l)throw new Pe(`Transaction field ${s} is missed`);const u=await ra(0,{...o,senderId:l,absoluteTtl:a});return Nr({...o,...u},e,{denomination:r}).tx}var ia=C(9882),oa=C(1986),sa=C(8236),ca=C.n(sa),la=C(9408).Buffer;const ua=ca().ModeOfOperation.ecb;function da(e,t){const n=mt(e);return new ua(n).encrypt(t)}function pa(e,t){const n=la.from(t),r=mt(e);return new ua(r).decrypt(n)}class ma extends S{constructor(e){super(e),this.name="DerivationError"}}const ha=la.from("ed25519 seed"),ya=2147483648;function fa(e,t){let{secretKey:n,chainCode:r}=e;if(t<ya)throw new ma(`Segment ${t} is not hardened`);const a=la.allocUnsafe(4);a.writeUInt32BE(t,0);const i=ot([la.alloc(1,0),n,a]),o=(0,ia.full)(i,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function ga(e,t){const n=""===e?[]:(0,oa.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<ya)throw new ma(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>fa(e,t)),t)}function Na(e){const t=(0,ia.full)(e,ha);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Ca(e,t){var n;if(!m()(n=["m","m/"]).call(n,e.slice(0,2)))throw new ma("Root element is required");const r=Na(t);return ga(e.slice(2),r)}function wa(e){const{secretKey:t,publicKey:n}=e;return{secretKey:tt(t),publicKey:Tt(n,dt.AccountAddress)}}function ba(e){return Le().sign.keyPair.fromSeed(e)}function va(e,t){const n=Ca("m/44h/457h",e);return{secretKey:tt(da(t,n.secretKey)),chainCode:tt(da(t,n.chainCode))}}function xa(e,t,n){const r={secretKey:pa(t,la.from(e.secretKey,"hex")),chainCode:pa(t,la.from(e.chainCode,"hex"))};return new Array(n).fill(void 0).map(((e,t)=>wa(ba(ga(`${t}h/0h/0h`,r).secretKey))))}const Sa=(e,t)=>({...wa(ba(ga(`${t}h/0h/0h`,Ca("m/44h/457h",e)).secretKey)),idx:t});async function Ta(e,t){const n=!0===t.innerTx?void 0:(await kr(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:wr(r),rawTx:r}:Ir(r,t)}async function _a(e,t,n){return Ta(await aa(Jt.SpendTx,{...n,senderId:await n.onAccount.address(n),recipientId:await Kr(t,"account_pubkey",n),amount:e}),n)}async function za(e,t,n){if(e<0||e>1)throw new q("fraction","a number between 0 and 1",e);const r=await Kr(t,"account_pubkey",n),a=await n.onAccount.address(n),i=new(d())(await Or.bind(n.onAccount)(a,n)),o=i.times(e).integerValue(d().ROUND_HALF_UP),{tx:{fee:s}}=Cr(await aa(Jt.SpendTx,{...n,senderId:a,recipientId:r,amount:o}),Jt.SpendTx),c=o.plus(s).gt(i)?i.minus(s):o;return Ta(await aa(Jt.SpendTx,{...n,senderId:a,recipientId:r,amount:c}),n)}async function qa(e,t){return Ta(await aa(Jt.PayingForTx,{...t,payerId:await t.onAccount.address(t),tx:e}),t)}async function Aa(e,t){return Ta(await aa(Jt.NameRevokeTx,{...t,nameId:e,accountId:await t.onAccount.address(t)}),t)}async function Pa(e,t,n){let{extendPointers:r,...a}=n;const i={...!0===r&&Object.fromEntries((await Gr(e,a)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t};return Ta(await aa(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 Ea(e,t,n){return Ta(await aa(Jt.NameTransferTx,{...n,nameId:e,accountId:await n.onAccount.address(n),recipientId:t}),n)}async function Ia(e,t){const n=await Gr(e,t);return Object.freeze({...n,id:n.id,owner:n.owner,update:async(n,r)=>({...await Pa(e,n,{...t,...r}),...await Ia(e,{...t,...r})}),transfer:async(n,r)=>({...await Ea(e,n,{...t,...r}),...await Ia(e,{...t,...r})}),revoke:async n=>Aa(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 Pa(e,{},{...t,...r,nameTtl:n,extendPointers:!0}),...await Ia(e,{...t,...r})}}})}async function ka(e,t,n){const r=await aa(Jt.NameClaimTx,{...n,accountId:await n.onAccount.address(n),nameSalt:t,name:e}),a=await Ta(r,n);if(!bn(e)){const t=null!=a.blockHeight&&a.blockHeight>0?await Ia(e,n):{};return Object.assign(a,t)}return a}async function Oa(e,t){const n=At(),r=await qr(t),a=ln(e,n),i=await aa(Jt.NamePreclaimTx,{...t,accountId:await t.onAccount.address(t),commitmentId:a});return Object.freeze({...await Ta(i,t),height:r,salt:n,commitmentId:a,claim:async r=>ka(e,n,{...t,...r})})}async function Ma(e,t,n){return ka(e,0,{...n,nameFee:t})}var Ra=C(7946);async function Ba(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 Kr(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 $r(s,{onNode:r})).active)throw new se(s);const d={_aci:o,_name:o.encodedAci.contract.name,calldata:new Ra.Encoder([o.encodedAci,...o.externalEncodedAci]),source:a,bytecode:i,deployInfo:{address:s},options:{onAccount:t,onCompiler:n,onNode:r,amount:Jn,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 Hr(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 Ta(e,t),a={hash:n.hash,tx:Cr(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 aa(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=br(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 er.pub;throw e})),c=d.calldata.encode(d._name,e,t);let l;if(!0===a.callStatic){"number"==typeof a.top&&(a.top=(await jr(a.top,{onNode:r})).hash);const t={...a,onNode:r,callData:c};null==a.nonce&&null!=a.top&&(a.nonce=(await kr(s,{hash:a.top,onNode:r})).nonce+1);const n=await("init"===e?aa(Jt.ContractCreateTx,{...t,code:d.bytecode,ownerId:s}):aa(Jt.ContractCallTx,{...t,callerId:s,contractId:o})),{callObj:i,...u}=await Fr(n,s,{onNode:r,...a});if(null==i)throw new F;p({returnType:i.returnType,returnValue:i.returnValue},n),l={...u,tx:Cr(n),result:i}}else{var u;const n=await aa(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 ja=C(9408).Buffer;async function Da(e,t){let{onAccount:n,onNode:r,...a}=t;const i=await n.sign(ot([ja.from((await r.getStatus()).networkId),...e.map((e=>St(e)))]),a);return ja.from(i).toString("hex")}async function Va(e,t){return Da([await t.onAccount.address(t),...null!=t.name?[cn(t.name)]:[],e],t)}async function Ua(e,t){var n;return Da([null!==(n=t.queryId)&&void 0!==n?n:await t.onAccount.address(t),e],t)}function Fa(e,t,n){var r;let{interval:a,onNode:i,...o}=n;null!==(r=a)&&void 0!==r||(a=_r("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 Ha(e,t,n){var r;let a,i,o,{interval:s,onNode:c,...l}=n;null!==(r=s)&&void 0!==r||(s=_r("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 $a(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)=>La(e,t,r,{...n,...a}),pollForResponse:async r=>Ha(e,t,{...n,...r})}}async function Ga(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 aa(Jt.OracleQueryTx,{queryTtlType:Yn.type,queryTtlValue:Yn.value,responseTtlType:Xn.type,responseTtlValue:Xn.value,...n,oracleId:e,senderId:a,query:t}),{nonce:o}=Cr(i,Jt.OracleQueryTx).tx,s=on(a,o,e);return{...await Ta(i,n),...await $a(e,s,n)}}async function Ka(e,t){const n=await aa(Jt.OracleExtendTx,{oracleTtlType:Qn.type,oracleTtlValue:Qn.value,...t,callerId:await t.onAccount.address(t),oracleId:e});return{...await Ta(n,t),...await Wa(e,t)}}async function La(e,t,n,r){const a=await aa(Jt.OracleResponseTx,{responseTtlType:Xn.type,responseTtlValue:Xn.value,...r,callerId:await r.onAccount.address(r),oracleId:e,queryId:t,response:n});return{...await Ta(a,r),...await Wa(e,r)}}async function Wa(e,t){return{...await t.onNode.getOracleByPubkey(e),queries:(await t.onNode.getOracleQueriesByPubkey(e)).oracleQueries,...it({pollQueries:Fa,postQuery:Ga,respondToQuery:La,extendOracle:Ka,getQuery:$a},(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 Qa(e,t,n){const r=await n.onAccount.address(n),a=await aa(Jt.OracleRegisterTx,{queryFee:Wn,oracleTtlValue:Qn.value,oracleTtlType:Qn.type,...n,accountId:r,queryFormat:e,responseFormat:t});return{...await Ta(a,n),...await Wa(Tt(St(r),dt.OracleAddress),n)}}var Ya=C(9408).Buffer;async function Xa(e,t){const{contractId:n}=await kr(e,t);return null!=n}async function Ja(e,t,n,r){var a;let{onAccount:i,onCompiler:o,onNode:s,...c}=r;const l=await i.address(c);if(await Xa(l,{onNode:s}))throw new A(`Account ${l} is already GA`);const u=await Ba({onAccount:i,onCompiler:o,onNode:s,source:t}),d=await aa(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=br(d),{hash:m,rawTx:h}=await Ta(d,{onNode:s,onAccount:i,onCompiler:o,...c});return Object.freeze({owner:l,transaction:m,rawTx:h,gaContractId:p})}async function Za(e,t,n,r){var a,i;let{onAccount:o,onCompiler:s,onNode:c,...l}=r;const u=e=>Nr({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:Zn;if(d>Zn)throw new ae(`the maximum gasLimit value for ga authFun is ${Zn}, 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 Ba({onCompiler:s,onNode:c,source:t.source});return e.calldata.encode(e._name,n,t.args)})(),{abiVersion:m}=await na(Jt.ContractCallTx,{onNode:c}),h=u(Cr(e)),y={...l,tx:{...h,tx:h.txObject},gaId:await o.address(l),abiVersion:m,authData:p,gasLimit:d,vsn:2},{fee:f}=await ra(Jt.GaMetaTx,{...y,onNode:c}),{rlpEncoded:g}=Nr({...y,fee:f},Jt.GaMetaTx);return u(g).tx}async function ei(e,t){let{onNode:n}=t;const{networkId:r}=await n.getStatus();return new Uint8Array(Et(ot([Ya.from(r),St(e)])))}async function ti(e,t){let{authData:n,authFun:r,...a}=t;return Za(e,n,r,a)}async function ni(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}function ri(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}const ai=ri,ii=1579e3;let oi;!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"}(oi||(oi={}));const si={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},ci={ak:si.account,nm:si.name,cm:si.commitment,ok:si.oracle,ct:si.contract,ch:si.channel},li=it(ci,(e=>{let[t,n]=e;return[n,t]}));let ui;!function(e){e.ak="account_pubkey",e.ok="oracle_pubkey",e.ct="contract_pubkey",e.ch="channel"}(ui||(ui={}));var di=C(7445);function pi(e,t,n){return t in e?di(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var mi=C(5039);const hi=()=>{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"}},yi=()=>{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"}},fi=e=>({policy:{name:"error-formatter",async sendRequest(t,n){try{return await n(t)}catch(t){var r;if(!(t instanceof mi.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"}),gi=(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 Ni=C(4711);const Ci={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"}}}}},wi={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},bi={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"}}}}},vi={type:{name:"Composite",className:"HashResponse",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}}}}},xi={type:{name:"Composite",className:"HeightResponse",modelProperties:{height:{serializedName:"height",required:!0,type:{name:"String"}}}}},Si={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"}}}}},Ti={type:{name:"Composite",className:"SignedTxs",modelProperties:{transactions:{serializedName:"transactions",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"SignedTx"}}}}}}},_i={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"}}}}}}},zi={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"]}}}}},qi={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"}}}}}}},Ai={type:{name:"Composite",className:"OffChainUpdate",uberParent:"OffChainUpdate",polymorphicDiscriminator:{serializedName:"op",clientName:"op"},modelProperties:{op:{serializedName:"op",required:!0,type:{name:"String"}}}}},Pi={type:{name:"Composite",className:"RelativeTTL",modelProperties:{type:{defaultValue:"delta",isConstant:!0,serializedName:"type",type:{name:"String"}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},Ei={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"}}}}},Ii={type:{name:"Composite",className:"NamePointer",modelProperties:{key:{serializedName:"key",required:!0,type:{name:"String"}},id:{serializedName:"id",required:!0,type:{name:"String"}}}}},ki={type:{name:"Composite",className:"CountResponse",modelProperties:{count:{serializedName:"count",required:!0,type:{name:"String"}}}}},Oi={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"}}}}}}},Mi={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"}}}}},Ri={type:{name:"Composite",className:"NextNonceResponse",modelProperties:{nextNonce:{serializedName:"next_nonce",required:!0,type:{name:"String"}}}}},Bi={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"}}}}},ji={type:{name:"Composite",className:"DryRunAccount",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Di={type:{name:"Composite",className:"DryRunInputItem",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},callReq:{serializedName:"call_req",type:{name:"Composite",className:"DryRunCallReq"}}}}},Vi={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"}}}}},Ui={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"}}}}},Fi={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"}}}}}}}}},Hi={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"}}}}},$i={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"]}}}}},Gi={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"}}}}},Ki={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"}}}}},Li={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"}}}}},Wi={type:{name:"Composite",className:"EncodedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},Qi={type:{name:"Composite",className:"PostTxResponse",modelProperties:{txHash:{serializedName:"tx_hash",required:!0,type:{name:"String"}}}}},Yi={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"}}}}},Xi={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Ji={type:{name:"Composite",className:"PoI",modelProperties:{poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},Zi={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"}}}}},eo={type:{name:"Composite",className:"OracleQueries",modelProperties:{oracleQueries:{serializedName:"oracle_queries",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"OracleQuery"}}}}}}},to={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"}}}}},no={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"}}}}}}},ro={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"}}}}},ao={type:{name:"Composite",className:"PeerPubKey",modelProperties:{pubkey:{serializedName:"pubkey",required:!0,type:{name:"String"}}}}},io={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"}}}}},oo={type:{name:"Composite",className:"Protocol",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}},effectiveAtHeight:{serializedName:"effective_at_height",required:!0,type:{name:"String"}}}}},so={type:{name:"Composite",className:"PeerConnections",modelProperties:{inbound:{serializedName:"inbound",required:!0,type:{name:"String"}},outbound:{serializedName:"outbound",required:!0,type:{name:"String"}}}}},co={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"}}}}},lo={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"}}}}},uo={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"}}}}},po={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"}}}}},mo={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"}}}}},ho={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"}}}}},yo={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"}}}}},fo={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"}}}}},go={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"}}}}},No={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"}}}}},Co={type:{name:"Composite",className:"CommitmentId",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}}}}},wo={type:{name:"Composite",className:"NameHash",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}}}}},bo={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"}}}}},vo={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"}}}}},xo={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"}}}}},So={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"}}}}},To={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"}}}}},_o={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"}}}}},zo={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"}}}}},qo={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"}}}}},Ao={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"}}}}},Po={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"}}}}},Eo={type:{name:"Composite",className:"PubKey",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}}}}},Io={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"}}}}},ko={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"}}}}}}},Oo={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"}}}}},Mo={type:{name:"Composite",className:"PeerCountConnected",modelProperties:{inbound:{serializedName:"inbound",type:{name:"String"}},outbound:{serializedName:"outbound",type:{name:"String"}}}}},Ro={type:{name:"Composite",className:"PeerCountAvailable",modelProperties:{verified:{serializedName:"verified",type:{name:"String"}},unverified:{serializedName:"unverified",type:{name:"String"}}}}},Bo={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"}}}}},jo={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"}}}}},Do={type:{name:"Composite",className:"UnsignedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},Vo={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"}}}}},Uo={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"}}}}},Fo={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"}}}}},Ho={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"}}}}},$o={type:{name:"Composite",className:"CheckTxInPoolResponse",modelProperties:{status:{serializedName:"status",required:!0,type:{name:"String"}}}}},Go={serializedName:"OffChainTransfer",type:{name:"Composite",className:"OffChainTransfer",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ai.type.polymorphicDiscriminator,modelProperties:{...Ai.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"}}}}},Ko={serializedName:"OffChainWithdrawal",type:{name:"Composite",className:"OffChainWithdrawal",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ai.type.polymorphicDiscriminator,modelProperties:{...Ai.type.modelProperties,to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Lo={serializedName:"OffChainDeposit",type:{name:"Composite",className:"OffChainDeposit",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ai.type.polymorphicDiscriminator,modelProperties:{...Ai.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},Wo={serializedName:"OffChainNewContract",type:{name:"Composite",className:"OffChainNewContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ai.type.polymorphicDiscriminator,modelProperties:{...Ai.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"}}}}},Qo={serializedName:"OffChainCallContract",type:{name:"Composite",className:"OffChainCallContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ai.type.polymorphicDiscriminator,modelProperties:{...Ai.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"}}}}},Yo={type:{name:"Composite",className:"CreateContractUnsignedTx",modelProperties:{...Do.type.modelProperties,contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}}}}};let Xo={"Tx.undefined":zi,OffChainUpdate:Ai,"OffChainUpdate.OffChainTransfer":Go,"OffChainUpdate.OffChainWithdrawal":Ko,"OffChainUpdate.OffChainDeposit":Lo,"OffChainUpdate.OffChainNewContract":Wo,"OffChainUpdate.OffChainCallContract":Qo};const Jo={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},Zo={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},es={parameterPath:"intAsString",mapper:{defaultValue:!1,serializedName:"int-as-string",type:{name:"Boolean"}}},ts={parameterPath:"hash",mapper:{serializedName:"hash",required:!0,type:{name:"String"}}},ns={parameterPath:"height",mapper:{constraints:{InclusiveMaximum:0x10000000000000000,InclusiveMinimum:0},serializedName:"height",required:!0,type:{name:"Number"}}},rs={parameterPath:"pubkey",mapper:{serializedName:"pubkey",required:!0,type:{name:"String"}}},as={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},is={parameterPath:"body",mapper:Bi},os={parameterPath:"body",mapper:Wi};class ss extends Ni.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===mi.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:mi.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(mi.bearerTokenAuthenticationPolicy({scopes:`${s.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ni.authorizeRequestOnClaimChallenge}})))),this.$host=e}getTopHeader(e){return this.sendOperationRequest({options:e},ls)}getCurrentKeyBlock(e){return this.sendOperationRequest({options:e},us)}getCurrentKeyBlockHash(e){return this.sendOperationRequest({options:e},ds)}getCurrentKeyBlockHeight(e){return this.sendOperationRequest({options:e},ps)}getPendingKeyBlock(e){return this.sendOperationRequest({options:e},ms)}getKeyBlockByHash(e,t){return this.sendOperationRequest({hash:e,options:t},hs)}getKeyBlockByHeight(e,t){return this.sendOperationRequest({height:e,options:t},ys)}getMicroBlockHeaderByHash(e,t){return this.sendOperationRequest({hash:e,options:t},fs)}getMicroBlockTransactionsByHash(e,t){return this.sendOperationRequest({hash:e,options:t},gs)}getMicroBlockTransactionByHashAndIndex(e,t,n){return this.sendOperationRequest({hash:e,index:t,options:n},Ns)}getMicroBlockTransactionsCountByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Cs)}getCurrentGeneration(e){return this.sendOperationRequest({options:e},ws)}getGenerationByHash(e,t){return this.sendOperationRequest({hash:e,options:t},bs)}getGenerationByHeight(e,t){return this.sendOperationRequest({height:e,options:t},vs)}getAccountByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},xs)}getAccountByPubkeyAndHeight(e,t,n){return this.sendOperationRequest({pubkey:e,height:t,options:n},Ss)}getAccountByPubkeyAndHash(e,t,n){return this.sendOperationRequest({pubkey:e,hash:t,options:n},Ts)}getPendingAccountTransactionsByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},_s)}getAccountNextNonce(e,t){return this.sendOperationRequest({pubkey:e,options:t},zs)}protectedDryRunTxs(e,t){return this.sendOperationRequest({body:e,options:t},qs)}getTransactionByHash(e,t){return this.sendOperationRequest({hash:e,options:t},As)}getTransactionInfoByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Ps)}postTransaction(e,t){return this.sendOperationRequest({body:e,options:t},Es)}getContract(e,t){return this.sendOperationRequest({pubkey:e,options:t},Is)}getContractCode(e,t){return this.sendOperationRequest({pubkey:e,options:t},ks)}getContractPoI(e,t){return this.sendOperationRequest({pubkey:e,options:t},Os)}getOracleByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ms)}getOracleQueriesByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Rs)}getOracleQueryByPubkeyAndQueryId(e,t,n){return this.sendOperationRequest({pubkey:e,queryId:t,options:n},Bs)}getNameEntryByName(e,t){return this.sendOperationRequest({name:e,options:t},js)}getChannelByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ds)}getPeerPubkey(e){return this.sendOperationRequest({options:e},Vs)}getStatus(e){return this.sendOperationRequest({options:e},Us)}getChainEnds(e){return this.sendOperationRequest({options:e},Fs)}}const cs=Ni.createSerializer(c,!1),ls={path:"/v3/headers/top",httpMethod:"GET",responses:{200:{bodyMapper:Ci},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},us={path:"/v3/key-blocks/current",httpMethod:"GET",responses:{200:{bodyMapper:bi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},ds={path:"/v3/key-blocks/current/hash",httpMethod:"GET",responses:{200:{bodyMapper:vi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},ps={path:"/v3/key-blocks/current/height",httpMethod:"GET",responses:{200:{bodyMapper:xi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},ms={path:"/v3/key-blocks/pending",httpMethod:"GET",responses:{200:{bodyMapper:bi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},hs={path:"/v3/key-blocks/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:bi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},ys={path:"/v3/key-blocks/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:bi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ns],headerParameters:[Jo],serializer:cs},fs={path:"/v3/micro-blocks/hash/{hash}/header",httpMethod:"GET",responses:{200:{bodyMapper:Si},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},gs={path:"/v3/micro-blocks/hash/{hash}/transactions",httpMethod:"GET",responses:{200:{bodyMapper:Ti},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},Ns={path:"/v3/micro-blocks/hash/{hash}/transactions/index/{index}",httpMethod:"GET",responses:{200:{bodyMapper:_i},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts,{parameterPath:"index",mapper:{constraints:{InclusiveMinimum:1},serializedName:"index",required:!0,type:{name:"Number"}}}],headerParameters:[Jo],serializer:cs},Cs={path:"/v3/micro-blocks/hash/{hash}/transactions/count",httpMethod:"GET",responses:{200:{bodyMapper:ki},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},ws={path:"/v3/generations/current",httpMethod:"GET",responses:{200:{bodyMapper:Oi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},bs={path:"/v3/generations/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Oi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},vs={path:"/v3/generations/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Oi},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ns],headerParameters:[Jo],serializer:cs},xs={path:"/v3/accounts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Mi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},Ss={path:"/v3/accounts/{pubkey}/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Mi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ns,rs],headerParameters:[Jo],serializer:cs},Ts={path:"/v3/accounts/{pubkey}/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Mi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts,rs],headerParameters:[Jo],serializer:cs},_s={path:"/v3/accounts/{pubkey}/transactions/pending",httpMethod:"GET",responses:{200:{bodyMapper:Ti},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},zs={path:"/v3/accounts/{pubkey}/next-nonce",httpMethod:"GET",responses:{200:{bodyMapper:Ri},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es,{parameterPath:["options","strategy"],mapper:{defaultValue:"max",serializedName:"strategy",type:{name:"Enum",allowedValues:["max","continuity"]}}}],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},qs={path:"/v3/dry-run",httpMethod:"POST",responses:{200:{bodyMapper:Fi},403:{bodyMapper:wi,isError:!0}},requestBody:is,queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo,as],mediaType:"json",serializer:cs},As={path:"/v3/transactions/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:_i},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},Ps={path:"/v3/transactions/{hash}/info",httpMethod:"GET",responses:{200:{bodyMapper:Ki},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,ts],headerParameters:[Jo],serializer:cs},Es={path:"/v3/transactions",httpMethod:"POST",responses:{200:{bodyMapper:Qi},400:{bodyMapper:wi,isError:!0}},requestBody:os,queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo,as],mediaType:"json",serializer:cs},Is={path:"/v3/contracts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Yi},400:{bodyMapper:wi,isError:!0},404:{isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},ks={path:"/v3/contracts/{pubkey}/code",httpMethod:"GET",responses:{200:{bodyMapper:Xi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},Os={path:"/v3/contracts/{pubkey}/poi",httpMethod:"GET",responses:{200:{bodyMapper:Ji},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},Ms={path:"/v3/oracles/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Zi},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},Rs={path:"/v3/oracles/{pubkey}/queries",httpMethod:"GET",responses:{200:{bodyMapper:eo},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es,{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:[Zo,rs],headerParameters:[Jo],serializer:cs},Bs={path:"/v3/oracles/{pubkey}/queries/{query-id}",httpMethod:"GET",responses:{200:{bodyMapper:to},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs,{parameterPath:"queryId",mapper:{serializedName:"query-id",required:!0,type:{name:"String"}}}],headerParameters:[Jo],serializer:cs},js={path:"/v3/names/{name}",httpMethod:"GET",responses:{200:{bodyMapper:no},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,{parameterPath:"name",mapper:{serializedName:"name",required:!0,type:{name:"String"}}}],headerParameters:[Jo],serializer:cs},Ds={path:"/v3/channels/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:ro},400:{bodyMapper:wi,isError:!0},404:{bodyMapper:wi,isError:!0}},queryParameters:[es],urlParameters:[Zo,rs],headerParameters:[Jo],serializer:cs},Vs={path:"/v3/peers/pubkey",httpMethod:"GET",responses:{200:{bodyMapper:ao}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},Us={path:"/v3/status",httpMethod:"GET",responses:{200:{bodyMapper:io}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs},Fs={path:"/v3/status/chain-ends",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"String"}}}}}},queryParameters:[es],urlParameters:[Zo],headerParameters:[Jo],serializer:cs};function Hs(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 $s(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}async function Gs(){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 Ks=["balance","queryFee","fee","amount","nameFee","channelAmount","initiatorAmount","responderAmount","channelReserve","initiatorAmountFinal","responderAmountFinal","gasPrice","deposit"],Ls=["time","gas","gasUsed","nameSalt","nonce","nextNonce","height","blockHeight","top","topBlockHeight","ttl","nameTtl","clientTtl","inbound","outbound","peerCount","pendingTransactionsCount","effectiveAtHeight","version","solutions","round"];var Ws=new WeakSet,Qs=new WeakSet,Ys=new WeakSet;class Xs extends ss{constructor(){super(...arguments),Hs(this,Ys),Hs(this,Qs),Hs(this,Ws)}async sendOperationRequest(e,t){const n=it(e,(e=>{let[t,n]=e;return[t,$s(this,Qs,Zs).call(this,n)]}));return $s(this,Ys,ec).call(this,await super.sendOperationRequest(n,t))}}function Js(e,t){return Array.isArray(e)?e.map((e=>$s(this,Ws,Js).call(this,e,t))):null!=e&&"object"==typeof e?it(e,(e=>{let[n,r]=e;return null==r?[n,r]:Ks.some((e=>e===n))?[n,t.bigInt(r)]:Ls.some((e=>e===n))?[n,t.number(r)]:[n,$s(this,Ws,Js).call(this,r,t)]})):e}function Zs(e){return $s(this,Ws,Js).call(this,e,{bigInt:e=>e instanceof d()?e.toFixed():e.toString(),number:e=>e.toString()})}function ec(e){return $s(this,Ws,Js).call(this,e,{bigInt:e=>BigInt(e),number:e=>+e})}class tc extends Xs{constructor(e){let{ignoreVersion:t=!1,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[hi(),yi(),fi((e=>` ${e.reason}`))],...n}),this.url=e,!t){const e=this.getStatus().then((e=>{let{nodeVersion:t}=e;return t}));this.pipeline.addPolicy(gi("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 nc=C(9408).Buffer;class rc{constructor(){var e;let{networkId:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};pi(this,"getNetworkId",Gs),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([nc.from(a.join("-")),Et(i)]);return Nr({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?nc.from(r).toString("hex"):r}async verifyMessage(e,t,n){return Dt(e,"string"==typeof t?nc.from(t,"hex"):t,St(await this.address(n)))}}var ac=C(9408).Buffer;const ic=new WeakMap;class oc extends rc{constructor(e){let{keypair:t,gaId:n,...r}=e;if(super(r),this.isGa=null!=n,this.isGa&&null!=n)return St(n),void ic.set(this,{publicKey:n});if(null==t)throw new I("Either gaId or keypair is required");if(!ac.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?ac.from(t.secretKey,"hex"):t.secretKey;if(!Vt(a,St(t.publicKey)))throw new H("Invalid Key Pair");ic.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,ic.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 Za(e,n,r,{onCompiler:a,onNode:i,onAccount:this})}async address(){return ic.get(this).publicKey}}const sc={type:{name:"Composite",className:"Contract",modelProperties:{code:{serializedName:"code",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}}}}},cc={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"}}}}},lc={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"}}}}},uc={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"}}}}},dc={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"}}}}},pc={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},mc={type:{name:"Composite",className:"APIVersion",modelProperties:{apiVersion:{serializedName:"api-version",required:!0,type:{name:"String"}}}}},hc={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},yc={type:{name:"Composite",className:"ByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},fc={type:{name:"Composite",className:"CompilerVersion",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}}}}},gc={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"}}}}},Nc={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"}}}}},Cc={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"}}}}}}},wc={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"}}}}},bc={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"}}}}},vc={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"}}}}},xc={type:{name:"Composite",className:"SophiaBinaryData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"String"}},sophiaType:{serializedName:"sophia-type",required:!0,type:{name:"String"}}}}},Sc={type:{name:"Composite",className:"SophiaJsonData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},Tc={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"}}}}},_c={type:{name:"Composite",className:"Calldata",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},zc={type:{name:"Composite",className:"FateAssembler",modelProperties:{fateAssembler:{serializedName:"fate-assembler",required:!0,type:{name:"String"}}}}},qc={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"}}}}},Ac={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Pc={parameterPath:"body",mapper:sc},Ec={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},Ic={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},kc={parameterPath:"body",mapper:yc},Oc={parameterPath:"body",mapper:gc},Mc={parameterPath:"body",mapper:Nc},Rc={parameterPath:"body",mapper:wc},Bc={parameterPath:"body",mapper:vc},jc={parameterPath:"body",mapper:xc},Dc={parameterPath:"body",mapper:Tc},Vc={parameterPath:"body",mapper:qc};class Uc extends Ni.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===mi.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:mi.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(mi.bearerTokenAuthenticationPolicy({scopes:`${s.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ni.authorizeRequestOnClaimChallenge}})))),this.$host=e}generateACI(e,t){return this.sendOperationRequest({body:e,options:t},Hc)}api(e){return this.sendOperationRequest({options:e},$c)}aPIVersion(e){return this.sendOperationRequest({options:e},Gc)}compileContract(e,t){return this.sendOperationRequest({body:e,options:t},Kc)}getCompilerVersion(e,t){return this.sendOperationRequest({body:e,options:t},Lc)}decodeCallResult(e,t){return this.sendOperationRequest({body:e,options:t},Wc)}decodeCallResultBytecode(e,t){return this.sendOperationRequest({body:e,options:t},Qc)}decodeCalldataBytecode(e,t){return this.sendOperationRequest({body:e,options:t},Yc)}decodeCalldataSource(e,t){return this.sendOperationRequest({body:e,options:t},Xc)}decodeData(e,t){return this.sendOperationRequest({body:e,options:t},Jc)}encodeCalldata(e,t){return this.sendOperationRequest({body:e,options:t},Zc)}getFateAssemblerCode(e,t){return this.sendOperationRequest({body:e,options:t},el)}validateByteCode(e,t){return this.sendOperationRequest({body:e,options:t},tl)}version(e){return this.sendOperationRequest({options:e},nl)}}const Fc=Ni.createSerializer(l,!1),Hc={path:"/aci",httpMethod:"POST",responses:{200:{bodyMapper:lc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Pc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},$c={path:"/api",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Dictionary",value:{type:{name:"any"}}}}},400:{bodyMapper:pc,isError:!0}},urlParameters:[Ic],headerParameters:[Ec],serializer:Fc},Gc={path:"/api-version",httpMethod:"GET",responses:{200:{bodyMapper:mc},500:{bodyMapper:pc,isError:!0}},urlParameters:[Ic],headerParameters:[Ec],serializer:Fc},Kc={path:"/compile",httpMethod:"POST",responses:{200:{bodyMapper:hc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Pc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Lc={path:"/compiler-version",httpMethod:"POST",responses:{200:{bodyMapper:fc},400:{bodyMapper:pc,isError:!0}},requestBody:kc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Wc={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:Oc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Qc={path:"/decode-call-result/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:Cc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Mc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Yc={path:"/decode-calldata/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:bc},400:{bodyMapper:pc,isError:!0}},requestBody:Rc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Xc={path:"/decode-calldata/source",httpMethod:"POST",responses:{200:{bodyMapper:bc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Bc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Jc={path:"/decode-data",httpMethod:"POST",responses:{200:{bodyMapper:Sc},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:jc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},Zc={path:"/encode-calldata",httpMethod:"POST",responses:{200:{bodyMapper:_c},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Dc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},el={path:"/fate-assembler",httpMethod:"POST",responses:{200:{bodyMapper:zc},400:{bodyMapper:pc,isError:!0}},requestBody:kc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},tl={path:"/validate-byte-code",httpMethod:"POST",responses:{200:{},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Vc,urlParameters:[Ic],headerParameters:[Ac,Ec],mediaType:"json",serializer:Fc},nl={path:"/version",httpMethod:"GET",responses:{200:{bodyMapper:fc},500:{bodyMapper:pc,isError:!0}},urlParameters:[Ic],headerParameters:[Ec],serializer:Fc};class rl extends Uc{constructor(e){let{ignoreVersion:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[fi((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(gi("compiler","/api-version",e,"6.1.0","7.0.0"))}}}function al(e){try{return e()}catch(e){return new Proxy({},Object.fromEntries(["get","set","has"].map((t=>[t,()=>{throw e}]))))}}class il{constructor(){let{nodes:e=[],compilerUrl:t,ignoreVersion:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};pi(this,"_options",{denomination:Ue.AETTOS,amount:Jn}),pi(this,"pool",new Map),pi(this,"getNetworkId",Gs),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=al((()=>{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 rl(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 oc({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:al((()=>this.api)),onAccount:al((()=>this._resolveAccount())),onCompiler:al((()=>this.compilerApi))}}async buildTx(e,t){return aa(e,{...this._getOptions(),...t})}}const{_buildTx:ol,...sl}=t,{InvalidTxError:cl,...ll}=e,ul={...ll,...sl,...r,...n,...i,...a,...o,...s};Object.assign(il.prototype,it(ul,(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 dl=il;class pl extends dl{constructor(){super(...arguments),pi(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 ml,hl,yl,fl,gl;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(ml||(ml={})),function(e){e.window="window",e.extension="extension"}(hl||(hl={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(yl||(yl={})),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"}(fl||(fl={})),function(e){e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(gl||(gl={}));const Nl=[];class Cl extends y{toJSON(){return{code:this.code,message:this.message,data:this.data}}static deserialize(e){const t=Nl.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 wl extends Cl{constructor(e){super("Invalid transaction"),pi(this,"code",2),this.data=e,this.name="RpcInvalidTransactionError"}}pi(wl,"code",2),Nl.push(wl);class bl extends Cl{constructor(e){super("Broadcast failed"),pi(this,"code",3),this.data=e,this.name="RpcBroadcastError"}}pi(bl,"code",3),Nl.push(bl);class vl extends Cl{constructor(e){super("Operation rejected by user"),pi(this,"code",4),this.data=e,this.name="RpcRejectedByUserError"}}pi(vl,"code",4),Nl.push(vl);class xl extends Cl{constructor(){super("Unsupported Protocol Version"),pi(this,"code",5),this.name="RpcUnsupportedProtocolError"}}pi(xl,"code",5),Nl.push(xl);class Sl extends Cl{constructor(e){super("Wallet deny your connection request"),pi(this,"code",9),this.data=e,this.name="RpcConnectionDenyError"}}pi(Sl,"code",9),Nl.push(Sl);class Tl extends Cl{constructor(){super("You are not connected to the wallet"),pi(this,"code",10),this.name="RpcNotAuthorizeError"}}pi(Tl,"code",10),Nl.push(Tl);class _l extends Cl{constructor(e){super(`You are not subscribed for account ${e}`),pi(this,"code",11),this.data=e,this.name="RpcPermissionDenyError"}}pi(_l,"code",11),Nl.push(_l);class zl extends Cl{constructor(){super("The peer failed to execute your request due to unknown error"),pi(this,"code",12),this.name="RpcInternalError"}}pi(zl,"code",12),Nl.push(zl);class ql extends Cl{constructor(){super("Method not found"),pi(this,"code",-32601),this.name="RpcMethodNotFoundError"}}pi(ql,"code",-32601),Nl.push(ql);var Al=C(9408).Buffer;class Pl extends rc{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(fl.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(fl.signMessage,{onAccount:this._address,message:e});return t?n:Al.from(n,"hex")}}function El(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function Il(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,El(e,t,"get"))}function kl(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,El(e,t,"set"),n),n}function Ol(e,t){Rl(e,t),t.add(e)}function Ml(e,t,n){Rl(e,t),t.set(e,n)}function Rl(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Bl(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}var jl=new WeakMap,Dl=new WeakMap,Vl=new WeakMap,Ul=new WeakSet,Fl=new WeakSet,Hl=new WeakSet,$l=new WeakSet;class Gl{constructor(e,t,n){Ol(this,$l),Ol(this,Hl),Ol(this,Fl),Ol(this,Ul),Ml(this,jl,{writable:!0,value:new Map}),Ml(this,Dl,{writable:!0,value:0}),Ml(this,Vl,{writable:!0,value:void 0}),this.connection=e,kl(this,Vl,n),e.connect(Bl(this,Ul,Kl).bind(this),t)}async request(e,t){return Bl(this,Fl,Ll).call(this,kl(this,Dl,Il(this,Dl)+1),e,t),new Promise(((e,t)=>{Il(this,jl).set(Il(this,Dl),{resolve:e,reject:t})}))}notify(e,t){Bl(this,Fl,Ll).call(this,void 0,e,t)}}async function Kl(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 Bl(this,$l,Ql).call(this,e);const n=e;let r,a;try{if(!(n.method in Il(this,Vl)))throw new ql;const e=n.method;r=await Il(this,Vl)[e](n.params,t)}catch(e){a=e instanceof Cl?e:new zl}null!=n.id&&Bl(this,Hl,Wl).call(this,n.id,n.method,r,a)}function Ll(e,t,n){this.connection.sendMessage({jsonrpc:"2.0",...null!=e?{id:e}:{},method:t,...null!=n?{params:n}:{}})}function Wl(e,t,n,r){this.connection.sendMessage({jsonrpc:"2.0",id:e,method:t,...null!=r?{error:r}:{result:n}})}function Ql(e){let{id:t,error:n,result:r}=e;const a=Il(this,jl).get(t);if(null==a)throw new Q(t);null!=n?a.reject(Cl.deserialize(n)):a.resolve(r),Il(this,jl).delete(t)}class Yl extends dl{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 Pl({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 Gl(e,(()=>{delete this.rpcClient,delete this._accounts,this.onDisconnect(t)}),{[fl.updateAddress]:e=>{this._accounts=e,this.onAddressChange(e)},[fl.updateNetwork]:e=>{const{node:t}=e;null!=t&&this.addNode(t.name,new tc(t.url),!0),this.onNetworkChange(e)},[fl.closeConnection]:e=>{t=e,i.connection.disconnect()},[fl.readyToConnect]:()=>{}}),{node:o,...s}=await i.request(fl.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 tc(o.url),a)}return this.rpcClient=i,s}disconnectWallet(){this._ensureConnected(),this.rpcClient.notify(fl.closeConnection,{reason:"bye"}),this.rpcClient.connection.disconnect()}async askAddresses(){return this._ensureAccountAccess(),this.rpcClient.request(fl.address,void 0)}async subscribeAddress(e,t){this._ensureConnected();const n=await this.rpcClient.request(fl.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 Xl=C(2716);const Jl=C.n(Xl)()({storeAsString:!0}),Zl=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return it(e,(e=>{let[t,n]=e;return[t,Zl(n)]}));if(Array.isArray(e))return e.map((e=>Zl(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 eu={stringify:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Jl.stringify(Zl(t[0]),...t.slice(1))},parse:Jl.parse};class tu extends pl{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(fl.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(fl.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 gl.CONNECTED===this._getClient(e).status&&this._getClient(e).rpc.connection.isConnected()}_disconnectRpcClient(e){const t=this._getClient(e);t.rpc.connection.disconnect(),t.status=gl.DISCONNECTED,t.addressSubscription=new Set}removeRpcClient(e){this._disconnectRpcClient(e),this._clients.delete(e)}addRpcClient(e){const t=(0,Lr.v4)();let n;const r={id:t,status:gl.WAITING_FOR_CONNECTION_REQUEST,addressSubscription:new Set,connectNode:!1,rpc:new Gl(e,(()=>{this._clients.delete(t),this.onDisconnect(t,n)}),{[fl.closeConnection]:e=>{n=e,this._disconnectRpcClient(t)},[fl.connect]:async(e,n)=>{let{name:a,version:i,icons:o,connectNode:s}=e;if(1!==i)throw new xl;return await this.onConnection(t,{name:a,icons:o,connectNode:s},n),r.status=gl.CONNECTED,r.connectNode=s,{...await this.getWalletInfo(),...s&&this._getNode()}},[fl.subscribeAddress]:async(e,n)=>{let{type:a,value:i}=e;if(!this._isRpcClientConnected(t))throw new Tl;switch(await this.onSubscription(t,{type:a,value:i},n),a){case yl.subscribe:r.addressSubscription.add(i);break;case yl.unsubscribe:r.addressSubscription.delete(i);break;default:throw new U(`Unknown subscription type: ${a}`)}return{subscription:Array.from(r.addressSubscription),address:this.getAccounts()}},[fl.address]:async(e,n)=>{if(!this._isRpcClientSubscribed(t))throw new Tl;return await this.onAskAccounts(t,e,n),this.addresses()},[fl.sign]:async(e,n)=>{var r,a,i,o;let{tx:s,onAccount:c,returnSigned:l}=e;if(!this._isRpcClientConnected(t))throw new Tl;if(null!==(r=c)&&void 0!==r||(c=await this.address()),!m()(a=this.addresses()).call(a,c))throw new _l(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 eu.parse(eu.stringify({transactionHash:await this.send(s,{onAccount:c,verify:!1})}))}catch(e){const t=await Tr(s,this.api);if(t.length>0)throw new wl(t);throw new bl(e.message)}},[fl.signMessage]:async(e,n)=>{var r,a,i;let{message:o,onAccount:s}=e;if(!this._isRpcClientConnected(t))throw new Tl;if(null!==(r=s)&&void 0!==r||(s=await this.address()),!m()(a=this.addresses()).call(a,s))throw new _l(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(fl.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 nu=C(8079),ru=C(3735);const au=new WeakMap,iu=new WeakMap,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;function wu(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=lu.get(e))||void 0===t||t.emit(i,...o)}function bu(e,t){var n;if(null==t)throw new re;su.set(e,t),null!=(null==t||null===(n=t.handler)||void 0===n?void 0:n.enter)&&t.handler.enter(e),Tu(e)}function vu(e,t){t!==iu.get(e)&&(iu.set(e,t),wu(e,"statusChanged",t))}function xu(e,t){ou.set(e,t),wu(e,"stateChanged",t)}function Su(e,t){var n,r,a;null!==(n=null===(r=au.get(e))||void 0===r?void 0:r.debug)&&void 0!==n&&n&&console.log("Send message: ",t),null===(a=cu.get(e))||void 0===a||a.send(eu.stringify(t))}async function Tu(e){var t;const n=mu.get(e),r=null!==(t=pu.get(e))&&void 0!==t?t:[];if(Boolean(n)||0===r.length)return;const a=su.get(e);if(null==a)return;const i=r.findIndex((t=>t.guard(e,a)));if(-1===i)return;pu.set(e,r.filter(((e,t)=>i!==t))),mu.set(e,!0);const o=await Promise.resolve(r[i].action(e,a));mu.set(e,!1),bu(e,o)}function _u(e,t,n){var r;const a=null!==(r=pu.get(e))&&void 0!==r?r:[];pu.set(e,[...a,{guard:t,action:n}]),Tu(e)}async function zu(e,t){const n=su.get(e);if(null==n)throw new re;const{handler:r,state:a}=n;bu(e,await Promise.resolve(r(e,t,a)))}function qu(e){var t;null===(t=cu.get(e))||void 0===t||t.close();const n=gu.get(e),r=Nu.get(e);null!=n&&clearTimeout(n),null!=r&&clearTimeout(r)}function Au(e){const t=gu.get(e),n=Nu.get(e);null!=t&&clearTimeout(t),null!=n&&clearTimeout(n),gu.set(e,setTimeout((()=>{Su(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),Nu.set(e,setTimeout((()=>{qu(e),wu(e,"error",new te)}),5e3))}),1e4))}async function Pu(e,t,n){return new Promise(((r,a)=>{var i,o,s;const c=null!==(i=hu.get(e))&&void 0!==i?i:0,l=null!==(o=hu.set(e,c+1).get(e))&&void 0!==o?o:1;null===(s=fu.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)})),Su(e,{jsonrpc:"2.0",method:t,id:l,params:n})}))}async function Eu(e,t,n,r){let{url:a,...i}=r;au.set(e,{url:a,...i}),su.set(e,{handler:t}),lu.set(e,new ru.EventEmitter),hu.set(e,0),fu.set(e,new Map),uu.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"),vu(e,"connecting");const s=new nu.w3cwebsocket(o.toString());await new Promise(((t,r)=>{Object.assign(s,{onerror:r,onopen:async()=>{if(t(),vu(e,"connected"),null!=i.reconnectTx){bu(e,{handler:n});const t=(await Pu(e,"channels.get.offchain_state",{})).signed_tx;xu(e,t)}Au(e)},onclose:()=>{vu(e,"disconnected");const t=gu.get(e),n=Nu.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=eu.parse(t);if(null!==(n=null===(r=au.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=uu.get(e))||void 0===a||a.push(i),async function(e){var t,n;if(null!==(t=du.get(e))&&void 0!==t&&t)return;const r=null!==(n=uu.get(e))&&void 0!==n?n:[];if(0!==r.length){for(du.set(e,!0);r.length>0;){var a;const t=null!==(a=r.shift())&&void 0!==a?a:"";try{await zu(e,t)}catch(e){console.error("Error handling incoming message:"),console.error(t),console.error(e)}}du.set(e,!1)}}(e)):i.params.channel_id!==yu.get(e)&&null!=yu.get(e)||Au(e):wu(e,"message",i.params.data.message);else{var o;const t=null===(o=fu.get(e))||void 0===o?void 0:o.get(i.id);try{null==t||t(i)}finally{var s;null===(s=fu.get(e))||void 0===s||s.delete(i.id)}}}(e,n)}})})),cu.set(e,s)}async function Iu(e,t){const{signatures:n,encodedTx:r}=Cr(e,Jt.SignedTx).tx,a=await t(Tt(r.rlpEncoded,dt.Transaction));if("string"==typeof a){const{tx:e}=Cr(a,Jt.SignedTx);return Nr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},Jt.SignedTx).tx}return a}function ku(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:Uu}}function Ou(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)?(vu(e,{channel_accept:"accepted",funding_created:"halfSigned"}[r]),{handler:Ru}):"channel_reestablished"===t.params.data.event?{handler:Du}:"fsm_up"===t.params.data.event?(Cu.set(e,t.params.data.fsm_id),{handler:Ou}):{handler:Ou}}var r;if("channels.error"===t.method)return wu(e,"error",new ee(null==t||null===(r=t.payload)||void 0===r?void 0:r.message)),{handler:od}}async function Mu(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Cu.set(e,t.params.data.fsm_id),xu(e,(await Pu(e,"channels.get.offchain_state",{})).signed_tx),{handler:Uu}):ku(0,t,n)}async function Ru(e,t){const n=au.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 Su(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:a}}),{handler:Bu}}const a=await Iu(t.params.data.signed_tx,(async e=>n.sign(r,e)));return Su(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Bu}}}}function Bu(e,t){const n=au.get(e);if(null!=n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===n.role)return{handler:ju};if("funding_created"===t.params.data.info&&"responder"===n.role)return{handler:ju}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===n.role)return yu.set(e,t.params.channel_id),vu(e,"signed"),{handler:Bu}}}function ju(e,t){if("channels.info"===t.method){const e={funding_created:ju,own_funding_locked:ju,funding_locked:Du}[t.params.data.event];if(null!=e)return{handler:e}}if("channels.on_chain_tx"===t.method)return wu(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:ju}}function Du(e,t){if("channels.info"===t.method&&"open"===t.params.data.event)return yu.set(e,t.params.channel_id),{handler:Vu}}function Vu(e,t){if("channels.update"===t.method)return xu(e,t.params.data.state),{handler:Uu}}async function Uu(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:$u};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return wu(e,t.params.data.event),{handler:Uu};case"fsm_up":return Cu.set(e,t.params.data.fsm_id),{handler:Uu};case"timeout":case"close_mutual":case"shutdown":return{handler:Uu};case"closing":return vu(e,"closing"),{handler:Uu};case"closed_confirmed":return vu(e,"closed"),{handler:od};case"died":return vu(e,"died"),{handler:od}}break;case"channels.on_chain_tx":return wu(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Uu};case"channels.leave":return{handler:Uu};case"channels.update":return xu(e,t.params.data.state),{handler:Uu};case"channels.sign.shutdown_sign_ack":return $u(e,t,n)}}async function Fu(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Hu,state:n};const a=await Iu(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Hu,state:n};if("number"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Fu,state:n}}if("channels.error"===t.method)return n.reject(new ee(t.data.message)),{handler:Uu};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:Uu}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):ku(0,t,n)}function Hu(e,t,n){return"channels.update"===t.method?(xu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Uu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):null!=t.error?(n.reject(new ee(t.error.message)),{handler:Uu}):ku(0,t,n)}async function $u(e,t,n){var r;const[,a]=null!==(r=t.method.match(/^channels\.sign\.([^.]+)$/))&&void 0!==r?r:[],i=au.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 Su(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{tx:n}}),{handler:Uu}}else{const r=await Iu(t.params.data.signed_tx,(async e=>i.sign(a,e,{updates:t.params.data.updates})));if("string"==typeof r)return Su(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{signed_tx:r}}),{handler:Uu};if("number"==typeof r)return Su(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{error:r}}),{handler:Gu,state:n}}return Su(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Ot().publicKey,to:Ot().publicKey,amount:1}}),{handler:Gu,state:n}}return ku(0,t,n)}function Gu(e,t,n){return null!=t.error?{handler:Gu,state:n}:"channels.conflict"===t.method?{handler:Uu}:ku(0,t,n)}async function Ku(e,t,n){return"channels.sign.shutdown_sign"===t.method?null!=t.params.data.tx?(Su(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Lu,state:n}):(Su(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:await Iu(t.params.data.signed_tx,(async e=>n.sign(e)))}}),{handler:Lu,state:n}):ku(0,t,n)}function Lu(e,t,n){return"channels.on_chain_tx"===t.method?{handler:od,state:n}:ku(0,t,n)}function Wu(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),qu(e),{handler:od}):"channels.error"===t.method?(n.reject(new ee(t.data.message)),{handler:Uu}):ku(0,t,n)}async function Qu(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return Su(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Yu,state:n};const a=await Iu(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Yu,state:n};if("number"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Yu,state:n}}return ku(0,t,n)}function Yu(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:Yu,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:Yu,state:n}}return"channels.update"===t.method?(xu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Uu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):ku(0,t,n)}async function Xu(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(null!=t.params.data.tx)return Su(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Ju,state:n};const a=await Iu(t.params.data.signed_tx,(async e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Ju,state:n};if("number"==typeof a)return Su(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Ju,state:n}}return ku(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_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:Ju,state:n}}return"channels.update"===t.method?(xu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Uu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):ku(0,t,n)}async function Zu(e,t,n){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:ed,state:n};const r=await Iu(t.params.data.signed_tx,(async e=>n.sign(e)));if("string"==typeof r)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ed,state:n};if("number"==typeof r)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ed,state:n}}return ku(0,t,n)}function ed(e,t,n){const r=au.get(e);if("channels.update"===t.method){const{round:a}=Cr(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 xu(e,t.params.data.state),n.resolve({accepted:!0,address:It(o,a),signedTx:t.params.data.state}),{handler:Uu}}}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):ku(0,t,n)}async function td(e,t,n){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ad,state:n};const r=await Iu(t.params.data.signed_tx,(async e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ad,state:n};if("number"==typeof r)return Su(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ad,state:n}}return ku(0,t,n)}async function nd(e,t,n){return"channels.sign.force_progress_tx"===t.method?(Su(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:await Iu(t.params.data.signed_tx,(async e=>n.sign(e,{updates:t.params.data.updates})))}}),{handler:rd,state:n}):ku(0,t,n)}function rd(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),wu(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})),ku(0,t,n)}function ad(e,t,n){return"channels.update"===t.method?(xu(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Uu}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Uu}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Uu}):ku(0,t,n)}function id(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Uu}):(n.reject(new ne("Unexpected message received")),{handler:od})}function od(e,t,n){return null==n?{handler:od}:"closing"===t.params.data.event?{handler:od,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:od,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:od}):{handler:od,state:n}}function sd(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}),{})}Uu.enter=e=>{vu(e,"open")};class cd{static async initialize(e){const t=new cd;return await Eu(t,null!=e.existingFsmId?Mu:Ou,Uu,e),t}on(e,t){const n=lu.get(this);if(null==n)throw new re;n.on(e,t)}off(e,t){const n=lu.get(this);if(null==n)throw new re;n.removeListener(e,t)}disconnect(){return qu(this)}status(){const e=iu.get(this);if(null==e)throw new re;return e}async state(){return sd(await Pu(this,"channels.get.offchain_state",{}))}round(){const e=ou.get(this);if(null==e)return null;const{txType:t,tx:n}=Cr(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=yu.get(this);if(null==e)throw new b("Channel is not initialized");return e}fsmId(){const e=Cu.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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(s=>(Su(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Fu,state:{resolve:i,reject:o,sign:r}})))}))}async poi(e){let{accounts:t,contracts:n}=e;return(await Pu(this,"channels.get.poi",{accounts:t,contracts:n})).poi}async balances(e){return Object.fromEntries((await Pu(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))}async leave(){return new Promise(((e,t)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(n=>(Su(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Wu,state:{resolve:e,reject:t}})))}))}async shutdown(e){return new Promise(((t,n)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(r=>(Su(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ku,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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(s=>(Su(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Qu,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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(s=>(Su(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Xu,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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(c=>(Su(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:i,abi_version:o}}),{handler:Zu,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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(s=>(Su(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:i}}),{handler:td,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)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(u=>(Su(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:nd,state:{resolve:e,reject:l,sign:t,onOnChainTx:c}})))}))}async callContractStatic(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return sd(await Pu(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 sd(await Pu(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))}async getContractState(e){const t=await Pu(this,"channels.get.contract",{pubkey:e});return sd({...t,contract:sd(t.contract)})}async cleanContractCalls(){return new Promise(((e,t)=>{_u(this,((e,t)=>(null==t?void 0:t.handler)===Uu),(n=>(Su(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:id,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)),Su(this,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}})}static async reconnect(e,t){const{sign:n}=e;return cd.initialize({...e,reconnectTx:await n("reconnect",Nr(t,Jt.ChannelClientReconnectTx).tx)})}}var ld=(e,t)=>(e.connect((e=>t.sendMessage(e)),(()=>t.disconnect())),t.connect((t=>e.sendMessage(t)),(()=>e.disconnect())),()=>{e.disconnect(),t.disconnect()});class ud{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 dd(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 pd=new WeakMap,md=new WeakMap,hd=new WeakMap;class yd extends ud{constructor(){let{target:e,self:t=window,origin:n,sendDirection:r,receiveDirection:a=ml.to_aepp,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),dd(this,pd,{writable:!0,value:void 0}),dd(this,md,{writable:!0,value:void 0}),dd(this,hd,{writable:!0,value:void 0}),kl(this,md,e),kl(this,hd,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!=Il(this,md)&&Il(this,md)!==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)},Il(this,hd).addEventListener("message",this.listener),kl(this,pd,t)}disconnect(){if(super.disconnect(),null==this.listener||null==Il(this,pd))throw new U("Expected to not happen, required for TS");Il(this,hd).removeEventListener("message",this.listener),delete this.listener,Il(this,pd).call(this),kl(this,pd,void 0)}sendMessage(e){var t;if(null==Il(this,md))throw new Ve("Can't send messages without target");const n=null!=this.sendDirection?{type:this.sendDirection,data:e}:e;super.sendMessage(n),Il(this,md).postMessage(n,null!==(t=this.origin)&&void 0!==t?t:"*")}}var fd=(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!==fl.readyToConnect||null!=n[o.id])return;const s={info:o,getConnection(){const e="extension"===o.type;return new yd({sendDirection:e?ml.to_waellet:void 0,receiveDirection:e?ml.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 gd extends ud{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