@aeternity/aepp-sdk 10.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -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 +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -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 +25 -0
  29. package/es/account/Memory.mjs +81 -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 +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -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 +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -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 +1061 -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 +4164 -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 +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
package/dist/aepp-sdk.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):"function"==typeof define&&define.amd?define([,,,,,,,,,,,,,,,,,,,],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):e.Ae=t(e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0])}(global,(function(e,t,n,r,a,o,s,i,c,l,d,u,h,p,f,m,g,y,w,b){return(()=>{var v={3007:e=>{e.exports=function(){return!0}},4115:(e,t,n)=>{var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:(e,t,n)=>{var r=n(7455),a=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=a},7794:(e,t,n)=>{var r=n(7455),a=n(6224),o=n(1894),s=n(1186),i=n(793),c=a((function(e){var t=i(s,0,o((function(e){return e[0].length}),e));return r(t,(function(){for(var t=0;t<e.length;){if(e[t][0].apply(this,arguments))return e[t][1].apply(this,arguments);t+=1}}))}));e.exports=c},2220:(e,t,n)=>{var r=n(7455),a=n(6224),o=n(9002),s=n(2738),i=o((function(e,t){return 1===e?a(t):r(e,s(e,[],t))}));e.exports=i},2892:(e,t,n)=>{var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:(e,t,n)=>{var r=n(9002),a=n(4023),o=r((function(e,t){return a(e,t,[],[])}));e.exports=o},1383:(e,t,n)=>{var r=n(9002),a=n(4793),o=n(4877),s=n(8291),i=n(9488),c=n(123),l=n(368),d=r(a(["filter"],c,(function(e,t){return s(t)?i((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},l(t)):o(e,t)})));e.exports=d},7414:(e,t,n)=>{var r=n(6224)(n(5161)(!0));e.exports=r},9134:(e,t,n)=>{var r=n(6224),a=n(2220),o=r((function(e){return a(e.length,(function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)}))}));e.exports=o},5713:(e,t,n)=>{var r=n(1361),a=n(9002)(r);e.exports=a},7455:e=>{e.exports=function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,a){return t.apply(this,arguments)};case 5:return function(e,n,r,a,o){return t.apply(this,arguments)};case 6:return function(e,n,r,a,o,s){return t.apply(this,arguments)};case 7:return function(e,n,r,a,o,s,i){return t.apply(this,arguments)};case 8:return function(e,n,r,a,o,s,i,c){return t.apply(this,arguments)};case 9:return function(e,n,r,a,o,s,i,c,l){return t.apply(this,arguments)};case 10:return function(e,n,r,a,o,s,i,c,l,d){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:e=>{e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:e=>{e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:(e,t,n)=>{var r=n(6464);e.exports=function(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}},9002:(e,t,n)=>{var r=n(6224),a=n(6464);e.exports=function(e){return function t(n,o){switch(arguments.length){case 0:return t;case 1:return a(n)?t:r((function(t){return e(n,t)}));default:return a(n)&&a(o)?t:a(n)?r((function(t){return e(t,o)})):a(o)?r((function(t){return e(n,t)})):e(n,o)}}}},6370:(e,t,n)=>{var r=n(6224),a=n(9002),o=n(6464);e.exports=function(e){return function t(n,s,i){switch(arguments.length){case 0:return t;case 1:return o(n)?t:a((function(t,r){return e(n,t,r)}));case 2:return o(n)&&o(s)?t:o(n)?a((function(t,n){return e(t,s,n)})):o(s)?a((function(t,r){return e(n,t,r)})):r((function(t){return e(n,s,t)}));default:return o(n)&&o(s)&&o(i)?t:o(n)&&o(s)?a((function(t,n){return e(t,n,i)})):o(n)&&o(i)?a((function(t,n){return e(t,s,n)})):o(s)&&o(i)?a((function(t,r){return e(n,t,r)})):o(n)?r((function(t){return e(t,s,i)})):o(s)?r((function(t){return e(n,t,i)})):o(i)?r((function(t){return e(n,s,t)})):e(n,s,i)}}}},2738:(e,t,n)=>{var r=n(7455),a=n(6464);e.exports=function e(t,n,o){return function(){for(var s=[],i=0,c=t,l=0;l<n.length||i<arguments.length;){var d;l<n.length&&(!a(n[l])||i>=arguments.length)?d=n[l]:(d=arguments[i],i+=1),s[l]=d,a(d)||(c-=1),l+=1}return c<=0?o.apply(this,s):r(c,e(t,s,o))}}},4793:(e,t,n)=>{var r=n(219),a=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var o=Array.prototype.slice.call(arguments,0),s=o.pop();if(!r(s)){for(var i=0;i<e.length;){if("function"==typeof s[e[i]])return s[e[i]].apply(s,o);i+=1}if(a(s)){var c=t.apply(null,o);return c(s)}}return n.apply(this,arguments)}}},4023:(e,t,n)=>{var r=n(4118),a=n(2976),o=n(4931),s=n(7684),i=n(1361),c=n(368),l=n(6433);function d(e,t,n,o){var s=r(e),i=r(t);function c(e,t){return u(e,t,n.slice(),o.slice())}return!a((function(e,t){return!a(c,t,e)}),i,s)}function u(e,t,n,r){if(i(e,t))return!0;var a=l(e);if(a!==l(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===o(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!i(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!i(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var h=n.length-1;h>=0;){if(n[h]===e)return r[h]===t;h-=1}switch(a){case"Map":return e.size===t.size&&d(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&d(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var p=c(e);if(p.length!==c(t).length)return!1;var f=n.concat([e]),m=r.concat([t]);for(h=p.length-1;h>=0;){var g=p[h];if(!s(g,t)||!u(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=u},4877:e=>{e.exports=function(e,t){for(var n=0,r=t.length,a=[];n<r;)e(t[n])&&(a[a.length]=t[n]),n+=1;return a}},4931:e=>{e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:e=>{e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:(e,t,n)=>{var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:e=>{e.exports=function(e,t,n){for(var r=0,a=n.length;r<a;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:(e,t,n)=>{var r=n(1481);e.exports=function(e,t,n){var a,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(a=1/t;n<e.length;){if(0===(o=e[n])&&1/o===a)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(o=e[n])&&o!=o)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(r(e[n],t))return n;n+=1}return-1}},7587:(e,t,n)=>{var r=n(7684),a=Object.prototype.toString,o=function(){return"[object Arguments]"===a.call(arguments)?function(e){return"[object Arguments]"===a.call(e)}:function(e){return r("callee",e)}}();e.exports=o},219:e=>{e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:(e,t,n)=>{var r=n(6224),a=n(219),o=n(190),s=r((function(e){return!!a(e)||!!e&&"object"==typeof e&&!o(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=s},7e3:e=>{e.exports=Number.isInteger||function(e){return e<<0===e}},8291:e=>{e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:e=>{e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:e=>{e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:e=>{e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:(e,t,n)=>{var r=n(3219);e.exports=function(e){return function t(n){for(var a,o,s,i=[],c=0,l=n.length;c<l;){if(r(n[c]))for(s=0,o=(a=e?t(n[c]):n[c]).length;s<o;)i[i.length]=a[s],s+=1;else i[i.length]=n[c];c+=1}return i}}},6692:e=>{e.exports=function(e,t){for(var n=0,r=t.length,a=Array(r);n<r;)a[n]=e(t[n]),n+=1;return a}},1361:e=>{e.exports="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},9488:(e,t,n)=>{var r=n(3219),a=n(9874),o=n(3195);function s(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function i(e,t,n,r){return e["@@transducer/result"](n[r](o(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=a(e)),r(n))return function(e,t,n){for(var r=0,a=n.length;r<a;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}(e,t,n);if("function"==typeof n["fantasy-land/reduce"])return i(e,t,n,"fantasy-land/reduce");if(null!=n[c])return s(e,t,n[c]());if("function"==typeof n.next)return s(e,t,n);if("function"==typeof n.reduce)return i(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:e=>{e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:(e,t,n)=>{var r=n(9002),a=n(3714),o=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),s=r((function(e,t){return new o(e,t)}));e.exports=s},2894:(e,t,n)=>{var r=n(9002),a=n(3714),o=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),s=r((function(e,t){return new o(e,t)}));e.exports=s},9874:e=>{var t=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();e.exports=function(e){return new t(e)}},368:(e,t,n)=>{var r=n(6224),a=n(7684),o=n(7587),s=!{toString:null}.propertyIsEnumerable("toString"),i=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),l=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},d="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],d=c&&o(e);for(t in e)!a(t,e)||d&&"length"===t||(r[r.length]=t);if(s)for(n=i.length-1;n>=0;)a(t=i[n],e)&&!l(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=d},7560:(e,t,n)=>{var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:(e,t,n)=>{var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:(e,t,n)=>{var r=n(9002),a=n(4793),o=n(6692),s=n(9488),i=n(2894),c=n(2220),l=n(368),d=r(a(["fantasy-land/map","map"],i,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return c(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return s((function(n,r){return n[r]=e(t[r]),n}),{},l(t));default:return o(e,t)}})));e.exports=d},1186:(e,t,n)=>{var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:(e,t,n)=>{var r=n(9002),a=n(190),o=r((function(e,t){var n=e<0?t.length+e:e;return a(t)?t.charAt(n):t[n]}));e.exports=o},7430:(e,t,n)=>{var r=n(9002),a=n(4439),o=r((function(e,t){return a([e],t)[0]}));e.exports=o},4439:(e,t,n)=>{var r=n(9002),a=n(7e3),o=n(7041),s=r((function(e,t){return e.map((function(e){for(var n,r=t,s=0;s<e.length;){if(null==r)return;n=e[s],r=a(n)?o(n,r):r[n],s+=1}return r}))}));e.exports=s},5206:(e,t,n)=>{var r=n(9002)((function(e,t){for(var n={},r=0;r<e.length;)e[r]in t&&(n[e[r]]=t[e[r]]),r+=1;return n}));e.exports=r},2478:(e,t,n)=>{var r=n(9002),a=n(7430),o=r((function(e,t){return a([e],t)}));e.exports=o},793:(e,t,n)=>{var r=n(6370)(n(9488));e.exports=r},3266:(e,t,n)=>{var r=n(8770),a=n(9002),o=n(1383),s=a((function(e,t){return o(r(e),t)}));e.exports=s},6433:(e,t,n)=>{var r=n(6224)((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));e.exports=r},7263:(e,t,n)=>{var r=n(2976),a=n(9002)((function(e,t){for(var n,a=0,o=t.length,s=[];a<o;)n=t[a],r(e,n,s)||(s[s.length]=n),a+=1;return s}));e.exports=a},6290:(e,t,n)=>{var r=n(7243),a=n(9002),o=n(9134),s=n(3266),i=a((function(e,t){return s(o(r)(e),t)}));e.exports=i},590:e=>{"use strict";e.exports=p},8367:e=>{"use strict";e.exports=b},3656:e=>{"use strict";e.exports=u},1031:t=>{"use strict";t.exports=e},8081:e=>{"use strict";e.exports=t},4752:e=>{"use strict";e.exports=o},9558:e=>{"use strict";e.exports=n},2405:e=>{"use strict";e.exports=w},817:e=>{"use strict";e.exports=i},2139:e=>{"use strict";e.exports=r},6311:e=>{"use strict";e.exports=d},3205:e=>{"use strict";e.exports=m},8097:e=>{"use strict";e.exports=g},2001:e=>{"use strict";e.exports=c},2074:e=>{"use strict";e.exports=s},4021:e=>{"use strict";e.exports=l},9174:e=>{"use strict";e.exports=a},1001:e=>{"use strict";e.exports=y},3323:e=>{"use strict";e.exports=h},3752:e=>{"use strict";e.exports=f}},x={};function T(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return v[e](n,n.exports,T),n.exports}T.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return T.d(t,{a:t}),t},T.d=(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=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),T.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var C={};return(()=>{"use strict";T.r(C),T.d(C,{ACITransformation:()=>i,AccountBase:()=>Ea,AccountMultiple:()=>Ka,Ae:()=>ka,Aens:()=>La,AeppWalletHelpers:()=>l,AeppWalletSchema:()=>c,AmountFormatter:()=>o,BrowserRuntimeConnection:()=>li,BrowserWindowMessageConnection:()=>ii,Bytes:()=>e,Chain:()=>Kr,ChainNode:()=>Ba,Channel:()=>ni,ContentScriptBridge:()=>ai,Contract:()=>io,ContractCompilerAPI:()=>Qa,Crypto:()=>r,GeneralizeAccount:()=>uo,HdWallet:()=>Fr,Keystore:()=>a,MemoryAccount:()=>Ha,Node:()=>Ia,NodePool:()=>ja,Oracle:()=>$o,RpcAepp:()=>Do,RpcWallet:()=>Go,SCHEMA:()=>t,Transaction:()=>Da,Tx:()=>Hr,TxBuilder:()=>s,TxBuilderHelper:()=>n,Universal:()=>ri,WalletDetector:()=>ci,genSwaggerClient:()=>wa,getDefaultPointerKey:()=>di,verifyTransaction:()=>Na});var e={};T.r(e),T.d(e,{bigNumberToByteArray:()=>A,str2buf:()=>_,toBytes:()=>E});var t={};T.r(t),T.d(t,{ABI_VERSIONS:()=>Se,AMOUNT:()=>Q,BASE_GAS:()=>Me,CLIENT_TTL:()=>ne,CONTRACT_BYTE_CODE_LIMA:()=>Ge,DEFAULT_FEE:()=>qe,DEPOSIT:()=>G,DRY_RUN_ACCOUNT:()=>J,FIELD_TYPES:()=>Be,GAS:()=>Y,GAS_PER_BYTE:()=>Re,ID_TAG:()=>De,ID_TAG_PREFIX:()=>He,KEY_BLOCK_INTERVAL:()=>Ve,MAX_AUTH_FUN_GAS:()=>X,MIN_GAS_PRICE:()=>z,NAME_BID_MAX_LENGTH:()=>ce,NAME_BID_RANGES:()=>de,NAME_BID_TIMEOUTS:()=>ue,NAME_BID_TIMEOUT_BLOCKS:()=>se,NAME_FEE:()=>re,NAME_FEE_BID_INCREMENT:()=>oe,NAME_FEE_MULTIPLIER:()=>ae,NAME_MAX_CLIENT_TTL:()=>te,NAME_MAX_LENGTH_FEE:()=>ie,NAME_MAX_TTL:()=>ee,NAME_TTL:()=>Z,OBJECT_ID_TX_TYPE:()=>Pe,OBJECT_TAG_SIGNED_TRANSACTION:()=>he,ORACLE_TTL:()=>K,POINTER_KEY_BY_PREFIX:()=>le,PREFIX_ID_TAG:()=>Ue,PROTOCOL_VERSIONS:()=>Ne,PROTOCOL_VM_ABI:()=>je,QUERY_FEE:()=>H,QUERY_TTL:()=>W,RESPONSE_TTL:()=>L,TX_DESERIALIZATION_SCHEMA:()=>Dt,TX_FEE_BASE_GAS:()=>Fe,TX_FEE_OTHER_GAS:()=>$e,TX_SERIALIZATION_SCHEMA:()=>$t,TX_TTL:()=>U,TX_TYPE:()=>ke,VALIDATION_MESSAGE:()=>We,VM_VERSIONS:()=>Oe,VSN:()=>$,VSN_2:()=>D});var n={};T.r(n),T.d(n,{buildContractId:()=>Lt,buildPointers:()=>rn,commitmentHash:()=>zt,computeAuctionEndBlock:()=>un,computeBidFee:()=>dn,createSalt:()=>Kt,decode:()=>Xt,encode:()=>Jt,ensureNameValid:()=>on,formatSalt:()=>Qt,getDefaultPointerKey:()=>cn,getMinimumNameFee:()=>ln,isAuctionName:()=>hn,isNameValid:()=>sn,oracleQueryId:()=>Gt,produceNameId:()=>Yt,readId:()=>en,readInt:()=>nn,readPointers:()=>an,writeId:()=>Zt,writeInt:()=>tn});var r={};T.r(r),T.d(r,{addressFromDecimal:()=>gn,aeEncodeKey:()=>Mn,checkSumFn:()=>vn,decodeBase58Check:()=>Cn,decodeBase64Check:()=>xn,decryptKey:()=>On,encodeBase58Check:()=>Tn,encodeBase64Check:()=>bn,encodeContractAddress:()=>An,encodeUnsigned:()=>In,encryptKey:()=>kn,generateKeyPair:()=>_n,generateKeyPairFromSecret:()=>En,getAddressFromPriv:()=>fn,hash:()=>F,isAddressValid:()=>mn,isValidKeypair:()=>Rn,messageToHash:()=>jn,salt:()=>wn,sha256hash:()=>yn,sign:()=>Sn,signMessage:()=>Pn,verify:()=>Nn,verifyMessage:()=>Bn});var a={};T.r(a),T.d(a,{deriveKeyUsingArgon2id:()=>Dn,dump:()=>Qn,getAddressFromPriv:()=>Ln,recover:()=>Gn,validateKeyObj:()=>Yn});var o={};T.r(o),T.d(o,{AE_AMOUNT_FORMATS:()=>Xn,DENOMINATION_MAGNITUDE:()=>Jn,default:()=>or,formatAmount:()=>tr,toAe:()=>Zn,toAettos:()=>er});var s={};T.r(s),T.d(s,{buildRawTx:()=>yr,buildTx:()=>vr,buildTxHash:()=>Tr,calculateFee:()=>mr,calculateMinFee:()=>pr,default:()=>Cr,unpackRawTx:()=>wr,unpackTx:()=>xr,validateParams:()=>gr});var i={};T.r(i),T.d(i,{SOPHIA_TYPES:()=>Ir,decodeEvents:()=>Ar});var c={};T.r(c),T.d(c,{ERRORS:()=>Co,MESSAGE_DIRECTION:()=>mo,METHODS:()=>xo,NOTIFICATIONS:()=>yo,REQUESTS:()=>wo,RPC_STATUS:()=>To,SUBSCRIPTION_TYPES:()=>vo,SUBSCRIPTION_VALUES:()=>bo,VERSION:()=>fo,WALLET_TYPE:()=>go});var l={};T.r(l),T.d(l,{getBrowserAPI:()=>Io,getHandler:()=>_o,isInIframe:()=>Ao,isValidAccounts:()=>jo,message:()=>ko,resolveOnAccount:()=>Po,responseMessage:()=>Oo,sendMessage:()=>Eo,sendResponseMessage:()=>So,voidFn:()=>No});var d=T(2139),u=T.n(d),h=T(9174),p=T.n(h),f=T(4752),m=T.n(f),g=T(2074),y=T.n(g),w=T(9558),b=T.n(w);function v(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function x(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function I(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function A(e){if(!e.isInteger())throw new Error(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function E(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||b().isBigNumber(e)||t)return b().isBigNumber(e)||(e=new(b())(e)),A(e);if("string"==typeof e)return Buffer.from(e);throw new Error("Byte serialization not supported")}function _(e,t){return Buffer.from(e,t??(I(e)?"hex":void 0)??(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 k=T(3007),O=T.n(k),S=T(3594),N=T.n(S),j=T(4115),P=T.n(j),B=T(7560),M=T.n(B),R=T(7794),q=T.n(R),V=T(817);function F(e){return Buffer.from((0,V.blake2b)(e,null,32))}const $=1,D=2,U=0,H=3e4,K={type:"delta",value:500},W={type:"delta",value:10},L={type:"delta",value:10},G=0,Q=0,Y=25e3,z=1e9,X=5e4,J={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Z=18e4,ee=36e3,te=84600,ne=te,re=0,ae=1e14,oe=.05,se=480,ie=31,ce=12,le={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},de={31:b()(3).times(ae),30:b()(5).times(ae),29:b()(8).times(ae),28:b()(13).times(ae),27:b()(21).times(ae),26:b()(34).times(ae),25:b()(55).times(ae),24:b()(89).times(ae),23:b()(144).times(ae),22:b()(233).times(ae),21:b()(377).times(ae),20:b()(610).times(ae),19:b()(987).times(ae),18:b()(1597).times(ae),17:b()(2584).times(ae),16:b()(4181).times(ae),15:b()(6765).times(ae),14:b()(10946).times(ae),13:b()(17711).times(ae),12:b()(28657).times(ae),11:b()(46368).times(ae),10:b()(75025).times(ae),9:b()(121393).times(ae),8:b()(196418).times(ae),7:b()(317811).times(ae),6:b()(514229).times(ae),5:b()(832040).times(ae),4:b()(1346269).times(ae),3:b()(2178309).times(ae),2:b()(3524578).times(ae),1:b()(5702887).times(ae)},ue={13:b()(0),12:b()(se),8:b()(31).times(se),4:b()(62).times(se)},he=11,pe=521,fe=570,me=571,ge=572,ye=573,we=574,be=575,ve=621,xe=622,Te=623,Ce=624,Ie=625,Ae=626,Ee=(e,t,n)=>[e,t,n],_e=(e,t)=>[e,t],ke={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"},Oe={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Se={NO_ABI:0,SOPHIA:1,FATE:3},Ne={IRIS:5},je={[Ne.IRIS]:{[ke.contractCreate]:{vmVersion:[Oe.FATE_2],abiVersion:[Se.FATE]},[ke.contractCall]:{vmVersion:[Oe.FATE_2,Oe.FATE,Oe.SOPHIA_IMPROVEMENTS_LIMA,Oe.SOPHIA_IMPROVEMENTS_FORTUNA,Oe.SOPHIA,Oe.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Se.FATE,Se.SOPHIA]},[ke.oracleRegister]:{vmVersion:[],abiVersion:[Se.NO_ABI,Se.SOPHIA]}}},Pe={10:ke.account,[he]:ke.signed,12:ke.spend,32:ke.nameClaim,33:ke.namePreClaim,34:ke.nameUpdate,35:ke.nameRevoke,36:ke.nameTransfer,40:ke.contract,42:ke.contractCreate,43:ke.contractCall,41:ke.contractCallResult,22:ke.oracleRegister,25:ke.oracleExtend,23:ke.oracleQuery,24:ke.oracleResponse,50:ke.channelCreate,53:ke.channelCloseMutual,54:ke.channelCloseSolo,55:ke.channelSlash,[pe]:ke.channelForceProgress,51:ke.channelDeposit,52:ke.channelWithdraw,56:ke.channelSettle,57:ke.channelOffChain,58:ke.channel,59:ke.channelSnapshotSolo,[fe]:ke.channelOffChainUpdateTransfer,[me]:ke.channelOffChainUpdateDeposit,[ge]:ke.channelOffChainUpdateWithdrawal,[ye]:ke.channelOffChainCreateContract,[we]:ke.channelOffChainCallContract,[be]:ke.channelReconnect,60:ke.proofOfInclusion,62:ke.stateTrees,63:ke.merklePatriciaTree,64:ke.merklePatriciaTreeValue,[ve]:ke.contractsTree,[xe]:ke.contractCallsTree,[Te]:ke.channelsTree,[Ce]:ke.nameserviceTree,[Ie]:ke.oraclesTree,[Ae]:ke.accountsTree,80:ke.gaAttach,81:ke.gaMeta,82:ke.payingFor,70:ke.sophiaByteCode},Be={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"},Me=15e3,Re=20,qe=2e4,Ve=3,Fe=e=>{const t={[ke.channelForceProgress]:30,[ke.channelOffChain]:0,[ke.channelOffChainCallContract]:0,[ke.channelOffChainCreateContract]:0,[ke.channelOffChainUpdateDeposit]:0,[ke.channelOffChainUpdateWithdrawal]:0,[ke.channelOffChainUpdateTransfer]:0,[ke.contractCreate]:5,[ke.contractCall]:12,[ke.gaAttach]:5,[ke.gaMeta]:5,[ke.payingFor]:.2}[e]||1;return new(b())(t*Me)},$e=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case ke.oracleRegister:case ke.oracleExtend:case ke.oracleQuery:case ke.oracleResponse:return new(b())(t).times(Re).plus(Math.ceil(32e3*r/Math.floor(525600/Ve)));case ke.gaMeta:case ke.payingFor:return new(b())(t).minus(a).times(Re);default:return new(b())(t).times(Re)}},De={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Ue={ak:De.account,nm:De.name,cm:De.commitment,ok:De.oracle,ct:De.contract,ch:De.channel},He=(Ke=Ue,Object.entries(Ke).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Ke;const We={[Be.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Be.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Be.string]:e=>{let{value:t}=e;return"Not a string"},[Be.pointers]:e=>{let{value:t}=e;return'Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\''},[Be.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},Le=[Ee("tag",Be.int),Ee("VSN",Be.int)],Ge=[...Le,Ee("sourceCodeHash",Be.rawBinary),Ee("typeInfo",Be.sophiaCodeTypeInfo),Ee("byteCode",Be.rawBinary),Ee("compilerVersion",Be.string),Ee("payable",Be.bool)],Qe=[...Le,Ee("flags",Be.int),Ee("nonce",Be.int),Ee("balance",Be.int),Ee("gaContract",Be.id,["ct","nm"]),Ee("gaAuthFun",Be.binary,"cb")],Ye=[...Le,Ee("senderId",Be.id,"ak"),Ee("recipientId",Be.id,["ak","nm"]),Ee("amount",Be.amount),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("nonce",Be.int),Ee("payload",Be.payload)],ze=[...Le,Ee("signatures",Be.signatures),Ee("encodedTx",Be.rlpBinary)],Xe=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("commitmentId",Be.id,"cm"),Ee("fee",Be.int),Ee("ttl",Be.int)],Je=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("name",Be.binary,"nm"),Ee("nameSalt",Be.int),Ee("nameFee",Be.amount),Ee("fee",Be.int),Ee("ttl",Be.int)],Ze=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("nameTtl",Be.int),Ee("pointers",Be.pointers),Ee("clientTtl",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],et=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("recipientId",Be.id,["ak","nm"]),Ee("fee",Be.int),Ee("ttl",Be.int)],tt=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("fee",Be.int),Ee("ttl",Be.int)],nt=[...Le,Ee("owner",Be.id,"ak"),Ee("ctVersion",Be.int),Ee("code",Be.binary,"cb"),Ee("log",Be.binary,"cb"),Ee("active",Be.bool),Ee("referers",Be.ids,"ak"),Ee("deposit",Be.amount)],rt=[...Le,Ee("ownerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("code",Be.binary,"cb"),Ee("authFun",Be.rawBinary),Ee("ctVersion",Be.ctVersion),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],at=[...Le,Ee("gaId",Be.id,"ak"),Ee("authData",Be.binary,"cb"),Ee("abiVersion",Be.int),Ee("fee",Be.int),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("tx",Be.rlpBinary)],ot=[...Le,Ee("payerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("fee",Be.int),Ee("tx",Be.rlpBinary)],st=[...Le,Ee("ownerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("code",Be.binary,"cb"),Ee("ctVersion",Be.ctVersion),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("deposit",Be.amount),Ee("amount",Be.amount),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],it=[...Le,Ee("callerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("contractId",Be.id,["ct","nm"]),Ee("abiVersion",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("amount",Be.amount),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],ct=[...Le,Ee("callerId",Be.id,"ak"),Ee("callerNonce",Be.int),Ee("height",Be.int),Ee("contractId",Be.id,"ct"),Ee("gasPrice",Be.int),Ee("gasUsed",Be.int),Ee("returnValue",Be.binary,"cb"),Ee("returnType",Be.callReturnType),Ee("log",Be.rawBinary)],lt=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("queryFormat",Be.string),Ee("responseFormat",Be.string),Ee("queryFee",Be.amount),Ee("oracleTtlType",Be.int),Ee("oracleTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("abiVersion",Be.int)],dt=[...Le,Ee("oracleId",Be.id,["ok","nm"]),Ee("nonce",Be.int),Ee("oracleTtlType",Be.int),Ee("oracleTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],ut=[...Le,Ee("senderId",Be.id,"ak"),Ee("nonce",Be.int),Ee("oracleId",Be.id,["ok","nm"]),Ee("query",Be.string),Ee("queryFee",Be.amount),Ee("queryTtlType",Be.int),Ee("queryTtlValue",Be.int),Ee("responseTtlType",Be.int),Ee("responseTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],ht=[...Le,Ee("oracleId",Be.id,"ok"),Ee("nonce",Be.int),Ee("queryId",Be.binary,"oq"),Ee("response",Be.string),Ee("responseTtlType",Be.int),Ee("responseTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],pt=[...Le,Ee("initiator",Be.id,"ak"),Ee("initiatorAmount",Be.int),Ee("responder",Be.id,"ak"),Ee("responderAmount",Be.int),Ee("channelReserve",Be.int),Ee("lockPeriod",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("initiatorDelegateIds",Be.string),Ee("responderDelegateIds",Be.string),Ee("stateHash",Be.binary,"st"),Ee("nonce",Be.int)],ft=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("amount",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("stateHash",Be.binary,"st"),Ee("round",Be.int),Ee("nonce",Be.int)],mt=[...Le,Ee("channelId",Be.id,"ch"),Ee("toId",Be.id,"ak"),Ee("amount",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("stateHash",Be.binary,"st"),Ee("round",Be.int),Ee("nonce",Be.int)],gt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("initiatorAmountFinal",Be.int),Ee("responderAmountFinal",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],yt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("poi",Be.binary,"pi"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],wt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("poi",Be.binary,"pi"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],bt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("initiatorAmountFinal",Be.int),Ee("responderAmountFinal",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],vt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("round",Be.int),Ee("update",Be.binary),Ee("stateHash",Be.binary),Ee("offChainTrees",Be.stateTree),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],xt=[...Le,Ee("channelId",Be.id,"ch"),Ee("round",Be.int),Ee("stateHash",Be.binary,"st")],Tt=[...Le,Ee("initiator",Be.id,"ak"),Ee("responder",Be.id,"ak"),Ee("channelAmount",Be.int),Ee("initiatorAmount",Be.int),Ee("responderAmount",Be.int),Ee("channelReserve",Be.int),Ee("initiatorDelegateIds",Be.ids),Ee("responderDelegateIds",Be.ids),Ee("stateHash",Be.hex),Ee("round",Be.int),Ee("soloRound",Be.int),Ee("lockPeriod",Be.int),Ee("lockedUntil",Be.int),Ee("initiatorAuth",Be.binary,"cb"),Ee("responderAuth",Be.binary,"cb")],Ct=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],It=[...Le,Ee("owner",Be.id,"ak"),Ee("ctVersion",Be.int),Ee("code",Be.binary,"cb"),Ee("deposit",Be.int),Ee("callData",Be.binary,"cb")],At=[...Le,Ee("caller",Be.id,"ak"),Ee("contract",Be.id,"ct"),Ee("abiVersion",Be.int),Ee("amount",Be.int),Ee("callData",Be.binary,"cb"),Ee("callStack",Be.callStack),Ee("gasPrice",Be.int),Ee("gasLimit",Be.int)],Et=[...Le,Ee("channelId",Be.id,"ch"),Ee("round",Be.int),Ee("role",Be.string),Ee("pubkey",Be.id,"ak")],_t=[...Le,Ee("from",Be.id,"ak"),Ee("to",Be.id,"ak"),Ee("amount",Be.int)],kt=[...Le,Ee("from",Be.id,"ak"),Ee("amount",Be.int)],Ot=[...Le,Ee("from",Be.id,"ak"),Ee("amount",Be.int)],St=[...Le,Ee("accounts",Be.mptrees),Ee("calls",Be.mptrees),Ee("channels",Be.mptrees),Ee("contracts",Be.mptrees),Ee("ns",Be.mptrees),Ee("oracles",Be.mptrees)],Nt=[...Le,Ee("contracts",Be.rlpBinary),Ee("calls",Be.rlpBinary),Ee("channels",Be.rlpBinary),Ee("ns",Be.rlpBinary),Ee("oracles",Be.rlpBinary),Ee("accounts",Be.rlpBinary)],jt=[...Le,Ee("values",Be.rlpBinaries)],Pt=[...Le,Ee("key",Be.hex),Ee("value",Be.rawBinary)],Bt=[...Le,Ee("contracts",Be.rlpBinary)],Mt=[...Le,Ee("calls",Be.rlpBinary)],Rt=[...Le,Ee("channels",Be.rlpBinary)],qt=[...Le,Ee("mtree",Be.rlpBinary)],Vt=[...Le,Ee("otree",Be.rlpBinary)],Ft=[...Le,Ee("accounts",Be.rlpBinary)],$t={[ke.account]:{2:_e(Qe,10)},[ke.signed]:{1:_e(ze,he)},[ke.spend]:{1:_e(Ye,12)},[ke.namePreClaim]:{1:_e(Xe,33)},[ke.nameClaim]:{2:_e(Je,32)},[ke.nameUpdate]:{1:_e(Ze,34)},[ke.nameTransfer]:{1:_e(et,36)},[ke.nameRevoke]:{1:_e(tt,35)},[ke.contract]:{1:_e(nt,40)},[ke.contractCreate]:{1:_e(st,42)},[ke.contractCall]:{1:_e(it,43)},[ke.contractCallResult]:{1:_e(ct,41)},[ke.oracleRegister]:{1:_e(lt,22)},[ke.oracleExtend]:{1:_e(dt,25)},[ke.oracleQuery]:{1:_e(ut,23)},[ke.oracleResponse]:{1:_e(ht,24)},[ke.channelCreate]:{2:_e(pt,50)},[ke.channelCloseMutual]:{1:_e(gt,53)},[ke.channelCloseSolo]:{1:_e(yt,54)},[ke.channelSlash]:{1:_e(wt,55)},[ke.channelDeposit]:{1:_e(ft,51)},[ke.channelWithdraw]:{1:_e(mt,52)},[ke.channelSettle]:{1:_e(bt,56)},[ke.channelForceProgress]:{1:_e(vt,pe)},[ke.channelOffChain]:{2:_e(xt,57)},[ke.channel]:{3:_e(Tt,58)},[ke.channelSnapshotSolo]:{1:_e(Ct,59)},[ke.channelOffChainUpdateTransfer]:{1:_e(_t,fe)},[ke.channelOffChainUpdateDeposit]:{1:_e(kt,me)},[ke.channelOffChainUpdateWithdrawal]:{1:_e(Ot,ge)},[ke.channelOffChainCreateContract]:{1:_e(It,ye)},[ke.channelOffChainCallContract]:{1:_e(At,we)},[ke.channelReconnect]:{1:_e(Et,be)},[ke.proofOfInclusion]:{1:_e(St,60)},[ke.stateTrees]:{1:_e(Nt,62)},[ke.merklePatriciaTree]:{1:_e(jt,63)},[ke.merklePatriciaTreeValue]:{1:_e(Pt,64)},[ke.contractsTree]:{1:_e(Bt,ve)},[ke.contractCallsTree]:{1:_e(Mt,xe)},[ke.channelsTree]:{1:_e(Rt,Te)},[ke.nameserviceTree]:{1:_e(qt,Ce)},[ke.oraclesTree]:{1:_e(Vt,Ie)},[ke.accountsTree]:{1:_e(Ft,Ae)},[ke.gaAttach]:{1:_e(rt,80)},[ke.gaMeta]:{2:_e(at,81)},[ke.payingFor]:{1:_e(ot,82)}},Dt={10:{2:_e(Qe,10)},[he]:{1:_e(ze,he)},12:{1:_e(Ye,12)},33:{1:_e(Xe,33)},32:{2:_e(Je,32)},34:{1:_e(Ze,34)},36:{1:_e(et,36)},35:{1:_e(tt,35)},40:{1:_e(nt,40)},42:{1:_e(st,42)},43:{1:_e(it,43)},41:{1:_e(ct,41)},22:{1:_e(lt,22)},25:{1:_e(dt,25)},23:{1:_e(ut,23)},24:{1:_e(ht,24)},50:{2:_e(pt,50)},53:{1:_e(gt,53)},54:{1:_e(yt,54)},55:{1:_e(wt,55)},51:{1:_e(ft,51)},52:{1:_e(mt,52)},56:{1:_e(bt,56)},57:{2:_e(xt,57)},58:{3:_e(Tt,58)},59:{1:_e(Ct,59)},[fe]:{1:_e(_t,fe)},[me]:{1:_e(kt,me)},[ge]:{1:_e(Ot,ge)},[ye]:{1:_e(It,ye)},[we]:{1:_e(At,we)},[be]:{1:_e(Et,be)},60:{1:_e(St,60)},62:{1:_e(Nt,62)},63:{1:_e(jt,63)},64:{1:_e(Pt,64)},[ve]:{1:_e(Bt,ve)},[xe]:{1:_e(Mt,xe)},[Te]:{1:_e(Rt,Te)},[Ce]:{1:_e(qt,Ce)},[Ie]:{1:_e(Vt,Ie)},[Ae]:{1:_e(Ft,Ae)},80:{1:_e(rt,80)},81:{2:_e(at,81)},82:{1:_e(ot,82)},[pe]:{1:_e(vt,pe)},70:{3:_e(Ge,70)}},Ut=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||b().isBigNumber(e)),Ht=e=>e.integerValue(b().ROUND_CEIL),Kt=wn,Wt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Lt(e,t){return Jt(F(Buffer.from([...Xt(e,"ak"),...E(t)])),"ct")}function Gt(e,t,n){return Jt(F(Buffer.from([...Xt(e,"ak"),...function(e){const t=E(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...Xt(n,"ok")])),"oq")}function Qt(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Yt(e){return on(e),Jt(F(e.toLowerCase()),"nm")}function zt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Kt();return on(e),`cm_${Tn(F(Buffer.concat([Buffer.from(e.toLowerCase()),Qt(t)])))}`}function Xt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Error(`Encoded string missing payload: ${e}`);if(a)throw new Error(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Error(`Encoded string have a wrong type: ${n} (expected: ${t})`);return(Wt.includes(n)?xn:Cn)(r)}function Jt(e,t){return`${t}_${Wt.includes(t)?bn(e):Tn(e)}`}function Zt(e){if("string"!=typeof e)throw new Error(`Address should be a string, got ${e} instead`);const t=e.slice(0,2),n=Ue[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Buffer.from([...E(n),...Xt(e,t)])}function en(e){const t=e.readUIntBE(0,1),n=He[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return Jt(e.slice(1,e.length),n)}function tn(e){return E(e,!0)}function nn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return b()(e.toString("hex"),16).toString(10)}function rn(e){return e.map((e=>[E(e.key),Zt(e.id)]))}function an(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:en(n)})}))}function on(e){if(!e||"string"!=typeof e)throw new Error("Name must be a string");if(!e.endsWith(".chain"))throw new Error(`Name should end with .chain: ${e}`)}function sn(e){try{return on(e),!0}catch(e){return!1}}function cn(e){Xt(e);const t=e.substr(0,2);return le[t]||(()=>{throw new Error(`Default AENS pointer key is not defined for ${t} prefix`)})()}function ln(e){const t=e.replace(".chain","").length;return de[t>=ie?ie:t]}function dn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:re,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:oe;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<oe)throw new Error(`minimum increment percentage is ${oe}`);return Ht(b()(b()(t).eq(re)?ln(e):t).times(b()(oe).plus(1)))}function un(e,t){return q()([[M()(5),P()(ue[4].plus(t))],[M()(9),P()(ue[8].plus(t))],[N()(ce),P()(ue[12].plus(t))],[O(),P()(b()(t))]])(e.replace(".chain","").length).toString(10)}function hn(e){return e.replace(".chain","").length<13}const pn=m().ModeOfOperation.ecb;function fn(e){const t=p().sign.keyPair.fromSecretKey(_(e));return`ak_${Tn(Buffer.from(t.publicKey))}`}function mn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===Xt(e,t).length}catch(e){return!1}}function gn(e){return Mn(E(e,!0))}function yn(e){return y()("sha256").update(e).digest()}function wn(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function bn(e){const t=Buffer.from(e),n=vn(e);return Buffer.concat([t,n],t.length+4).toString("base64")}function vn(e){return yn(yn(e)).slice(0,4)}function xn(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=vn(t);if(n.equals(r))return t}(Buffer.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return Buffer.from(t)}function Tn(e){return u().encode(Buffer.from(e))}function Cn(e){return u().decode(e)}function In(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function An(e,t){const n=Xt(e,"ak");return`ct_${Tn(F(Buffer.concat([n,In(t)])))}`}function En(e){return p().sign.keyPair.fromSecretKey(e)}function _n(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=p().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${Tn(n)}`,secretKey:r.toString("hex")}}function kn(e,t){const n=yn(e);return new pn(n).encrypt(t)}function On(e,t){const n=Buffer.from(t),r=yn(e),a=new pn(r);return Buffer.from(a.decrypt(n))}function Sn(e,t){return p().sign.detached(Buffer.from(e),Buffer.from(t))}function Nn(e,t,n){return p().sign.detached.verify(new Uint8Array(e),t,n)}function jn(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return F(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Pn(e,t){return Sn(jn(e),t)}function Bn(e,t,n){return Nn(jn(e),t,n)}function Mn(e){return`ak_${Tn(Buffer.from(e,"hex"))}`}function Rn(e,t){const n=Buffer.from("TheMessage");return Nn(n,Sn(n,e),t)}var qn=T(3323);const Vn=T(8097),Fn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},$n={argon2id:Dn};async function Dn(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params;return Vn.ready.then((async()=>{const n=Vn,o=n.crypto_pwhash(32,e,t,a,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Buffer.from(o)}))}const Un={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return p().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=p().secretbox.open(t,r,n);if(!a)throw new Error("Invalid password or nonce");return a}}};function Hn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Fn.crypto.symmetric_alg;if(!Un[r])throw new Error(r+" is not available");return Un[r].encrypt({plaintext:e,nonce:n,key:t})}async function Kn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Fn.crypto.kdf_params,kdf:Fn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call($n,n.kdf))throw new Error("Unsupported kdf type");return $n[n.kdf](e,t,n)}function Wn(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Fn.crypto,o);return Object.assign({name:e,version:1,public_key:Ln(n),id:(0,qn.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:Buffer.from(Hn(Buffer.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function Ln(e){const t=p().sign.keyPair.fromSecretKey(_(e));return`ak_${Tn(Buffer.from(t.publicKey))}`}async function Gn(e,t){Yn(t);const n=Uint8Array.from(_(t.crypto.cipher_params.nonce)),r=Uint8Array.from(_(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Un[r])throw new Error(r+" is not available");return Un[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(_(t.crypto.ciphertext)),await Kn(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Error("Invalid password");return 64===Buffer.from(s).length?Buffer.from(s).toString("hex"):Buffer.from(s).toString("utf-8")}async function Qn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:p().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Fn.crypto,o);return Wn(e,await Kn(t,a,s),n,r,a,s)}function Yn(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Error(`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 Error(`Invalid key file format. Require properties: ${n}`);return!0}var zn=T(2001);const Xn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},Jn={[Xn.AE]:0,[Xn.MILI_AE]:-3,[Xn.MICRO_AE]:-6,[Xn.NANO_AE]:-9,[Xn.PICO_AE]:-12,[Xn.FEMTO_AE]:-15,[Xn.AETTOS]:-18},Zn=function(e){let{denomination:t=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return tr(e,{denomination:t,targetDenomination:Xn.AE})},er=function(e){let{denomination:t=Xn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return tr(e,{denomination:t})},tr=function(e){let{denomination:t=Xn.AETTOS,targetDenomination:n=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(Xn);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Ut(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(b())(e).shiftedBy(Jn[t]-Jn[n]).toFixed()},nr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],rr=e=>nr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ar=e=>nr.find((t=>t.magnitude<=e))??nr[nr.length-1],or=e=>{const t=new(b())(e),n=t.e??0,{name:r,magnitude:a}=(n<0?rr:ar)(n);return`${t.shiftedBy(-a).precision(9+Math.min(n-a,0)).toFixed()}${""!==r?" ":""}${r}`};var sr;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(sr||(sr={}));class ir{static nodeHash(e){return Buffer.from(F((0,zn.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 Error("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(ir.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:a}=ir.parseNode(n);switch(r){case sr.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Error("Can't find a node by hash in branch node")}));break;case sr.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Error("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:sr.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Error(`Unknown path nibble: ${n}`);const r=n<=1?sr.Extension:sr.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=ir.parseNode(this.nodes[t]);switch(n){case sr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case sr.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 sr.Leaf:if(a!==e)return;return r[0]}}}}const cr="delta";function lr(e,t,n){if(!e)return"";switch(t){case Be.ctVersion:{const[t,,n]=e;return{vmVersion:nn(Buffer.from([t])),abiVersion:nn(Buffer.from([n]))}}case Be.amount:case Be.int:return nn(e);case Be.id:return en(e);case Be.ids:return e.map(en);case Be.bool:return 1===e[0];case Be.binary:return Jt(e,n);case Be.stateTree:return Jt(e,"ss");case Be.string:return e.toString();case Be.payload:return Jt(e,"ba");case Be.pointers:return an(e);case Be.rlpBinary:return xr(e,!0);case Be.rlpBinaries:return e.map((e=>xr(e,!0)));case Be.rawBinary:return e;case Be.hex:return e.toString("hex");case Be.offChainUpdates:return e.map((e=>xr(e,!0)));case Be.callStack:return[nn(e)];case Be.mptrees:return e.map((e=>new ir(e)));case Be.callReturnType:switch(nn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Be.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,o]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:o}}}),{});default:return e}}function dr(e,t,n){switch(t){case Be.amount:case Be.int:return tn(e);case Be.id:return Zt(e);case Be.ids:return e.map(Zt);case Be.bool:return Buffer.from([e?1:0]);case Be.binary:return Xt(e,n);case Be.stateTree:return Xt(e,"ss");case Be.hex:return Buffer.from(e,"hex");case Be.signatures:return e.map(Buffer.from);case Be.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Xt(e,"ba"):E(e);case Be.string:return E(e);case Be.pointers:return rn(e);case Be.rlpBinary:return e.rlpEncoded??e;case Be.mptrees:return e.map((e=>e.serialize()));case Be.ctVersion:return Buffer.from([...E(e.vmVersion),0,...E(e.abiVersion)]);case Be.callReturnType:switch(e){case"ok":return tn(0);case"error":return tn(1);case"revert":return tn(2);default:return e}default:return e}}function ur(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Be.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:tr(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===cr?0:1,e[`${n}Value`]=a.value),e}),{})}function hr(e,t){const n={[ke.oracleRegister]:"oracleTtl",[ke.oracleExtend]:"oracleTtl",[ke.oracleQuery]:"queryTtl",[ke.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function pr(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=b()(1e9);if(!r)return b()(qe).times(o).toString(10);let s=fr(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=b()(0);for(;!s.eq(i);)s=fr(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function fr(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=vr({...n},e,{vsn:o}),i=s.length;return Fe(e).plus($e(e,i,{relativeTtl:hr(n,e),innerTxSize:[ke.gaMeta,ke.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function mr(){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(${qe})`),e||pr(t,{params:r,gas:n,vsn:o})}function gr(e,t,n){let{excludeKeys:r=[]}=n;return t.filter((e=>{let[t]=e;return!r.includes(t)&&"payload"!==t})).reduce(((t,n)=>{let[r,a,o]=n;return Object.assign(t,function(e,t,n,r){const a=(e,r)=>e?{}:{[t]:We[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Be.amount:case Be.int:{const t=(!isNaN(e)||b().isBigNumber(e))&&b()(e).lt(0);return a((!isNaN(e)||b().isBigNumber(e))&&b()(e).gte(0),{value:e,isMinusValue:t})}case Be.id:return a((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Ue[e.split("_")[0]],{value:e,prefix:r});case Be.binary:return a(e.split("_")[0]===r,{prefix:r,value:e});case Be.string:return a(!0);case Be.ctVersion:return a("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Be.pointers:return a(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,a,o))}),{})}function yr(e,t){let{excludeKeys:n=[],denomination:r=Xn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=gr(e=ur(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Error("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return dr(e[n],r,a)}))}function wr(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:lr(e[r],o,s)})}),{})}const br=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?Dt:$t;if(!s[o])throw new Error(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Error(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function vr(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=$,denomination:o=Xn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=br({type:t,vsn:a}),c=yr({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),l=(0,zn.encode)(c),d=Jt(l,r);return{tx:d,rlpEncoded:l,binary:c,txObject:wr(c,s)}}function xr(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:Xt(e,n),a=(0,zn.decode)(r),o=nn(a[0]),s=nn(a[1]),[i]=br({objId:o,vsn:s});return{txType:Pe[o],tx:wr(a,i),rlpEncoded:r,binary:a}}function Tr(e){return Jt(F("string"==typeof e&&e.startsWith("tx_")?Xt(e,"tx"):e),"th")}const Cr={calculateMinFee:pr,calculateFee:mr,unpackTx:xr,unpackRawTx:wr,buildTx:vr,buildRawTx:yr,validateParams:gr,buildTxHash:Tr},Ir=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),Ar=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...a]=n.topics,o=t.find((e=>F(e.name).equals(E(r,!0))));if(!o)return e;const s=o.types.filter((e=>e===Ir.string)).length;if(s>1)throw new Error(`Event schema contains more than one string: ${o.types}`);const i=o.types.length-s;if(i!==a.length)throw new Error(`Schema defines ${i} types, but ${a.length} topics present`);return e.push({...n,name:o.name,decoded:o.types.map((e=>Er(e===Ir.string?n.data:a.shift(),e)))}),e}),[])};function Er(e,t){switch(t){case Ir.int:return n=e,new(b())(n.toString()).toString(10);case Ir.bool:return!!e;case Ir.hash:return E(e,!0).toString("hex");case Ir.address:return gn(e);case Ir.string:return Xt(e).toString("utf-8");default:return E(e,!0)}var n}var _r=T(1001),kr=T(2405),Or=T(8367);const Sr=Buffer.from("ed25519 seed"),Nr=2147483648,jr=e=>Buffer.from(e).toString("hex");function Pr(e,t){const n=""===e?[]:(0,kr.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Nr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Vr(e,t)),t)}function Br(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=qr(t);return Pr(e.slice(2),n)}function Mr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:jr(t),publicKey:`ak_${Tn(n)}`}}function Rr(e){return p().sign.keyPair.fromSeed(e)}function qr(e){const t=(0,_r.full)(e,Sr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Vr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Nr)throw new Error(`Child index #${t} is not supported`);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const o=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),s=(0,_r.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}const Fr={getHdWalletAccountFromMnemonic:(e,t)=>({...Mr(Rr(Pr(`${t}h/0h/0h`,Br("m/44h/457h",(0,Or.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:On(t,Buffer.from(e.secretKey,"hex")),chainCode:On(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Mr(Rr(Pr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Or.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Br("m/44h/457h",(0,Or.mnemonicToSeed)(e));return{secretKey:jr(kn(t,n.secretKey)),chainCode:jr(kn(t,n.chainCode))}},generateMnemonic:function(){return(0,Or.generateMnemonic)()},deriveChild:Vr,getMasterKeyFromSeed:qr};var $r=T(1031),Dr=T.n($r),Ur=T(8081);const Hr=Dr()((0,Ur.required)({methods:{spendTx:Ur.required,namePreclaimTx:Ur.required,nameClaimTx:Ur.required,nameTransferTx:Ur.required,nameUpdateTx:Ur.required,nameRevokeTx:Ur.required,contractCreateTx:Ur.required,contractCallTx:Ur.required,oracleRegisterTx:Ur.required,oracleExtendTx:Ur.required,oraclePostQueryTx:Ur.required,oracleRespondTx:Ur.required,getAccountNonce:Ur.required,channelCloseSoloTx:Ur.required,channelSlashTx:Ur.required,channelSettleTx:Ur.required,channelSnapshotSoloTx:Ur.required,gaAttachTx:Ur.required,getVmVersion:Ur.required,prepareTxParams:Ur.required}})),Kr=Dr()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,Ur.required)({methods:{sendTransaction:Ur.required,height:Ur.required,awaitHeight:Ur.required,topBlock:Ur.required,poll:Ur.required,balance:Ur.required,getBalance:Ur.required,tx:Ur.required,getTxInfo:Ur.required,mempool:Ur.required,txDryRun:Ur.required,getAccount:Ur.required}}));var Wr=T(7430),Lr=T.n(Wr),Gr=T(7414),Qr=T.n(Gr),Yr=T(5713),zr=T.n(Yr),Xr=T(7263),Jr=T.n(Xr),Zr=T(6290),ea=T.n(Zr);function ta(){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)}const na=Dr()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=ea()([ta],Jr()(zr(),Qr()(n.map((e=>Lr()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[ta]}});var ra=T(4021),aa=T.n(ra),oa=T(6311),sa=T.n(oa),ia=T(3656);const ca=T.n(ia)()({storeAsString:!0}),la=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,la(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>la(e)));if("string"==typeof e&&b()(e).toString(10)===e){const t=b()(e);return t.toJSON=()=>t.toString(10),t}return e},da={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 ca.stringify(la(e),...n)},parse:ca.parse},ua=async e=>await new Promise((t=>setTimeout(t,e))),ha=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),pa=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),fa=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>fa(e,t))):ha(t,(t=>{let[n,r]=t;return[e(n),fa(e,r)]})),ma=fa.bind(null,x),ga=fa.bind(null,v);let ya=!1;const wa=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 sa()(e)).json();const s=r?JSON:da;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[i,c]=await Promise.all([e,n].map((e=>e?aa()({url:e,spec:t,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:ga(n)}),o&&o(e)||e}}):null))),l=[...Object.values(i.apis),ha((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return ya||(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")'),ya=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u=ha(l,(e=>{let[t,n]=e;return[t.slice(0,1).toLowerCase()+t.slice(1),async function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];const i=d[t],c=[...i.parameters,...i.requestBody?[{required:i.requestBody.required,schema:Object.values(i.requestBody.content)[0].schema,name:"__requestBody"}]:[]],l=c.filter((e=>e.required)).map((e=>e.name));if(r.length<l.length)throw new Error("swagger: Not enough arguments");const u=l.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[l.length]||{}),{__requestBody:h,...p}=ha(u,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),o=pa(a?n:ma(n),(e=>{let[t]=e;return r.includes(t)}));return[t,s.stringify(o)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(i,{api:u})};function ba(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),l=c(a),d=c(o),u=c(s);return l>=d&&l<u}function va(){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 Error("networkId is not provided");return n&&!r?null:r}const xa=na.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new Error('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=n?n.replace(/\/$/,""):this.url;const a=await wa(`${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,!ba(this.version,Ta,Ca)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${Ta} < ${Ca}`);this.api=a.api;const{nodeRevision:o,genesisKeyBlockHash:s,networkId:i,protocols:c,topBlockHeight:l}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return l>=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}}),Ta="6.2.0",Ca="7.0.0",Ia=xa,Aa=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Ea=Dr()({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=Xt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),F(r)]),o=[await this.sign(a,t)];return vr({encodedTx:r,signatures:o},ke.signed).tx},getNetworkId:va,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(jn(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Bn(e,"string"==typeof t?Buffer.from(t,"hex"):t,Xt(await this.address(n)))}}},(0,Ur.required)({methods:{sign:Ur.required,address:Ur.required}})),_a=Dr()(Hr,Ea,Kr,{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:Cr.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 Error(`Fraction should be a number between 0 and 1, got ${e}`);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),o=await this.address(r),s=new(b())(await this.balance(o)),i=s.times(e).integerValue(b().ROUND_HALF_UP),{tx:{fee:c}}=Cr.unpackTx(await this.spendTx({...r,senderId:o,recipientId:a,amount:i})),l=i.plus(c).gt(s)?s.minus(c):i;return this.send(await this.spendTx({...r,senderId:o,recipientId:a,amount:l}),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:Xn.AETTOS}}}}),ka=_a,Oa=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:o,parentTxTypes:s}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const i=Buffer.from([o.nodeNetworkId,...s.includes(ke.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),l=Buffer.concat([i,F(n.rlpEncoded)]),d=Xt(a.id,"ak");return Nn(c,r[0],d)||Nn(l,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"]}]},async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:o,txType:s}=t;return void 0===(n??r)?[]:Na(Jt((n??r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=mr(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(b())(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)=>{let{amount:n,fee:r,nameFee:a,tx:o}=e,{account:s,parentTxTypes:i,txType:c}=t;if(void 0===(n??r??a))return[];const l=new(b())(r).plus(a||0).plus(n||0).plus(c===ke.payingFor?o.tx.encodedTx.tx.fee:0).minus(i.includes(ke.payingFor)?r:0);return l.lte(s.balance)?[]:[{message:`Account balance ${s.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(ke.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>=z?[]:[{message:`Gas price ${t} must be bigger then ${z}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=je[s];if(!i)throw new Error(`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"]}]:[]}],Sa=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 Na(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:a}=xr(e),o=Sa(r)??(a===ke.signed?Sa(r.encodedTx.tx):null),[s,i]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(b())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all(Oa.map((e=>e(r,{txType:a,node:t,account:s,height:i,parentTxTypes:n}))))).flat()}const ja=Dr()({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 Error("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 Error(`Node with name ${e} already exist`);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 Error(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:va,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Error("Can not get node info. Node is not connected");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 Error('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new Error(`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 Error(`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 Error(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}}),Pa=Kr.compose(ja,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{waitMined:n,verify:r}={...this.Ae.defaults,...t};if(r){const t=await Na(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new Error(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{const{txHash:r}=await this.api.postTransaction({tx:e});if(n){const n={...await this.poll(r,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(r,t)}:n}return{hash:r,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Na(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return tr(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=Xn.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 tr(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)},topBlock:async function(){return this.api.getTopHeader()},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(){try{return this._heightPromise||(this._heightPromise=this.api.getCurrentKeyBlockHeight()),(await this._heightPromise).height}finally{delete this._heightPromise}},awaitHeight:async function(e){let t,{interval:n=5e3,attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await ua(n),t=await this.height(),t>=e)return t;throw new Error(`Giving up after ${(r-1)*n}ms, current height: ${t}, desired height: ${e}`)},poll:async function(e){let{blocks:t=10,interval:n=500,allowUnsynced:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=await this.height()+t;do{const t=await this.tx(e).catch((e=>null));if(t&&(-1!==t.blockHeight||r&&t.height))return t;await ua(n)}while(await this.height()<a);throw new Error(`Giving up after ${t} blocks mined, transaction hash: ${e}`)},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 Error("Invalid param, param must be hash or height")},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 Error("Invalid param, param must be hash or height")},txDryRun:async function(e,t,n){const{results:[{result:r,reason:a,...o}],...s}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:J.amount}]});if("ok"===r)return{...o,...s};throw Object.assign(new Error("Dry run error, "+a),{tx:e,accountAddress:t,options:n})},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.tx(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:o}=await this.tx(t);switch(o){case-1:throw new Error(`Transaction ${t} is removed from chain`);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 Error(`Name or address should be a string: ${e}`);try{return Xt(e),e}catch(e){}if(sn(e)){if(n||r){const n=await this.api.getNameEntryByName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const a=n.pointers.find((e=>e.key===t));if(!a)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return a.id}return Yt(e)}throw new Error(`Invalid name or address: ${e}`)}}}),Ba=Pa,Ma=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new Error('"params" should be an object');if("string"!=typeof e||!Object.values(ke).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=mr(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=vr({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},Ra=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=xr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(Buffer.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:a}=xr(e,!0);return{encodedTx:Jt(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}},qa=Dr()({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 Ma(n,t,r);if(e)return Ra(e);throw new Error('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===ke.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=>qa({tx:e}),fromRlp:e=>qa({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 Error("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Ma(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){if(!this.isSigned)throw new Error("Signature not found, transaction is not signed");return this.signatures},addSignature(e){if(e=I(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Ma(ke.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 mr(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),Va=qa;async function Fa(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:U,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new Error("ttl must be greater than 0");if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const $a=Ba.compose(Hr,{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(ke.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:qa({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:ke.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(ke.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:ke.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(ke.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:ke.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(ke.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:qa({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:ke.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(ke.nameUpdate,{senderId:t,...arguments[0]}),{tx:l}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:ke.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(s)});return l},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(ke.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:ke.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,deposit:o,amount:s,gas:i,gasPrice:c=z,callData:l}=e;const d=this.getVmVersion(ke.contractCreate,arguments[0]),{fee:u,ttl:h,nonce:p}=await this.prepareTxParams(ke.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:c});return this.nativeMode?{tx:qa({params:{...arguments[0],nonce:p,ttl:h,fee:u,ctVersion:d,gasPrice:c},type:ke.contractCreate}).encodedTx,contractId:Lt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(u),gas:parseInt(i),gasPrice:c,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:o,gasPrice:s=z,callData:i}=e;const c=this.getVmVersion(ke.contractCall,arguments[0]),{fee:l,ttl:d,nonce:u}=await this.prepareTxParams(ke.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:u,ttl:d,fee:l,abiVersion:c.abiVersion,gasPrice:s},type:ke.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:d,fee:parseInt(l),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:l}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:l}).catch((e=>({nextNonce:1})))).nextNonce;const d=await Fa.call(this,a,!i),u=mr(o,e,{showWarning:this.showWarning,gas:s,params:{...arguments[1],nonce:r,ttl:d},vsn:c});return{fee:u,ttl:d,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:o,abiVersion:s=Se.NO_ABI}=e;const{fee:i,ttl:c,nonce:l}=await this.prepareTxParams(ke.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:qa({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:l,ttl:c,queryFormat:n,responseFormat:r},type:ke.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:s,fee:parseInt(i),oracleTtl:o,nonce:l,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(ke.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:qa({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:ke.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:l}=await this.prepareTxParams(ke.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:qa({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:l,senderId:s},type:ke.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:o,ttl:c,nonce:l,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(ke.oracleResponse,{senderId:n,...arguments[0]}),{tx:l}=this.nativeMode?{tx:qa({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:ke.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:o,fee:parseInt(s),ttl:i,nonce:c});return l},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(ke.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},ke.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=z,callData:c}=e;const l=this.getVmVersion(ke.contractCreate,arguments[0]),{fee:d,ttl:u,nonce:h}=await this.prepareTxParams(ke.gaAttach,{senderId:t,...arguments[0],ctVersion:l,gasPrice:i});return{tx:qa({params:{...arguments[0],nonce:h,ttl:u,fee:d,ctVersion:l,gasPrice:i},type:ke.gaAttach}).encodedTx,contractId:Lt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:xr(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(ke.payingFor,{...a,...r,senderId:n});return vr({...a,...r,fee:o,nonce:s},ke.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=je[r];if(!a)throw new Error("Not supported consensus protocol version");const o=a[e];if(!o)throw new Error("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),Da=$a,Ua=new WeakMap,Ha=Ea.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!mn(n))throw new Error("Invalid GA address");return void Ua.set(this,{publicKey:n})}if(!t||"object"!=typeof t)throw new Error("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Error('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Error('Public Key must be a base58c string with "ak_" prefix');if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!I(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=Buffer.from(Xt(t.publicKey,"ak"));if(!Rn(Buffer.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");Ua.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Error("You are trying to sign data using GA account without keypair");return Promise.resolve(Sn(e,Ua.get(this).secretKey))},address(){return Promise.resolve(Ua.get(this).publicKey)}}}),Ka=Ea.compose(na,{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(Xt(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new Error("No account or wallet configured");switch(typeof e){case"string":if(Xt(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return Aa(e)?e:Ha({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}}),Wa=ka.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};on(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]:Z,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!r||"number"!=typeof r||r>Z)throw new Error("Ttl must be an number and less then 180000 blocks");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]:{};on(e);const n={...this.Ae.defaults,...t},r=wn(),a=await this.height(),o=zt(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){on(e);const r={...this.Ae.defaults,...n},a=ln(e);if(r.nameFee!==this.Ae.defaults.nameFee&&a.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${a}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:a;const o=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:Jt(e,"nm")}),s=await this.send(o,r);if(!hn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,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]:{};on(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:Yt(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]:{};on(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:Yt(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]:{};on(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:Yt(e),accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:re,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:ne,nameTtl:Z,nameFee:re}}}}),La=Wa,Ga=Dr()((0,Ur.required)({methods:{contractEncodeCallDataAPI:Ur.required,compileContractAPI:Ur.required,contractGetACI:Ur.required,setCompilerUrl:Ur.required,getCompilerVersion:Ur.required,contractDecodeCallResultAPI:Ur.required,validateByteCodeAPI:Ur.required,getFateAssembler:Ur.required,getBytecodeCompilerVersion:Ur.required}})),Qa=na.compose(Ga,{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 Error('"compilerUrl" required');e=e.replace(/\/$/,"");const n=await wa(`${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=n.api,!t&&!ba(this.compilerVersion,Ya,za))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${Ya} < ${za}`)},_ensureCompilerReady(){if(!this._compilerApi)throw new Error("Compiler is not ready")},_prepareCompilerOptions(){let{filesystem:e={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{file_system:e}},getCompilerVersion(){return this._ensureCompilerReady(),Promise.resolve(this.compilerVersion)},async contractEncodeCallDataAPI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;this._ensureCompilerReady();const{calldata:a}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return a},async compileContractAPI(e,t){this._ensureCompilerReady();const{bytecode:n}=await this._compilerApi.compileContract({code:e,options:this._prepareCompilerOptions(t)});return n},contractGetACI(e,t){return this._ensureCompilerReady(),this._compilerApi.generateACI({code:e,options:this._prepareCompilerOptions(t)})},contractDecodeCallDataByCodeAPI(e,t){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataBytecode({bytecode:e,calldata:t})},contractDecodeCallDataBySourceAPI(e,t,n,r){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataSource({function:t,source:e,calldata:n,options:this._prepareCompilerOptions(r)})},contractDecodeCallResultAPI(e,t,n,r,a){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(a)})},async validateByteCodeAPI(e,t,n){this._ensureCompilerReady();const r=await this._compilerApi.validateByteCode({bytecode:e,source:t,options:this._prepareCompilerOptions(n)});return"object"==typeof r||r},getFateAssembler(e,t){return this._ensureCompilerReady(),this._compilerApi.getFateAssemblerCode({bytecode:e,options:this._prepareCompilerOptions(t)})},getBytecodeCompilerVersion(e,t){return this._ensureCompilerReady(),this._compilerApi.getCompilerVersion({bytecode:e,options:this._prepareCompilerOptions(t)})}},props:{compilerVersion:null}}),Ya="6.0.0",za="7.0.0";var Xa=T(2478),Ja=T.n(Xa),Za=T(2892),eo=T.n(Za),to=T(5206),no=T.n(to),ro=T(590);function ao(e,t,n){const r=e.functions.find((e=>e.name===t));if(!r&&"init"!==t)throw new Error(`Function ${t} doesn't exist in contract`);return{...r,bindings:[{state:e.state,type_defs:e.type_defs,name:e.name},...n.map(no()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}const oo=ka.compose(Ga,{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=r||t&&await this.contractGetACI(t,{filesystem:o}),!r)throw new Error("Either ACI or source code is required");if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(a){const e=await this.getContract(a).catch((()=>null));if(!e)throw new Error(`Contract with address ${a} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${a} not active`)}const c={interface:eo()(null,Ja()("interface",r)),aci:eo()(null,Lr()(["encoded_aci","contract"],r)),calldata:new ro.Encoder([r.encoded_aci,...r.external_encoded_aci]),externalAci:(r.external_encoded_aci??[]).map((e=>e.contract||e.namespace)),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 Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t&&await this.validateByteCodeAPI(e,t,c.options).catch((()=>!1))||n===e))throw new Error(`Contract ${t?"source":"bytecode"} do not correspond to the bytecode deployed on the chain`)}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new Error("Contract already compiled");if(!c.source)throw new Error("Can't compile without source code");const{bytecode:n}=await e.contractCompile(c.source,{...c.options,...t});return c.bytecode=n,c.bytecode};const l=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:Va({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const a=await this.getTxInfo(n.hash);return 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=Xt(r).toString();break;default:throw new Error(`Unknown returnType: ${n}`)}throw new Error("Invocation failed"+(t?`: "${t}"`:""))};return c.deploy=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;const r={...c.options,...n,deposit:G};if(c.bytecode||await c.compile(r),r.callStatic)return c.call("init",t,r);if(c.deployInfo.address)throw new Error("Contract already deployed");const a=await e.address(r),{tx:o,contractId:s}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:a}),{hash:i,rawTx:d,result:u,txData:h}=await l(o,r);return c.deployInfo=Object.freeze({result:u,owner:a,transaction:i,rawTx:d,txData:h,address:s,call:(t,n,a)=>e.contractCall(c.source,s,t,n,{...r,...a}),callStatic:(t,n,a)=>e.contractCallStatic(c.source,s,t,n,{...r,...a}),createdAt:new Date}),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=ao(c.aci,t,c.externalAci),s=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!a.callStatic)throw new Error('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(b()(a.amount).gt(0)&&Object.prototype.hasOwnProperty.call(o,"payable")&&!o.payable)throw new Error(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const i=await e.address(a).catch((e=>{if(a.callStatic)return J.pub;throw e})),u=c.calldata.encode(c.aci.name,t,n);let h;if(a.callStatic){"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,callData:u,nonce: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,...l}=await e.txDryRun(r,i,a);await d(o),h={...l,tx:Va({tx:r}),result:o}}else{const t=await e.contractCallTx({...a,callerId:i,contractId:s,callData:u});h=await l(t,a)}return(a.waitMined||a.callStatic)&&(h.decodedResult=o.returns&&"unit"!==o.returns&&"init"!==t&&c.calldata.decode(c.aci.name,t,h.result.returnValue),h.decodedEvents=c.decodeEvents(h.result.log)),h},c.decodeEvents=e=>{const t=(c.aci.event?c.aci.event.variant:[]).map((e=>{const t=Object.keys(e)[0];return{name:t,types:e[t]}}));return Ar(e,t)},c.methods=Object.fromEntries(c.aci.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 Error(`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),decodeEvents:e=>c.decodeEvents(e)})]}))),c},contractCompile:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},r=await this.compileContractAPI(e,t);return Object.freeze({encodeCall:(t,r)=>this.contractEncodeCallDataAPI(e,t,r,n),deploy:(t,a)=>this.contractDeploy(r,e,t,{...n,...a}),deployStatic:(t,a)=>this.contractCallStatic(e,null,"init",t,{...n,...a,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4?arguments[4]:void 0;const o=await this.getContractInstance({...a,source:e,contractAddress:t});return o.call(n,r,{...a,callStatic:!0})},contractDeploy:async function(e,t,n,r){const a=await this.getContractInstance({...r,source:t});return a.bytecode=e,a.deploy(n,r)},contractCall:async function(e,t,n,r,a){return(await this.getContractInstance({...a,source:e,contractAddress:t})).call(n,r,a)},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(Buffer.concat([Buffer.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[Xt(await this.address(t))]:[],...e.map((e=>Xt(e)))]),t);return Buffer.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([...n?[Yt(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:{deposit:G,gasPrice:z,amount:Q,gas:Y}}}}),so=oo.compose(ja).compose(Qa),io=so,co=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&b()(t.gas).gt(X))throw new Error(`the maximum gas value for ga authFun is ${X}, got ${t.gas}`);const r=t.gas||X;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new Error('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new Error("Auth data must contain source code and arguments.");return{authCallData:await e.contractEncodeCallDataAPI(t.source,n,t.args),gas:r}},lo=oo.compose({methods:{createGeneralizeAccount:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},o=await this.address(a);if(await this.isGA(o))throw new Error(`Account ${o} is already GA`);const{tx:s,contractId:i}=await this.gaAttachTx({...a,ownerId:o,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:F(e)}),{hash:c,rawTx:l}=await this.send(s,a);return Object.freeze({owner:o,transaction:c,rawTx:l,gaContractId:i})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new Error("authData is required");const{authCallData:a,gas:o}=await co(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(ke.contractCall),c=ho(xr(e)),l={...s,tx:{...c,tx:c.txObject},gaId:await this.address(s),abiVersion:i,authData:a,gas:o,vsn:2},{fee:d}=await this.prepareTxParams(ke.gaMeta,l),{rlpEncoded:u}=vr({...l,fee:`${d}`},ke.gaMeta,{vsn:2});return ho(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),uo=lo,ho=e=>vr({encodedTx:e,signatures:[]},ke.signed),po=e=>Object.fromEntries(e.map((e=>[e,e]))),fo=1,mo=po(["to_waellet","to_aepp"]),go=po(["window","extension"]),yo=po(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),wo=po(["connect","subscribeAddress","sign","address","signMessage"]),bo=po(["current","connected"]),vo=po(["subscribe","unsubscribe"]),xo={wallet:{[yo.readyToConnect]:"connection.announcePresence",[yo.updateAddress]:"address.update"},aepp:{[wo.address]:"address.get",[wo.connect]:"connection.open",[wo.sign]:"transaction.sign",[wo.signMessage]:"message.sign",[wo.subscribeAddress]:"address.subscribe"},[yo.updateNetwork]:"networkId.update",[yo.closeConnection]:"connection.close"},To={CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",CONNECTION_REJECTED:"CONNECTION_REJECTED",WAITING_FOR_CONNECTION_APPROVE:"WAITING_FOR_CONNECTION_APPROVE",WAITING_FOR_CONNECTION_REQUEST:"WAITING_FOR_CONNECTION_REQUEST",WAITING_FOR_SUBSCRIPTION:"WAITING_FOR_SUBSCRIPTION"},Co={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:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:11,data:e,message:`You are not subscribed for account ${e.account}`}},internalError:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:12,data:e,message:e.msg}},notAuthorize:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:10,data:e,message:"You are not connected to the wallet"}},unsupportedProtocol:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:5,data:e,message:"Unsupported Protocol Version"}},unsupportedNetwork:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:8,data:e,message:"Unsupported Network"}}},Io=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 Error("Browser is not detected");return{}},Ao=()=>window!==window.parent,Eo=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 l=o?{params:o}:s?{result:s}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...l}),r}},_o=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)},ko=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Oo=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}}},So=e=>(t,n,r)=>e.sendMessage(Oo(t,n,r),!0),No=()=>{},jo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Po=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||!Aa(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Bo=Dr()({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=Eo(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${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===To.CONNECTED},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=To.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!jo(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(ko(xo.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==vo.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===vo.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(ko(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Error("Callback Already exist");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 Error(`Can't find callback for this messageId ${n}`);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),Mo={[xo.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[xo.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[xo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Ro={[xo.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[xo.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=To.CONNECTED),e.rpcClient.processResponse(t)},[xo.aepp.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]}))},[xo.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[xo.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},qo={},Vo=ka.compose({async init(e){let{name:t,onAddressChange:n=No,onDisconnect:r=No,onNetworkChange:a=No,connection:o,forceValidation:s=!1,debug:i=!1}=e;this.connection=o,this.name=t,this.debug=i,o&&await this.connectToWallet(o),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=a,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!s&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)}))},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){if(this.rpcClient&&this.rpcClient.isConnected())throw new Error("You are already connected to wallet "+this.rpcClient);var t;return this.rpcClient=Bo({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,qn.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?_o(Ro,e,{debug:t.debug})(t)(e):_o(qo,e,{debug:t.debug})(t)(e):_o(Mo,e,{debug:t.debug})(t)(e)),this.onDisconnect]}),this.sendConnectRequest()},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");e&&this.rpcClient.sendMessage(ko(xo.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.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new Error("You are not subscribed for an account.");if(e&&!this.rpcClient.hasAccessToAccount(e))throw new Error(`You do not have access to account ${e}`);return e||t},async askAddresses(){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return this.rpcClient.request(xo.aepp.address)},async subscribeAddress(e,t){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");return this.rpcClient.request(xo.aepp.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(xo.aepp.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.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(xo.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(xo.aepp.connect,{name:this.name,version:fo,networkId:this.getNetworkId({force:!0})})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${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(xo.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}}),Fo=ka.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=Gt(o,xr(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=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await ua(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Xt(n,"or");if(o.length)return String(o)}throw new Error(`Giving up after ${(n-1)*r}ms`)},pollForQueries:function(e,t){let{interval:n=5e3}=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)};a();const o=setInterval(a,n);return()=>clearInterval(o)},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:xn(n.query.slice(3)).toString(),decodedResponse:xn(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>xn(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:H,oracleTtl:K,queryTtl:W,responseTtl:L}}}}),$o=Fo,Do=ka.compose(Da,$o,so,La,Ba,Vo),Uo={[xo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Ho={},Ko={[xo.aepp.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i}=r;return s!==fo?{error:Co.unsupportedProtocol()}:(n.updateInfo({status:To.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s}),e("onConnection",{name:a,networkId:o,version:s},(()=>(n.updateInfo({status:To.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:To.CONNECTION_REJECTED}),{error:Co.connectionDeny(e)}))))},[xo.aepp.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(!jo(r))throw new Error("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:Co.internalError({msg:e.message})}}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.notAuthorize()}},[xo.aepp.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:Co.rejectedByUser(e)}))):{error:Co.notAuthorize()},[xo.aepp.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:Va.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Po(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Co.internalError({msg: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 Na(e||a,t.selectedNode.instance);return r.length?{error:Co.invalidTransaction(r)}:{error:Co.broadcastFailed(n.message)}}throw n}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.unsupportedNetwork()}:{error:Co.permissionDeny({account:c})}:{error:Co.notAuthorize()}},[xo.aepp.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Co.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=Po(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Co.internalError({msg:e.message})}}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.permissionDeny({account:s})}}},Wo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return _o(Uo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return _o(Ho,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:o}=n,s=(n,s,i,c)=>()=>new Promise((l=>{e[n](a,{id:t,method:o,params:s,accept:function(){return l(i(...arguments))},deny:function(){return l(c(...arguments))}},r)})),i=_o(Ko,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;So(a)(t,o,c)}},Lo=ka.compose(Ka,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:a,onDisconnect:o,onAskAccounts:s,onMessageSign:i,forceValidation:c=!1,debug:l=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=l,this.onConnection=n,this.onSubscription=r,this.onSign=a,this.onDisconnect=o,this.onAskAccounts=s,this.onMessageSign=i,this.rpcClients={},["onConnection","onSubscription","onSign","onDisconnect","onMessageSign"].forEach((e=>{if(!c&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)})),this.name=t,this.id=(0,qn.v4)();const d=this.selectAccount.bind(this),u=this.addAccount.bind(this),h=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};d(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 u(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(ko(xo.updateNetwork,{networkId:this.getNetworkId()}),!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 Error(`RpcClient with id ${e} do not exist`);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,qn.v4)();return this.rpcClients[t]=Bo({id:t,info:{status:To.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Wo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...ko(xo.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Io(!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?go.extension:go.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Go=ka.compose(Lo,Da,io,$o,La,uo,Ba);var Qo=T(3752),Yo=T(3205);const zo=new WeakMap,Xo=new WeakMap,Jo=new WeakMap,Zo=new WeakMap,es=new WeakMap,ts=new WeakMap,ns=new WeakMap,rs=new WeakMap,as=new WeakMap,os=new WeakMap,ss=new WeakMap,is=new WeakMap,cs=new WeakMap,ls=new WeakMap,ds=new WeakMap,us=new WeakMap;function hs(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ts.get(e).emit(...n)}function ps(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");Zo.set(e,t),t.handler.enter&&t.handler.enter(e),ws(e)}function fs(e,t){t!==Xo.get(e)&&(Xo.set(e,t),hs(e,"statusChanged",t))}function ms(e,t){Jo.set(e,t),hs(e,"stateChanged",t)}function gs(e,t){const{debug:n=!1}=zo.get(e);n&&console.log("Send message: ",t),es.get(e).send(da.stringify(t))}function ys(e,t,n){as.set(e,[...as.get(e)||[],{guard:t,action:n}]),ws(e)}async function ws(e){const t=os.get(e),n=as.get(e)||[];if(t||!n.length)return;const r=Zo.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;as.set(e,n.filter(((e,t)=>a!==t))),os.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));os.set(e,!1),ps(e,o)}async function bs(e){const t=ns.get(e);if(rs.get(e)||!t.length)return;const[n,...r]=t;ns.set(e,r||[]),rs.set(e,!0),await async function(e,t){const{handler:n,state:r}=Zo.get(e);ps(e,await Promise.resolve(n(e,t,r)))}(e,n),rs.set(e,!1),bs(e)}function vs(e){clearTimeout(ls.get(e)),clearTimeout(ds.get(e)),ls.set(e,setTimeout((()=>{gs(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),ds.set(e,setTimeout((()=>{Ts(e),hs(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function xs(e,t,n){return new Promise(((r,a)=>{const o=ss.set(e,ss.get(e)+1).get(e);cs.get(e).set(o,(e=>e.result?r(e.result):e.error?a(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),gs(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Ts(e){es.get(e).close(),clearTimeout(ls.get(e)),clearTimeout(ds.get(e))}async function Cs(e,t){let{url:n,...r}=t;zo.set(e,r),Zo.set(e,{handler:r.existingFsmId?ks:_s}),ts.set(e,new Yo.EventEmitter),ss.set(e,0),cs.set(e,new Map);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(x(t),n)})),a.searchParams.set("protocol","json-rpc"),fs(e,"connecting");const o=new Qo.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:()=>{t(),fs(e,"connected"),r.reconnectTx&&(ps(e,{handler:Bs}),setTimeout((async()=>ms(e,(await xs(e,"channels.get.offchain_state",{})).signed_tx)))),vs(e)},onclose:()=>{fs(e,"disconnected"),clearTimeout(ls.get(e)),clearTimeout(ds.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=da.parse(t),{debug:r=!1}=zo.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=cs.get(e).get(n.id);try{t(n)}finally{cs.get(e).delete(n.id)}}else"channels.message"===n.method?hs(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==is.get(e)&&null!=is.get(e)||vs(e):(ns.set(e,[...ns.get(e)||[],n]),bs(e))}(e,n)}}))),es.set(e,o)}function Is(e){return`tx_${bn(e)}`}async function As(e,t){const{signatures:n,encodedTx:r}=xr(e).tx,a=await t(Is(r.rlpEncoded));if("string"==typeof a){const{tx:e,txType:t}=xr(a);return Is(vr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return a}function Es(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Bs}}function _s(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(fs(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Os}):"channel_reestablished"===t.params.data.event?{handler:js}:"fsm_up"===t.params.data.event?(us.set(e,t.params.data.fsm_id),{handler:_s}):{handler:_s}:"channels.error"===t.method?(hs(e,"error",new Error(t.payload.message)),{handler:Zs}):void 0}async function ks(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(us.set(e,t.params.data.fsm_id),ms(e,(await xs(e,"channels.get.offchain_state",{})).signed_tx),{handler:Bs}):Es(0,t,n)}async function Os(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[zo.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await zo.get(e).sign(r,t.params.data.tx);return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ss}}const n=await As(t.params.data.signed_tx,(t=>zo.get(e).sign(r,t)));return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Ss}}}function Ss(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===zo.get(e).role)return{handler:Ns};if("funding_created"===t.params.data.info&&"responder"===zo.get(e).role)return{handler:Ns}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===zo.get(e).role)return is.set(e,t.params.channel_id),fs(e,"signed"),{handler:Ss}}function Ns(e,t,n){if("channels.info"===t.method){const e={funding_created:Ns,own_funding_locked:Ns,funding_locked:js}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return hs(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ns}}function js(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return is.set(e,t.params.channel_id),{handler:Ps}}function Ps(e,t,n){if("channels.update"===t.method)return ms(e,t.params.data.state),{handler:Bs}}async function Bs(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:qs};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return hs(e,t.params.data.event),{handler:Bs};case"fsm_up":return us.set(e,t.params.data.fsm_id),{handler:Bs};case"timeout":case"close_mutual":case"shutdown":return{handler:Bs};case"closing":return fs(e,"closing"),{handler:Bs};case"closed_confirmed":return fs(e,"closed"),{handler:Zs};case"died":return fs(e,"died"),{handler:Zs}}break;case"channels.on_chain_tx":return hs(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Bs};case"channels.leave":return{handler:Bs};case"channels.update":return ms(e,t.params.data.state),{handler:Bs};case"channels.sign.shutdown_sign_ack":return qs(e,t,n)}}async function Ms(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Rs,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Rs,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Ms,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Bs};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new Error("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new Error("Amount cannot be negative")):n.reject(new Error(t.error.message)),{handler:Bs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}function Rs(e,t,n){return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):t.error?(n.reject(new Error(t.error.message)),{handler:Bs}):Es(0,t,n)}async function qs(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await zo.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Bs}}else{const a=await As(t.params.data.signed_tx,(n=>zo.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Bs};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:Vs,state:n}}return gs(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:_n().publicKey,to:_n().publicKey,amount:1}}),{handler:Vs,state:n}}return Es(0,t,n)}function Vs(e,t,n){return t.error?{handler:Vs,state:n}:"channels.conflict"===t.method?{handler:Bs}:Es(0,t,n)}async function Fs(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:$s,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e)));return gs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:$s,state:n}}return Es(0,t,n)}function $s(e,t,n){return"channels.on_chain_tx"===t.method?{handler:Zs,state:n}:Es(0,t,n)}function Ds(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ts(e),{handler:Zs}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Bs}):Es(0,t,n)}async function Us(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Hs,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Hs,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Hs,state:n}}return Es(0,t,n)}function Hs(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Hs,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:Hs,state:n}}return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Ks(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Ws,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Ws,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Ws,state:n}}return Es(0,t,n)}function Ws(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Ws,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:Ws,state:n}}return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Ls(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Gs,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Gs,state:n};if("number"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Gs,state:n}}return Es(0,t,n)}function Gs(e,t,n){if("channels.update"===t.method){const{round:r}=xr(t.params.data.state).tx.encodedTx.tx,a=zo.get(e)[{initiator:"initiatorId",responder:"responderId"}[zo.get(e).role]];return ms(e,t.params.data.state),n.resolve({accepted:!0,address:An(a,r),signedTx:t.params.data.state}),{handler:Bs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Qs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Xs,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Xs,state:n};if("number"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Xs,state:n}}return Es(0,t,n)}async function Ys(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await As(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return gs(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:zs,state:n}}return Es(0,t,n)}function zs(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),hs(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})),Es(0,t,n)}function Xs(e,t,n){return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}function Js(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Bs}):(n.reject(new Error("Unexpected message received")),{handler:Zs})}function Zs(e,t,n){return n?"closing"===t.params.data.event?{handler:Zs,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:Zs,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:Zs}):{handler:Zs,state:n}:{handler:Zs}}function ei(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[v(n)]:r}}),{})}Bs.enter=e=>{fs(e,"open")};const ti=na.compose({async init(e){Cs(this,e)},methods:{on:function(e,t){ts.get(this).on(e,t)},off:function(e,t){ts.get(this).removeListener(e,t)},status:function(){return Xo.get(this)},state:async function(){return ei(await xs(this,"channels.get.offchain_state",{}))},round:function(){if(!Jo.get(this))return null;const{txType:e,tx:t}=xr(Jo.get(this)).tx.encodedTx;switch(e){case ke.channelCreate:return 1;case ke.channelOffChain:case ke.channelWithdraw:case ke.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return is.get(this)},fsmId:function(){return us.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Ms,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await xs(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await xs(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{ys(this,((e,t)=>t.handler===Bs),((n,r)=>(gs(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Ds,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{ys(this,((e,t)=>t.handler===Bs),((r,a)=>(gs(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Fs,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>gs(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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Us,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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Ks,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)=>{ys(this,((e,t)=>t.handler===Bs),((c,l)=>(gs(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:Ls,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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:Qs,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return ei(await xs(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 ei(await xs(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await xs(this,"channels.get.contract",{pubkey:e});return ei({...t,contract:ei(t.contract)})},disconnect:function(){return Ts(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{ys(this,((e,t)=>t.handler===Bs),((n,r)=>(gs(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:Js,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:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{ys(this,((e,t)=>t.handler===Bs),((d,u)=>(gs(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:Ys,state:{resolve:e,reject:c,sign:t,onOnChainTx:l}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return ti({...e,reconnectTx:await n("reconnect",vr(t,ke.channelReconnect).tx)})}}}),ni=ti,ri=ka.compose(Ka,Ba,Da,La,io,$o,uo),ai=Dr()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new Error("Window object not found, you can run bridge only in browser");if(!t)throw new Error("pageConnection required");if(!n)throw new Error("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()}}}),oi=(0,Ur.required)({methods:{connect:Ur.required,disconnect:Ur.required,sendMessage:Ur.required,isConnected:Ur.required}}),si=()=>{const e="object"==typeof Io(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ao()?window.parent:void 0},ii=Dr()({init(){let{connectionInfo:e={},target:t=si(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=mo.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(mo).includes(a))throw new Error(`sendDirection must be one of [${Object.keys(mo)}]`);if(!Object.keys(mo).includes(o))throw new Error(`receiveDirection must be one of [${Object.keys(mo)}]`);this.connectionInfo={id:(0,qn.v4)(),...e};const c=n,l=t;if(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=>l.postMessage(e,this.origin||"*"),!this.connectionInfo.id)throw new Error("ID required.")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Error("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 Error("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},oi),ci=Dr()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new Error("Window object not found, you can run wallet detector only in browser");this.connection=e||ii({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!==xo.wallet.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return ii({connectionInfo:this,sendDirection:e?mo.to_waellet:void 0,receiveDirection:e?mo.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()}}}),li=Dr()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Io().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Io().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Error("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 Error("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)}}},oi),di=cn})(),C})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("bignumber.js"),require("tweetnacl"),require("aes-js"),require("blakejs"),require("varuint-bitcoin"),require("bs58"),require("sha.js"),require("rlp"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),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(["bignumber.js","tweetnacl","aes-js","blakejs","varuint-bitcoin","bs58","sha.js","rlp","@aeternity/uuid","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path","@aeternity/aepp-calldata","@azure/core-client","@azure/core-rest-pipeline","json-bigint","websocket","events"],t):"object"==typeof exports?exports.Ae=t(require("bignumber.js"),require("tweetnacl"),require("aes-js"),require("blakejs"),require("varuint-bitcoin"),require("bs58"),require("sha.js"),require("rlp"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/aepp-calldata"),require("@azure/core-client"),require("@azure/core-rest-pipeline"),require("json-bigint"),require("websocket"),require("events")):e.Ae=t(e["bignumber.js"],e.tweetnacl,e["aes-js"],e.blakejs,e["varuint-bitcoin"],e.bs58,e["sha.js"],e.rlp,e["@aeternity/uuid"],e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"],e["@aeternity/aepp-calldata"],e["@azure/core-client"],e["@azure/core-rest-pipeline"],e["json-bigint"],e.websocket,e.events)}(global,((e,t,r,n,a,i,s,o,c,l,d,u,p,m,h,y,g,f)=>(()=>{var N={8580:(e,t,r)=>{e.exports=r(3778)},4341:(e,t,r)=>{e.exports=r(3685)},754:e=>{e.exports=function(e,t){return t.get?t.get.call(e):t.value},e.exports.__esModule=!0,e.exports.default=e.exports},2710:e=>{e.exports=function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}},e.exports.__esModule=!0,e.exports.default=e.exports},508:e=>{e.exports=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)},e.exports.__esModule=!0,e.exports.default=e.exports},6337:(e,t,r)=>{var n=r(754),a=r(508);e.exports=function(e,t){var r=a(e,t,"get");return n(e,r)},e.exports.__esModule=!0,e.exports.default=e.exports},6045:(e,t,r)=>{var n=r(2710),a=r(508);e.exports=function(e,t,r){var i=a(e,t,"set");return n(e,i,r),r},e.exports.__esModule=!0,e.exports.default=e.exports},7672:(e,t,r)=>{var n=r(4341);e.exports=function(e,t,r){return t in e?n(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},3536:(e,t,r)=>{var n=r(1910);e.exports=n},991:(e,t,r)=>{r(7690);var n=r(5703);e.exports=n("Array").includes},8557:(e,t,r)=>{var n=r(7046),a=r(991),i=r(1631),s=Array.prototype,o=String.prototype;e.exports=function(e){var t=e.includes;return e===s||n(s,e)&&t===s.includes?a:"string"==typeof e||e===o||n(o,e)&&t===o.includes?i:t}},8171:(e,t,r)=>{r(6450);var n=r(4058).Object,a=e.exports=function(e,t,r){return n.defineProperty(e,t,r)};n.defineProperty.sham&&(a.sham=!0)},1631:(e,t,r)=>{r(1035);var n=r(5703);e.exports=n("String").includes},3685:(e,t,r)=>{var n=r(3536);e.exports=n},4883:(e,t,r)=>{var n=r(1899),a=r(7475),i=r(9826),s=n.TypeError;e.exports=function(e){if(a(e))return e;throw s(i(e)+" is not a function")}},8479:e=>{e.exports=function(){}},6059:(e,t,r)=>{var n=r(1899),a=r(941),i=n.String,s=n.TypeError;e.exports=function(e){if(a(e))return e;throw s(i(e)+" is not an object")}},1692:(e,t,r)=>{var n=r(4529),a=r(9413),i=r(623),s=function(e){return function(t,r,s){var o,c=n(t),l=i(c),d=a(s,l);if(e&&r!=r){for(;l>d;)if((o=c[d++])!=o)return!0}else for(;l>d;d++)if((e||d in c)&&c[d]===r)return e||d||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},2532:(e,t,r)=>{var n=r(5329),a=n({}.toString),i=n("".slice);e.exports=function(e){return i(a(e),8,-1)}},9697:(e,t,r)=>{var n=r(1899),a=r(2885),i=r(7475),s=r(2532),o=r(9813)("toStringTag"),c=n.Object,l="Arguments"==s(function(){return arguments}());e.exports=a?s:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=c(e),o))?r:l?s(t):"Object"==(n=s(t))&&i(t.callee)?"Arguments":n}},7772:(e,t,r)=>{var n=r(9813)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[n]=!1,"/./"[e](t)}catch(e){}}return!1}},2029:(e,t,r)=>{var n=r(5746),a=r(5988),i=r(1887);e.exports=n?function(e,t,r){return a.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},1887:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},5746:(e,t,r)=>{var n=r(5981);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},1333:(e,t,r)=>{var n=r(1899),a=r(941),i=n.document,s=a(i)&&a(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},2861:(e,t,r)=>{var n=r(626);e.exports=n("navigator","userAgent")||""},3385:(e,t,r)=>{var n,a,i=r(1899),s=r(2861),o=i.process,c=i.Deno,l=o&&o.versions||c&&c.version,d=l&&l.v8;d&&(a=(n=d.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!a&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(a=+n[1]),e.exports=a},5703:(e,t,r)=>{var n=r(4058);e.exports=function(e){return n[e+"Prototype"]}},6887:(e,t,r)=>{"use strict";var n=r(1899),a=r(9730),i=r(5329),s=r(7475),o=r(9677).f,c=r(7252),l=r(4058),d=r(6843),u=r(2029),p=r(953),m=function(e){var t=function(r,n,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,n)}return new e(r,n,i)}return a(e,this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var r,a,h,y,g,f,N,w,b=e.target,v=e.global,S=e.stat,C=e.proto,x=v?n:S?n[b]:(n[b]||{}).prototype,z=v?l:l[b]||u(l,b,{})[b],_=z.prototype;for(h in t)r=!c(v?h:b+(S?".":"#")+h,e.forced)&&x&&p(x,h),g=z[h],r&&(f=e.noTargetGet?(w=o(x,h))&&w.value:x[h]),y=r&&f?f:t[h],r&&typeof g==typeof y||(N=e.bind&&r?d(y,n):e.wrap&&r?m(y):C&&s(y)?i(y):y,(e.sham||y&&y.sham||g&&g.sham)&&u(N,"sham",!0),u(z,h,N),C&&(p(l,a=b+"Prototype")||u(l,a,{}),u(l[a],h,y),e.real&&_&&!_[h]&&u(_,h,y)))}},5981:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},9730:(e,t,r)=>{var n=r(8285),a=Function.prototype,i=a.apply,s=a.call;e.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(i):function(){return s.apply(i,arguments)})},6843:(e,t,r)=>{var n=r(5329),a=r(4883),i=r(8285),s=n(n.bind);e.exports=function(e,t){return a(e),void 0===t?e:i?s(e,t):function(){return e.apply(t,arguments)}}},8285:(e,t,r)=>{var n=r(5981);e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},8834:(e,t,r)=>{var n=r(8285),a=Function.prototype.call;e.exports=n?a.bind(a):function(){return a.apply(a,arguments)}},5329:(e,t,r)=>{var n=r(8285),a=Function.prototype,i=a.bind,s=a.call,o=n&&i.bind(s,s);e.exports=n?function(e){return e&&o(e)}:function(e){return e&&function(){return s.apply(e,arguments)}}},626:(e,t,r)=>{var n=r(4058),a=r(1899),i=r(7475),s=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?s(n[e])||s(a[e]):n[e]&&n[e][t]||a[e]&&a[e][t]}},4229:(e,t,r)=>{var n=r(4883);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},1899:e=>{var t=function(e){return e&&e.Math==Math&&e};e.exports=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof global&&global)||function(){return this}()||Function("return this")()},953:(e,t,r)=>{var n=r(5329),a=r(9678),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(a(e),t)}},2840:(e,t,r)=>{var n=r(5746),a=r(5981),i=r(1333);e.exports=!n&&!a((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},7026:(e,t,r)=>{var n=r(1899),a=r(5329),i=r(5981),s=r(2532),o=n.Object,c=a("".split);e.exports=i((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==s(e)?c(e,""):o(e)}:o},7475:e=>{e.exports=function(e){return"function"==typeof e}},7252:(e,t,r)=>{var n=r(5981),a=r(7475),i=/#|\.prototype\./,s=function(e,t){var r=c[o(e)];return r==d||r!=l&&(a(t)?n(t):!!t)},o=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=s.data={},l=s.NATIVE="N",d=s.POLYFILL="P";e.exports=s},941:(e,t,r)=>{var n=r(7475);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},2529:e=>{e.exports=!0},685:(e,t,r)=>{var n=r(941),a=r(2532),i=r(9813)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},6664:(e,t,r)=>{var n=r(1899),a=r(626),i=r(7475),s=r(7046),o=r(2302),c=n.Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return i(t)&&s(t.prototype,c(e))}},623:(e,t,r)=>{var n=r(3057);e.exports=function(e){return n(e.length)}},2497:(e,t,r)=>{var n=r(3385),a=r(5981);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},344:(e,t,r)=>{var n=r(1899),a=r(685),i=n.TypeError;e.exports=function(e){if(a(e))throw i("The method doesn't accept regular expressions");return e}},5988:(e,t,r)=>{var n=r(1899),a=r(5746),i=r(2840),s=r(3937),o=r(6059),c=r(3894),l=n.TypeError,d=Object.defineProperty,u=Object.getOwnPropertyDescriptor;t.f=a?s?function(e,t,r){if(o(e),t=c(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var n=u(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return d(e,t,r)}:d:function(e,t,r){if(o(e),t=c(t),o(r),i)try{return d(e,t,r)}catch(e){}if("get"in r||"set"in r)throw l("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},9677:(e,t,r)=>{var n=r(5746),a=r(8834),i=r(6760),s=r(1887),o=r(4529),c=r(3894),l=r(953),d=r(2840),u=Object.getOwnPropertyDescriptor;t.f=n?u:function(e,t){if(e=o(e),t=c(t),d)try{return u(e,t)}catch(e){}if(l(e,t))return s(!a(i.f,e,t),e[t])}},7046:(e,t,r)=>{var n=r(5329);e.exports=n({}.isPrototypeOf)},6760:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,a=n&&!r.call({1:2},1);t.f=a?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},9811:(e,t,r)=>{var n=r(1899),a=r(8834),i=r(7475),s=r(941),o=n.TypeError;e.exports=function(e,t){var r,n;if("string"===t&&i(r=e.toString)&&!s(n=a(r,e)))return n;if(i(r=e.valueOf)&&!s(n=a(r,e)))return n;if("string"!==t&&i(r=e.toString)&&!s(n=a(r,e)))return n;throw o("Can't convert object to primitive value")}},4058:e=>{e.exports={}},8219:(e,t,r)=>{var n=r(1899).TypeError;e.exports=function(e){if(null==e)throw n("Can't call method on "+e);return e}},4911:(e,t,r)=>{var n=r(1899),a=Object.defineProperty;e.exports=function(e,t){try{a(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},3030:(e,t,r)=>{var n=r(1899),a=r(4911),i="__core-js_shared__",s=n[i]||a(i,{});e.exports=s},8726:(e,t,r)=>{var n=r(2529),a=r(3030);(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.20.3",mode:n?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE",source:"https://github.com/zloirock/core-js"})},9413:(e,t,r)=>{var n=r(2435),a=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?a(r+t,0):i(r,t)}},4529:(e,t,r)=>{var n=r(7026),a=r(8219);e.exports=function(e){return n(a(e))}},2435:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!=n||0===n?0:(n>0?r:t)(n)}},3057:(e,t,r)=>{var n=r(2435),a=Math.min;e.exports=function(e){return e>0?a(n(e),9007199254740991):0}},9678:(e,t,r)=>{var n=r(1899),a=r(8219),i=n.Object;e.exports=function(e){return i(a(e))}},6935:(e,t,r)=>{var n=r(1899),a=r(8834),i=r(941),s=r(6664),o=r(4229),c=r(9811),l=r(9813),d=n.TypeError,u=l("toPrimitive");e.exports=function(e,t){if(!i(e)||s(e))return e;var r,n=o(e,u);if(n){if(void 0===t&&(t="default"),r=a(n,e,t),!i(r)||s(r))return r;throw d("Can't convert object to primitive value")}return void 0===t&&(t="number"),c(e,t)}},3894:(e,t,r)=>{var n=r(6935),a=r(6664);e.exports=function(e){var t=n(e,"string");return a(t)?t:t+""}},2885:(e,t,r)=>{var n={};n[r(9813)("toStringTag")]="z",e.exports="[object z]"===String(n)},5803:(e,t,r)=>{var n=r(1899),a=r(9697),i=n.String;e.exports=function(e){if("Symbol"===a(e))throw TypeError("Cannot convert a Symbol value to a string");return i(e)}},9826:(e,t,r)=>{var n=r(1899).String;e.exports=function(e){try{return n(e)}catch(e){return"Object"}}},9418:(e,t,r)=>{var n=r(5329),a=0,i=Math.random(),s=n(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++a+i,36)}},2302:(e,t,r)=>{var n=r(2497);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3937:(e,t,r)=>{var n=r(5746),a=r(5981);e.exports=n&&a((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},9813:(e,t,r)=>{var n=r(1899),a=r(8726),i=r(953),s=r(9418),o=r(2497),c=r(2302),l=a("wks"),d=n.Symbol,u=d&&d.for,p=c?d:d&&d.withoutSetter||s;e.exports=function(e){if(!i(l,e)||!o&&"string"!=typeof l[e]){var t="Symbol."+e;o&&i(d,e)?l[e]=d[e]:l[e]=c&&u?u(t):p(t)}return l[e]}},7690:(e,t,r)=>{"use strict";var n=r(6887),a=r(1692).includes,i=r(8479);n({target:"Array",proto:!0},{includes:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},6450:(e,t,r)=>{var n=r(6887),a=r(5746),i=r(5988).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==i,sham:!a},{defineProperty:i})},1035:(e,t,r)=>{"use strict";var n=r(6887),a=r(5329),i=r(344),s=r(8219),o=r(5803),c=r(7772),l=a("".indexOf);n({target:"String",proto:!0,forced:!c("includes")},{includes:function(e){return!!~l(o(s(this)),o(i(e)),arguments.length>1?arguments[1]:void 0)}})},3778:(e,t,r)=>{var n=r(8557);e.exports=n},1910:(e,t,r)=>{var n=r(8171);e.exports=n},7946:e=>{"use strict";e.exports=p},7289:e=>{"use strict";e.exports=l},3983:e=>{"use strict";e.exports=c},4711:e=>{"use strict";e.exports=m},5039:e=>{"use strict";e.exports=h},8236:e=>{"use strict";e.exports=r},5192:t=>{"use strict";t.exports=e},1986:e=>{"use strict";e.exports=u},1246:e=>{"use strict";e.exports=n},3783:e=>{"use strict";e.exports=i},3735:e=>{"use strict";e.exports=f},2716:e=>{"use strict";e.exports=y},3485:e=>{"use strict";e.exports=o},5433:e=>{"use strict";e.exports=s},79:e=>{"use strict";e.exports=t},9882:e=>{"use strict";e.exports=d},7480:e=>{"use strict";e.exports=a},8079:e=>{"use strict";e.exports=g}},w={};function b(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={exports:{}};return N[e](r,r.exports,b),r.exports}b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var v={};return(()=>{"use strict";b.r(v),b.d(v,{ABI_VERSIONS:()=>Rr,AE_AMOUNT_FORMATS:()=>Fe,AMOUNT:()=>Er,AccountBase:()=>wo,AccountError:()=>y,AeSdk:()=>zc,AeSdkAepp:()=>cl,AeSdkBase:()=>xc,AeSdkWallet:()=>ml,AensError:()=>g,AensPointerContextError:()=>$,AeppError:()=>f,AlreadyConnectedError:()=>je,AmbiguousEventDefinitionError:()=>ye,ArgumentCountMismatchError:()=>P,ArgumentError:()=>T,BaseError:()=>h,BrowserRuntimeConnection:()=>Pd,BrowserWindowMessageConnection:()=>Td,BytecodeMismatchError:()=>ae,CLIENT_TTL:()=>Ut,Channel:()=>bd,ChannelCallError:()=>J,ChannelConnectionError:()=>Z,ChannelError:()=>N,ChannelPingTimedOutError:()=>ee,Compiler:()=>Nc,CompilerError:()=>w,ContractError:()=>S,CryptographyError:()=>C,DRY_RUN_ACCOUNT:()=>Ar,DecodeError:()=>xe,DerivationError:()=>Hn,DryRunError:()=>_e,DuplicateContractError:()=>ie,DuplicateNodeError:()=>Se,FIELD_TYPES:()=>Dr,GAS_MAX:()=>Ir,ID_TAG:()=>Jt,ID_TAG_PREFIX:()=>er,IllegalArgumentError:()=>q,IllegalBidFeeError:()=>Te,InactiveContractError:()=>se,InsufficientBalanceError:()=>E,InsufficientNameFeeError:()=>L,InternalError:()=>V,InvalidAensNameError:()=>G,InvalidAuthDataError:()=>ne,InvalidChecksumError:()=>ge,InvalidKeypairError:()=>H,InvalidMethodInvocationError:()=>oe,InvalidPasswordError:()=>fe,InvalidRpcMessageError:()=>K,InvalidSignatureError:()=>qe,InvalidTxError:()=>Pe,InvalidTxParamsError:()=>Ee,MAX_AUTH_FUN_GAS:()=>kr,MESSAGE_DIRECTION:()=>_c,METHODS:()=>Pc,MIN_GAS_PRICE:()=>$t,MemoryAccount:()=>vo,MerkleTreeHashMismatchError:()=>Ne,MissingCallbackError:()=>W,MissingContractAddressError:()=>ce,MissingContractDefError:()=>le,MissingEventDefinitionError:()=>he,MissingFunctionNameError:()=>de,MissingNodeInTreeError:()=>we,MissingParamError:()=>I,NAME_BID_MAX_LENGTH:()=>Qt,NAME_BID_RANGES:()=>Xt,NAME_BID_TIMEOUT_BLOCKS:()=>Kt,NAME_FEE_BID_INCREMENT:()=>Gt,NAME_FEE_MULTIPLIER:()=>Lt,NAME_MAX_CLIENT_TTL:()=>Ht,NAME_MAX_LENGTH_FEE:()=>Wt,NAME_MAX_TTL:()=>Ft,NAME_TTL:()=>Vt,NoSerializerFoundError:()=>k,NoSuchContractFunctionError:()=>pe,NoWalletConnectedError:()=>De,Node:()=>yo,NodeError:()=>x,NodeInvocationError:()=>ue,NodeNotFoundError:()=>Ce,NotImplementedError:()=>j,NotPayableFunctionError:()=>me,ORACLE_TTL:()=>Tr,ORACLE_TTL_TYPES:()=>xr,POINTER_KEY_BY_PREFIX:()=>Yt,PREFIX_ID_TAG:()=>Zt,PROTOCOL_VERSIONS:()=>Br,PROTOCOL_VM_ABI:()=>jr,PayloadLengthError:()=>ze,PrefixNotFoundError:()=>Ie,QUERY_FEE:()=>_r,QUERY_TTL:()=>qr,RESPONSE_TTL:()=>Pr,RPC_STATUS:()=>Ec,RequestTimedOutError:()=>A,RpcBroadcastError:()=>Ac,RpcConnectionDenyError:()=>Rc,RpcConnectionError:()=>Ve,RpcError:()=>Ic,RpcInternalError:()=>Dc,RpcInvalidTransactionError:()=>kc,RpcMethodNotFoundError:()=>Vc,RpcNotAuthorizeError:()=>Bc,RpcPermissionDenyError:()=>jc,RpcRejectedByUserError:()=>Oc,RpcUnsupportedProtocolError:()=>Mc,SUBSCRIPTION_TYPES:()=>qc,SchemaNotFoundError:()=>ke,TX_SCHEMA:()=>Fr,TX_TTL:()=>zr,TX_TYPE:()=>Or,TagNotFoundError:()=>Ae,TransactionError:()=>z,TxNotInChainError:()=>Oe,TxTimedOutError:()=>O,TypeError:()=>M,UnAuthorizedAccountError:()=>Q,UnavailableAccountError:()=>U,UnexpectedChannelMessageError:()=>te,UnexpectedTsError:()=>F,UnknownChannelStateError:()=>re,UnknownNodeLengthError:()=>be,UnknownPathNibbleError:()=>ve,UnknownRpcClientError:()=>Y,UnknownTxError:()=>Me,UnsubscribedAccountError:()=>X,UnsupportedABIversionError:()=>Re,UnsupportedPlatformError:()=>R,UnsupportedProtocolError:()=>B,UnsupportedVMversionError:()=>Be,UnsupportedVersionError:()=>D,VM_VERSIONS:()=>Mr,WALLET_TYPE:()=>Tc,WalletError:()=>_,_buildTx:()=>Bn,_getPollInterval:()=>cn,aensBid:()=>fa,aensClaim:()=>ya,aensPreclaim:()=>ga,aensQuery:()=>ha,aensRevoke:()=>ua,aensTransfer:()=>ma,aensUpdate:()=>pa,awaitHeight:()=>hn,bigNumberToByteArray:()=>Ze,buildAuthTxHash:()=>ia,buildContractId:()=>rr,buildContractIdByContractTx:()=>en,buildPointers:()=>ur,buildTx:()=>Xr,buildTxHash:()=>Zr,bytesToHex:()=>rt,calculateMinFee:()=>nn,commitmentHash:()=>sr,computeAuctionEndBlock:()=>Nr,computeBidFee:()=>fr,connectionProxy:()=>vd,createAensDelegationSignature:()=>wa,createGeneralizedAccount:()=>na,createMetaTx:()=>aa,createOracleDelegationSignature:()=>ba,createSalt:()=>tr,decode:()=>vt,decryptKey:()=>At,deriveChild:()=>Yn,derivePathFromKey:()=>Ln,derivePathFromSeed:()=>Gn,dump:()=>Rn,encode:()=>St,encodeContractAddress:()=>Pt,encodeUnsigned:()=>Tt,encryptKey:()=>kt,extendOracleTtl:()=>Ta,formatAmount:()=>Le,formatSalt:()=>ar,generateKeyPair:()=>It,generateKeyPairFromSecret:()=>Et,generateSaveHDWalletFromSeed:()=>Xn,getAccount:()=>un,getAddressFromPriv:()=>xt,getBalance:()=>pn,getContract:()=>zn,getContractByteCode:()=>xn,getContractInstance:()=>ta,getCurrentGeneration:()=>gn,getDefaultPointerKey:()=>yr,getGeneration:()=>fn,getHdWalletAccountFromSeed:()=>Zn,getKeyBlock:()=>wn,getKeyPair:()=>Wn,getMasterKeyFromSeed:()=>Qn,getMicroBlockHeader:()=>bn,getMicroBlockTransactions:()=>Nn,getMinimumNameFee:()=>gr,getName:()=>_n,getOracleObject:()=>va,getQueryObject:()=>Ca,getSaveHDWalletAccounts:()=>Jn,getVmVersion:()=>jn,hash:()=>qt,height:()=>mn,hexToBytes:()=>nt,isAddressValid:()=>zt,isAuctionName:()=>wr,isGA:()=>ra,isNameValid:()=>hr,isValidKeypair:()=>Dt,messageToHash:()=>Rt,oracleQueryId:()=>nr,payForTransaction:()=>da,poll:()=>yn,pollForQueries:()=>Sa,pollForQueryResponse:()=>xa,postQueryToOracle:()=>_a,prepareTxParams:()=>Dn,produceNameId:()=>ir,readId:()=>cr,readInt:()=>dr,readPointers:()=>pr,recover:()=>Mn,registerOracle:()=>za,resolveName:()=>Tn,respondToQuery:()=>qa,salt:()=>_t,send:()=>sa,sendTransaction:()=>ln,sha256hash:()=>dt,sign:()=>Ot,signMessage:()=>Bt,signUsingGA:()=>oa,spend:()=>ca,str2buf:()=>tt,toAe:()=>Ue,toAettos:()=>$e,toBytes:()=>et,transferFunds:()=>la,txDryRun:()=>Cn,unpackRawTx:()=>Yr,unpackTx:()=>Jr,validateParams:()=>Qr,verify:()=>Mt,verifyMessage:()=>jt,verifyTransaction:()=>on,waitForTxConfirm:()=>dn,walletDetector:()=>qd,writeId:()=>or,writeInt:()=>lr});var e={};b.r(e),b.d(e,{_getPollInterval:()=>cn,awaitHeight:()=>hn,getAccount:()=>un,getBalance:()=>pn,getContract:()=>zn,getContractByteCode:()=>xn,getCurrentGeneration:()=>gn,getGeneration:()=>fn,getKeyBlock:()=>wn,getMicroBlockHeader:()=>bn,getMicroBlockTransactions:()=>Nn,getName:()=>_n,height:()=>mn,poll:()=>yn,resolveName:()=>Tn,sendTransaction:()=>ln,txDryRun:()=>Cn,waitForTxConfirm:()=>dn});var t={};b.r(t),b.d(t,{_buildTx:()=>Bn,getVmVersion:()=>jn,prepareTxParams:()=>Dn});var r={};b.r(r),b.d(r,{buildAuthTxHash:()=>ia,createGeneralizedAccount:()=>na,createMetaTx:()=>aa,isGA:()=>ra});var n={};b.r(n),b.d(n,{payForTransaction:()=>da,send:()=>sa,signUsingGA:()=>oa,spend:()=>ca,transferFunds:()=>la});var a={};b.r(a),b.d(a,{aensBid:()=>fa,aensClaim:()=>ya,aensPreclaim:()=>ga,aensQuery:()=>ha,aensRevoke:()=>ua,aensTransfer:()=>ma,aensUpdate:()=>pa});var i={};b.r(i),b.d(i,{createAensDelegationSignature:()=>wa,createOracleDelegationSignature:()=>ba,getContractInstance:()=>ta});var s={};b.r(s),b.d(s,{extendOracleTtl:()=>Ta,getOracleObject:()=>va,getQueryObject:()=>Ca,pollForQueries:()=>Sa,pollForQueryResponse:()=>xa,postQueryToOracle:()=>_a,registerOracle:()=>za,respondToQuery:()=>qa});var o={};b.r(o),b.d(o,{Account:()=>Za,ByteCode:()=>yi,Channel:()=>vi,ChannelCloseMutualTx:()=>Hi,ChannelCloseSoloTx:()=>Ui,ChannelCreateTx:()=>ji,ChannelDepositTx:()=>Di,ChannelForceProgressTx:()=>Fi,ChannelSetDelegatesTx:()=>Ki,ChannelSettleTx:()=>Li,ChannelSlashTx:()=>$i,ChannelSnapshotSoloTx:()=>Gi,ChannelWithdrawTx:()=>Vi,CheckTxInPoolResponse:()=>os,CommitmentId:()=>Ri,ContractCallObject:()=>ci,ContractCallTx:()=>ts,ContractCreateTx:()=>es,ContractObject:()=>hi,CountResponse:()=>Xa,CreateContractUnsignedTx:()=>ms,Delegates:()=>Ga,DryRunAccount:()=>ri,DryRunCallContext:()=>ii,DryRunCallReq:()=>ai,DryRunInput:()=>ti,DryRunInputItem:()=>ni,DryRunResult:()=>oi,DryRunResults:()=>si,EncodedTx:()=>pi,ErrorModel:()=>ja,Event:()=>li,GAAttachTx:()=>as,GAMetaTx:()=>is,GAObject:()=>ui,Generation:()=>Ja,HashResponse:()=>Va,Header:()=>Ba,HeightResponse:()=>Fa,KeyBlock:()=>Da,MicroBlockHeader:()=>Ha,NameClaimTx:()=>ki,NameEntry:()=>bi,NameHash:()=>Bi,NamePointer:()=>Ya,NamePreclaimTx:()=>Ii,NameRevokeTx:()=>Mi,NameTransferTx:()=>Oi,NameUpdateTx:()=>Ai,NextNonceResponse:()=>ei,OffChainCallContract:()=>ps,OffChainDeposit:()=>ds,OffChainNewContract:()=>us,OffChainTransfer:()=>cs,OffChainUpdate:()=>Ka,OffChainWithdrawal:()=>ls,OracleExtendTx:()=>qi,OracleQueries:()=>Ni,OracleQuery:()=>wi,OracleQueryTx:()=>Pi,OracleRegisterTx:()=>Ti,OracleRespondTx:()=>Ei,PayingForTx:()=>ss,PeerConnections:()=>zi,PeerCount:()=>Xi,PeerCountAvailable:()=>Zi,PeerCountConnected:()=>Ji,PeerDetails:()=>Qi,PeerPubKey:()=>Si,Peers:()=>Yi,PoI:()=>gi,PostTxResponse:()=>mi,Protocol:()=>xi,PubKey:()=>Wi,RegisteredOracle:()=>fi,RelativeTTL:()=>Wa,SignedTx:()=>$a,SignedTxs:()=>Ua,SpendTx:()=>_i,Status:()=>Ci,TokenSupply:()=>ns,Ttl:()=>Qa,Tx:()=>La,TxInfoObject:()=>di,UnsignedTx:()=>rs,discriminators:()=>hs});var c={};b.r(c),b.d(c,{APIVersion:()=>qo,Aci:()=>xo,ByteCode:()=>Po,ByteCodeInput:()=>Eo,BytecodeCallResultInput:()=>Ao,Calldata:()=>Fo,CompileOpts:()=>Co,CompilerError:()=>zo,CompilerVersion:()=>Io,Contract:()=>So,DecodeCalldataBytecode:()=>Mo,DecodeCalldataSource:()=>Bo,DecodedCalldata:()=>Ro,DecodedCallresult:()=>Oo,ErrorModel:()=>To,ErrorPos:()=>_o,FateAssembler:()=>Ho,FunctionCallInput:()=>Vo,SophiaBinaryData:()=>jo,SophiaCallResultInput:()=>ko,SophiaJsonData:()=>Do,ValidateByteCodeInput:()=>Uo});var l=b(5192),d=b.n(l),u=b(8580),p=b.n(u);const m=e=>e.integerValue(d().ROUND_CEIL);class h extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends h{constructor(e){super(e),this.name="AccountError"}}class g extends h{constructor(e){super(e),this.name="AensError"}}class f extends h{constructor(e){super(e),this.name="AeppError"}}class N extends h{constructor(e){super(e),this.name="ChannelError"}}class w extends h{constructor(e){super(e),this.name="CompilerError"}}class S extends h{constructor(e){super(e),this.name="ContractError"}}class C extends h{constructor(e){super(e),this.name="CryptographyError"}}class x extends h{constructor(e){super(e),this.name="NodeError"}}class z extends h{constructor(e){super(e),this.name="TransactionError"}}class _ extends h{constructor(e){super(e),this.name="WalletError"}}class T extends h{constructor(e,t,r){super(`${e} should be ${t}, got ${String(r)} instead`),this.name="ArgumentError"}}class q extends C{constructor(e){super(e),this.name="IllegalArgumentError"}}class P extends h{constructor(e,t,r){super(`${e} expects ${t} arguments, got ${r} instead`),this.name="ArgumentCountMismatchError"}}class E extends h{constructor(e){super(e),this.name="InsufficientBalanceError"}}class I extends h{constructor(e){super(e),this.name="MissingParamError"}}class k extends h{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class A extends h{constructor(e,t,r){super(void 0!==t&&void 0!==r?`Giving up after ${e}ms, current height: ${t}, desired height: ${r}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class O extends h{constructor(e,t){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`].join(", ")),this.name="TxTimedOutError"}}class M extends h{constructor(e){super(e),this.name="TypeError"}}class R extends h{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class B extends h{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class j extends h{constructor(e){super(e),this.name="NotImplementedError"}}class D extends h{constructor(e,t,r,n){super(`Unsupported ${e} version ${t}. Supported: >= ${r} < ${n}`),this.name="UnsupportedVersionError"}}class V extends h{constructor(e){super(e),this.name="InternalError"}}class F extends V{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Expected to not happen, required for TS"),this.name="UnexpectedTsError"}}class H extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class U extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class $ extends g{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class L 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 G extends g{constructor(e){super(e),this.name="InvalidAensNameError"}}class K extends f{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class W extends f{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class Q extends f{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class Y extends f{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class X extends f{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class J extends N{constructor(e){super(e),this.name="ChannelCallError"}}class Z extends N{constructor(e){super(e),this.name="ChannelConnectionError"}}class ee extends N{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class te extends N{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class re extends N{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ne extends w{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ae extends S{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class ie extends S{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class se extends S{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class oe extends S{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class ce extends S{constructor(e){super(e),this.name="MissingContractAddressError"}}class le extends S{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class de extends S{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ue extends S{constructor(e,t){super("Invocation failed"+(null==e?"":`: "${e}"`)),this.name="NodeInvocationError",this.transaction=t}}class pe extends S{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class me extends S{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 he extends S{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 ye extends S{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 C{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class fe extends C{constructor(){super("Invalid password or nonce"),this.name="InvalidPasswordError"}}class Ne extends C{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class we extends C{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class be extends C{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class ve extends C{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends x{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Ce extends x{constructor(e){super(e),this.name="NodeNotFoundError"}}class xe extends z{constructor(e){super(e),this.name="DecodeError"}}class ze extends z{constructor(e){super(e),this.name="PayloadLengthError"}}class _e extends z{constructor(e){super(e),this.name="DryRunError"}}class Te extends z{constructor(e){super(e),this.name="IllegalBidFeeError"}}class qe extends z{constructor(e){super(e),this.name="InvalidSignatureError"}}class Pe extends z{constructor(e,t,r){super(e),this.name="InvalidTxError",this.validation=t,this.transaction=r}}class Ee extends z{constructor(e){super(e),this.name="InvalidTxParamsError"}}class Ie extends z{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class ke extends z{constructor(e,t,r){super(`Transaction ${e} not implemented for ${t} version ${r}`),this.name="SchemaNotFoundError"}}class Ae extends z{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Oe extends z{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Me extends z{constructor(e){super(e),this.name="UnknownTxError"}}class Re extends z{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Be extends z{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class De extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class Ve extends _{constructor(e){super(e),this.name="RpcConnectionError"}}let Fe;!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"}(Fe||(Fe={}));const He={[Fe.AE]:0,[Fe.MILI_AE]:-3,[Fe.MICRO_AE]:-6,[Fe.NANO_AE]:-9,[Fe.PICO_AE]:-12,[Fe.FEMTO_AE]:-15,[Fe.AETTOS]:-18},Ue=function(e){let{denomination:t=Fe.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Le(e,{denomination:t,targetDenomination:Fe.AE})},$e=function(e){let{denomination:t=Fe.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Le(e,{denomination:t})},Le=(e,t)=>{let{denomination:r=Fe.AETTOS,targetDenomination:n=Fe.AETTOS}=t;if("bigint"!=typeof(a=e)&&(!p()(i=["number","object","string"]).call(i,typeof a)||isNaN(a)&&!Number.isInteger(a)&&!d().isBigNumber(a)))throw new T("value","a number",e);var a,i;return new(d())("bigint"==typeof e?e.toString():e).shiftedBy(He[r]-He[n]).toFixed()};var Ge=b(79),Ke=b.n(Ge),We=b(8236),Qe=b.n(We),Ye=b(1246),Xe=b(7480);function Je(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function Ze(e){if(!e.isInteger())throw new M(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function et(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||d().isBigNumber(e)||t)return d().isBigNumber(e)||(e=new(d())(e)),Ze(e);if("string"==typeof e)return Buffer.from(e);throw new k}function tt(e,t){var r;return Buffer.from(e,null!==(r=null!=t?t:Je(e)?"hex":void 0)&&void 0!==r?r: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 rt=e=>Buffer.from(e).toString("hex"),nt=e=>Buffer.from(e,"hex"),at=async e=>await new Promise((t=>setTimeout(t,e))),it=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),st=(()=>{try{return Buffer.concat([Uint8Array.from([])]),!1}catch(e){return!0}})()?(e,t)=>Buffer.concat(e.map((e=>Buffer.from(e))),t):Buffer.concat;function ot(e,t){return e in t}var ct=b(3783),lt=b(5433);function dt(e){return(new lt.sha256).update(e).digest()}const ut=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],pt=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],mt={ak:32,ct:32,ok:32};function ht(e,t){const r=mt[t];if(null!=r&&e.length!==r)throw new ze(`Payload should be ${r} bytes, got ${e.length} instead`)}const yt=e=>dt(dt(e)).slice(0,4),gt=e=>st([e,yt(e)]);function ft(e){const t=e.slice(0,-4);if(!yt(t).equals(e.slice(-4)))throw new ge;return t}const Nt={encode:e=>gt(e).toString("base64"),decode:e=>ft(Buffer.from(e,"base64"))},wt={encode:e=>(0,ct.encode)(gt(e)),decode:e=>ft(Buffer.from((0,ct.decode)(e)))},bt=e=>{const t=ut.find((t=>t===e));if(null!=t)return[t,Nt];const r=pt.find((t=>t===e));if(null!=r)return[r,wt];throw new T("prefix",`one of ${[...pt,...ut].join(", ")}`,e)};function vt(e){const[t,r,n]=e.split("_");if(null==r)throw new xe(`Encoded string missing payload: ${e}`);if(null!=n)throw new xe(`Encoded string have extra parts: ${e}`);const[a,{decode:i}]=bt(t),s=i(r);return ht(s,a),s}function St(e,t){const[,{encode:r}]=bt(t);return ht(e,t),`${t}_${r(e)}`}const Ct=Qe().ModeOfOperation.ecb;function xt(e){const t="string"==typeof e?tt(e):e;return St(Ke().sign.keyPair.fromSecretKey(t).publicKey,"ak")}function zt(e){try{return vt(e),!0}catch(e){return!1}}function _t(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Tt(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function qt(e){return Buffer.from((0,Ye.blake2b)(e,void 0,32))}function Pt(e,t){const r=vt(e);return St(qt(st([r,Tt(t)])),"ct")}function Et(e){return Ke().sign.keyPair.fromSecretKey(e)}function It(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=Ke().sign.keyPair(),r=Buffer.from(t.publicKey),n=Buffer.from(t.secretKey);return e?{publicKey:r,secretKey:n}:{publicKey:St(r,"ak"),secretKey:n.toString("hex")}}function kt(e,t){const r=dt(e);return new Ct(r).encrypt(t)}function At(e,t){const r=Buffer.from(t),n=dt(e);return new Ct(n).decrypt(r)}function Ot(e,t){return Ke().sign.detached(Buffer.from(e),Buffer.from(t))}function Mt(e,t,r){const n="string"==typeof r?tt(r):r;return Ke().sign.detached.verify(e,t,n)}function Rt(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),r=Buffer.from(e,"utf8");return qt(st([(0,Xe.encode)(t.length),t,(0,Xe.encode)(r.length),r]))}function Bt(e,t){return Ot(Rt(e),t)}function jt(e,t,r){return Mt(Rt(e),t,r)}function Dt(e,t){const r=Buffer.from("TheMessage");return Mt(r,Ot(r,e),t)}const Vt=18e4,Ft=36e3,Ht=84600,Ut=Ht,$t=1e9,Lt=1e14,Gt=.05,Kt=480,Wt=31,Qt=12;let Yt;!function(e){e.ak="account_pubkey",e.ok="oracle_pubkey",e.ct="contract_pubkey",e.ch="channel"}(Yt||(Yt={}));const 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,r]=e;return[t,new(d())(r).times(Lt)]})),Jt={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Zt={ak:Jt.account,nm:Jt.name,cm:Jt.commitment,ok:Jt.oracle,ct:Jt.contract,ch:Jt.channel},er=it(Zt,(e=>{let[t,r]=e;return[r,t]})),tr=_t;function rr(e,t){return St(qt(Buffer.from([...vt(e),...et(t)])),"ct")}function nr(e,t,r){return St(qt(Buffer.from([...vt(e),...function(e){const t=et(e,!0);return st([Buffer.alloc(32-t.length),t])}(t),...vt(r)])),"oq")}function ar(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function ir(e){return St(qt(e.toLowerCase()),"nm")}function sr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tr();return St(qt(st([Buffer.from(e.toLowerCase()),ar(t)])),"cm")}function or(e){if("string"!=typeof e)throw new T("hashId","a string",e);const t=e.slice(0,2),r=Zt[t];if(null==r)throw new Ae(t);return Buffer.from([...et(r),...vt(e)])}function cr(e){const t=Buffer.from(e).readUIntBE(0,1),r=er[t];if(null==r)throw new Ie(t);return St(e.slice(1,e.length),r)}function lr(e){return et(e,!0)}function dr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(d())(Buffer.from(e).toString("hex"),16).toString(10)}function ur(e){return e.map((e=>[et(e.key),or(e.id)]))}function pr(e){return e.map((e=>{let[t,r]=e;return Object.assign({key:t.toString(),id:cr(r)})}))}const mr=".chain";function hr(e){return e.endsWith(mr)}function yr(e){vt(e);const t=e.substring(0,2);return Yt[t]}function gr(e){const t=e.length-mr.length;return Xt[Math.min(t,Wt)]}function fr(e){let{startFee:t,increment:r=Gt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number(r)!==r||r%1==0)throw new Te(`Increment must be float. Current increment ${r}`);if(r<Gt)throw new Te(`minimum increment percentage is ${Gt}`);return m(new(d())(null!=t?t:gr(e)).times(new(d())(Gt).plus(1)))}function Nr(e,t){const r=e.length-mr.length;return(r<=4&&62*Kt||r<=8&&31*Kt||r<=12&&Kt||0)+t}function wr(e){return e.length<13+mr.length}class br{static serialize(e){return Buffer.from(e)}static deserialize(e){return e.toString()}}class vr extends br{static serialize(e){return or(hr(e)?ir(e):e)}static deserialize(e){return cr(e)}}class Sr extends br{static serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0";if(0!==parseInt(e))throw new q(`Contract deposit is not refundable, so it should be equal 0, got ${e.toString()} instead`);return lr(0)}static deserialize(e){return dr(e)}}class Cr extends br{static serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$t;if(+e<$t)throw new q(`Gas price ${e.toString()} must be bigger then ${$t}`);return lr(e)}static deserialize(e){return dr(e)}}let xr;!function(e){e[e.delta=0]="delta",e[e.block=1]="block"}(xr||(xr={}));const zr=0,_r=3e4,Tr={type:xr.delta,value:500},qr={type:xr.delta,value:10},Pr={type:xr.delta,value:10},Er=0,Ir=1579e3,kr=5e4,Ar={pub:"ak_11111111111111111111111111111111273Yts",amount:100000000000000000000000000000000000n};let Or,Mr,Rr,Br;!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"}(Or||(Or={})),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"}(Mr||(Mr={})),function(e){e[e.NO_ABI=0]="NO_ABI",e[e.SOPHIA=1]="SOPHIA",e[e.FATE=3]="FATE"}(Rr||(Rr={})),function(e){e[e.IRIS=5]="IRIS"}(Br||(Br={}));const jr={[Br.IRIS]:{[Or.contractCreate]:{vmVersion:[Mr.FATE_2],abiVersion:[Rr.FATE]},[Or.contractCall]:{vmVersion:[],abiVersion:[Rr.FATE,Rr.SOPHIA]},[Or.oracleRegister]:{vmVersion:[],abiVersion:[Rr.NO_ABI,Rr.SOPHIA]}}};let Dr;!function(e){e[e.int=0]="int",e[e.shortInt=1]="shortInt",e[e.amount=2]="amount",e[e.id=3]="id",e[e.ids=4]="ids",e[e.string=5]="string",e[e.binary=6]="binary",e[e.bool=7]="bool",e[e.hex=8]="hex",e[e.rlpBinary=9]="rlpBinary",e[e.rlpBinaries=10]="rlpBinaries",e[e.rawBinary=11]="rawBinary",e[e.signatures=12]="signatures",e[e.pointers=13]="pointers",e[e.offChainUpdates=14]="offChainUpdates",e[e.callStack=15]="callStack",e[e.proofOfInclusion=16]="proofOfInclusion",e[e.mptrees=17]="mptrees",e[e.callReturnType=18]="callReturnType",e[e.ctVersion=19]="ctVersion",e[e.abiVersion=20]="abiVersion",e[e.ttlType=21]="ttlType",e[e.sophiaCodeTypeInfo=22]="sophiaCodeTypeInfo",e[e.payload=23]="payload",e[e.stateTree=24]="stateTree"}(Dr||(Dr={}));const Vr=[["tag",Dr.shortInt],["VSN",Dr.shortInt]],Fr={[Or.account]:{2:[...Vr,["flags",Dr.int],["nonce",Dr.shortInt],["balance",Dr.int],["gaContract",Dr.id,["ct","nm"]],["gaAuthFun",Dr.binary,"cb"]]},[Or.signed]:{1:[...Vr,["signatures",Dr.signatures],["encodedTx",Dr.rlpBinary]]},[Or.spend]:{1:[...Vr,["senderId",Dr.id,"ak"],["recipientId",Dr.id,["ak","nm"]],["amount",Dr.amount],["fee",Dr.int],["ttl",Dr.shortInt],["nonce",Dr.shortInt],["payload",Dr.payload]]},[Or.namePreClaim]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["commitmentId",Dr.id,"cm"],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameClaim]:{2:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["name",class extends br{static serialize(e){return Buffer.from(e)}static deserialize(e){return e.toString()}}],["nameSalt",Dr.int],["nameFee",class extends br{static serialize(e,t){var r;let{name:n}=t;const a=gr(n);if(null!==(r=e)&&void 0!==r||(e=a),a.gt(e))throw new L(new(d())(e),a);return lr(e)}static deserialize(e){return dr(e)}}],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameUpdate]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["nameTtl",Dr.int],["pointers",Dr.pointers],["clientTtl",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameTransfer]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["recipientId",Dr.id,["ak","nm"]],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameRevoke]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.contract]:{1:[...Vr,["owner",Dr.id,"ak"],["ctVersion",Dr.ctVersion],["code",Dr.binary,"cb"],["log",Dr.binary,"cb"],["active",Dr.bool],["referers",Dr.ids,"ak"],["deposit",Sr]]},[Or.contractCreate]:{1:[...Vr,["ownerId",Dr.id,"ak"],["nonce",Dr.shortInt],["code",Dr.binary,"cb"],["ctVersion",Dr.ctVersion],["fee",Dr.int],["ttl",Dr.shortInt],["deposit",Sr],["amount",Dr.amount],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.contractCall]:{1:[...Vr,["callerId",Dr.id,"ak"],["nonce",Dr.shortInt],["contractId",Dr.id,["ct","nm"]],["abiVersion",Dr.abiVersion],["fee",Dr.int],["ttl",Dr.shortInt],["amount",Dr.amount],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.contractCallResult]:{1:[...Vr,["callerId",Dr.id,"ak"],["callerNonce",Dr.shortInt],["height",Dr.shortInt],["contractId",Dr.id,"ct"],["gasPrice",Cr],["gasUsed",Dr.shortInt],["returnValue",Dr.binary,"cb"],["returnType",Dr.callReturnType],["log",Dr.rawBinary]]},[Or.oracleRegister]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["queryFormat",Dr.string],["responseFormat",Dr.string],["queryFee",Dr.amount],["oracleTtlType",Dr.ttlType],["oracleTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt],["abiVersion",Dr.abiVersion]]},[Or.oracleExtend]:{1:[...Vr,["oracleId",Dr.id,["ok","nm"]],["nonce",Dr.shortInt],["oracleTtlType",Dr.ttlType],["oracleTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.oracleQuery]:{1:[...Vr,["senderId",Dr.id,"ak"],["nonce",Dr.shortInt],["oracleId",Dr.id,["ok","nm"]],["query",Dr.string],["queryFee",Dr.amount],["queryTtlType",Dr.ttlType],["queryTtlValue",Dr.shortInt],["responseTtlType",Dr.ttlType],["responseTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.oracleResponse]:{1:[...Vr,["oracleId",Dr.id,"ok"],["nonce",Dr.shortInt],["queryId",Dr.binary,"oq"],["response",Dr.string],["responseTtlType",Dr.ttlType],["responseTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.channelCreate]:{2:[...Vr,["initiator",Dr.id,"ak"],["initiatorAmount",Dr.int],["responder",Dr.id,"ak"],["responderAmount",Dr.int],["channelReserve",Dr.int],["lockPeriod",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["initiatorDelegateIds",Dr.string],["responderDelegateIds",Dr.string],["stateHash",Dr.binary,"st"],["nonce",Dr.shortInt]]},[Or.channelCloseMutual]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["initiatorAmountFinal",Dr.int],["responderAmountFinal",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelCloseSolo]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["poi",Dr.binary,"pi"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelSlash]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["poi",Dr.binary,"pi"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelDeposit]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["amount",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["stateHash",Dr.binary,"st"],["round",Dr.int],["nonce",Dr.shortInt]]},[Or.channelWithdraw]:{1:[...Vr,["channelId",Dr.id,"ch"],["toId",Dr.id,"ak"],["amount",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["stateHash",Dr.binary,"st"],["round",Dr.int],["nonce",Dr.shortInt]]},[Or.channelSettle]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["initiatorAmountFinal",Dr.int],["responderAmountFinal",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelForceProgress]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["round",Dr.int],["update",Dr.binary,"cb"],["stateHash",Dr.binary,"st"],["offChainTrees",Dr.stateTree],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelOffChain]:{2:[...Vr,["channelId",Dr.id,"ch"],["round",Dr.int],["stateHash",Dr.binary,"st"]]},[Or.channel]:{3:[...Vr,["initiator",Dr.id,"ak"],["responder",Dr.id,"ak"],["channelAmount",Dr.int],["initiatorAmount",Dr.int],["responderAmount",Dr.int],["channelReserve",Dr.int],["initiatorDelegateIds",Dr.ids],["responderDelegateIds",Dr.ids],["stateHash",Dr.hex],["round",Dr.int],["soloRound",Dr.int],["lockPeriod",Dr.int],["lockedUntil",Dr.int],["initiatorAuth",Dr.binary,"cb"],["responderAuth",Dr.binary,"cb"]]},[Or.channelSnapshotSolo]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelOffChainUpdateTransfer]:{1:[...Vr,["from",Dr.id,"ak"],["to",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainUpdateDeposit]:{1:[...Vr,["from",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainUpdateWithdrawal]:{1:[...Vr,["from",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainCreateContract]:{1:[...Vr,["owner",Dr.id,"ak"],["ctVersion",Dr.ctVersion],["code",Dr.binary,"cb"],["deposit",Dr.int],["callData",Dr.binary,"cb"]]},[Or.channelOffChainCallContract]:{1:[...Vr,["caller",Dr.id,"ak"],["contract",Dr.id,"ct"],["abiVersion",Dr.abiVersion],["amount",Dr.int],["callData",Dr.binary,"cb"],["callStack",Dr.callStack],["gasPrice",Cr],["gasLimit",Dr.shortInt]]},[Or.channelReconnect]:{1:[...Vr,["channelId",Dr.id,"ch"],["round",Dr.int],["role",Dr.string],["pubkey",Dr.id,"ak"]]},[Or.proofOfInclusion]:{1:[...Vr,["accounts",Dr.mptrees],["calls",Dr.mptrees],["channels",Dr.mptrees],["contracts",Dr.mptrees],["ns",Dr.mptrees],["oracles",Dr.mptrees]]},[Or.stateTrees]:{1:[...Vr,["contracts",Dr.rlpBinary],["calls",Dr.rlpBinary],["channels",Dr.rlpBinary],["ns",Dr.rlpBinary],["oracles",Dr.rlpBinary],["accounts",Dr.rlpBinary]]},[Or.merklePatriciaTree]:{1:[...Vr,["values",Dr.rlpBinaries]]},[Or.merklePatriciaTreeValue]:{1:[...Vr,["key",Dr.hex],["value",Dr.rawBinary]]},[Or.contractsTree]:{1:[...Vr,["contracts",Dr.rlpBinary]]},[Or.contractCallsTree]:{1:[...Vr,["calls",Dr.rlpBinary]]},[Or.channelsTree]:{1:[...Vr,["channels",Dr.rlpBinary]]},[Or.nameserviceTree]:{1:[...Vr,["mtree",Dr.rlpBinary]]},[Or.oraclesTree]:{1:[...Vr,["otree",Dr.rlpBinary]]},[Or.accountsTree]:{1:[...Vr,["accounts",Dr.rlpBinary]]},[Or.gaAttach]:{1:[...Vr,["ownerId",Dr.id,"ak"],["nonce",Dr.shortInt],["code",Dr.binary,"cb"],["authFun",Dr.rawBinary],["ctVersion",Dr.ctVersion],["fee",Dr.int],["ttl",Dr.shortInt],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.gaMeta]:{2:[...Vr,["gaId",Dr.id,"ak"],["authData",Dr.binary,"cb"],["abiVersion",Dr.abiVersion],["fee",Dr.int],["gasLimit",Dr.shortInt],["gasPrice",Cr],["tx",Dr.rlpBinary]]},[Or.payingFor]:{1:[...Vr,["payerId",Dr.id,"ak"],["nonce",Dr.shortInt],["fee",Dr.int],["tx",Dr.rlpBinary]]},[Or.sophiaByteCode]:{3:[...Vr,["sourceCodeHash",Dr.rawBinary],["typeInfo",Dr.sophiaCodeTypeInfo],["byteCode",Dr.rawBinary],["compilerVersion",Dr.string],["payable",Dr.bool]]}};var Hr,Ur=b(3485);!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Hr||(Hr={}));class $r{static nodeHash(e){return Buffer.from(qt((0,Ur.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new we("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,r]=e;if($r.nodeHash(r)!==t)throw new Ne;const{type:n,payload:a}=$r.parseNode(r);switch(n){case Hr.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 Hr.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:Hr.Branch,payload:e,path:null};case 2:{var t;const r=e[0][0]>>4;if(r>3)throw new ve(r);const n=r<=1?Hr.Extension:Hr.Leaf,a=p()(t=[0,2]).call(t,r)?2:1;return{type:n,payload:[e[1]],path:e[0].toString("hex").slice(a)}}default:throw new be(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,r]=e;return[Buffer.from(t,"hex"),r]}))]}get(e){let t=this.rootHash;for(;;){const{type:r,payload:n,path:a}=$r.parseNode(this.nodes[t]);switch(r){case Hr.Branch:if(0===e.length)return n[16];t=n[+`0x${e[0]}`].toString("hex"),e=e.substr(1);break;case Hr.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=n[0].toString("hex"),e=e.substr(a.length);break;case Hr.Leaf:if(a!==e)return;return n[0]}}}}function Lr(e,t,r){if(null==e)return"";switch(t){case Dr.ctVersion:{const[t,,r]=e;return{vmVersion:dr(Buffer.from([t])),abiVersion:dr(Buffer.from([r]))}}case Dr.amount:case Dr.int:case Dr.abiVersion:case Dr.ttlType:return dr(e);case Dr.shortInt:return+dr(e);case Dr.id:return cr(e);case Dr.ids:return e.map(cr);case Dr.bool:return 1===e[0];case Dr.binary:return St(e,r);case Dr.stateTree:return St(e,"ss");case Dr.string:return e.toString();case Dr.payload:return St(e,"ba");case Dr.pointers:return pr(e);case Dr.rlpBinary:return Jr(St(e,"tx"));case Dr.rlpBinaries:return e.map((e=>Jr(St(e,"tx"))));case Dr.rawBinary:return e;case Dr.hex:return e.toString("hex");case Dr.offChainUpdates:return e.map((e=>Jr(St(e,"tx"))));case Dr.callStack:return[dr(e)];case Dr.mptrees:return e.map((e=>new $r(e)));case Dr.callReturnType:switch(dr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Dr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[r,n,a,i]=t;return{...e,[n.toString()]:{funHash:r,argType:a,outType:i}}}),{});default:return t instanceof Object&&"deserialize"in t?t.deserialize(e):e}}function Gr(e,t,r){var n;switch(t){case Dr.amount:case Dr.int:case Dr.shortInt:case Dr.abiVersion:case Dr.ttlType:return lr(e);case Dr.id:return or(e);case Dr.ids:return e.map(or);case Dr.bool:return Buffer.from([!0===e?1:0]);case Dr.binary:case Dr.stateTree:return vt(e);case Dr.hex:return Buffer.from(e,"hex");case Dr.signatures:return e.map(Buffer.from);case Dr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?vt(e):et(e);case Dr.string:return et(e);case Dr.pointers:return ur(e);case Dr.rlpBinary:return null!==(n=e.rlpEncoded)&&void 0!==n?n:e;case Dr.mptrees:return e.map((e=>e.serialize("")));case Dr.ctVersion:return Buffer.from([...et(e.vmVersion),0,...et(e.abiVersion)]);case Dr.callReturnType:switch(e){case"ok":return lr(0);case"error":return lr(1);case"revert":return lr(2);default:return e}default:return t instanceof Object&&"serialize"in t?t.serialize(e,r):e}}function Kr(e,t,r){if(null==e)return"Field is required";switch(t){case Dr.amount:case Dr.int:case Dr.shortInt:return isNaN(e)&&!d().isBigNumber(e)?`${String(e)} is not of type Number or BigNumber`:new(d())(e).lt(0)?`${String(e)} must be >= 0`:void 0;case Dr.id:{const t=Array.isArray(r)?r:[r];return p()(t).call(t,e.split("_")[0])?void 0:null==r?`'${String(e)}' prefix doesn't exist'`:`'${String(e)}' prefix doesn't match expected prefix '${r.toString()}'`}case Dr.ctVersion:return Boolean(e.abiVersion)&&Boolean(e.vmVersion)?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Dr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(Boolean(e.key)&&Boolean(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 Wr(e,t){let{denomination:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.filter((e=>{let[,t]=e;return t===Dr.amount})).reduce(((e,t)=>{let[n]=t;return{...e,[n]:Le(e[n],{denomination:r})}}),e)}function Qr(e,t,r){let{excludeKeys:n=[]}=r;return Object.fromEntries(t.filter((e=>{var t;let[r]=e;return!p()(n).call(n,r)&&!p()(t=["payload","nameFee","deposit","gasPrice"]).call(t,r)})).map((t=>{let[r,n,a]=t;return[r,Kr(e[r],n,a)]})).filter((e=>{let[,t]=e;return t})))}function Yr(e,t){return t.reduce(((t,r,n)=>{let[a,i,s]=r;return Object.assign(t,{[a]:Lr(e[n],i,s)})}),{})}function Xr(e,t){var r;let{excludeKeys:n=[],prefix:a="tx",vsn:i,denomination:s=Fe.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=Fr[t];if(null!==(r=i)&&void 0!==r||(i=Math.max(...Object.keys(o).map((e=>+e)))),!ot(i,o))throw new ke("serialization",Or[t],i);const c=o[i];let l=e;l.VSN=i,l.tag=t;const d=c.filter((e=>{let[t]=e;return!p()(n).call(n,t)}));l=Wr(l,d,{denomination:s});const u=Qr(l,c,{excludeKeys:n});if(Object.keys(u).length>0)throw new Ee("Transaction build error. "+JSON.stringify(u));const m=d.map((e=>{let[t,r]=e;return Gr(l[t],r,l)})).filter((e=>void 0!==e)),h=(0,Ur.encode)(m),y=St(h,a);return{tx:y,rlpEncoded:h,binary:m,txObject:Yr(m,c)}}function Jr(e,t){const r=vt(e),n=(0,Ur.decode)(r),a=+dr(n[0]);if(!ot(a,Fr))throw new xe(`Unknown transaction tag: ${a}`);if(null!=t&&t!==a)throw new xe(`Expected transaction to have ${Or[t]} tag, got ${Or[a]} instead`);const i=+dr(n[1]);if(!ot(i,Fr[a]))throw new ke("deserialization",`tag ${a}`,i);return{txType:a,tx:Yr(n,Fr[a][i]),rlpEncoded:r}}function Zr(e){return St(qt("string"==typeof e&&e.startsWith("tx_")?vt(e):e),"th")}function en(e){var t;const{txType:r,tx:n}=Jr(e);if(!p()(t=[Or.contractCreate,Or.gaAttach]).call(t,r))throw new T("contractCreateTx","a contractCreateTx or gaAttach",r);return rr(n.ownerId,+n.nonce)}function tn(e,t){const r={[Or.oracleRegister]:"oracleTtlValue",[Or.oracleExtend]:"oracleTtlValue",[Or.oracleQuery]:"queryTtlValue",[Or.oracleResponse]:"responseTtlValue"};return ot(t,r)?e[r[t]]:1}function rn(e,t){var r;let{params:n,vsn:a,denomination:i}=t;const{rlpEncoded:{length:s}}=Xr(n,e,{vsn:a,denomination:i});return(e=>{var t;const r=null!==(t={[Or.channelForceProgress]:30,[Or.channelOffChain]:0,[Or.channelOffChainCallContract]:0,[Or.channelOffChainCreateContract]:0,[Or.channelOffChainUpdateDeposit]:0,[Or.channelOffChainUpdateWithdrawal]:0,[Or.channelOffChainUpdateTransfer]:0,[Or.contractCreate]:5,[Or.contractCall]:12,[Or.gaAttach]:5,[Or.gaMeta]:5,[Or.payingFor]:.2}[e])&&void 0!==t?t:1;return new(d())(15e3*r)})(e).plus(((e,t,r)=>{let{relativeTtl:n,innerTxSize:a}=r;switch(e){case Or.oracleRegister:case Or.oracleExtend:case Or.oracleQuery:case Or.oracleResponse:return new(d())(t).times(20).plus(Math.ceil(32e3*n/Math.floor(175200)));case Or.gaMeta:case Or.payingFor:return new(d())(t).minus(a).times(20);default:return new(d())(t).times(20)}})(e,s,{relativeTtl:tn(n,e),innerTxSize:p()(r=[Or.gaMeta,Or.payingFor]).call(r,e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times($t)}function nn(e,t){let r,{params:n,vsn:a,denomination:i}=t,s=new(d())(0);do{r=s,s=rn(e,{params:{...n,fee:s},vsn:a,denomination:i})}while(!s.eq(r));return s}const an=[(e,t)=>{let{encodedTx:r,signatures:n}=e,{account:a,nodeNetworkId:i,parentTxTypes:s}=t;if(void 0===(null!=r?r:n))return[];if(null==a)return[];if(1!==n.length)return[];const o=Buffer.from([i,...p()(s).call(s,Or.payingFor)?["inner_tx"]:[]].join("-")),c=st([o,r.rlpEncoded]),l=st([o,qt(r.rlpEncoded)]),d=vt(a.id);return Mt(c,n[0],d)||Mt(l,n[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"]}]},async(e,t)=>{let{encodedTx:r,tx:n}=e,{node:a,parentTxTypes:i,txType:s}=t;return void 0===(null!=r?r:n)?[]:await on(St((null!=r?r:n).rlpEncoded,"tx"),a,[...i,s])},(e,t)=>{let{txType:r}=t;if(void 0===e.fee)return[];const n=nn(r,{params:e,vsn:e.VSN});return n.lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${n.toString()}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:r}=e,{height:n}=t;return void 0===r?[]:(r=+r,0===r||r>=n?[]:[{message:`TTL ${r} is already expired, current height is ${n}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var r,n;let{amount:a,fee:i,nameFee:s,tx:o}=e,{account:c,parentTxTypes:l,txType:u}=t;if(null==c)return[];if(void 0===(null!==(r=null!=a?a:i)&&void 0!==r?r:s))return[];null!==(n=i)&&void 0!==n||(i=0);const m=new(d())(i).plus(null!=s?s:0).plus(null!=a?a:0).plus(u===Or.payingFor?o.tx.encodedTx.tx.fee:0).minus(p()(l).call(l,Or.payingFor)?i:0);return m.lte(c.balance.toString())?[]:[{message:`Account balance ${c.balance.toString()} is not enough to execute the transaction that costs ${m.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:r}=e,{account:n,parentTxTypes:a}=t;if(null==r||null==n||p()(a).call(a,Or.gaMeta))return[];r=+r;const i=n.nonce+1;return r===i?[]:[{...r<i?{message:`Nonce ${r} is already used, valid nonce is ${i}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${r} is too high, valid nonce is ${i}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},(e,t)=>{let{ctVersion:r,abiVersion:n}=e,{txType:a,consensusProtocolVersion:i}=t;if(!ot(i,jr))throw new B(`Unsupported protocol: ${i}`);null==r&&(r={abiVersion:n});const s=jr[i][a];return null==s?[]:Object.entries(r).some((e=>{var t;let[r,n]=e;return!p()(t=s[r]).call(t,+n)}))?[{message:`ABI/VM version ${JSON.stringify(r)} is wrong, supported is: ${JSON.stringify(s)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:r}=e,{txType:n,node:a}=t;if(Or.contractCall!==n)return[];r=r;try{const{active:e}=await a.getContract(r);return e?[]:[{message:`Contract ${r} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var i,s;if(null==(null===(i=e.response)||void 0===i||null===(s=i.parsedBody)||void 0===s?void 0:s.reason))throw e;return[{message:e.response.parsedBody.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],sn=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 on(e,t){var r;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:i}=Jr(e),s=null!==(r=sn(a))&&void 0!==r?r:i===Or.signed?sn(a.encodedTx.tx):void 0,[o,{height:c},{consensusProtocolVersion:l,nodeNetworkId:d}]=await Promise.all([null==s?void 0:t.getAccountByPubkey(s).catch((()=>({id:s,balance:0n,nonce:0}))).then((e=>({...e,id:e.id}))),t.getCurrentKeyBlockHeight(),t.getNodeInfo()]);return(await Promise.all(an.map((e=>e(a,{txType:i,node:t,account:o,height:c,consensusProtocolVersion:l,nodeNetworkId:d,parentTxTypes:n}))))).flat()}function cn(e,t){let{_expectedMineRate:r=18e4,_microBlockCycle:n=3e3,_maxPollInterval:a=5e3}=t;const i={block:r,microblock:n}[e];return Math.min(i/3,a)}async function ln(e,t){let{onNode:r,onAccount:n,verify:a=!0,waitMined:i=!0,confirm:s,...o}=t;if(a){const t=await on(e,r);if(t.length>0){const r="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw new Pe(r,t,e)}}try{var c;const{txHash:t}=await r.postTransaction({tx:e},{requestOptions:{customHeaders:{__queue:`tx-${null!==(c=await(null==n?void 0:n.address(o).catch((()=>""))))&&void 0!==c?c:""}`}}});if(i){const n=await yn(t,{onNode:r,...o}),a={...n,hash:n.hash,rawTx:e};if(null!=s&&(!0===s||s>0)){const e="boolean"==typeof s?void 0:s;return{...a,confirmationHeight:await dn(t,{onNode:r,confirm:e,...o})}}return a}return{hash:t,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:async()=>await on(e,r)})}}async function dn(e,t){let{confirm:r=3,onNode:n,...a}=t;const{blockHeight:i}=await n.getTransactionByHash(e),s=await hn(i+r,{onNode:n,...a}),{blockHeight:o}=await n.getTransactionByHash(e);switch(o){case-1:throw new Oe(e);case i:return s;default:return await dn(e,{onNode:n,confirm:r,...a})}}async function un(e,t){let{height:r,hash:n,onNode:a}=t;return null!=r?await a.getAccountByPubkeyAndHeight(e,r):null!=n?await a.getAccountByPubkeyAndHash(e,n):await a.getAccountByPubkey(e)}async function pn(e,t){let{format:r=Fe.AETTOS,...n}=t;const{balance:a}=await un(e,n).catch((()=>({balance:0n})));return Le(a,{targetDenomination:r})}async function mn(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}async function hn(e,t){var r;let n,{interval:a,attempts:i=20,onNode:s,...o}=t;null!==(r=a)&&void 0!==r||(a=cn("block",o));for(let t=0;t<i;t++)if(0!==t&&await at(a),n=(await s.getCurrentKeyBlockHeight()).height,n>=e)return n;throw new A((i-1)*a,n,e)}async function yn(e,t){var r;let{blocks:n=10,interval:a,onNode:i,...s}=t;null!==(r=a)&&void 0!==r||(a=cn("microblock",s));const o=await mn({onNode:i})+n;do{const t=await i.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await at(a)}while(await mn({onNode:i})<o);throw new O(n,e)}async function gn(e){let{onNode:t}=e;return await t.getCurrentGeneration()}async function fn(e,t){let{onNode:r}=t;return"number"==typeof e?await r.getGenerationByHeight(e):await r.getGenerationByHash(e)}async function Nn(e,t){let{onNode:r}=t;return(await r.getMicroBlockTransactionsByHash(e)).transactions}async function wn(e,t){let{onNode:r}=t;return"number"==typeof e?await r.getKeyBlockByHeight(e):await r.getKeyBlockByHash(e)}async function bn(e,t){let{onNode:r}=t;return await r.getMicroBlockHeaderByHash(e)}const vn=new Map;async function Sn(e,t){const r=vn.get(e);if(vn.delete(e),null==r)throw new V("Can't get dry-run request");let n;try{n=await t.protectedDryRunTxs({top:r[0].top,txEvents:r[0].txEvents,txs:r.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(r.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:Ar.amount})))})}catch(e){return void r.forEach((t=>{let{reject:r}=t;return r(e)}))}const{results:a,txEvents:i}=n;a.forEach(((e,t)=>{let{result:n,reason:a,...s}=e;const{resolve:o,reject:c,tx:l,accountAddress:d}=r[t];if("ok"===n)return o({...s,txEvents:i});c(Object.assign(new _e(a),{tx:l,accountAddress:d}))}))}async function Cn(e,t,r){var n;let{top:a,txEvents:i,combine:s,onNode:o}=r;const c=!0===s?[a,i].join():"immediate",l=null!==(n=vn.get(c))&&void 0!==n?n:[];return vn.set(c,l),await new Promise(((r,n)=>{var d;l.push({tx:e,accountAddress:t,top:a,txEvents:i,resolve:r,reject:n}),!0===s?null!==(d=l.timeout)&&void 0!==d||(l.timeout=setTimeout((()=>{Sn(c,o)}))):Sn(c,o)}))}async function xn(e,t){let{onNode:r}=t;return await r.getContractCode(e)}async function zn(e,t){let{onNode:r}=t;return await r.getContract(e)}async function _n(e,t){let{onNode:r}=t;return await r.getNameEntryByName(e)}async function Tn(e,t,r){let{verify:n=!0,resolveByNode:a=!1,onNode:i}=r;try{const t=e;return vt(t),t}catch(e){}if(hr(e)){if(n||a){const r=(await i.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(null==r)throw new $(e,t);if(a)return r.id}return ir(e)}throw new G(`Invalid name or address: ${e}`)}var qn=b(3983),Pn=b(7289);const En={async argon2id(e,t,r){const{memlimit_kib:n,opslimit:a}=r;return(await(0,Pn.hash)({hashLen:32,pass:e,salt:t,time:a,mem:n,type:Pn.ArgonType.Argon2id})).hash}},In={"xsalsa20-poly1305":{encrypt:Ke().secretbox,decrypt(){const e=Ke().secretbox.open(...arguments);if(null==e)throw new fe;return e}}},kn={secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}};function An(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:kn.symmetric_alg;return In[n].encrypt(e,r,t)}async function On(e,t,r,n){return await En[r](e,t,n)}async function Mn(e,t){let{crypto:r}=t;const n=nt(r.kdf_params.salt);return rt(function(e,t,r){return In[arguments.length>3&&void 0!==arguments[3]?arguments[3]:kn.symmetric_alg].decrypt(e,r,t)}(nt(r.ciphertext),await On(e,n,r.kdf,r.kdf_params),nt(r.cipher_params.nonce),r.symmetric_alg))}async function Rn(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ke().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Ke().randomBytes(16),i=arguments.length>5?arguments[5]:void 0;const s={...kn,...i},o=await On(t,a,s.kdf,s.kdf_params),c="string"==typeof r?nt(r):r;return{name:e,version:1,public_key:xt(c),id:(0,qn.v4)(),crypto:{secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:rt(An(c,o,n,s.symmetric_alg)),cipher_params:{nonce:rt(n)},kdf:s.kdf,kdf_params:{...s.kdf_params,salt:rt(a)}}}}async function Bn(e,t){var r;let{denomination:n,absoluteTtl:a,...i}=t;const s=i;let o;switch(e){case Or.spend:case Or.oracleQuery:o="senderId";break;case Or.nameClaim:case Or.nameUpdate:case Or.nameRevoke:case Or.nameTransfer:case Or.namePreClaim:case Or.oracleRegister:o="accountId";break;case Or.contractCreate:case Or.gaAttach:o="ownerId";break;case Or.contractCall:case Or.oracleExtend:case Or.oracleResponse:o="callerId";break;case Or.channelCloseSolo:case Or.channelSlash:case Or.channelSettle:case Or.channelSnapshotSolo:o="fromId";break;case Or.payingFor:o="payerId";break;default:throw new T("txType","valid transaction type",e)}var c;p()(r=[Or.contractCreate,Or.gaAttach]).call(r,e)&&(s.ctVersion=await jn(Or.contractCreate,{...s,...s.ctVersion})),e===Or.contractCall&&(s.abiVersion=(await jn(Or.contractCall,s)).abiVersion),e===Or.oracleRegister&&(null!==(c=s.abiVersion)&&void 0!==c||(s.abiVersion=Rr.NO_ABI)),e===Or.payingFor&&(s.tx=Jr(s.tx));const l=s[o];if(null==l)throw new Ee(`Transaction field ${o} is missed`);const d=await Dn(e,{...s,senderId:l,denomination:n,absoluteTtl:a});return Xr({...s,...d},e,{denomination:n}).tx}async function jn(e,t){var r,n;let{vmVersion:a,abiVersion:i,onNode:s}=t;const{consensusProtocolVersion:o}=await s.getNodeInfo();if(!ot(o,jr))throw new B("Not supported consensus protocol version");const c=jr[o];if(!ot(e,c))throw new Me("Not supported tx type");const l=c[e];return null!==(r=i)&&void 0!==r||(i=l.abiVersion[0]),null!==(n=a)&&void 0!==n||(a=l.vmVersion[0]),{vmVersion:a,abiVersion:i}}async function Dn(e,t){var r;let{senderId:n,nonce:a,ttl:i=zr,fee:s,absoluteTtl:o,vsn:c,strategy:l,denomination:u,onNode:p,...m}=t;if(null!==(r=a)&&void 0!==r||(a=(await p.getAccountNextNonce(n,{strategy:l}).catch((()=>({nextNonce:1})))).nextNonce),0!==i){if(i<0)throw new T("ttl","greater or equal to 0",i);i+=!0===o?0:(await p.getCurrentKeyBlock()).height}return{fee:null!=s?new(d())(s):nn(e,{params:{...m,senderId:n,nonce:a,ttl:i},vsn:c,denomination:u}),ttl:i,nonce:a}}var Vn=b(9882),Fn=b(1986);class Hn extends C{constructor(e){super(e),this.name="DerivationError"}}const Un=Buffer.from("ed25519 seed"),$n=2147483648;function Ln(e,t){const r=""===e?[]:(0,Fn.fromString)(e).toPathArray();return r.forEach(((e,t)=>{if(e<$n)throw new Hn(`Segment #${t+1} is not hardened`)})),r.reduce(((e,t)=>Yn(e,t)),t)}function Gn(e,t){var r;if(!p()(r=["m","m/"]).call(r,e.slice(0,2)))throw new Hn("Root element is required");const n=Qn(t);return Ln(e.slice(2),n)}function Kn(e){const{secretKey:t,publicKey:r}=e;return{secretKey:rt(t),publicKey:St(r,"ak")}}function Wn(e){return Ke().sign.keyPair.fromSeed(e)}function Qn(e){const t=(0,Vn.full)(e,Un);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Yn(e,t){let{secretKey:r,chainCode:n}=e;if(t<$n)throw new Hn(`Segment ${t} is not hardened`);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const i=st([Buffer.alloc(1,0),r,a]),s=(0,Vn.full)(i,n);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function Xn(e,t){const r=Gn("m/44h/457h",e);return{secretKey:rt(kt(t,r.secretKey)),chainCode:rt(kt(t,r.chainCode))}}function Jn(e,t,r){const n={secretKey:At(t,Buffer.from(e.secretKey,"hex")),chainCode:At(t,Buffer.from(e.chainCode,"hex"))};return new Array(r).fill(void 0).map(((e,t)=>Kn(Wn(Ln(`${t}h/0h/0h`,n).secretKey))))}const Zn=(e,t)=>({...Kn(Wn(Ln(`${t}h/0h/0h`,Gn("m/44h/457h",e)).secretKey)),idx:t});var ea=b(7946);async function ta(e){let{onAccount:t,onCompiler:r,onNode:n,source:a,bytecode:i,aci:s,contractAddress:o,fileSystem:c={},validateBytecode:l,...d}=e;if(null==s&&null!=a&&(s=await r.generateACI({code:a,options:{fileSystem:c}})),null==s)throw new le;if(null!=o&&(o=await Tn(o,"contract_pubkey",{resolveByNode:!0,onNode:n})),null==o&&null==a&&null==i)throw new ce("Can't create instance by ACI without address");if(null!=o&&null==(await zn(o,{onNode:n})).active)throw new se(o);const u={_aci:s,_name:s.encodedAci.contract.name,calldata:new ea.Encoder([s.encodedAci,...s.externalEncodedAci]),source:a,bytecode:i,deployInfo:{address:o},options:{onAccount:t,onCompiler:r,onNode:n,amount:Er,callStatic:!1,fileSystem:c,...d},compile:async function(e){},_estimateGas:async function(e,t,r){},deploy:async function(e,t){},call:async function(e,t,r){},decodeEvents(e,t){},methods:void 0};if(null!=l){if(null==o)throw new ce("Can't validate bytecode without contract address");const e=(await xn(o,{onNode:n})).bytecode;if(!(null!=a?await r.validateByteCode({bytecode:e,source:a,options:u.options}).then((()=>!0),(()=>!1)):i===e))throw new ae(null!=a?"source":"bytecode")}u.compile=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=u.bytecode)throw new q("Contract already compiled");if(null==u.source)throw new q("Can't compile without source code");return u.bytecode=(await r.compileContract({code:u.source,options:{...u.options,...e}})).bytecode,u.bytecode};const p=async(e,t)=>{t={...u.options,...t};const r=await sa(e,t),a={hash:r.hash,tx:Jr(r.rawTx),txData:r,rawTx:r.rawTx};if(null==r.blockHeight)return a;const{callInfo:i}=await n.getTransactionInfoByHash(r.hash);return Object.assign(a.txData,i),m(i,e),{...a,result:i}},m=(e,t)=>{let r,{returnType:n,returnValue:a}=e;switch(n){case"ok":return;case"revert":r=u.calldata.decodeFateString(a);break;case"error":r=vt(a).toString()}throw new ue(r,t)};function h(e){const t=u._aci.encodedAci.contract.functions.find((t=>t.name===e));if(null!=t)return t;if("init"===e)return{payable:!1};throw new pe(`Function ${e} doesn't exist in contract`)}function y(e,t,r){let{contractAddressToName:n}=r;const a={...u.options.contractAddressToName,...n};if(null!=a[e])return a[e];const i=[u._aci.encodedAci,...u._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,r]=e;return r.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,r]=e;return BigInt("0x"+qt(r).toString("hex"))===t}));switch(i.length){case 0:throw new he(t.toString(),e);case 1:return i[0][0];default:throw new ye(e,i)}}return u._estimateGas=async(e,t,r)=>{const{result:{gasUsed:n}}=await u.call(e,t,{...r,callStatic:!0});return Math.floor(1.25*n)},u.deploy=async function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...u.options,...r};if(null==u.bytecode&&await u.compile(a),!0===a.callStatic)return await u.call("init",t,a);if(null!=u.deployInfo.address)throw new ie;const i=await a.onAccount.address(r),s=await Bn(Or.contractCreate,{...a,gasLimit:null!==(e=a.gasLimit)&&void 0!==e?e:await u._estimateGas("init",t,a),callData:u.calldata.encode(u._name,"init",t),code:u.bytecode,ownerId:i,onNode:n}),o=en(s),{hash:c,rawTx:l,result:d,txData:m}=await p(s,a);return u.deployInfo=Object.freeze({result:d,owner:i,transaction:c,rawTx:l,txData:m,address:o}),u.deployInfo},u.call=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...u.options,...r},i=h(e),s=u.deployInfo.address;if(null==e)throw new de;if("init"===e&&!1===a.callStatic)throw new oe('"init" can be called only via dryRun');if(null==s&&"init"!==e)throw new oe("You need to deploy contract before calling!");if("init"!==e&&a.amount>0&&!1===i.payable)throw new me(a.amount,e);const o=await Promise.resolve().then((()=>a.onAccount.address(a))).catch((e=>{if(!0===a.callStatic)return Ar.pub;throw e})),c=u.calldata.encode(u._name,e,t);let l;if(!0===a.callStatic){var d;"number"==typeof a.top&&(a.top=(await wn(a.top,{onNode:n})).hash);const t={...a,onNode:n,gasLimit:null!==(d=a.gasLimit)&&void 0!==d?d:Ir,callData:c};null==a.nonce&&null!=a.top&&(a.nonce=(await un(o,{hash:a.top,onNode:n})).nonce+1);const r=await("init"===e?Bn(Or.contractCreate,{...t,code:u.bytecode,ownerId:o}):Bn(Or.contractCall,{...t,callerId:o,contractId:s})),{callObj:i,...p}=await Cn(r,o,{onNode:n,...a});if(null==i)throw new F;m({returnType:i.returnType,returnValue:i.returnValue},r),l={...p,tx:Jr(r),result:i}}else{var y;const r=await Bn(Or.contractCall,{...a,onNode:n,gasLimit:null!==(y=a.gasLimit)&&void 0!==y?y:await u._estimateGas(e,t,a),callerId:o,contractId:s,callData:c});l=await p(r,a)}return!0!==a.callStatic&&null==l.txData.blockHeight||(l.decodedResult=null!=i.returns&&"unit"!==i.returns&&"init"!==e&&u.calldata.decode(u._name,e,l.result.returnValue),l.decodedEvents=u.decodeEvents(l.result.log,a)),l},u.decodeEvents=function(e){let{omitUnknown:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const n=e.topics.map((e=>BigInt(e)));let a;try{a=y(e.address,n[0],r)}catch(e){if(null!=t&&t&&e instanceof he)return null;throw e}const i=u.calldata.decodeEvent(a,e.data,n),[s,o]=Object.entries(i)[0];return{name:s,args:o,contract:{name:a,address:e.address}}})).filter((e=>null!=e))},u.methods=Object.fromEntries(u._aci.encodedAci.contract.functions.map((e=>{let{name:t,arguments:r,stateful:n}=e;const a=e=>async function(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];const s=a.length===r.length+1?a.pop():{};if("object"!=typeof s)throw new M(`Options should be an object: ${s}`);return"init"===t?await u.deploy(a,{callStatic:e,...s}):await u.call(t,a,{callStatic:e,...s})};return[t,Object.assign(a("init"!==t&&!n),{get:a(!0),send:a(!1)})]}))),u}async function ra(e,t){const{contractId:r}=await un(e,t);return null!=r}async function na(e,t,r,n){var a;let{onAccount:i,onCompiler:s,onNode:o,...c}=n;const l=await i.address(c);if(await ra(l,{onNode:o}))throw new q(`Account ${l} is already GA`);const d=await ta({onAccount:i,onCompiler:s,onNode:o,source:t}),u=await Bn(Or.gaAttach,{...c,onNode:o,code:await d.compile(),gasLimit:null!==(a=c.gasLimit)&&void 0!==a?a:await d._estimateGas("init",r,c),ownerId:l,callData:d.calldata.encode(d._name,"init",r),authFun:qt(e)}),p=en(u),{hash:m,rawTx:h}=await sa(u,{onNode:o,onAccount:i,onCompiler:s,...c});return Object.freeze({owner:l,transaction:m,rawTx:h,gaContractId:p})}async function aa(e,t,r,n){var a,i;let{onAccount:s,onCompiler:o,onNode:c,...l}=n;const d=e=>Xr({encodedTx:e,signatures:[]},Or.signed);if(Object.keys(t).length<=0)throw new I("authData is required");const u=null!==(a=t.gasLimit)&&void 0!==a?a:kr;if(u>kr)throw new ne(`the maximum gasLimit value for ga authFun is ${kr}, got ${u}`);const p=null!==(i=t.callData)&&void 0!==i?i:await(async()=>{if(null==t.source||null==t.args)throw new ne("Auth data must contain source code and arguments.");const e=await ta({onAccount:s,onCompiler:o,onNode:c,source:t.source});return e.calldata.encode(e._name,r,t.args)})(),{abiVersion:m}=await jn(Or.contractCall,{onNode:c}),h=d(Jr(e)),y={...l,tx:{...h,tx:h.txObject},gaId:await s.address(l),abiVersion:m,authData:p,gasLimit:u,vsn:2},{fee:g}=await Dn(Or.gaMeta,{...y,onNode:c}),{rlpEncoded:f}=Xr({...y,fee:g},Or.gaMeta);return d(f).tx}async function ia(e,t){let{onNode:r}=t;const{networkId:n}=await r.getStatus();return new Uint8Array(qt(st([Buffer.from(n),vt(e)])))}async function sa(e,t){const{contractId:r,authFun:n}=!0===t.innerTx?{contractId:null}:await un(await t.onAccount.address(t),t),a=null!=r?await oa(e,{authData:{},...t,authFun:n}):await t.onAccount.signTransaction(e,t);return!0===t.innerTx?{hash:Zr(a),rawTx:a}:await ln(a,t)}async function oa(e,t){let{authData:r,authFun:n,...a}=t;return await aa(e,r,n,a)}async function ca(e,t,r){return await sa(await Bn(Or.spend,{...r,senderId:await r.onAccount.address(r),recipientId:await Tn(t,"account_pubkey",r),amount:e}),r)}async function la(e,t,r){if(e<0||e>1)throw new T("fraction","a number between 0 and 1",e);const n=await Tn(t,"account_pubkey",r),a=await r.onAccount.address(r),i=new(d())(await pn.bind(r.onAccount)(a,r)),s=i.times(e).integerValue(d().ROUND_HALF_UP),{tx:{fee:o}}=Jr(await Bn(Or.spend,{...r,senderId:a,recipientId:n,amount:s}),Or.spend),c=s.plus(o).gt(i)?i.minus(o):s;return await sa(await Bn(Or.spend,{...r,senderId:a,recipientId:n,amount:c}),r)}async function da(e,t){return await sa(await Bn(Or.payingFor,{...t,payerId:await t.onAccount.address(t),tx:e}),t)}async function ua(e,t){const r=await Bn(Or.nameRevoke,{...t,nameId:e,accountId:await t.onAccount.address(t)});return await sa(r,t)}async function pa(e,t,r){let{extendPointers:n,...a}=r;const i={...!0===n&&Object.fromEntries((await _n(e,a)).pointers.map((e=>{let{key:t,id:r}=e;return[t,r]}))),...t},s=await Bn(Or.nameUpdate,{clientTtl:Ut,nameTtl:Vt,...a,nameId:e,accountId:await a.onAccount.address(a),pointers:Object.entries(i).map((e=>{let[t,r]=e;return{key:t,id:r.toString()}}))});return await sa(s,a)}async function ma(e,t,r){const n=await Bn(Or.nameTransfer,{...r,nameId:e,accountId:await r.onAccount.address(r),recipientId:t});return await sa(n,r)}async function ha(e,t){const r=await _n(e,t);return Object.freeze({...r,id:r.id,owner:r.owner,update:async(r,n)=>({...await pa(e,r,{...t,...n}),...await ha(e,{...t,...n})}),transfer:async(r,n)=>({...await ma(e,r,{...t,...n}),...await ha(e,{...t,...n})}),revoke:async r=>await ua(e,{...t,...r}),async extendTtl(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt,n=arguments.length>1?arguments[1]:void 0;if(r>Vt||r<=0)throw new T("nameTtl",`a number between 1 and ${Vt} blocks`,r);return{...await pa(e,{},{...t,...n,nameTtl:r,extendPointers:!0}),...await ha(e,{...t,...n})}}})}async function ya(e,t,r){const n=await Bn(Or.nameClaim,{...r,accountId:await r.onAccount.address(r),nameSalt:t,name:e}),a=await sa(n,r);if(!wr(e)){const t=null!=a.blockHeight&&a.blockHeight>0?await ha(e,r):{};return Object.assign(a,t)}return a}async function ga(e,t){const r=_t(),n=await mn(t),a=sr(e,r),i=await Bn(Or.namePreClaim,{...t,accountId:await t.onAccount.address(t),commitmentId:a});return Object.freeze({...await sa(i,t),height:n,salt:r,commitmentId:a,claim:async n=>await ya(e,r,{...t,...n})})}async function fa(e,t,r){return await ya(e,0,{...r,nameFee:t})}async function Na(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{onAccount:t,onNode:r,...n}=arguments.length>1?arguments[1]:void 0;const a=await t.sign(st([Buffer.from((await r.getStatus()).networkId),...e.map((e=>vt(e)))]),n);return Buffer.from(a).toString("hex")}async function wa(e,t){return await Na([await t.onAccount.address(t),...null!=t.name?[ir(t.name)]:[],e],t)}async function ba(e,t){var r;return await Na([null!==(r=t.queryId)&&void 0!==r?r:await t.onAccount.address(t),e],t)}async function va(e,t){return{...await t.onNode.getOracleByPubkey(e),queries:(await t.onNode.getOracleQueriesByPubkey(e)).oracleQueries,...it({pollQueries:Sa,postQuery:_a,respondToQuery:qa,extendOracle:Ta,getQuery:Ca},(r=>{let[n,a]=r;return[n,function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];const s=n[n.length-1];return null!=s&&"object"==typeof s&&s.constructor===Object?Object.assign(s,{...t,...s}):n.push(t),a(e,...n)}]}))}}function Sa(e,t,r){var n;let{interval:a,onNode:i,...s}=r;null!==(n=a)&&void 0!==n||(a=cn("microblock",s));const o=new Set,c=async()=>{var r;const n=(null!==(r=(await i.getOracleQueriesByPubkey(e)).oracleQueries)&&void 0!==r?r:[]).filter((e=>{let{id:t}=e;return!o.has(t)}));n.forEach((e=>{let{id:t}=e;return o.add(t)})),n.length>0&&t(n)};let l=!1;return(async()=>{for(;!l;)await c().catch(console.error),await at(a)})(),()=>{l=!0}}async function Ca(e,t,r){const n=await r.onNode.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:vt(n.query).toString(),decodedResponse:vt(n.response).toString(),respond:async(n,a)=>await qa(e,t,n,{...r,...a}),pollForResponse:async n=>await xa(e,t,{...r,...n})}}async function xa(e,t,r){var n;let{attempts:a=20,interval:i,onNode:s,...o}=r;null!==(n=i)&&void 0!==n||(i=cn("microblock",o));for(let r=0;r<a;r++){r>0&&await at(i);const{response:n}=await s.getOracleQueryByPubkeyAndQueryId(e,t),a=vt(n);if(a.length>0)return a.toString()}throw new A((a-1)*i)}async function za(e,t,r){const n=await r.onAccount.address(r),a=await Bn(Or.oracleRegister,{queryFee:_r,oracleTtlValue:Tr.value,oracleTtlType:Tr.type,...r,accountId:n,queryFormat:e,responseFormat:t});return{...await sa(a,r),...await va(St(vt(n),"ok"),r)}}async function _a(e,t,r){var n;null!==(n=r.queryFee)&&void 0!==n||(r.queryFee=(await r.onNode.getOracleByPubkey(e)).queryFee.toString());const a=await r.onAccount.address(r),i=await Bn(Or.oracleQuery,{queryTtlType:qr.type,queryTtlValue:qr.value,responseTtlType:Pr.type,responseTtlValue:Pr.value,...r,oracleId:e,senderId:a,query:t}),s=nr(a,Jr(i,Or.oracleQuery).tx.nonce,e);return{...await sa(i,r),...await Ca(e,s,r)}}async function Ta(e,t){const r=await Bn(Or.oracleExtend,{oracleTtlType:Tr.type,oracleTtlValue:Tr.value,...t,callerId:await t.onAccount.address(t),oracleId:e});return{...await sa(r,t),...await va(e,t)}}async function qa(e,t,r,n){const a=await Bn(Or.oracleResponse,{responseTtlType:Pr.type,responseTtlValue:Pr.value,...n,callerId:await n.onAccount.address(n),oracleId:e,queryId:t,response:r});return{...await sa(a,n),...await va(e,n)}}var Pa=b(7672),Ea=b.n(Pa),Ia=b(5039);const ka=()=>{const e=new Map;return{policy:{name:"request-queues",async sendRequest(t,r){var n;const a=t.headers.get("__queue");t.headers.delete("__queue");const i=async()=>await r(t);if(null==a)return await i();const s=(null!==(n=e.get(a))&&void 0!==n?n:Promise.resolve()).then(i,i);return e.set(a,s.then((async()=>await at(750)))),await s}},position:"perCall"}},Aa=()=>{const e=new Map;return{policy:{name:"combine-requests",async sendRequest(t,r){var n;if("GET"!==t.method)return await r(t);const a=JSON.stringify([t.url,t.body]),i=null!==(n=e.get(a))&&void 0!==n?n:r(t);e.set(a,i);try{return await i}finally{e.delete(a)}}},position:"perCall"}},Oa=e=>({policy:{name:"error-formatter",async sendRequest(t,r){try{return await r(t)}catch(t){var n;if(!(t instanceof Ia.RestError)||null==t.request)throw t;if(null==(null===(n=t.response)||void 0===n?void 0:n.bodyAsText))throw t;let r;try{r=JSON.parse(t.response.bodyAsText)}catch(e){throw t}t.message=`${new URL(t.request.url).pathname.slice(1)} error`;const a=e(r);throw""!==a&&(t.message+=`:${a}`),t}}},position:"perCall"}),Ma=(e,t,r,n,a)=>({name:"version-check",async sendRequest(i,s){if(new URL(i.url).pathname===t)return await s(i);const o=[await r,n,a];if(!function(e,t,r){const n=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=n(e),i=n(t),s=n(r),o=Math.max(...a,...i,...s)+1,c=e=>e.reverse().reduce(((e,t,r)=>e+t*Math.pow(o,r)),0),l=c(a),d=c(i),u=c(s);return l>=d&&l<u}(...o))throw new D(e,...o);return await s(i)}});var Ra=b(4711);const Ba={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"}}}}},ja={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},Da={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"}}}}},Va={type:{name:"Composite",className:"HashResponse",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}}}}},Fa={type:{name:"Composite",className:"HeightResponse",modelProperties:{height:{serializedName:"height",required:!0,type:{name:"String"}}}}},Ha={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"}}}}},Ua={type:{name:"Composite",className:"SignedTxs",modelProperties:{transactions:{serializedName:"transactions",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"SignedTx"}}}}}}},$a={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"}}}}}}},La={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"]}}}}},Ga={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"}}}}}}},Ka={type:{name:"Composite",className:"OffChainUpdate",uberParent:"OffChainUpdate",polymorphicDiscriminator:{serializedName:"op",clientName:"op"},modelProperties:{op:{serializedName:"op",required:!0,type:{name:"String"}}}}},Wa={type:{name:"Composite",className:"RelativeTTL",modelProperties:{type:{defaultValue:"delta",isConstant:!0,serializedName:"type",type:{name:"String"}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},Qa={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"}}}}},Ya={type:{name:"Composite",className:"NamePointer",modelProperties:{key:{serializedName:"key",required:!0,type:{name:"String"}},id:{serializedName:"id",required:!0,type:{name:"String"}}}}},Xa={type:{name:"Composite",className:"CountResponse",modelProperties:{count:{serializedName:"count",required:!0,type:{name:"String"}}}}},Ja={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"}}}}}}},Za={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"}}}}},ei={type:{name:"Composite",className:"NextNonceResponse",modelProperties:{nextNonce:{serializedName:"next_nonce",required:!0,type:{name:"String"}}}}},ti={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"}}}}},ri={type:{name:"Composite",className:"DryRunAccount",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},ni={type:{name:"Composite",className:"DryRunInputItem",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},callReq:{serializedName:"call_req",type:{name:"Composite",className:"DryRunCallReq"}}}}},ai={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"}}}}},ii={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"}}}}},si={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"}}}}}}}}},oi={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"}}}}},ci={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:"String"}}}}},li={type:{name:"Composite",className:"Event",modelProperties:{address:{serializedName:"address",required:!0,type:{name:"String"}},topics:{serializedName:"topics",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},data:{serializedName:"data",required:!0,type:{name:"String"}}}}},di={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"}}}}},ui={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:"String"}},innerObject:{serializedName:"inner_object",type:{name:"Composite",className:"TxInfoObject"}}}}},pi={type:{name:"Composite",className:"EncodedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},mi={type:{name:"Composite",className:"PostTxResponse",modelProperties:{txHash:{serializedName:"tx_hash",required:!0,type:{name:"String"}}}}},hi={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"}}}}},yi={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},gi={type:{name:"Composite",className:"PoI",modelProperties:{poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},fi={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"}}}}},Ni={type:{name:"Composite",className:"OracleQueries",modelProperties:{oracleQueries:{serializedName:"oracle_queries",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"OracleQuery"}}}}}}},wi={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"}}}}},bi={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"}}}}}}},vi={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"}}}}},Si={type:{name:"Composite",className:"PeerPubKey",modelProperties:{pubkey:{serializedName:"pubkey",required:!0,type:{name:"String"}}}}},Ci={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"}}}}},xi={type:{name:"Composite",className:"Protocol",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}},effectiveAtHeight:{serializedName:"effective_at_height",required:!0,type:{name:"String"}}}}},zi={type:{name:"Composite",className:"PeerConnections",modelProperties:{inbound:{serializedName:"inbound",required:!0,type:{name:"String"}},outbound:{serializedName:"outbound",required:!0,type:{name:"String"}}}}},_i={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"}}}}},Ti={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"}}}}},qi={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"}}}}},Pi={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"}}}}},Ei={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"}}}}},Ii={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"}}}}},ki={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"}}}}},Ai={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"}}}}},Oi={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"}}}}},Mi={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"}}}}},Ri={type:{name:"Composite",className:"CommitmentId",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}}}}},Bi={type:{name:"Composite",className:"NameHash",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}}}}},ji={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"}}}}},Di={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"}}}}},Vi={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"}}}}},Fi={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"}}}}},Hi={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"}}}}},Ui={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"}}}}},$i={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"}}}}},Li={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"}}}}},Gi={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"}}}}},Ki={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"}}}}},Wi={type:{name:"Composite",className:"PubKey",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}}}}},Qi={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"}}}}},Yi={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"}}}}}}},Xi={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"}}}}},Ji={type:{name:"Composite",className:"PeerCountConnected",modelProperties:{inbound:{serializedName:"inbound",type:{name:"String"}},outbound:{serializedName:"outbound",type:{name:"String"}}}}},Zi={type:{name:"Composite",className:"PeerCountAvailable",modelProperties:{verified:{serializedName:"verified",type:{name:"String"}},unverified:{serializedName:"unverified",type:{name:"String"}}}}},es={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"}}}}},ts={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"}}}}},rs={type:{name:"Composite",className:"UnsignedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},ns={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"}}}}},as={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"}}}}},is={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"}}}}},ss={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"}}}}},os={type:{name:"Composite",className:"CheckTxInPoolResponse",modelProperties:{status:{serializedName:"status",required:!0,type:{name:"String"}}}}},cs={serializedName:"OffChainTransfer",type:{name:"Composite",className:"OffChainTransfer",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.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"}}}}},ls={serializedName:"OffChainWithdrawal",type:{name:"Composite",className:"OffChainWithdrawal",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},ds={serializedName:"OffChainDeposit",type:{name:"Composite",className:"OffChainDeposit",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},us={serializedName:"OffChainNewContract",type:{name:"Composite",className:"OffChainNewContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.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"}}}}},ps={serializedName:"OffChainCallContract",type:{name:"Composite",className:"OffChainCallContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.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"}}}}},ms={type:{name:"Composite",className:"CreateContractUnsignedTx",modelProperties:{...rs.type.modelProperties,contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}}}}};let hs={"Tx.undefined":La,OffChainUpdate:Ka,"OffChainUpdate.OffChainTransfer":cs,"OffChainUpdate.OffChainWithdrawal":ls,"OffChainUpdate.OffChainDeposit":ds,"OffChainUpdate.OffChainNewContract":us,"OffChainUpdate.OffChainCallContract":ps};const ys={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},gs={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},fs={parameterPath:"intAsString",mapper:{defaultValue:!1,serializedName:"int-as-string",type:{name:"Boolean"}}},Ns={parameterPath:"hash",mapper:{serializedName:"hash",required:!0,type:{name:"String"}}},ws={parameterPath:"height",mapper:{constraints:{InclusiveMaximum:0x10000000000000000,InclusiveMinimum:0},serializedName:"height",required:!0,type:{name:"Number"}}},bs={parameterPath:"pubkey",mapper:{serializedName:"pubkey",required:!0,type:{name:"String"}}},vs={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Ss={parameterPath:"body",mapper:ti},Cs={parameterPath:"body",mapper:pi};class xs extends Ra.ServiceClient{constructor(e,t){var r,n,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-node/1.0.0-beta.1",s=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,o={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:s},baseUri:null!==(r=null!==(n=t.endpoint)&&void 0!==n?n:t.baseUri)&&void 0!==r?r:"{$host}"};super(o),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===Ia.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:Ia.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(Ia.bearerTokenAuthenticationPolicy({scopes:`${o.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ra.authorizeRequestOnClaimChallenge}})))),this.$host=e}getTopHeader(e){return this.sendOperationRequest({options:e},_s)}getCurrentKeyBlock(e){return this.sendOperationRequest({options:e},Ts)}getCurrentKeyBlockHash(e){return this.sendOperationRequest({options:e},qs)}getCurrentKeyBlockHeight(e){return this.sendOperationRequest({options:e},Ps)}getPendingKeyBlock(e){return this.sendOperationRequest({options:e},Es)}getKeyBlockByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Is)}getKeyBlockByHeight(e,t){return this.sendOperationRequest({height:e,options:t},ks)}getMicroBlockHeaderByHash(e,t){return this.sendOperationRequest({hash:e,options:t},As)}getMicroBlockTransactionsByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Os)}getMicroBlockTransactionByHashAndIndex(e,t,r){return this.sendOperationRequest({hash:e,index:t,options:r},Ms)}getMicroBlockTransactionsCountByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Rs)}getCurrentGeneration(e){return this.sendOperationRequest({options:e},Bs)}getGenerationByHash(e,t){return this.sendOperationRequest({hash:e,options:t},js)}getGenerationByHeight(e,t){return this.sendOperationRequest({height:e,options:t},Ds)}getAccountByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Vs)}getAccountByPubkeyAndHeight(e,t,r){return this.sendOperationRequest({pubkey:e,height:t,options:r},Fs)}getAccountByPubkeyAndHash(e,t,r){return this.sendOperationRequest({pubkey:e,hash:t,options:r},Hs)}getPendingAccountTransactionsByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Us)}getAccountNextNonce(e,t){return this.sendOperationRequest({pubkey:e,options:t},$s)}protectedDryRunTxs(e,t){return this.sendOperationRequest({body:e,options:t},Ls)}getTransactionByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Gs)}getTransactionInfoByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Ks)}postTransaction(e,t){return this.sendOperationRequest({body:e,options:t},Ws)}getContract(e,t){return this.sendOperationRequest({pubkey:e,options:t},Qs)}getContractCode(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ys)}getContractPoI(e,t){return this.sendOperationRequest({pubkey:e,options:t},Xs)}getOracleByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Js)}getOracleQueriesByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Zs)}getOracleQueryByPubkeyAndQueryId(e,t,r){return this.sendOperationRequest({pubkey:e,queryId:t,options:r},eo)}getNameEntryByName(e,t){return this.sendOperationRequest({name:e,options:t},to)}getChannelByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},ro)}getPeerPubkey(e){return this.sendOperationRequest({options:e},no)}getStatus(e){return this.sendOperationRequest({options:e},ao)}getChainEnds(e){return this.sendOperationRequest({options:e},io)}}const zs=Ra.createSerializer(o,!1),_s={path:"/v3/headers/top",httpMethod:"GET",responses:{200:{bodyMapper:Ba},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Ts={path:"/v3/key-blocks/current",httpMethod:"GET",responses:{200:{bodyMapper:Da},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},qs={path:"/v3/key-blocks/current/hash",httpMethod:"GET",responses:{200:{bodyMapper:Va},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Ps={path:"/v3/key-blocks/current/height",httpMethod:"GET",responses:{200:{bodyMapper:Fa},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Es={path:"/v3/key-blocks/pending",httpMethod:"GET",responses:{200:{bodyMapper:Da},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Is={path:"/v3/key-blocks/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Da},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},ks={path:"/v3/key-blocks/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Da},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws],headerParameters:[ys],serializer:zs},As={path:"/v3/micro-blocks/hash/{hash}/header",httpMethod:"GET",responses:{200:{bodyMapper:Ha},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Os={path:"/v3/micro-blocks/hash/{hash}/transactions",httpMethod:"GET",responses:{200:{bodyMapper:Ua},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ms={path:"/v3/micro-blocks/hash/{hash}/transactions/index/{index}",httpMethod:"GET",responses:{200:{bodyMapper:$a},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns,{parameterPath:"index",mapper:{constraints:{InclusiveMinimum:1},serializedName:"index",required:!0,type:{name:"Number"}}}],headerParameters:[ys],serializer:zs},Rs={path:"/v3/micro-blocks/hash/{hash}/transactions/count",httpMethod:"GET",responses:{200:{bodyMapper:Xa},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Bs={path:"/v3/generations/current",httpMethod:"GET",responses:{200:{bodyMapper:Ja},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},js={path:"/v3/generations/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Ja},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ds={path:"/v3/generations/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Ja},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws],headerParameters:[ys],serializer:zs},Vs={path:"/v3/accounts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Fs={path:"/v3/accounts/{pubkey}/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws,bs],headerParameters:[ys],serializer:zs},Hs={path:"/v3/accounts/{pubkey}/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns,bs],headerParameters:[ys],serializer:zs},Us={path:"/v3/accounts/{pubkey}/transactions/pending",httpMethod:"GET",responses:{200:{bodyMapper:Ua},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},$s={path:"/v3/accounts/{pubkey}/next-nonce",httpMethod:"GET",responses:{200:{bodyMapper:ei},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs,{parameterPath:["options","strategy"],mapper:{defaultValue:"max",serializedName:"strategy",type:{name:"Enum",allowedValues:["max","continuity"]}}}],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Ls={path:"/v3/dry-run",httpMethod:"POST",responses:{200:{bodyMapper:si},403:{bodyMapper:ja,isError:!0}},requestBody:Ss,queryParameters:[fs],urlParameters:[gs],headerParameters:[ys,vs],mediaType:"json",serializer:zs},Gs={path:"/v3/transactions/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:$a},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ks={path:"/v3/transactions/{hash}/info",httpMethod:"GET",responses:{200:{bodyMapper:di},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ws={path:"/v3/transactions",httpMethod:"POST",responses:{200:{bodyMapper:mi},400:{bodyMapper:ja,isError:!0}},requestBody:Cs,queryParameters:[fs],urlParameters:[gs],headerParameters:[ys,vs],mediaType:"json",serializer:zs},Qs={path:"/v3/contracts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:hi},400:{bodyMapper:ja,isError:!0},404:{isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Ys={path:"/v3/contracts/{pubkey}/code",httpMethod:"GET",responses:{200:{bodyMapper:yi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Xs={path:"/v3/contracts/{pubkey}/poi",httpMethod:"GET",responses:{200:{bodyMapper:gi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Js={path:"/v3/oracles/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:fi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Zs={path:"/v3/oracles/{pubkey}/queries",httpMethod:"GET",responses:{200:{bodyMapper:Ni},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs,{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:[gs,bs],headerParameters:[ys],serializer:zs},eo={path:"/v3/oracles/{pubkey}/queries/{query-id}",httpMethod:"GET",responses:{200:{bodyMapper:wi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs,{parameterPath:"queryId",mapper:{serializedName:"query-id",required:!0,type:{name:"String"}}}],headerParameters:[ys],serializer:zs},to={path:"/v3/names/{name}",httpMethod:"GET",responses:{200:{bodyMapper:bi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,{parameterPath:"name",mapper:{serializedName:"name",required:!0,type:{name:"String"}}}],headerParameters:[ys],serializer:zs},ro={path:"/v3/channels/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:vi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},no={path:"/v3/peers/pubkey",httpMethod:"GET",responses:{200:{bodyMapper:Si}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},ao={path:"/v3/status",httpMethod:"GET",responses:{200:{bodyMapper:Ci}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},io={path:"/v3/status/chain-ends",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"String"}}}}}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs};function so(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 oo(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}async function co(){var e,t;let{networkId:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=null!==(e=null!=r?r:this.networkId)&&void 0!==e?e:(await(null===(t=this.api)||void 0===t?void 0:t.getStatus())).networkId;if(null!=n)return n;throw new I("networkId is not provided")}const lo=["balance","queryFee","fee","amount","nameFee","channelAmount","initiatorAmount","responderAmount","channelReserve","initiatorAmountFinal","responderAmountFinal","gasPrice","deposit"],uo=["time","gas","gasUsed","nameSalt","nonce","nextNonce","height","blockHeight","top","topBlockHeight","ttl","inbound","outbound","peerCount","pendingTransactionsCount","effectiveAtHeight","version","solutions"];var po=new WeakSet,mo=new WeakSet,ho=new WeakSet;class yo extends xs{constructor(e){let{ignoreVersion:t=!1,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[ka(),Aa(),Oa((e=>` ${e.reason}`))],...r}),so(this,ho),so(this,mo),so(this,po),this.url=e,!t){const e=this.getStatus().then((e=>{let{nodeVersion:t}=e;return t}));this.pipeline.addPolicy(Ma("node","/v3/status",e,"6.2.0","7.0.0"))}this.intAsString=!0}async getNodeInfo(){const{nodeVersion:e,networkId:t,protocols:r,topBlockHeight:n}=await this.getStatus(),a=r.filter((e=>{let{effectiveAtHeight:t}=e;return n>=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}}async sendOperationRequest(e,t){const r=it(e,(e=>{let[t,r]=e;return[t,oo(this,mo,fo).call(this,r)]}));return oo(this,ho,No).call(this,await super.sendOperationRequest(r,t))}}function go(e,t){return Array.isArray(e)?e.map((e=>oo(this,po,go).call(this,e,t))):null!=e&&"object"==typeof e?it(e,(e=>{let[r,n]=e;return null==n?[r,n]:lo.some((e=>e===r))?[r,t.bigInt(n)]:uo.some((e=>e===r))?[r,t.number(n)]:[r,oo(this,po,go).call(this,n,t)]})):e}function fo(e){return oo(this,po,go).call(this,e,{bigInt:e=>e instanceof d()?e.toFixed():e.toString(),number:e=>e.toString()})}function No(e){return oo(this,po,go).call(this,e,{bigInt:e=>BigInt(e),number:e=>+e})}class wo{constructor(){var e;let{networkId:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Ea()(this,"getNetworkId",co),null!==(e=this.networkId)&&void 0!==e||(this.networkId=t)}async signTransaction(e){let{innerTx:t,networkId:r,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=[await this.getNetworkId({networkId:r})];!0===t&&a.push("inner_tx");const i=vt(e),s=st([Buffer.from(a.join("-")),qt(i)]);return Xr({encodedTx:i,signatures:[await this.sign(s,n)]},Or.signed).tx}async signMessage(e){let{returnHex:t=!1,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Rt(e),r);return t?Buffer.from(n).toString("hex"):n}async verifyMessage(e,t,r){return jt(e,"string"==typeof t?Buffer.from(t,"hex"):t,vt(await this.address(r)))}}const bo=new WeakMap;class vo extends wo{constructor(e){let{keypair:t,gaId:r,...n}=e;if(super(n),this.isGa=null!=r,this.isGa&&null!=r)return vt(r),void bo.set(this,{publicKey:r});if(null==t)throw new I("Either gaId or keypair is required");if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!Je(t.secretKey))throw new H("Secret key must be hex string or Buffer");const a="string"==typeof t.secretKey?Buffer.from(t.secretKey,"hex"):t.secretKey;if(!Dt(a,vt(t.publicKey)))throw new H("Invalid Key Pair");bo.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 Ot(e,bo.get(this).secretKey)}async address(){return bo.get(this).publicKey}}const So={type:{name:"Composite",className:"Contract",modelProperties:{code:{serializedName:"code",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}}}}},Co={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"}}}}},xo={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"}}}}},zo={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"}}}}},_o={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"}}}}},To={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},qo={type:{name:"Composite",className:"APIVersion",modelProperties:{apiVersion:{serializedName:"api-version",required:!0,type:{name:"String"}}}}},Po={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Eo={type:{name:"Composite",className:"ByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Io={type:{name:"Composite",className:"CompilerVersion",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}}}}},ko={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"}}}}},Ao={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"}}}}},Oo={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"}}}}}}},Mo={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"}}}}},Ro={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"}}}}},Bo={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"}}}}},jo={type:{name:"Composite",className:"SophiaBinaryData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"String"}},sophiaType:{serializedName:"sophia-type",required:!0,type:{name:"String"}}}}},Do={type:{name:"Composite",className:"SophiaJsonData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},Vo={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"}}}}},Fo={type:{name:"Composite",className:"Calldata",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},Ho={type:{name:"Composite",className:"FateAssembler",modelProperties:{fateAssembler:{serializedName:"fate-assembler",required:!0,type:{name:"String"}}}}},Uo={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"}}}}},$o={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Lo={parameterPath:"body",mapper:So},Go={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},Ko={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},Wo={parameterPath:"body",mapper:Eo},Qo={parameterPath:"body",mapper:ko},Yo={parameterPath:"body",mapper:Ao},Xo={parameterPath:"body",mapper:Mo},Jo={parameterPath:"body",mapper:Bo},Zo={parameterPath:"body",mapper:jo},ec={parameterPath:"body",mapper:Vo},tc={parameterPath:"body",mapper:Uo};class rc extends Ra.ServiceClient{constructor(e,t){var r,n,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-compiler/1.0.0-beta.1",s=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,o={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:s},baseUri:null!==(r=null!==(n=t.endpoint)&&void 0!==n?n:t.baseUri)&&void 0!==r?r:"{$host}"};super(o),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===Ia.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:Ia.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(Ia.bearerTokenAuthenticationPolicy({scopes:`${o.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ra.authorizeRequestOnClaimChallenge}})))),this.$host=e}generateACI(e,t){return this.sendOperationRequest({body:e,options:t},ac)}api(e){return this.sendOperationRequest({options:e},ic)}aPIVersion(e){return this.sendOperationRequest({options:e},sc)}compileContract(e,t){return this.sendOperationRequest({body:e,options:t},oc)}getCompilerVersion(e,t){return this.sendOperationRequest({body:e,options:t},cc)}decodeCallResult(e,t){return this.sendOperationRequest({body:e,options:t},lc)}decodeCallResultBytecode(e,t){return this.sendOperationRequest({body:e,options:t},dc)}decodeCalldataBytecode(e,t){return this.sendOperationRequest({body:e,options:t},uc)}decodeCalldataSource(e,t){return this.sendOperationRequest({body:e,options:t},pc)}decodeData(e,t){return this.sendOperationRequest({body:e,options:t},mc)}encodeCalldata(e,t){return this.sendOperationRequest({body:e,options:t},hc)}getFateAssemblerCode(e,t){return this.sendOperationRequest({body:e,options:t},yc)}validateByteCode(e,t){return this.sendOperationRequest({body:e,options:t},gc)}version(e){return this.sendOperationRequest({options:e},fc)}}const nc=Ra.createSerializer(c,!1),ac={path:"/aci",httpMethod:"POST",responses:{200:{bodyMapper:xo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Lo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},ic={path:"/api",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Dictionary",value:{type:{name:"any"}}}}},400:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc},sc={path:"/api-version",httpMethod:"GET",responses:{200:{bodyMapper:qo},500:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc},oc={path:"/compile",httpMethod:"POST",responses:{200:{bodyMapper:Po},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Lo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},cc={path:"/compiler-version",httpMethod:"POST",responses:{200:{bodyMapper:Io},400:{bodyMapper:To,isError:!0}},requestBody:Wo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},lc={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:Qo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},dc={path:"/decode-call-result/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:Oo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Yo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},uc={path:"/decode-calldata/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:Ro},400:{bodyMapper:To,isError:!0}},requestBody:Xo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},pc={path:"/decode-calldata/source",httpMethod:"POST",responses:{200:{bodyMapper:Ro},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Jo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},mc={path:"/decode-data",httpMethod:"POST",responses:{200:{bodyMapper:Do},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Zo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},hc={path:"/encode-calldata",httpMethod:"POST",responses:{200:{bodyMapper:Fo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:ec,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},yc={path:"/fate-assembler",httpMethod:"POST",responses:{200:{bodyMapper:Ho},400:{bodyMapper:To,isError:!0}},requestBody:Wo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},gc={path:"/validate-byte-code",httpMethod:"POST",responses:{200:{},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:tc,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},fc={path:"/version",httpMethod:"GET",responses:{200:{bodyMapper:Io},500:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc};class Nc extends rc{constructor(e){let{ignoreVersion:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[Oa((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(Ma("compiler","/api-version",e,"6.1.0","7.0.0"))}}}function wc(e){try{return e()}catch(e){return new Proxy({},Object.fromEntries(["get","set","has"].map((t=>[t,()=>{throw e}]))))}}class bc{constructor(){let{nodes:e=[],compilerUrl:t,ignoreVersion:r=!1,...n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Ea()(this,"_options",{denomination:Fe.AETTOS,amount:Er}),Ea()(this,"pool",new Map),Ea()(this,"getNetworkId",co),Object.assign(this._options,n),e.forEach(((e,t)=>{let{name:r,instance:n}=e;return this.addNode(r,n,0===t)})),null==t?this.compilerApi=wc((()=>{throw new w("You can't use Compiler API. Compiler is not ready!")})):this.setCompilerUrl(t,{ignoreVersion:r})}setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.compilerApi=new Nc(e,{ignoreVersion:t})}get api(){return this.ensureNodeConnected(),this.pool.get(this.selectedNodeName)}addNode(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Se(e);this.pool.set(e,t),(r||null==this.selectedNodeName)&&this.selectNode(e)}selectNode(e){if(!this.pool.has(e))throw new Ce(`Node with name ${e} not in pool`);this.selectedNodeName=e}isNodeConnected(){return null!=this.selectedNodeName}ensureNodeConnected(){if(!this.isNodeConnected())throw new Ce("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 await Promise.all(Array.from(this.pool.entries()).map((async e=>{let[t,r]=e;return{name:t,...await r.getNodeInfo()}})))}addresses(){return[]}async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return await this._resolveAccount(e).address()}async sign(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).sign(e,r)}async signTransaction(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).signTransaction(e,{...r,networkId:await this.getNetworkId(r)})}async signMessage(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).signMessage(e,r)}async verifyMessage(e,t){let{onAccount:r,...n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await this._resolveAccount(r).verifyMessage(e,t,n)}_resolveAccount(e){switch(null!==e&&typeof e){case"string":throw new j("Address in AccountResolver");case"object":return t=e,["sign","address","signTransaction","signMessage"].some((e=>"function"!=typeof t[e]))?new vo({keypair:e}):e;default:throw new M(`Account should be an address (ak-prefixed string), keypair, or instance of AccountBase, got ${String(e)} instead`)}var t}async _getOptions(){var e;return{...this._options,onNode:wc((()=>this.api)),onAccount:wc((()=>this._resolveAccount())),onCompiler:wc((()=>this.compilerApi)),networkId:(await(null===(e=this.api)||void 0===e?void 0:e.getStatus())).networkId}}async buildTx(e,t){return await Bn(e,{...await this._getOptions(),...t})}}const{_buildTx:vc,...Sc}=t,Cc={...e,...Sc,...a,...n,...s,...i,...r};Object.assign(bc.prototype,it(Cc,(e=>{let[t,r]=e;return[t,async function(){const e=await this._getOptions();for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];const i=n[n.length-1];return null!=i&&"object"==typeof i&&i.constructor===Object?Object.assign(i,{...e,...i,...null!=i.onAccount&&{onAccount:this._resolveAccount(i.onAccount)}}):n.push(e),r(...n)}]})));const xc=bc;class zc extends xc{constructor(){super(...arguments),Ea()(this,"accounts",{})}_resolveAccount(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectedAddress;if("string"==typeof e){const t=e;if(vt(t),null==this.accounts[t])throw new U(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 r=await e.address();this.accounts[r]=e,!0===t&&this.selectAccount(r)}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(vt(e),null==this.accounts[e])throw new U(e);this.selectedAddress=e}}let _c,Tc,qc,Pc,Ec;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(_c||(_c={})),function(e){e.window="window",e.extension="extension"}(Tc||(Tc={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(qc||(qc={})),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"}(Pc||(Pc={})),function(e){e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Ec||(Ec={}));class Ic extends h{toJSON(){return{code:this.code,message:this.message,data:this.data}}static deserialize(e){const t=[kc,Ac,Oc,Mc,Rc,Bc,jc,Dc].find((t=>t.code===e.code));if(null==t)throw new V(`Can't find RpcError with code: ${e.code}`);return new t(e.data)}}class kc extends Ic{constructor(e){super("Invalid transaction"),Ea()(this,"code",2),this.data=e,this.name="RpcInvalidTransactionError"}}Ea()(kc,"code",2);class Ac extends Ic{constructor(e){super("Broadcast failed"),Ea()(this,"code",3),this.data=e,this.name="RpcBroadcastError"}}Ea()(Ac,"code",3);class Oc extends Ic{constructor(e){super("Operation rejected by user"),Ea()(this,"code",4),this.data=e,this.name="RpcRejectedByUserError"}}Ea()(Oc,"code",4);class Mc extends Ic{constructor(){super("Unsupported Protocol Version"),Ea()(this,"code",5),this.name="RpcUnsupportedProtocolError"}}Ea()(Mc,"code",5);class Rc extends Ic{constructor(e){super("Wallet deny your connection request"),Ea()(this,"code",9),this.data=e,this.name="RpcConnectionDenyError"}}Ea()(Rc,"code",9);class Bc extends Ic{constructor(){super("You are not connected to the wallet"),Ea()(this,"code",10),this.name="RpcNotAuthorizeError"}}Ea()(Bc,"code",10);class jc extends Ic{constructor(e){super(`You are not subscribed for account ${e}`),Ea()(this,"code",11),this.data=e,this.name="RpcPermissionDenyError"}}Ea()(jc,"code",11);class Dc extends Ic{constructor(){super("The peer failed to execute your request due to unknown error"),Ea()(this,"code",12),this.name="RpcInternalError"}}Ea()(Dc,"code",12);class Vc extends Ic{constructor(){super("Method not found"),Ea()(this,"code",-32601),this.name="RpcMethodNotFoundError"}}Ea()(Vc,"code",-32601);class Fc extends wo{constructor(e){let{rpcClient:t,address:r,...n}=e;super(n),this._rpcClient=t,this._address=r}async sign(e,t){throw new j("RAW signing using wallet")}async address(){return this._address}async signTransaction(e){let{innerTx:t,networkId:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=t)throw new j("innerTx option in AccountRpc");return(await this._rpcClient.request(Pc.sign,{onAccount:this._address,tx:e,returnSigned:!0,networkId:r})).signedTransaction}async signMessage(e){let{returnHex:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{signature:r}=await this._rpcClient.request(Pc.signMessage,{onAccount:this._address,message:e});return t?r:Buffer.from(r,"hex")}}var Hc=b(6337),Uc=b.n(Hc),$c=b(6045),Lc=b.n($c);function Gc(e,t){Wc(e,t),t.add(e)}function Kc(e,t,r){Wc(e,t),t.set(e,r)}function Wc(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Qc(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Yc=new WeakMap,Xc=new WeakMap,Jc=new WeakMap,Zc=new WeakSet,el=new WeakSet,tl=new WeakSet,rl=new WeakSet;class nl{constructor(e,t,r){Gc(this,rl),Gc(this,tl),Gc(this,el),Gc(this,Zc),Kc(this,Yc,{writable:!0,value:new Map}),Kc(this,Xc,{writable:!0,value:0}),Kc(this,Jc,{writable:!0,value:void 0}),this.connection=e,Lc()(this,Jc,r),e.connect(Qc(this,Zc,al).bind(this),t)}async request(e,t){var r;return Qc(this,el,il).call(this,Lc()(this,Xc,(r=Uc()(this,Xc),++r)),e,t),await new Promise(((e,t)=>{Uc()(this,Yc).set(Uc()(this,Xc),{resolve:e,reject:t})}))}notify(e,t){Qc(this,el,il).call(this,void 0,e,t)}}async function al(e,t){if("2.0"!==(null==e?void 0:e.jsonrpc))throw new K(JSON.stringify(e));if("result"in e||"error"in e)return void Qc(this,rl,ol).call(this,e);const r=e;let n,a;try{if(!(r.method in Uc()(this,Jc)))throw new Vc;const e=r.method;n=await Uc()(this,Jc)[e](r.params,t)}catch(e){a=e instanceof Ic?e:new Dc}null!=r.id&&Qc(this,tl,sl).call(this,r.id,r.method,n,a)}function il(e,t,r){this.connection.sendMessage({jsonrpc:"2.0",...null!=e?{id:e}:{},method:t,...null!=r?{params:r}:{}})}function sl(e,t,r,n){this.connection.sendMessage({jsonrpc:"2.0",id:e,method:t,...null!=n?{error:n}:{result:r}})}function ol(e){let{id:t,error:r,result:n}=e;const a=Uc()(this,Yc).get(t);if(null==a)throw new W(t);null!=r?a.reject(Ic.deserialize(r)):a.resolve(n),Uc()(this,Yc).delete(t)}class cl extends xc{constructor(e){let{name:t,onAddressChange:r=(()=>{}),onDisconnect:n=(()=>{}),onNetworkChange:a=(()=>{}),...i}=e;super(i),this.onAddressChange=r,this.onDisconnect=n,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 r=e;if(vt(r),!p()(t=this.addresses()).call(t,r))throw new Q(r);e=new Fc({rpcClient:this.rpcClient,address:r})}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:r=!1,name:n="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 nl(e,(()=>{delete this.rpcClient,delete this._accounts,this.onDisconnect(t)}),{[Pc.updateAddress]:e=>{this._accounts=e,this.onAddressChange(e)},[Pc.updateNetwork]:e=>{const{node:t}=e;null!=t&&this.addNode(t.name,new yo(t.url),!0),this.onNetworkChange(e)},[Pc.closeConnection]:e=>{t=e,i.connection.disconnect()},[Pc.readyToConnect]:()=>{}}),{node:s,...o}=await i.request(Pc.connect,{name:this.name,version:1,connectNode:r});if(r){if(null==s)throw new Ve("Missing URLs of the Node");this.addNode(n,new yo(s.url),a)}return this.rpcClient=i,o}disconnectWallet(){this._ensureConnected(),this.rpcClient.notify(Pc.closeConnection,{reason:"bye"}),this.rpcClient.connection.disconnect()}async askAddresses(){return this._ensureAccountAccess(),await this.rpcClient.request(Pc.address,void 0)}async subscribeAddress(e,t){this._ensureConnected();const r=await this.rpcClient.request(Pc.subscribeAddress,{type:e,value:t});return this._accounts=r.address,r}_ensureConnected(){if(null==this.rpcClient)throw new De("You are not connected to Wallet")}_ensureAccountAccess(){if(this._ensureConnected(),0===this.addresses().length)throw new X}}var ll=b(2716);const dl=b.n(ll)()({storeAsString:!0}),ul=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return it(e,(e=>{let[t,r]=e;return[t,ul(r)]}));if(Array.isArray(e))return e.map((e=>ul(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},pl={stringify:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return dl.stringify(ul(t[0]),...t.slice(1))},parse:dl.parse};class ml extends zc{constructor(e){let{name:t,id:r,type:n,onConnection:a,onSubscription:i,onSign:s,onDisconnect:o,onAskAccounts:c,onMessageSign:l,...d}=e;super(d),this.onConnection=a,this.onSubscription=i,this.onSign=s,this.onDisconnect=o,this.onAskAccounts=c,this.onMessageSign=l,this._clients=new Map,this.name=t,this.id=r,this._type=n}_pushAccountsToApps(){Array.from(this._clients.keys()).filter((e=>this._isRpcClientSubscribed(e))).map((e=>this._getClient(e).rpc)).forEach((e=>e.notify(Pc.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(Pc.updateNetwork,{networkId:t,...e.connectNode&&this._getNode()})}))}_getClient(e){const t=this._clients.get(e);if(null==t)throw new Y(e);return t}_isRpcClientSubscribed(e){return this._isRpcClientConnected(e)&&0!==this._getClient(e).addressSubscription.size}_isRpcClientConnected(e){return Ec.CONNECTED===this._getClient(e).status&&this._getClient(e).rpc.connection.isConnected()}_disconnectRpcClient(e){const t=this._getClient(e);t.rpc.connection.disconnect(),t.status=Ec.DISCONNECTED,t.addressSubscription=new Set}removeRpcClient(e){this._disconnectRpcClient(e),this._clients.delete(e)}addRpcClient(e){const t=(0,qn.v4)();let r;const n={id:t,status:Ec.WAITING_FOR_CONNECTION_REQUEST,addressSubscription:new Set,connectNode:!1,rpc:new nl(e,(()=>{this._clients.delete(t),this.onDisconnect(t,r)}),{[Pc.closeConnection]:e=>{r=e,this._disconnectRpcClient(t)},[Pc.connect]:async(e,r)=>{let{name:a,version:i,icons:s,connectNode:o}=e;if(1!==i)throw new Mc;return await this.onConnection(t,{name:a,icons:s,connectNode:o},r),n.status=Ec.CONNECTED,n.connectNode=o,{...await this.getWalletInfo(),...o&&this._getNode()}},[Pc.subscribeAddress]:async(e,r)=>{let{type:a,value:i}=e;if(!this._isRpcClientConnected(t))throw new Bc;switch(await this.onSubscription(t,{type:a,value:i},r),a){case qc.subscribe:n.addressSubscription.add(i);break;case qc.unsubscribe:n.addressSubscription.delete(i)}return{subscription:Array.from(n.addressSubscription),address:this.getAccounts()}},[Pc.address]:async(e,r)=>{if(!this._isRpcClientSubscribed(t))throw new Bc;return await this.onAskAccounts(t,e,r),this.addresses()},[Pc.sign]:async(e,r)=>{var n,a,i,s;let{tx:o,onAccount:c,returnSigned:l}=e;if(!this._isRpcClientConnected(t))throw new Bc;if(null!==(n=c)&&void 0!==n||(c=await this.address()),!p()(a=this.addresses()).call(a,c))throw new jc(c);const d=await this.onSign(t,{tx:o,returnSigned:l,onAccount:c},r);if(c=null!==(i=null==d?void 0:d.onAccount)&&void 0!==i?i:c,o=null!==(s=null==d?void 0:d.tx)&&void 0!==s?s:o,l)return{signedTransaction:await this.signTransaction(o,{onAccount:c})};try{return pl.parse(pl.stringify({transactionHash:await this.send(o,{onAccount:c,verify:!1})}))}catch(e){const t=await on(o,this.api);if(t.length>0)throw new kc(t);throw new Ac(e.message)}},[Pc.signMessage]:async(e,r)=>{var n,a,i;let{message:s,onAccount:o}=e;if(!this._isRpcClientConnected(t))throw new Bc;if(null!==(n=o)&&void 0!==n||(o=await this.address()),!p()(a=this.addresses()).call(a,o))throw new jc(o);const c=await this.onMessageSign(t,{message:s,onAccount:o},r);return o=null!==(i=null==c?void 0:c.onAccount)&&void 0!==i?i:o,{signature:await this.signMessage(s,{onAccount:o,returnHex:!0})}}})};return this._clients.set(t,n),t}async shareWalletInfo(e){this._getClient(e).rpc.notify(Pc.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 hl=b(8079),yl=b(3735);const gl=new WeakMap,fl=new WeakMap,Nl=new WeakMap,wl=new WeakMap,bl=new WeakMap,vl=new WeakMap,Sl=new WeakMap,Cl=new WeakMap,xl=new WeakMap,zl=new WeakMap,_l=new WeakMap,Tl=new WeakMap,ql=new WeakMap,Pl=new WeakMap,El=new WeakMap,Il=new WeakMap;function kl(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];const[i,...s]=n;null===(t=vl.get(e))||void 0===t||t.emit(i,...s)}function Al(e,t){var r;if(null==t)throw new re;wl.set(e,t),null!=(null==t||null===(r=t.handler)||void 0===r?void 0:r.enter)&&t.handler.enter(e),jl(e)}function Ol(e,t){t!==fl.get(e)&&(fl.set(e,t),kl(e,"statusChanged",t))}function Ml(e,t){Nl.set(e,t),kl(e,"stateChanged",t)}function Rl(e,t){var r,n,a;null!==(r=null===(n=gl.get(e))||void 0===n?void 0:n.debug)&&void 0!==r&&r&&console.log("Send message: ",t),null===(a=bl.get(e))||void 0===a||a.send(pl.stringify(t))}function Bl(e,t,r){var n;const a=null!==(n=xl.get(e))&&void 0!==n?n:[];xl.set(e,[...a,{guard:t,action:r}]),jl(e)}async function jl(e){var t;const r=zl.get(e),n=null!==(t=xl.get(e))&&void 0!==t?t:[];if(Boolean(r)||0===n.length)return;const a=wl.get(e);if(null==a)return;const i=n.findIndex((t=>t.guard(e,a)));if(-1===i)return;xl.set(e,n.filter(((e,t)=>i!==t))),zl.set(e,!0);const s=await Promise.resolve(n[i].action(e,a));zl.set(e,!1),Al(e,s)}async function Dl(e,t){const r=wl.get(e);if(null==r)throw new re;const{handler:n,state:a}=r;Al(e,await Promise.resolve(n(e,t,a)))}function Vl(e){const t=Pl.get(e),r=El.get(e);null!=t&&clearTimeout(t),null!=r&&clearTimeout(r),Pl.set(e,setTimeout((()=>{Rl(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),El.set(e,setTimeout((()=>{Hl(e),kl(e,"error",new ee)}),5e3))}),1e4))}async function Fl(e,t,r){return await new Promise(((n,a)=>{var i,s,o;const c=null!==(i=_l.get(e))&&void 0!==i?i:0,l=null!==(s=_l.set(e,c+1).get(e))&&void 0!==s?s:1;null===(o=ql.get(e))||void 0===o||o.set(l,(e=>{if(null!=e.result)return n(e.result);if(null!=e.error){var t;const[{message:r}={message:""}]=null!==(t=e.error.data)&&void 0!==t?t:[];return a(new J(e.error.message+r))}})),Rl(e,{jsonrpc:"2.0",method:t,id:l,params:r})}))}function Hl(e){var t;null===(t=bl.get(e))||void 0===t||t.close();const r=Pl.get(e),n=El.get(e);null!=r&&clearTimeout(r),null!=n&&clearTimeout(n)}async function Ul(e,t,r,n){let{url:a,...i}=n;gl.set(e,{url:a,...i}),wl.set(e,{handler:t}),vl.set(e,new yl.EventEmitter),_l.set(e,0),ql.set(e,new Map),Sl.set(e,[]);const s=new URL(a);Object.entries(i).filter((e=>{var t;let[r]=e;return!p()(t=["sign","debug"]).call(t,r)})).forEach((e=>{let[t,r]=e;return s.searchParams.set(t.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`)),r)})),s.searchParams.set("protocol","json-rpc"),Ol(e,"connecting");const o=new hl.w3cwebsocket(s.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:async()=>{if(t(),Ol(e,"connected"),null!=i.reconnectTx){Al(e,{handler:r});const t=(await Fl(e,"channels.get.offchain_state",{})).signed_tx;Ml(e,t)}Vl(e)},onclose:()=>{Ol(e,"disconnected");const t=Pl.get(e),r=El.get(e);null!=t&&clearTimeout(t),null!=r&&clearTimeout(r)},onmessage:t=>{let{data:r}=t;return function(e,t){var r,n,a;const i=pl.parse(t);if(null!==(r=null===(n=gl.get(e))||void 0===n?void 0:n.debug)&&void 0!==r&&r&&console.log("Receive message: ",i),null==i.id)"channels.message"!==i.method?"channels.system.pong"!==i.method?(null===(a=Sl.get(e))||void 0===a||a.push(i),async function(e){var t,r;if(null!==(t=Cl.get(e))&&void 0!==t&&t)return;const n=null!==(r=Sl.get(e))&&void 0!==r?r:[];if(0!==n.length){for(Cl.set(e,!0);n.length>0;){var a;const t=null!==(a=n.shift())&&void 0!==a?a:"";try{await Dl(e,t)}catch(e){console.error("Error handling incoming message:"),console.error(t),console.error(e)}}Cl.set(e,!1)}}(e)):i.params.channel_id!==Tl.get(e)&&null!=Tl.get(e)||Vl(e):kl(e,"message",i.params.data.message);else{var s;const t=null===(s=ql.get(e))||void 0===s?void 0:s.get(i.id);try{null==t||t(i)}finally{var o;null===(o=ql.get(e))||void 0===o||o.delete(i.id)}}}(e,r)}}))),bl.set(e,o)}async function $l(e,t){const{signatures:r,encodedTx:n}=Jr(e,Or.signed).tx,a=await t(St(n.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e}=Jr(a,Or.signed);return Xr({signatures:r.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},Or.signed).tx}return a}function Ll(e,t,r){return null!=(null==r?void 0:r.reject)&&r.reject(Object.assign(new te(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Zl}}function Gl(e,t){if("channels.info"===t.method){var r;const n=t.params.data.event;return p()(r=["channel_accept","funding_created"]).call(r,n)?(Ol(e,{channel_accept:"accepted",funding_created:"halfSigned"}[n]),{handler:Wl}):"channel_reestablished"===t.params.data.event?{handler:Xl}:"fsm_up"===t.params.data.event?(Il.set(e,t.params.data.fsm_id),{handler:Gl}):{handler:Gl}}var n;if("channels.error"===t.method)return kl(e,"error",new Z(null==t||null===(n=t.payload)||void 0===n?void 0:n.message)),{handler:Nd}}async function Kl(e,t,r){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Il.set(e,t.params.data.fsm_id),Ml(e,(await Fl(e,"channels.get.offchain_state",{})).signed_tx),{handler:Zl}):Ll(0,t,r)}async function Wl(e,t){const r=gl.get(e);if(null!=r){const n={initiator:"initiator_sign",responder:"responder_sign"}[r.role];if(t.method===`channels.sign.${n}`){if(null!=t.params.data.tx){const a=await r.sign(n,t.params.data.tx);return Rl(e,{jsonrpc:"2.0",method:`channels.${n}`,params:{tx:a}}),{handler:Ql}}const a=await $l(t.params.data.signed_tx,(async e=>await r.sign(n,e)));return Rl(e,{jsonrpc:"2.0",method:`channels.${n}`,params:{signed_tx:a}}),{handler:Ql}}}}function Ql(e,t){const r=gl.get(e);if(null!=r){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===r.role)return{handler:Yl};if("funding_created"===t.params.data.info&&"responder"===r.role)return{handler:Yl}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===r.role)return Tl.set(e,t.params.channel_id),Ol(e,"signed"),{handler:Ql}}}function Yl(e,t){if("channels.info"===t.method){const e={funding_created:Yl,own_funding_locked:Yl,funding_locked:Xl}[t.params.data.event];if(null!=e)return{handler:e}}if("channels.on_chain_tx"===t.method)return kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yl}}function Xl(e,t){if("channels.info"===t.method&&"open"===t.params.data.event)return Tl.set(e,t.params.channel_id),{handler:Jl}}function Jl(e,t){if("channels.update"===t.method)return Ml(e,t.params.data.state),{handler:Zl}}async function Zl(e,t,r){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:rd};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return kl(e,t.params.data.event),{handler:Zl};case"fsm_up":return Il.set(e,t.params.data.fsm_id),{handler:Zl};case"timeout":case"close_mutual":case"shutdown":return{handler:Zl};case"closing":return Ol(e,"closing"),{handler:Zl};case"closed_confirmed":return Ol(e,"closed"),{handler:Nd};case"died":return Ol(e,"died"),{handler:Nd}}break;case"channels.on_chain_tx":return kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Zl};case"channels.leave":return{handler:Zl};case"channels.update":return Ml(e,t.params.data.state),{handler:Zl};case"channels.sign.shutdown_sign_ack":return await rd(e,t,r)}}async function ed(e,t,r){if("channels.sign.update"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:td,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:td,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:ed,state:r}}if("channels.error"===t.method)return r.reject(new Z(t.data.message)),{handler:Zl};if(null!=t.error){var n;const{data:e}=null!==(n=t.error)&&void 0!==n?n:{data:[]};return null!=e.find((e=>1001===e.code))?r.reject(new E("Insufficient balance")):null!=e.find((e=>1002===e.code))?r.reject(new q("Amount cannot be negative")):r.reject(new Z(t.error.message)),{handler:Zl}}return"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}function td(e,t,r){return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):null!=t.error?(r.reject(new Z(t.error.message)),{handler:Zl}):Ll(0,t,r)}async function rd(e,t,r){var n;const[,a]=null!==(n=t.method.match(/^channels\.sign\.([^.]+)$/))&&void 0!==n?n:[],i=gl.get(e);if(null!=a&&null!=i){if(null!=t.params.data.tx){const r=await i.sign(a,t.params.data.tx,{updates:t.params.data.updates});if(null!=r)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{tx:r}}),{handler:Zl}}else{const n=await $l(t.params.data.signed_tx,(async e=>await i.sign(a,e,{updates:t.params.data.updates})));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{signed_tx:n}}),{handler:Zl};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{error:n}}),{handler:nd,state:r}}return Rl(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:It().publicKey,to:It().publicKey,amount:1}}),{handler:nd,state:r}}return Ll(0,t,r)}function nd(e,t,r){return null!=t.error?{handler:nd,state:r}:"channels.conflict"===t.method?{handler:Zl}:Ll(0,t,r)}async function ad(e,t,r){return"channels.sign.shutdown_sign"===t.method?null!=t.params.data.tx?(Rl(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await r.sign(t.params.data.tx)}}),{handler:id,state:r}):(Rl(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:await $l(t.params.data.signed_tx,(async e=>await r.sign(e)))}}),{handler:id,state:r}):Ll(0,t,r)}function id(e,t,r){return"channels.on_chain_tx"===t.method?{handler:Nd,state:r}:Ll(0,t,r)}function sd(e,t,r){return"channels.leave"===t.method?(r.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Hl(e),{handler:Nd}):"channels.error"===t.method?(r.reject(new Z(t.data.message)),{handler:Zl}):Ll(0,t,r)}async function od(e,t,r){if("channels.sign.withdraw_tx"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cd,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:cd,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:cd,state:r}}return Ll(0,t,r)}function cd(e,t,r){if("channels.on_chain_tx"===t.method)return null!=r.onOnChainTx&&r.onOnChainTx(t.params.data.tx),{handler:cd,state:r};var n;if("channels.info"===t.method&&p()(n=["own_withdraw_locked","withdraw_locked"]).call(n,t.params.data.event)){const e={own_withdraw_locked:r.onOwnWithdrawLocked,withdraw_locked:r.onWithdrawLocked}[t.params.data.event];return null!=e&&e(),{handler:cd,state:r}}return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function ld(e,t,r){if("channels.sign.deposit_tx"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:dd,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:dd,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:dd,state:r}}return Ll(0,t,r)}function dd(e,t,r){if("channels.on_chain_tx"===t.method)return null!=r.onOnChainTx&&r.onOnChainTx(t.params.data.tx),{handler:dd,state:r};var n;if("channels.info"===t.method&&p()(n=["own_deposit_locked","deposit_locked"]).call(n,t.params.data.event)){const e={own_deposit_locked:r.onOwnDepositLocked,deposit_locked:r.onDepositLocked}[t.params.data.event];return null!=e&&e(),{handler:dd,state:r}}return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function ud(e,t,r){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r.sign(t.params.data.tx)}}),{handler:pd,state:r};const n=await $l(t.params.data.signed_tx,(async e=>await r.sign(e)));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:n}}),{handler:pd,state:r};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:n}}),{handler:pd,state:r}}return Ll(0,t,r)}function pd(e,t,r){const n=gl.get(e);if("channels.update"===t.method){const{round:a}=Jr(t.params.data.state,Or.signed).tx.encodedTx.tx;if(null!=(null==n?void 0:n.role)){const i="initiator"===n.role?"initiatorId":"responder"===n.role?"responderId":null;if(null!=i){const s=null==n?void 0:n[i];return Ml(e,t.params.data.state),r.resolve({accepted:!0,address:Pt(s,a),signedTx:t.params.data.state}),{handler:Zl}}}}return"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function md(e,t,r){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:gd,state:r};const n=await $l(t.params.data.signed_tx,(async e=>await r.sign(e,{updates:t.params.data.updates})));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:n}}),{handler:gd,state:r};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:n}}),{handler:gd,state:r}}return Ll(0,t,r)}async function hd(e,t,r){return"channels.sign.force_progress_tx"===t.method?(Rl(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:await $l(t.params.data.signed_tx,(async e=>await r.sign(e,{updates:t.params.data.updates})))}}),{handler:yd,state:r}):Ll(0,t,r)}function yd(e,t,r){return"channels.on_chain_tx"===t.method&&(null!=r.onOnChainTx&&r.onOnChainTx(t.params.data),kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),r.resolve({accepted:!0,tx:t.params.data.tx})),Ll(0,t,r)}function gd(e,t,r){return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}function fd(e,t,r){return"channels.calls_pruned.reply"===t.method?(r.resolve(),{handler:Zl}):(r.reject(new te("Unexpected message received")),{handler:Nd})}function Nd(e,t,r){return null==r?{handler:Nd}:"closing"===t.params.data.event?{handler:Nd,state:r}:"channel_closed"===t.params.data.info?(r.closeTx=t.params.data.tx,{handler:Nd,state:r}):"closed_confirmed"===t.params.data.event?(r.resolve(r.closeTx),{handler:Nd}):{handler:Nd,state:r}}function wd(e){return Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[(a=r,a.replace(/_./g,(e=>e[1].toUpperCase())))]:n};var a}),{})}Zl.enter=e=>{Ol(e,"open")};class bd{static async initialize(e){const t=new bd;return await Ul(t,null!=e.existingFsmId?Kl:Gl,Zl,e),t}on(e,t){const r=vl.get(this);if(null==r)throw new re;r.on(e,t)}off(e,t){const r=vl.get(this);if(null==r)throw new re;r.removeListener(e,t)}disconnect(){return Hl(this)}status(){const e=fl.get(this);if(null==e)throw new re;return e}async state(){return await wd(await Fl(this,"channels.get.offchain_state",{}))}round(){const e=Nl.get(this);if(null==e)return null;const{txType:t,tx:r}=Jr(e,Or.signed).tx.encodedTx;switch(t){case Or.channelCreate:return 1;case Or.channelOffChain:case Or.channelWithdraw:case Or.channelDeposit:return+r.round;default:return null}}id(){const e=Tl.get(this);if(null==e)throw new N("Channel is not initialized");return e}fsmId(){const e=Il.get(this);if(null==e)throw new N("Channel is not initialized");return e}async update(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),((o,c)=>(Rl(o,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:r,meta:a}}),{handler:ed,state:{resolve:i,reject:s,sign:n}})))}))}async poi(e){let{accounts:t,contracts:r}=e;return(await Fl(this,"channels.get.poi",{accounts:t,contracts:r})).poi}async balances(e){return Object.fromEntries((await Fl(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))}async leave(){return await new Promise(((e,t)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),((r,n)=>(Rl(r,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:sd,state:{resolve:e,reject:t}})))}))}async shutdown(e){return await new Promise(((t,r)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(n=>(Rl(n,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:ad,state:{sign:e,resolve:t,reject:r}})))}))}async withdraw(e,t){let{onOnChainTx:r,onOwnWithdrawLocked:n,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:od,state:{sign:t,resolve:i,reject:s,onOnChainTx:r,onOwnWithdrawLocked:n,onWithdrawLocked:a}})))}))}async deposit(e,t){let{onOnChainTx:r,onOwnDepositLocked:n,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:ld,state:{sign:t,resolve:i,reject:s,onOnChainTx:r,onOwnDepositLocked:n,onDepositLocked:a}})))}))}async createContract(e,t){let{code:r,callData:n,deposit:a,vmVersion:i,abiVersion:s}=e;return await new Promise(((e,o)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(c=>(Rl(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:r,call_data:n,deposit:a,vm_version:i,abi_version:s}}),{handler:ud,state:{sign:t,resolve:e,reject:o}})))}))}async callContract(e,t){let{amount:r,callData:n,contract:a,abiVersion:i}=e;return await new Promise(((e,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:r,call_data:n,contract_id:a,abi_version:i}}),{handler:md,state:{resolve:e,reject:s,sign:t}})))}))}async forceProgress(e,t){let{amount:r,callData:n,contract:a,abiVersion:i,gasLimit:s=1e6,gasPrice:o=1e9}=e,{onOnChainTx:c}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((e,l)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(d=>(Rl(d,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:r,call_data:n,contract_id:a,abi_version:i,gas_price:o,gas:s}}),{handler:hd,state:{resolve:e,reject:l,sign:t,onOnChainTx:c}})))}))}async callContractStatic(e){let{amount:t,callData:r,contract:n,abiVersion:a}=e;return await wd(await Fl(this,"channels.dry_run.call_contract",{amount:t,call_data:r,contract_id:n,abi_version:a}))}async getContractCall(e){let{caller:t,contract:r,round:n}=e;return await wd(await Fl(this,"channels.get.contract_call",{caller_id:t,contract_id:r,round:n}))}async getContractState(e){const t=await Fl(this,"channels.get.contract",{pubkey:e});return await wd({...t,contract:wd(t.contract)})}async cleanContractCalls(){return await new Promise(((e,t)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(r=>(Rl(r,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:fd,state:{resolve:e,reject:t}})))}))}sendMessage(e,t){let r=e;"object"==typeof e&&(r=JSON.stringify(e));const n=e=>Rl(e,{jsonrpc:"2.0",method:"channels.message",params:{info:r,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>n(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else n(this)}static async reconnect(e,t){const{sign:r}=e;return await bd.initialize({...e,reconnectTx:await r("reconnect",Xr(t,Or.channelReconnect).tx)})}}const vd=(e,t)=>(e.connect((e=>t.sendMessage(e)),(()=>t.disconnect())),t.connect((t=>e.sendMessage(t)),(()=>e.disconnect())),()=>{e.disconnect(),t.disconnect()});class Sd{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 Cd(e,t,r){!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,r)}var xd=new WeakMap,zd=new WeakMap,_d=new WeakMap;class Td extends Sd{constructor(){let{target:e,self:t=window,origin:r,sendDirection:n,receiveDirection:a=_c.to_aepp,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),Cd(this,xd,{writable:!0,value:void 0}),Cd(this,zd,{writable:!0,value:void 0}),Cd(this,_d,{writable:!0,value:void 0}),Lc()(this,zd,e),Lc()(this,_d,t),this.origin=r,this.sendDirection=n,this.receiveDirection=a}isConnected(){return null!=this.listener}connect(e,t){super.connect(e,t),this.listener=t=>{if("object"!=typeof t.data)return;if(null!=this.origin&&this.origin!==t.origin)return;if(null!=Uc()(this,zd)&&Uc()(this,zd)!==t.source)return;this.receiveMessage(t);let{data:r}=t;if(null!=r.type){if(t.data.type!==this.receiveDirection)return;r=r.data}e(r,t.origin,t.source)},Uc()(this,_d).addEventListener("message",this.listener),Lc()(this,xd,t)}disconnect(){if(super.disconnect(),null==this.listener||null==Uc()(this,xd))throw new V("Expected to not happen, required for TS");Uc()(this,_d).removeEventListener("message",this.listener),delete this.listener,Uc()(this,xd).call(this),Lc()(this,xd,void 0)}sendMessage(e){var t;if(null==Uc()(this,zd))throw new Ve("Can't send messages without target");const r=null!=this.sendDirection?{type:this.sendDirection,data:e}:e;super.sendMessage(r),Uc()(this,zd).postMessage(r,null!==(t=this.origin)&&void 0!==t?t:"*")}}const qd=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Td,t=arguments.length>1?arguments[1]:void 0;if(null==window)throw new R("Window object not found, you can run wallet detector only in browser");const r={};return e.connect(((e,n,a)=>{let{method:i,params:s}=e;if(i!==Pc.readyToConnect||null!=r[s.id])return;const o={info:s,getConnection(){const e="extension"===s.type;return new Td({sendDirection:e?_c.to_waellet:void 0,receiveDirection:e?_c.to_aepp:void 0,target:a,origin:e?window.origin:s.origin})}};r[o.info.id]=o,t({wallets:r,newWallet:o})}),(()=>{})),Object.keys(r).length>0&&t({wallets:r}),()=>e.disconnect()};class Pd extends Sd{constructor(e){let{port:t,...r}=e;super(r),this.port=t}disconnect(){super.disconnect(),this.port.disconnect()}connect(e,t){super.connect(e,t),this.port.onMessage.addListener(((t,r)=>{this.receiveMessage(t),e(t,r.name,r)})),this.port.onDisconnect.addListener(t)}sendMessage(e){super.sendMessage(e),this.port.postMessage(e)}isConnected(){return this.port.onMessage.hasListeners()}}})(),v})()));
2
2
  //# sourceMappingURL=aepp-sdk.js.map