@aeternity/aepp-sdk 10.0.0-beta.1 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +15 -14
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -27
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1 -1
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/account/{base.js → base.mjs} +23 -11
  10. package/es/account/base.mjs.map +1 -0
  11. package/es/account/{memory.js → memory.mjs} +29 -14
  12. package/es/account/memory.mjs.map +1 -0
  13. package/es/account/{multiple.js → multiple.mjs} +14 -11
  14. package/es/account/multiple.mjs.map +1 -0
  15. package/es/ae/{aens.js → aens.mjs} +69 -59
  16. package/es/ae/aens.mjs.map +1 -0
  17. package/es/ae/{aepp.js → aepp.mjs} +9 -9
  18. package/es/ae/aepp.mjs.map +1 -0
  19. package/es/ae/contract.mjs +159 -0
  20. package/es/ae/contract.mjs.map +1 -0
  21. package/es/ae/{index.js → index.mjs} +12 -10
  22. package/es/ae/index.mjs.map +1 -0
  23. package/es/ae/{oracle.js → oracle.mjs} +37 -20
  24. package/es/ae/oracle.mjs.map +1 -0
  25. package/es/ae/{universal.js → universal.mjs} +10 -10
  26. package/es/ae/universal.mjs.map +1 -0
  27. package/es/ae/{wallet.js → wallet.mjs} +10 -10
  28. package/es/ae/wallet.mjs.map +1 -0
  29. package/es/aepp-wallet-communication/schema.d.ts +74 -0
  30. package/es/bignumber.d.ts +1 -7
  31. package/es/chain/{index.js → index.mjs} +28 -8
  32. package/es/chain/index.mjs.map +1 -0
  33. package/es/chain/{node.js → node.mjs} +133 -90
  34. package/es/chain/node.mjs.map +1 -0
  35. package/es/channel/{handlers.js → handlers.mjs} +18 -20
  36. package/es/channel/handlers.mjs.map +1 -0
  37. package/es/channel/{index.js → index.mjs} +43 -22
  38. package/es/channel/index.mjs.map +1 -0
  39. package/es/channel/{internal.js → internal.mjs} +51 -35
  40. package/es/channel/internal.mjs.map +1 -0
  41. package/es/contract/aci.mjs +477 -0
  42. package/es/contract/aci.mjs.map +1 -0
  43. package/es/contract/compiler.mjs +115 -0
  44. package/es/contract/compiler.mjs.map +1 -0
  45. package/es/contract/ga/helpers.mjs +30 -0
  46. package/es/contract/ga/helpers.mjs.map +1 -0
  47. package/es/contract/ga/{index.js → index.mjs} +40 -28
  48. package/es/contract/ga/index.mjs.map +1 -0
  49. package/es/encoder.d.ts +26 -0
  50. package/es/errors.d.ts +284 -0
  51. package/es/index.mjs +57 -0
  52. package/es/index.mjs.map +1 -0
  53. package/es/node-pool/{index.js → index.mjs} +15 -12
  54. package/es/node-pool/index.mjs.map +1 -0
  55. package/es/{node.js → node.mjs} +17 -11
  56. package/es/node.mjs.map +1 -0
  57. package/es/tx/builder/constants.mjs +108 -0
  58. package/es/tx/builder/constants.mjs.map +1 -0
  59. package/es/tx/builder/field-types.mjs +74 -0
  60. package/es/tx/builder/field-types.mjs.map +1 -0
  61. package/es/tx/builder/helpers.mjs +321 -0
  62. package/es/tx/builder/helpers.mjs.map +1 -0
  63. package/es/tx/builder/{index.js → index.mjs} +92 -74
  64. package/es/tx/builder/index.mjs.map +1 -0
  65. package/es/tx/builder/{schema.js → schema.mjs} +16 -172
  66. package/es/tx/builder/schema.mjs.map +1 -0
  67. package/es/tx/{index.js → index.mjs} +106 -14
  68. package/es/tx/index.mjs.map +1 -0
  69. package/es/tx/{tx-object.js → tx-object.mjs} +31 -18
  70. package/es/tx/tx-object.mjs.map +1 -0
  71. package/es/tx/{tx.js → tx.mjs} +15 -14
  72. package/es/tx/tx.mjs.map +1 -0
  73. package/es/tx/{validator.js → validator.mjs} +72 -33
  74. package/es/tx/validator.mjs.map +1 -0
  75. package/es/typings/blakejs/index.d.mjs +2 -0
  76. package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
  77. package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +10 -8
  78. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
  79. package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +25 -17
  80. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
  81. package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +7 -3
  82. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
  83. package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +15 -8
  84. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
  85. package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
  86. package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
  87. package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +126 -72
  88. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
  89. package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +23 -14
  90. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
  91. package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +116 -91
  92. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
  93. package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
  94. package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
  95. package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
  96. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  97. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
  98. package/es/utils/amount-formatter.mjs.map +1 -0
  99. package/es/utils/{async-init.js → async-init.mjs} +8 -11
  100. package/es/utils/async-init.mjs.map +1 -0
  101. package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
  102. package/es/utils/bignumber.mjs.map +1 -0
  103. package/es/utils/{bytes.js → bytes.mjs} +16 -8
  104. package/es/utils/bytes.mjs.map +1 -0
  105. package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
  106. package/es/utils/crypto-ts.mjs.map +1 -0
  107. package/es/utils/{crypto.js → crypto.mjs} +42 -156
  108. package/es/utils/crypto.mjs.map +1 -0
  109. package/es/utils/encoder.mjs +106 -0
  110. package/es/utils/encoder.mjs.map +1 -0
  111. package/es/utils/errors.mjs +689 -0
  112. package/es/utils/errors.mjs.map +1 -0
  113. package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
  114. package/es/utils/hd-wallet.mjs.map +1 -0
  115. package/es/utils/{json-big.js → json-big.mjs} +1 -1
  116. package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
  117. package/es/utils/{keystore.js → keystore.mjs} +63 -51
  118. package/es/utils/keystore.mjs.map +1 -0
  119. package/es/utils/{mptree.js → mptree.mjs} +21 -12
  120. package/es/utils/mptree.mjs.map +1 -0
  121. package/es/utils/{other.js → other.mjs} +2 -2
  122. package/es/utils/other.mjs.map +1 -0
  123. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  124. package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
  125. package/es/utils/{string.js → string.mjs} +1 -1
  126. package/es/utils/{string.js.map → string.mjs.map} +1 -1
  127. package/es/utils/{swagger.js → swagger.mjs} +49 -15
  128. package/es/utils/swagger.mjs.map +1 -0
  129. package/package.json +49 -58
  130. package/src/account/base.js +3 -1
  131. package/src/account/memory.js +13 -8
  132. package/src/account/multiple.js +16 -6
  133. package/src/ae/aens.js +52 -58
  134. package/src/ae/aepp.js +2 -2
  135. package/src/ae/contract.js +21 -154
  136. package/src/ae/index.js +6 -4
  137. package/src/ae/oracle.js +33 -14
  138. package/src/ae/universal.js +4 -2
  139. package/src/ae/wallet.js +2 -2
  140. package/src/chain/index.js +29 -6
  141. package/src/chain/node.js +95 -65
  142. package/src/channel/handlers.js +30 -20
  143. package/src/channel/index.js +46 -16
  144. package/src/channel/internal.js +35 -30
  145. package/src/contract/aci.js +376 -0
  146. package/src/contract/compiler.js +22 -113
  147. package/src/contract/ga/helpers.js +10 -6
  148. package/src/contract/ga/index.js +31 -24
  149. package/src/index.js +9 -8
  150. package/src/node-pool/index.js +13 -10
  151. package/src/node.js +11 -10
  152. package/src/tx/builder/constants.js +100 -0
  153. package/src/tx/builder/field-types.js +61 -0
  154. package/src/tx/builder/helpers.js +99 -103
  155. package/src/tx/builder/index.js +81 -40
  156. package/src/tx/builder/schema.js +44 -132
  157. package/src/tx/index.js +101 -12
  158. package/src/tx/tx-object.js +35 -15
  159. package/src/tx/tx.js +110 -35
  160. package/src/tx/validator.js +25 -5
  161. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
  162. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
  163. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  164. package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
  165. package/src/utils/aepp-wallet-communication/helpers.js +6 -14
  166. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +106 -57
  167. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
  168. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +95 -53
  169. package/src/utils/aepp-wallet-communication/schema.ts +80 -0
  170. package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -2
  171. package/src/utils/amount-formatter.ts +4 -3
  172. package/src/utils/async-init.js +10 -6
  173. package/src/utils/bignumber.ts +1 -9
  174. package/src/utils/bytes.ts +3 -2
  175. package/src/utils/crypto-ts.ts +2 -2
  176. package/src/utils/crypto.js +11 -155
  177. package/src/utils/encoder.ts +101 -0
  178. package/src/utils/errors.ts +683 -0
  179. package/src/utils/hd-wallet.js +11 -26
  180. package/src/utils/keystore.js +57 -53
  181. package/src/utils/mptree.ts +12 -6
  182. package/src/utils/swagger.js +68 -45
  183. package/es/account/base.js.map +0 -1
  184. package/es/account/memory.js.map +0 -1
  185. package/es/account/multiple.js.map +0 -1
  186. package/es/ae/aens.js.map +0 -1
  187. package/es/ae/aepp.js.map +0 -1
  188. package/es/ae/contract.js +0 -308
  189. package/es/ae/contract.js.map +0 -1
  190. package/es/ae/index.js.map +0 -1
  191. package/es/ae/oracle.js.map +0 -1
  192. package/es/ae/universal.js.map +0 -1
  193. package/es/ae/wallet.js.map +0 -1
  194. package/es/chain/index.js.map +0 -1
  195. package/es/chain/node.js.map +0 -1
  196. package/es/channel/handlers.js.map +0 -1
  197. package/es/channel/index.js.map +0 -1
  198. package/es/channel/internal.js.map +0 -1
  199. package/es/contract/aci/helpers.js +0 -298
  200. package/es/contract/aci/helpers.js.map +0 -1
  201. package/es/contract/aci/index.js +0 -356
  202. package/es/contract/aci/index.js.map +0 -1
  203. package/es/contract/aci/transformation.js +0 -66
  204. package/es/contract/aci/transformation.js.map +0 -1
  205. package/es/contract/compiler.js +0 -242
  206. package/es/contract/compiler.js.map +0 -1
  207. package/es/contract/ga/helpers.js +0 -22
  208. package/es/contract/ga/helpers.js.map +0 -1
  209. package/es/contract/ga/index.js.map +0 -1
  210. package/es/contract/index.js +0 -158
  211. package/es/contract/index.js.map +0 -1
  212. package/es/index.js +0 -56
  213. package/es/index.js.map +0 -1
  214. package/es/node-pool/index.js.map +0 -1
  215. package/es/node.js.map +0 -1
  216. package/es/tx/builder/helpers.js +0 -318
  217. package/es/tx/builder/helpers.js.map +0 -1
  218. package/es/tx/builder/index.js.map +0 -1
  219. package/es/tx/builder/schema.js.map +0 -1
  220. package/es/tx/index.js.map +0 -1
  221. package/es/tx/tx-object.js.map +0 -1
  222. package/es/tx/tx.js.map +0 -1
  223. package/es/tx/validator.js.map +0 -1
  224. package/es/typings/blakejs/index.d.js +0 -2
  225. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  226. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  227. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  228. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  229. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  230. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  231. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  232. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  233. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  234. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  235. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  236. package/es/utils/amount-formatter.js.map +0 -1
  237. package/es/utils/async-init.js.map +0 -1
  238. package/es/utils/bignumber.js.map +0 -1
  239. package/es/utils/bytes.js.map +0 -1
  240. package/es/utils/crypto-ts.js.map +0 -1
  241. package/es/utils/crypto.js.map +0 -1
  242. package/es/utils/hd-wallet.js.map +0 -1
  243. package/es/utils/keystore.js.map +0 -1
  244. package/es/utils/mptree.js.map +0 -1
  245. package/es/utils/other.js.map +0 -1
  246. package/es/utils/swagger.js.map +0 -1
  247. package/src/contract/aci/index.js +0 -310
  248. package/src/contract/aci/transformation.js +0 -72
  249. package/src/contract/index.js +0 -159
  250. package/src/utils/aepp-wallet-communication/schema.js +0 -108
@@ -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("ed2curve"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),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("ed2curve"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),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],e[void 0],e[void 0])}(self,(function(e,t,n,r,o,a,i,s,c,u,l,d,h,p,f,m,g,y,w,b,v,x){return function(){var T={3007:function(e){e.exports=function(){return!0}},4115:function(e,t,n){var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:function(e,t,n){var r=n(7455),o=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=o},7794:function(e,t,n){var r=n(7455),o=n(6224),a=n(1894),i=n(1186),s=n(793),c=o((function(e){var t=s(i,0,a((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:function(e,t,n){var r=n(7455),o=n(6224),a=n(9002),i=n(2738),s=a((function(e,t){return 1===e?o(t):r(e,i(e,[],t))}));e.exports=s},2892:function(e,t,n){var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:function(e,t,n){var r=n(9002),o=n(4023),a=r((function(e,t){return o(e,t,[],[])}));e.exports=a},1383:function(e,t,n){var r=n(9002),o=n(4793),a=n(4877),i=n(8291),s=n(9488),c=n(123),u=n(368),l=r(o(["filter"],c,(function(e,t){return i(t)?s((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},u(t)):a(e,t)})));e.exports=l},7414:function(e,t,n){var r=n(6224)(n(5161)(!0));e.exports=r},9134:function(e,t,n){var r=n(6224),o=n(2220),a=r((function(e){return o(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=a},5713:function(e,t,n){var r=n(1361),o=n(9002)(r);e.exports=o},7455:function(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,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,s){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,s,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,s,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,s,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:function(e){e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:function(e){e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:function(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:function(e,t,n){var r=n(6224),o=n(6464);e.exports=function(e){return function t(n,a){switch(arguments.length){case 0:return t;case 1:return o(n)?t:r((function(t){return e(n,t)}));default:return o(n)&&o(a)?t:o(n)?r((function(t){return e(t,a)})):o(a)?r((function(t){return e(n,t)})):e(n,a)}}}},6370:function(e,t,n){var r=n(6224),o=n(9002),a=n(6464);e.exports=function(e){return function t(n,i,s){switch(arguments.length){case 0:return t;case 1:return a(n)?t:o((function(t,r){return e(n,t,r)}));case 2:return a(n)&&a(i)?t:a(n)?o((function(t,n){return e(t,i,n)})):a(i)?o((function(t,r){return e(n,t,r)})):r((function(t){return e(n,i,t)}));default:return a(n)&&a(i)&&a(s)?t:a(n)&&a(i)?o((function(t,n){return e(t,n,s)})):a(n)&&a(s)?o((function(t,n){return e(t,i,n)})):a(i)&&a(s)?o((function(t,r){return e(n,t,r)})):a(n)?r((function(t){return e(t,i,s)})):a(i)?r((function(t){return e(n,t,s)})):a(s)?r((function(t){return e(n,i,t)})):e(n,i,s)}}}},2738:function(e,t,n){var r=n(7455),o=n(6464);e.exports=function e(t,n,a){return function(){for(var i=[],s=0,c=t,u=0;u<n.length||s<arguments.length;){var l;u<n.length&&(!o(n[u])||s>=arguments.length)?l=n[u]:(l=arguments[s],s+=1),i[u]=l,o(l)||(c-=1),u+=1}return c<=0?a.apply(this,i):r(c,e(t,i,a))}}},4793:function(e,t,n){var r=n(219),o=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var a=Array.prototype.slice.call(arguments,0),i=a.pop();if(!r(i)){for(var s=0;s<e.length;){if("function"==typeof i[e[s]])return i[e[s]].apply(i,a);s+=1}if(o(i)){var c=t.apply(null,a);return c(i)}}return n.apply(this,arguments)}}},4023:function(e,t,n){var r=n(4118),o=n(2976),a=n(4931),i=n(7684),s=n(1361),c=n(368),u=n(6433);function l(e,t,n,a){var i=r(e),s=r(t);function c(e,t){return d(e,t,n.slice(),a.slice())}return!o((function(e,t){return!o(c,t,e)}),s,i)}function d(e,t,n,r){if(s(e,t))return!0;var o=u(e);if(o!==u(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(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===a(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!s(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!s(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(o){case"Map":return e.size===t.size&&l(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&l(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(!i(g,t)||!d(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=d},4877:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=[];n<r;)e(t[n])&&(o[o.length]=t[n]),n+=1;return o}},4931:function(e){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:function(e){e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:function(e,t,n){var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:function(e){e.exports=function(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:function(e,t,n){var r=n(1481);e.exports=function(e,t,n){var o,a;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(o=1/t;n<e.length;){if(0===(a=e[n])&&1/a===o)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(a=e[n])&&a!=a)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:function(e,t,n){var r=n(7684),o=Object.prototype.toString,a=function(){return"[object Arguments]"===o.call(arguments)?function(e){return"[object Arguments]"===o.call(e)}:function(e){return r("callee",e)}}();e.exports=a},219:function(e){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:function(e,t,n){var r=n(6224),o=n(219),a=n(190),i=r((function(e){return!!o(e)||!!e&&"object"==typeof e&&!a(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=i},7e3:function(e){e.exports=Number.isInteger||function(e){return e<<0===e}},8291:function(e){e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:function(e){e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:function(e){e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:function(e){e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:function(e,t,n){var r=n(3219);e.exports=function(e){return function t(n){for(var o,a,i,s=[],c=0,u=n.length;c<u;){if(r(n[c]))for(i=0,a=(o=e?t(n[c]):n[c]).length;i<a;)s[s.length]=o[i],i+=1;else s[s.length]=n[c];c+=1}return s}}},6692:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=Array(r);n<r;)o[n]=e(t[n]),n+=1;return o}},1361:function(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:function(e,t,n){var r=n(3219),o=n(9874),a=n(3195);function i(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 s(e,t,n,r){return e["@@transducer/result"](n[r](a(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=o(e)),r(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){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 s(e,t,n,"fantasy-land/reduce");if(null!=n[c])return i(e,t,n[c]());if("function"==typeof n.next)return i(e,t,n);if("function"==typeof n.reduce)return s(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:function(e){e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},2894:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},9874:function(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:function(e,t,n){var r=n(6224),o=n(7684),a=n(7587),i=!{toString:null}.propertyIsEnumerable("toString"),s=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),u=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},l="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],l=c&&a(e);for(t in e)!o(t,e)||l&&"length"===t||(r[r.length]=t);if(i)for(n=s.length-1;n>=0;)o(t=s[n],e)&&!u(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=l},7560:function(e,t,n){var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:function(e,t,n){var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:function(e,t,n){var r=n(9002),o=n(4793),a=n(6692),i=n(9488),s=n(2894),c=n(2220),u=n(368),l=r(o(["fantasy-land/map","map"],s,(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 i((function(n,r){return n[r]=e(t[r]),n}),{},u(t));default:return a(e,t)}})));e.exports=l},1186:function(e,t,n){var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:function(e,t,n){var r=n(9002),o=n(190),a=r((function(e,t){var n=e<0?t.length+e:e;return o(t)?t.charAt(n):t[n]}));e.exports=a},7430:function(e,t,n){var r=n(9002),o=n(4439),a=r((function(e,t){return o([e],t)[0]}));e.exports=a},4439:function(e,t,n){var r=n(9002),o=n(7e3),a=n(7041),i=r((function(e,t){return e.map((function(e){for(var n,r=t,i=0;i<e.length;){if(null==r)return;n=e[i],r=o(n)?a(n,r):r[n],i+=1}return r}))}));e.exports=i},5206:function(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:function(e,t,n){var r=n(9002),o=n(7430),a=r((function(e,t){return o([e],t)}));e.exports=a},793:function(e,t,n){var r=n(6370)(n(9488));e.exports=r},3266:function(e,t,n){var r=n(8770),o=n(9002),a=n(1383),i=o((function(e,t){return a(r(e),t)}));e.exports=i},6433:function(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:function(e,t,n){var r=n(2976),o=n(9002)((function(e,t){for(var n,o=0,a=t.length,i=[];o<a;)n=t[o],r(e,n,i)||(i[i.length]=n),o+=1;return i}));e.exports=o},6290:function(e,t,n){var r=n(7243),o=n(9002),a=n(9134),i=n(3266),s=o((function(e,t){return i(a(r)(e),t)}));e.exports=s},590:function(e){"use strict";e.exports=m},8367:function(e){"use strict";e.exports=x},3656:function(e){"use strict";e.exports=p},1031:function(t){"use strict";t.exports=e},8081:function(e){"use strict";e.exports=t},4752:function(e){"use strict";e.exports=i},9558:function(e){"use strict";e.exports=n},2405:function(e){"use strict";e.exports=v},817:function(e){"use strict";e.exports=c},2139:function(e){"use strict";e.exports=r},3550:function(e){"use strict";e.exports=u},6311:function(e){"use strict";e.exports=h},6409:function(e){"use strict";e.exports=o},3205:function(e){"use strict";e.exports=y},8097:function(e){"use strict";e.exports=w},2001:function(e){"use strict";e.exports=l},2074:function(e){"use strict";e.exports=s},4021:function(e){"use strict";e.exports=d},9174:function(e){"use strict";e.exports=a},1001:function(e){"use strict";e.exports=b},3323:function(e){"use strict";e.exports=f},3752:function(e){"use strict";e.exports=g}},I={};function C(e){var t=I[e];if(void 0!==t)return t.exports;var n=I[e]={exports:{}};return T[e](n,n.exports,C),n.exports}C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,{a:t}),t},C.d=function(e,t){for(var n in t)C.o(t,n)&&!C.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var A={};return function(){"use strict";C.r(A),C.d(A,{ACITransformation:function(){return s},AccountBase:function(){return Do},AccountMultiple:function(){return ca},Ae:function(){return Ho},Aens:function(){return la},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AmountFormatter:function(){return a},BrowserRuntimeConnection:function(){return _s},BrowserWindowMessageConnection:function(){return As},Bytes:function(){return e},Chain:function(){return ro},ChainNode:function(){return zo},Channel:function(){return vs},ContentScriptBridge:function(){return Ts},Contract:function(){return Ea},ContractCompilerAPI:function(){return ha},Crypto:function(){return r},GeneralizeAccount:function(){return Oa},HdWallet:function(){return Jr},Keystore:function(){return o},MemoryAccount:function(){return sa},Node:function(){return Vo},NodePool:function(){return Qo},Oracle:function(){return oi},RpcAepp:function(){return ai},RpcWallet:function(){return di},SCHEMA:function(){return t},Transaction:function(){return oa},Tx:function(){return no},TxBuilder:function(){return i},TxBuilderHelper:function(){return n},Universal:function(){return xs},WalletDetector:function(){return Es},genSwaggerClient:function(){return Po},verifyTransaction:function(){return Go}});var e={};C.r(e),C.d(e,{bigNumberToByteArray:function(){return k},str2buf:function(){return S},toBytes:function(){return O}});var t={};C.r(t),C.d(t,{ABI_VERSIONS:function(){return Me},AMOUNT:function(){return J},BASE_GAS:function(){return Fe},CLIENT_TTL:function(){return ie},CONTRACT_BYTE_CODE_LIMA:function(){return Xe},DEFAULT_FEE:function(){return De},DEPOSIT:function(){return X},DRY_RUN_ACCOUNT:function(){return ne},FIELD_TYPES:function(){return Ve},GAS:function(){return Z},GAS_PER_BYTE:function(){return $e},ID_TAG:function(){return We},ID_TAG_PREFIX:function(){return Ge},KEY_BLOCK_INTERVAL:function(){return Ue},MAX_AUTH_FUN_GAS:function(){return te},MIN_GAS_PRICE:function(){return ee},NAME_BID_MAX_LENGTH:function(){return he},NAME_BID_RANGES:function(){return fe},NAME_BID_TIMEOUTS:function(){return me},NAME_BID_TIMEOUT_BLOCKS:function(){return le},NAME_FEE:function(){return se},NAME_FEE_BID_INCREMENT:function(){return ue},NAME_FEE_MULTIPLIER:function(){return ce},NAME_ID_KEY:function(){return pe},NAME_MAX_CLIENT_TTL:function(){return ae},NAME_MAX_LENGTH_FEE:function(){return de},NAME_MAX_TTL:function(){return oe},NAME_TTL:function(){return re},OBJECT_ID_TX_TYPE:function(){return qe},OBJECT_TAG_SIGNED_TRANSACTION:function(){return ge},ORACLE_TTL:function(){return Q},PREFIX_ID_TAG:function(){return Le},PROTOCOL_VERSIONS:function(){return Re},PROTOCOL_VM_ABI:function(){return Be},QUERY_FEE:function(){return G},QUERY_TTL:function(){return Y},RESPONSE_TTL:function(){return z},TX_DESERIALIZATION_SCHEMA:function(){return Wt},TX_FEE_BASE_GAS:function(){return He},TX_FEE_OTHER_GAS:function(){return Ke},TX_SERIALIZATION_SCHEMA:function(){return Kt},TX_TTL:function(){return L},TX_TYPE:function(){return Pe},VALIDATION_MESSAGE:function(){return Ye},VM_VERSIONS:function(){return je},VSN:function(){return K},VSN_2:function(){return W}});var n={};C.r(n),C.d(n,{buildContractId:function(){return Xt},buildPointers:function(){return un},classify:function(){return pn},commitmentHash:function(){return tn},computeAuctionEndBlock:function(){return yn},computeBidFee:function(){return gn},createSalt:function(){return Yt},decode:function(){return nn},encode:function(){return rn},ensureNameValid:function(){return dn},formatSalt:function(){return Zt},getMinimumNameFee:function(){return mn},isAuctionName:function(){return wn},isNameValid:function(){return hn},oracleQueryId:function(){return Jt},produceNameId:function(){return en},readId:function(){return an},readInt:function(){return cn},readPointers:function(){return ln},validatePointers:function(){return fn},writeId:function(){return on},writeInt:function(){return sn}});var r={};C.r(r),C.d(r,{addressFromDecimal:function(){return In},aeEncodeKey:function(){return Un},checkSumFn:function(){return _n},decodeBase58Check:function(){return Sn},decodeBase64Check:function(){return kn},decryptData:function(){return Wn},decryptKey:function(){return Bn},encodeBase58Check:function(){return On},encodeBase64Check:function(){return En},encodeContractAddress:function(){return Pn},encodeUnsigned:function(){return Nn},encryptData:function(){return Kn},encryptKey:function(){return Rn},generateKeyPair:function(){return Mn},generateKeyPairFromSecret:function(){return jn},getAddressFromPriv:function(){return xn},hash:function(){return H},isAddressValid:function(){return Tn},isValidKeypair:function(){return Hn},messageToHash:function(){return Fn},salt:function(){return An},sha256hash:function(){return Cn},sign:function(){return qn},signMessage:function(){return $n},verify:function(){return Vn},verifyMessage:function(){return Dn}});var o={};C.r(o),C.d(o,{deriveKeyUsingArgon2id:function(){return Xn},dump:function(){return or},getAddressFromPriv:function(){return nr},recover:function(){return rr},validateKeyObj:function(){return ar}});var a={};C.r(a),C.d(a,{AE_AMOUNT_FORMATS:function(){return sr},DENOMINATION_MAGNITUDE:function(){return cr},default:function(){return gr},formatAmount:function(){return dr},toAe:function(){return ur},toAettos:function(){return lr}});var i={};C.r(i),C.d(i,{buildRawTx:function(){return Or},buildTx:function(){return Pr},buildTxHash:function(){return Mr},calculateFee:function(){return _r},calculateMinFee:function(){return Ar},default:function(){return Rr},unpackRawTx:function(){return Sr},unpackTx:function(){return jr},validateParams:function(){return kr}});var s={};C.r(s),C.d(s,{SOPHIA_TYPES:function(){return Br},decodeEvents:function(){return qr}});var c={};C.r(c),C.d(c,{ERRORS:function(){return Da},MESSAGE_DIRECTION:function(){return ja},METHODS:function(){return Fa},NOTIFICATIONS:function(){return Ra},REQUESTS:function(){return Ba},RPC_STATUS:function(){return $a},SUBSCRIPTION_TYPES:function(){return Va},SUBSCRIPTION_VALUES:function(){return qa},VERSION:function(){return Pa},WALLET_TYPE:function(){return Ma}});var u={};C.r(u),C.d(u,{getBrowserAPI:function(){return Ua},getHandler:function(){return Wa},isInIframe:function(){return Ha},isValidAccounts:function(){return za},message:function(){return La},resolveOnAccount:function(){return Xa},responseMessage:function(){return Ga},sendMessage:function(){return Ka},sendResponseMessage:function(){return Qa},voidFn:function(){return Ya}});var l=C(2139),d=C.n(l),h=C(6409),p=C.n(h),f=C(9174),m=C.n(f),g=C(4752),y=C.n(g),w=C(2074),b=C.n(w),v=C(9558),x=C.n(v);function T(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function I(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function E(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var _=C(3550).Buffer;function k(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),_.from(t,"hex")}function O(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return _.from([]);if(Number.isInteger(e)||x().isBigNumber(e)||t)return x().isBigNumber(e)||(e=new(x())(e)),k(e);if("string"==typeof e)return _.from(e);throw new Error("Byte serialization not supported")}function S(e,t){return _.from(e,t??(E(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 N=C(3007),P=C.n(N),j=C(3594),M=C.n(j),R=C(4115),B=C.n(R),q=C(7560),V=C.n(q),F=C(7794),$=C.n(F),D=C(817),U=C(3550).Buffer;function H(e){return U.from((0,D.blake2b)(e,null,32))}const K=1,W=2,L=0,G=3e4,Q={type:"delta",value:500},Y={type:"delta",value:10},z={type:"delta",value:10},X=0,J=0,Z=25e3,ee=1e9,te=5e4,ne={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},re=18e4,oe=36e3,ae=84600,ie=ae,se=0,ce=1e14,ue=.05,le=480,de=31,he=12,pe={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},fe={31:x()(3).times(ce),30:x()(5).times(ce),29:x()(8).times(ce),28:x()(13).times(ce),27:x()(21).times(ce),26:x()(34).times(ce),25:x()(55).times(ce),24:x()(89).times(ce),23:x()(144).times(ce),22:x()(233).times(ce),21:x()(377).times(ce),20:x()(610).times(ce),19:x()(987).times(ce),18:x()(1597).times(ce),17:x()(2584).times(ce),16:x()(4181).times(ce),15:x()(6765).times(ce),14:x()(10946).times(ce),13:x()(17711).times(ce),12:x()(28657).times(ce),11:x()(46368).times(ce),10:x()(75025).times(ce),9:x()(121393).times(ce),8:x()(196418).times(ce),7:x()(317811).times(ce),6:x()(514229).times(ce),5:x()(832040).times(ce),4:x()(1346269).times(ce),3:x()(2178309).times(ce),2:x()(3524578).times(ce),1:x()(5702887).times(ce)},me={13:x()(0),12:x()(le),8:x()(31).times(le),4:x()(62).times(le)},ge=11,ye=521,we=570,be=571,ve=572,xe=573,Te=574,Ie=575,Ce=621,Ae=622,Ee=623,_e=624,ke=625,Oe=626,Se=(e,t,n)=>[e,t,n],Ne=(e,t)=>[e,t],Pe={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"},je={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Me={NO_ABI:0,SOPHIA:1,FATE:3},Re={IRIS:5},Be={[Re.IRIS]:{[Pe.contractCreate]:{vmVersion:[je.FATE_2],abiVersion:[Me.FATE]},[Pe.contractCall]:{vmVersion:[je.FATE_2,je.FATE,je.SOPHIA_IMPROVEMENTS_LIMA,je.SOPHIA_IMPROVEMENTS_FORTUNA,je.SOPHIA,je.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Me.FATE,Me.SOPHIA]},[Pe.oracleRegister]:{vmVersion:[],abiVersion:[Me.NO_ABI,Me.SOPHIA]}}},qe={10:Pe.account,[ge]:Pe.signed,12:Pe.spend,32:Pe.nameClaim,33:Pe.namePreClaim,34:Pe.nameUpdate,35:Pe.nameRevoke,36:Pe.nameTransfer,40:Pe.contract,42:Pe.contractCreate,43:Pe.contractCall,41:Pe.contractCallResult,22:Pe.oracleRegister,25:Pe.oracleExtend,23:Pe.oracleQuery,24:Pe.oracleResponse,50:Pe.channelCreate,53:Pe.channelCloseMutual,54:Pe.channelCloseSolo,55:Pe.channelSlash,[ye]:Pe.channelForceProgress,51:Pe.channelDeposit,52:Pe.channelWithdraw,56:Pe.channelSettle,57:Pe.channelOffChain,58:Pe.channel,59:Pe.channelSnapshotSolo,[we]:Pe.channelOffChainUpdateTransfer,[be]:Pe.channelOffChainUpdateDeposit,[ve]:Pe.channelOffChainUpdateWithdrawal,[xe]:Pe.channelOffChainCreateContract,[Te]:Pe.channelOffChainCallContract,[Ie]:Pe.channelReconnect,60:Pe.proofOfInclusion,62:Pe.stateTrees,63:Pe.merklePatriciaTree,64:Pe.merklePatriciaTreeValue,[Ce]:Pe.contractsTree,[Ae]:Pe.contractCallsTree,[Ee]:Pe.channelsTree,[_e]:Pe.nameserviceTree,[ke]:Pe.oraclesTree,[Oe]:Pe.accountsTree,80:Pe.gaAttach,81:Pe.gaMeta,82:Pe.payingFor,70:Pe.sophiaByteCode},Ve={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"},Fe=15e3,$e=20,De=2e4,Ue=3,He=e=>{const t={[Pe.channelForceProgress]:30,[Pe.channelOffChain]:0,[Pe.channelOffChainCallContract]:0,[Pe.channelOffChainCreateContract]:0,[Pe.channelOffChainUpdateDeposit]:0,[Pe.channelOffChainUpdateWithdrawal]:0,[Pe.channelOffChainUpdateTransfer]:0,[Pe.contractCreate]:5,[Pe.contractCall]:12,[Pe.gaAttach]:5,[Pe.gaMeta]:5,[Pe.payingFor]:.2}[e]||1;return new(x())(t*Fe)},Ke=(e,t,n)=>{let{relativeTtl:r,innerTxSize:o}=n;switch(e){case Pe.oracleRegister:case Pe.oracleExtend:case Pe.oracleQuery:case Pe.oracleResponse:return new(x())(t).times($e).plus(Math.ceil(32e3*r/Math.floor(525600/Ue)));case Pe.gaMeta:case Pe.payingFor:return new(x())(t).minus(o).times($e);default:return new(x())(t).times($e)}},We={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Le={ak:We.account,nm:We.name,cm:We.commitment,ok:We.oracle,ct:We.contract,ch:We.channel},Ge=(Qe=Le,Object.entries(Qe).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Qe;const Ye={[Ve.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Ve.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Ve.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Ve.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Ve.string]:e=>{let{value:t}=e;return"Not a string"},[Ve.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"}\''},[Ve.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},ze=[Se("tag",Ve.int),Se("VSN",Ve.int)],Xe=[...ze,Se("sourceCodeHash",Ve.rawBinary),Se("typeInfo",Ve.sophiaCodeTypeInfo),Se("byteCode",Ve.rawBinary),Se("compilerVersion",Ve.string),Se("payable",Ve.bool)],Je=[...ze,Se("flags",Ve.int),Se("nonce",Ve.int),Se("balance",Ve.int),Se("gaContract",Ve.id,["ct","nm"]),Se("gaAuthFun",Ve.binary,"cb")],Ze=[...ze,Se("senderId",Ve.id,"ak"),Se("recipientId",Ve.id,["ak","nm"]),Se("amount",Ve.amount),Se("fee",Ve.int),Se("ttl",Ve.int),Se("nonce",Ve.int),Se("payload",Ve.payload)],et=[...ze,Se("signatures",Ve.signatures),Se("encodedTx",Ve.rlpBinary)],tt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("commitmentId",Ve.id,"cm"),Se("fee",Ve.int),Se("ttl",Ve.int)],nt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("name",Ve.binary,"nm"),Se("nameSalt",Ve.int),Se("nameFee",Ve.amount),Se("fee",Ve.int),Se("ttl",Ve.int)],rt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("nameTtl",Ve.int),Se("pointers",Ve.pointers),Se("clientTtl",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],ot=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("recipientId",Ve.id,["ak","nm"]),Se("fee",Ve.int),Se("ttl",Ve.int)],at=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("fee",Ve.int),Se("ttl",Ve.int)],it=[...ze,Se("owner",Ve.id,"ak"),Se("ctVersion",Ve.int),Se("code",Ve.binary,"cb"),Se("log",Ve.binary,"cb"),Se("active",Ve.bool),Se("referers",Ve.ids,"ak"),Se("deposit",Ve.amount)],st=[...ze,Se("ownerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("code",Ve.binary,"cb"),Se("authFun",Ve.rawBinary),Se("ctVersion",Ve.ctVersion),Se("fee",Ve.int),Se("ttl",Ve.int),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],ct=[...ze,Se("gaId",Ve.id,"ak"),Se("authData",Ve.binary,"cb"),Se("abiVersion",Ve.int),Se("fee",Ve.int),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("tx",Ve.rlpBinary)],ut=[...ze,Se("payerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("fee",Ve.int),Se("tx",Ve.rlpBinary)],lt=[...ze,Se("ownerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("code",Ve.binary,"cb"),Se("ctVersion",Ve.ctVersion),Se("fee",Ve.int),Se("ttl",Ve.int),Se("deposit",Ve.amount),Se("amount",Ve.amount),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],dt=[...ze,Se("callerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("contractId",Ve.id,["ct","nm"]),Se("abiVersion",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int),Se("amount",Ve.amount),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],ht=[...ze,Se("callerId",Ve.id,"ak"),Se("callerNonce",Ve.int),Se("height",Ve.int),Se("contractId",Ve.id,"ct"),Se("gasPrice",Ve.int),Se("gasUsed",Ve.int),Se("returnValue",Ve.binary,"cb"),Se("returnType",Ve.callReturnType),Se("log",Ve.rawBinary)],pt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("queryFormat",Ve.string),Se("responseFormat",Ve.string),Se("queryFee",Ve.amount),Se("oracleTtlType",Ve.int),Se("oracleTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int),Se("abiVersion",Ve.int)],ft=[...ze,Se("oracleId",Ve.id,["ok","nm"]),Se("nonce",Ve.int),Se("oracleTtlType",Ve.int),Se("oracleTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],mt=[...ze,Se("senderId",Ve.id,"ak"),Se("nonce",Ve.int),Se("oracleId",Ve.id,["ok","nm"]),Se("query",Ve.string),Se("queryFee",Ve.amount),Se("queryTtlType",Ve.int),Se("queryTtlValue",Ve.int),Se("responseTtlType",Ve.int),Se("responseTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],gt=[...ze,Se("oracleId",Ve.id,"ok"),Se("nonce",Ve.int),Se("queryId",Ve.binary,"oq"),Se("response",Ve.string),Se("responseTtlType",Ve.int),Se("responseTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],yt=[...ze,Se("initiator",Ve.id,"ak"),Se("initiatorAmount",Ve.int),Se("responder",Ve.id,"ak"),Se("responderAmount",Ve.int),Se("channelReserve",Ve.int),Se("lockPeriod",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("initiatorDelegateIds",Ve.string),Se("responderDelegateIds",Ve.string),Se("stateHash",Ve.binary,"st"),Se("nonce",Ve.int)],wt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("amount",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("stateHash",Ve.binary,"st"),Se("round",Ve.int),Se("nonce",Ve.int)],bt=[...ze,Se("channelId",Ve.id,"ch"),Se("toId",Ve.id,"ak"),Se("amount",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("stateHash",Ve.binary,"st"),Se("round",Ve.int),Se("nonce",Ve.int)],vt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("initiatorAmountFinal",Ve.int),Se("responderAmountFinal",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],xt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("poi",Ve.binary,"pi"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],Tt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("poi",Ve.binary,"pi"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],It=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("initiatorAmountFinal",Ve.int),Se("responderAmountFinal",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],Ct=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("round",Ve.int),Se("update",Ve.binary),Se("stateHash",Ve.binary),Se("offChainTrees",Ve.stateTree),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],At=[...ze,Se("channelId",Ve.id,"ch"),Se("round",Ve.int),Se("stateHash",Ve.binary,"st")],Et=[...ze,Se("initiator",Ve.id,"ak"),Se("responder",Ve.id,"ak"),Se("channelAmount",Ve.int),Se("initiatorAmount",Ve.int),Se("responderAmount",Ve.int),Se("channelReserve",Ve.int),Se("initiatorDelegateIds",Ve.ids),Se("responderDelegateIds",Ve.ids),Se("stateHash",Ve.hex),Se("round",Ve.int),Se("soloRound",Ve.int),Se("lockPeriod",Ve.int),Se("lockedUntil",Ve.int),Se("initiatorAuth",Ve.binary,"cb"),Se("responderAuth",Ve.binary,"cb")],_t=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],kt=[...ze,Se("owner",Ve.id,"ak"),Se("ctVersion",Ve.int),Se("code",Ve.binary,"cb"),Se("deposit",Ve.int),Se("callData",Ve.binary,"cb")],Ot=[...ze,Se("caller",Ve.id,"ak"),Se("contract",Ve.id,"ct"),Se("abiVersion",Ve.int),Se("amount",Ve.int),Se("callData",Ve.binary,"cb"),Se("callStack",Ve.callStack),Se("gasPrice",Ve.int),Se("gasLimit",Ve.int)],St=[...ze,Se("channelId",Ve.id,"ch"),Se("round",Ve.int),Se("role",Ve.string),Se("pubkey",Ve.id,"ak")],Nt=[...ze,Se("from",Ve.id,"ak"),Se("to",Ve.id,"ak"),Se("amount",Ve.int)],Pt=[...ze,Se("from",Ve.id,"ak"),Se("amount",Ve.int)],jt=[...ze,Se("from",Ve.id,"ak"),Se("amount",Ve.int)],Mt=[...ze,Se("accounts",Ve.mptrees),Se("calls",Ve.mptrees),Se("channels",Ve.mptrees),Se("contracts",Ve.mptrees),Se("ns",Ve.mptrees),Se("oracles",Ve.mptrees)],Rt=[...ze,Se("contracts",Ve.rlpBinary),Se("calls",Ve.rlpBinary),Se("channels",Ve.rlpBinary),Se("ns",Ve.rlpBinary),Se("oracles",Ve.rlpBinary),Se("accounts",Ve.rlpBinary)],Bt=[...ze,Se("values",Ve.rlpBinaries)],qt=[...ze,Se("key",Ve.hex),Se("value",Ve.rawBinary)],Vt=[...ze,Se("contracts",Ve.rlpBinary)],Ft=[...ze,Se("calls",Ve.rlpBinary)],$t=[...ze,Se("channels",Ve.rlpBinary)],Dt=[...ze,Se("mtree",Ve.rlpBinary)],Ut=[...ze,Se("otree",Ve.rlpBinary)],Ht=[...ze,Se("accounts",Ve.rlpBinary)],Kt={[Pe.account]:{2:Ne(Je,10)},[Pe.signed]:{1:Ne(et,ge)},[Pe.spend]:{1:Ne(Ze,12)},[Pe.namePreClaim]:{1:Ne(tt,33)},[Pe.nameClaim]:{2:Ne(nt,32)},[Pe.nameUpdate]:{1:Ne(rt,34)},[Pe.nameTransfer]:{1:Ne(ot,36)},[Pe.nameRevoke]:{1:Ne(at,35)},[Pe.contract]:{1:Ne(it,40)},[Pe.contractCreate]:{1:Ne(lt,42)},[Pe.contractCall]:{1:Ne(dt,43)},[Pe.contractCallResult]:{1:Ne(ht,41)},[Pe.oracleRegister]:{1:Ne(pt,22)},[Pe.oracleExtend]:{1:Ne(ft,25)},[Pe.oracleQuery]:{1:Ne(mt,23)},[Pe.oracleResponse]:{1:Ne(gt,24)},[Pe.channelCreate]:{2:Ne(yt,50)},[Pe.channelCloseMutual]:{1:Ne(vt,53)},[Pe.channelCloseSolo]:{1:Ne(xt,54)},[Pe.channelSlash]:{1:Ne(Tt,55)},[Pe.channelDeposit]:{1:Ne(wt,51)},[Pe.channelWithdraw]:{1:Ne(bt,52)},[Pe.channelSettle]:{1:Ne(It,56)},[Pe.channelForceProgress]:{1:Ne(Ct,ye)},[Pe.channelOffChain]:{2:Ne(At,57)},[Pe.channel]:{3:Ne(Et,58)},[Pe.channelSnapshotSolo]:{1:Ne(_t,59)},[Pe.channelOffChainUpdateTransfer]:{1:Ne(Nt,we)},[Pe.channelOffChainUpdateDeposit]:{1:Ne(Pt,be)},[Pe.channelOffChainUpdateWithdrawal]:{1:Ne(jt,ve)},[Pe.channelOffChainCreateContract]:{1:Ne(kt,xe)},[Pe.channelOffChainCallContract]:{1:Ne(Ot,Te)},[Pe.channelReconnect]:{1:Ne(St,Ie)},[Pe.proofOfInclusion]:{1:Ne(Mt,60)},[Pe.stateTrees]:{1:Ne(Rt,62)},[Pe.merklePatriciaTree]:{1:Ne(Bt,63)},[Pe.merklePatriciaTreeValue]:{1:Ne(qt,64)},[Pe.contractsTree]:{1:Ne(Vt,Ce)},[Pe.contractCallsTree]:{1:Ne(Ft,Ae)},[Pe.channelsTree]:{1:Ne($t,Ee)},[Pe.nameserviceTree]:{1:Ne(Dt,_e)},[Pe.oraclesTree]:{1:Ne(Ut,ke)},[Pe.accountsTree]:{1:Ne(Ht,Oe)},[Pe.gaAttach]:{1:Ne(st,80)},[Pe.gaMeta]:{2:Ne(ct,81)},[Pe.payingFor]:{1:Ne(ut,82)}},Wt={10:{2:Ne(Je,10)},[ge]:{1:Ne(et,ge)},12:{1:Ne(Ze,12)},33:{1:Ne(tt,33)},32:{2:Ne(nt,32)},34:{1:Ne(rt,34)},36:{1:Ne(ot,36)},35:{1:Ne(at,35)},40:{1:Ne(it,40)},42:{1:Ne(lt,42)},43:{1:Ne(dt,43)},41:{1:Ne(ht,41)},22:{1:Ne(pt,22)},25:{1:Ne(ft,25)},23:{1:Ne(mt,23)},24:{1:Ne(gt,24)},50:{2:Ne(yt,50)},53:{1:Ne(vt,53)},54:{1:Ne(xt,54)},55:{1:Ne(Tt,55)},51:{1:Ne(wt,51)},52:{1:Ne(bt,52)},56:{1:Ne(It,56)},57:{2:Ne(At,57)},58:{3:Ne(Et,58)},59:{1:Ne(_t,59)},[we]:{1:Ne(Nt,we)},[be]:{1:Ne(Pt,be)},[ve]:{1:Ne(jt,ve)},[xe]:{1:Ne(kt,xe)},[Te]:{1:Ne(Ot,Te)},[Ie]:{1:Ne(St,Ie)},60:{1:Ne(Mt,60)},62:{1:Ne(Rt,62)},63:{1:Ne(Bt,63)},64:{1:Ne(qt,64)},[Ce]:{1:Ne(Vt,Ce)},[Ae]:{1:Ne(Ft,Ae)},[Ee]:{1:Ne($t,Ee)},[_e]:{1:Ne(Dt,_e)},[ke]:{1:Ne(Ut,ke)},[Oe]:{1:Ne(Ht,Oe)},80:{1:Ne(st,80)},81:{2:Ne(ct,81)},82:{1:Ne(ut,82)},[ye]:{1:Ne(Ct,ye)},70:{3:Ne(Xe,70)}},Lt=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||x().isBigNumber(e)),Gt=e=>e.integerValue(x().ROUND_CEIL);var Qt=C(3550).Buffer;const Yt=An,zt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Xt(e,t){return rn(H(Qt.from([...nn(e,"ak"),...O(t)])),"ct")}function Jt(e,t,n){return rn(H(Qt.from([...nn(e,"ak"),...function(e){const t=O(e,!0);return Qt.concat([Qt.alloc(32-t.length),t])}(t),...nn(n,"ok")])),"oq")}function Zt(e){return Qt.from(e.toString(16).padStart(64,"0"),"hex")}function en(e){return dn(e),rn(H(e.toLowerCase()),"nm")}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yt();return dn(e),`cm_${On(H(Qt.concat([Qt.from(e.toLowerCase()),Zt(t)])))}`}function nn(e,t){const[n,r,o]=e.split("_");if(o)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(zt.includes(n)?kn:Sn)(r)}function rn(e,t){return`${t}_${zt.includes(t)?En(e):On(e)}`}function on(e){const t=e.slice(0,2),n=Le[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Qt.from([...O(n),...nn(e,t)])}function an(e){const t=e.readUIntBE(0,1),n=Ge[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return rn(e.slice(1,e.length),n)}function sn(e){return O(e,!0)}function cn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qt.from([]);return x()(e.toString("hex"),16).toString(10)}function un(e){return e.map((e=>[O(e.key),on(e.id)]))}function ln(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:an(n)})}))}function dn(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 hn(e){try{return dn(e),!0}catch(e){return!1}}function pn(e){if(!e.match(/^[a-z]{2}_.+/))throw new Error("Not a valid hash");const t=e.substr(0,2);if(t in pe)return pe[t];throw new Error(`Unknown class ${t}`)}function fn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!e.find((e=>!e||"string"!=typeof e||!["ak","ok","ct","ch"].includes(e.split("_")[0])))}function mn(e){const t=e.replace(".chain","").length;return fe[t>=de?de:t]}function gn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ue;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<ue)throw new Error(`minimum increment percentage is ${ue}`);return Gt(x()(x()(t).eq(se)?mn(e):t).times(x()(ue).plus(1)))}function yn(e,t){return $()([[V()(5),B()(me[4].plus(t))],[V()(9),B()(me[8].plus(t))],[M()(he),B()(me[12].plus(t))],[P(),B()(x()(t))]])(e.replace(".chain","").length).toString(10)}function wn(e){return e.replace(".chain","").length<13}var bn=C(3550).Buffer;const vn=y().ModeOfOperation.ecb;function xn(e){const t=m().sign.keyPair.fromSecretKey(S(e));return`ak_${On(bn.from(t.publicKey))}`}function Tn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===nn(e,t).length}catch(e){return!1}}function In(e){return Un(O(e,!0))}function Cn(e){return b()("sha256").update(e).digest()}function An(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function En(e){const t=bn.from(e),n=_n(e);return bn.concat([t,n],t.length+4).toString("base64")}function _n(e){return Cn(Cn(e)).slice(0,4)}function kn(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=_n(t);if(n.equals(r))return t}(bn.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return bn.from(t)}function On(e){return d().encode(bn.from(e))}function Sn(e){return d().decode(e)}function Nn(e){const t=bn.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Pn(e,t){const n=nn(e,"ak");return`ct_${On(H(bn.concat([n,Nn(t)])))}`}function jn(e){return m().sign.keyPair.fromSecretKey(e)}function Mn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=m().sign.keyPair(),n=bn.from(t.publicKey),r=bn.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${On(n)}`,secretKey:r.toString("hex")}}function Rn(e,t){const n=Cn(e);return new vn(n).encrypt(t)}function Bn(e,t){const n=bn.from(t),r=Cn(e),o=new vn(r);return bn.from(o.decrypt(n))}function qn(e,t){return m().sign.detached(bn.from(e),bn.from(t))}function Vn(e,t,n){return m().sign.detached.verify(new Uint8Array(e),t,n)}function Fn(e){const t=bn.from("aeternity Signed Message:\n","utf8"),n=bn.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return H(bn.concat([bn.from([t.length]),t,bn.from([n.length]),n]))}function $n(e,t){return qn(Fn(e),t)}function Dn(e,t,n){return Vn(Fn(e),t,n)}function Un(e){return`ak_${On(bn.from(e,"hex"))}`}function Hn(e,t){const n=bn.from("TheMessage");return Vn(n,qn(n,e),t)}function Kn(e,t){const n=m().box.keyPair(),r=nn(t,"ak"),o=m().randomBytes(m().box.nonceLength),a=m().box(bn.from(e),o,p().convertPublicKey(r),n.secretKey);return{ciphertext:bn.from(a).toString("hex"),ephemPubKey:bn.from(n.publicKey).toString("hex"),nonce:bn.from(o).toString("hex"),version:"x25519-xsalsa20-poly1305"}}function Wn(e,t){const n=p().convertSecretKey(bn.from(e,"hex")),r=bn.from(t.nonce,"hex"),o=bn.from(t.ciphertext,"hex"),a=bn.from(t.ephemPubKey,"hex"),i=m().box.open(o,r,a,n);return i?bn.from(i):i}var Ln=C(3323),Gn=C(3550).Buffer;const Qn=C(8097),Yn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},zn={argon2id:Xn};async function Xn(e,t,n){const{memlimit_kib:r,opslimit:o}=n.kdf_params;return Qn.ready.then((async()=>{const n=Qn,a=n.crypto_pwhash(32,e,t,o,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Gn.from(a)}))}const Jn={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return m().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const o=m().secretbox.open(t,r,n);if(!o)throw new Error("Invalid password or nonce");return o}}};function Zn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Yn.crypto.symmetric_alg;if(!Jn[r])throw new Error(r+" is not available");return Jn[r].encrypt({plaintext:e,nonce:n,key:t})}async function er(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Yn.crypto.kdf_params,kdf:Yn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call(zn,n.kdf))throw new Error("Unsupported kdf type");return zn[n.kdf](e,t,n)}function tr(e,t,n,r,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Yn.crypto,a);return Object.assign({name:e,version:1,public_key:nr(n),id:(0,Ln.v4)()},{crypto:Object.assign({secret_type:i.secret_type,symmetric_alg:i.symmetric_alg,ciphertext:Gn.from(Zn(Gn.from(n),t,r,i.symmetric_alg)).toString("hex"),cipher_params:{nonce:Gn.from(r).toString("hex")}},{kdf:i.kdf,kdf_params:{...i.kdf_params,salt:Gn.from(o).toString("hex")}})})}function nr(e){const t=m().sign.keyPair.fromSecretKey(S(e));return`ak_${On(Gn.from(t.publicKey))}`}async function rr(e,t){ar(t);const n=Uint8Array.from(S(t.crypto.cipher_params.nonce)),r=Uint8Array.from(S(t.crypto.kdf_params.salt)),o=t.crypto.kdf_params,a=t.crypto.kdf,i=await function(e,t,n,r){if(!Jn[r])throw new Error(r+" is not available");return Jn[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(S(t.crypto.ciphertext)),await er(e,r,{kdf:a,kdf_params:o}),n,t.crypto.symmetric_alg);if(!i)throw new Error("Invalid password");return 64===Gn.from(i).length?Gn.from(i).toString("hex"):Gn.from(i).toString("utf-8")}async function or(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:m().randomBytes(24),o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:m().randomBytes(16),a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Yn.crypto,a);return tr(e,await er(t,o,i),n,r,o,i)}function ar(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 ir=C(2001);const sr={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},cr={[sr.AE]:0,[sr.MILI_AE]:-3,[sr.MICRO_AE]:-6,[sr.NANO_AE]:-9,[sr.PICO_AE]:-12,[sr.FEMTO_AE]:-15,[sr.AETTOS]:-18},ur=function(e){let{denomination:t=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return dr(e,{denomination:t,targetDenomination:sr.AE})},lr=function(e){let{denomination:t=sr.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return dr(e,{denomination:t})},dr=function(e){let{denomination:t=sr.AETTOS,targetDenomination:n=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(sr);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Lt(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(x())(e).shiftedBy(cr[t]-cr[n]).toFixed()},hr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],pr=e=>hr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),fr=e=>hr.find((t=>t.magnitude<=e))??hr[hr.length-1];var mr,gr=e=>{const t=new(x())(e),n=t.e??0,{name:r,magnitude:o}=(n<0?pr:fr)(n);return`${t.shiftedBy(-o).precision(9+Math.min(n-o,0)).toFixed()}${""!==r?" ":""}${r}`},yr=C(3550).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(mr||(mr={}));class wr{static nodeHash(e){return yr.from(H((0,ir.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(wr.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:o}=wr.parseNode(n);switch(r){case mr.Branch:o.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 mr.Extension:if(void 0===this.nodes[o[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:mr.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?mr.Extension:mr.Leaf,o=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(o)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[yr.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[yr.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:o}=wr.parseNode(this.nodes[t]);switch(n){case mr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case mr.Extension:if(e.substr(0,null==o?void 0:o.length)!==o)return;t=r[0].toString("hex"),e=e.substr(o.length);break;case mr.Leaf:if(o!==e)return;return r[0]}}}}var br=C(3550).Buffer;const vr="delta";function xr(e,t,n){if(!e)return"";switch(t){case Ve.ctVersion:{const[t,,n]=e;return{vmVersion:cn(br.from([t])),abiVersion:cn(br.from([n]))}}case Ve.amount:case Ve.int:return cn(e);case Ve.id:return an(e);case Ve.ids:return e.map(an);case Ve.bool:return 1===e[0];case Ve.binary:return rn(e,n);case Ve.stateTree:return rn(e,"ss");case Ve.string:return e.toString();case Ve.payload:return rn(e,"ba");case Ve.pointers:return ln(e);case Ve.rlpBinary:return jr(e,!0);case Ve.rlpBinaries:return e.map((e=>jr(e,!0)));case Ve.rawBinary:return e;case Ve.hex:return e.toString("hex");case Ve.offChainUpdates:return e.map((e=>jr(e,!0)));case Ve.callStack:return[cn(e)];case Ve.mptrees:return e.map((e=>new wr(e)));case Ve.callReturnType:switch(cn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Ve.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,o,a]=t;return{...e,[r.toString()]:{funHash:n,argType:o,outType:a}}}),{});default:return e}}function Tr(e,t,n){switch(t){case Ve.amount:case Ve.int:return sn(e);case Ve.id:return on(e);case Ve.ids:return e.map(on);case Ve.bool:return br.from([e?1:0]);case Ve.binary:return nn(e,n);case Ve.stateTree:return nn(e,"ss");case Ve.hex:return br.from(e,"hex");case Ve.signatures:return e.map(br.from);case Ve.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?nn(e,"ba"):O(e);case Ve.string:return O(e);case Ve.pointers:return un(e);case Ve.rlpBinary:return e.rlpEncoded??e;case Ve.mptrees:return e.map((e=>e.serialize()));case Ve.ctVersion:return br.from([...O(e.vmVersion),0,...O(e.abiVersion)]);case Ve.callReturnType:switch(e){case"ok":return sn(0);case"error":return sn(1);case"revert":return sn(2);default:return e}default:return e}}function Ir(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Ve.amount})).reduce(((t,r)=>{let[o]=r;return{...e,[o]:dr(e[o],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,o]=t;return r.includes(n)&&(e[n]=o),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=o.type===vr?0:1,e[`${n}Value`]=o.value),e}),{})}function Cr(e,t){const n={[Pe.oracleRegister]:"oracleTtl",[Pe.oracleExtend]:"oracleTtl",[Pe.oracleQuery]:"queryTtl",[Pe.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ar(e,t){let{gas:n=0,params:r,vsn:o}=t;const a=x()(1e9);if(!r)return x()(De).times(a).toString(10);let i=Er(e,{params:{...r,fee:0},multiplier:a,gas:n,vsn:o}),s=x()(0);for(;!i.eq(s);)i=Er(e,{params:{...r,fee:i},multiplier:a,gas:n,vsn:o}),s=i;return s.toString(10)}function Er(e,t){let{params:n,gas:r=0,multiplier:o,vsn:a}=t;const{rlpEncoded:i}=Pr({...n},e,{vsn:a}),s=i.length;return He(e).plus(Ke(e,s,{relativeTtl:Cr(n,e),innerTxSize:[Pe.gaMeta,Pe.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(o)}function _r(){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:o=!0,vsn:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&o&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${De})`),e||Ar(t,{params:r,gas:n,vsn:a})}function kr(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,o,a]=n;return Object.assign(t,function(e,t,n,r){const o=(e,r)=>e?{}:{[t]:Ye[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Ve.amount:case Ve.int:{const t=(!isNaN(e)||x().isBigNumber(e))&&x()(e).lt(0);return o((!isNaN(e)||x().isBigNumber(e))&&x()(e).gte(0),{value:e,isMinusValue:t})}case Ve.id:return o((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Le[e.split("_")[0]],{value:e,prefix:r});case Ve.binary:return o(e.split("_")[0]===r,{prefix:r,value:e});case Ve.string:return o(!0);case Ve.ctVersion:return o("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Ve.pointers:return o(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,o,a))}),{})}function Or(e,t){let{excludeKeys:n=[],denomination:r=sr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=t.filter((e=>{let[t]=e;return!n.includes(t)})),a=kr(e=Ir(e,o,{denomination:r}),t,{excludeKeys:n});if(Object.keys(a).length)throw new Error("Transaction build error. "+JSON.stringify(a));return o.map((t=>{let[n,r,o]=t;return Tr(e[n],r,o)}))}function Sr(e,t){return t.reduce(((t,n,r)=>{let[o,a,i]=n;return Object.assign(t,{[o]:xr(e[r],a,i)})}),{})}const Nr=e=>{let{vsn:t,objId:n,type:r}=e;const o=!!n,a=o?n:r,i=o?Wt:Kt;if(!i[a])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r}`);if(!i[a][t])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r} version ${t}`);return i[a][t]};function Pr(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:o=K,denomination:a=sr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[i,s]=Nr({type:t,vsn:o}),c=Or({...e,VSN:o,tag:s},i,{excludeKeys:n,denomination:e.denomination||a}).filter((e=>void 0!==e)),u=(0,ir.encode)(c),l=rn(u,r);return{tx:l,rlpEncoded:u,binary:c,txObject:Sr(c,i)}}function jr(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:nn(e,n),o=(0,ir.decode)(r),a=cn(o[0]),i=cn(o[1]),[s]=Nr({objId:a,vsn:i});return{txType:qe[a],tx:Sr(o,s),rlpEncoded:r,binary:o}}function Mr(e){return rn(H("string"==typeof e&&e.startsWith("tx_")?nn(e,"tx"):e),"th")}var Rr={calculateMinFee:Ar,calculateFee:_r,unpackTx:jr,unpackRawTx:Sr,buildTx:Pr,buildRawTx:Or,validateParams:kr,buildTxHash:Mr};const Br=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),qr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...o]=n.topics,a=t.find((e=>H(e.name).equals(O(r,!0))));if(!a)return e;const i=a.types.filter((e=>e===Br.string)).length;if(i>1)throw new Error(`Event schema contains more than one string: ${a.types}`);const s=a.types.length-i;if(s!==o.length)throw new Error(`Schema defines ${s} types, but ${o.length} topics present`);return e.push({...n,name:a.name,decoded:a.types.map((e=>Vr(e===Br.string?n.data:o.shift(),e)))}),e}),[])};function Vr(e,t){switch(t){case Br.int:return n=e,new(x())(n.toString()).toString(10);case Br.bool:return!!e;case Br.hash:return O(e,!0).toString("hex");case Br.address:return In(e);case Br.string:return nn(e).toString("utf-8");default:return O(e,!0)}var n}var Fr=C(1001),$r=C(2405),Dr=C(8367),Ur=C(3550).Buffer;const Hr=Ur.from("ed25519 seed"),Kr=2147483648,Wr=e=>Ur.from(e).toString("hex");function Lr(e,t){const n=""===e?[]:(0,$r.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Kr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Xr(e,t)),t)}function Gr(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=zr(t);return Lr(e.slice(2),n)}function Qr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:Wr(t),publicKey:`ak_${On(n)}`}}function Yr(e){return m().sign.keyPair.fromSeed(e)}function zr(e){const t=(0,Fr.full)(e,Hr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Xr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Kr)throw new Error(`Child index #${t} is not supported`);const o=Ur.allocUnsafe(4);o.writeUInt32BE(t,0);const a=Ur.concat([Ur.alloc(1,0),Ur.from(n),Ur.from(o)]),i=(0,Fr.full)(a,r);return{secretKey:i.slice(0,32),chainCode:i.slice(32)}}var Jr={getHdWalletAccountFromMnemonic:(e,t)=>({...Qr(Yr(Lr(`${t}h/0h/0h`,Gr("m/44h/457h",(0,Dr.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:Bn(t,Ur.from(e.secretKey,"hex")),chainCode:Bn(t,Ur.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Qr(Yr(Lr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Dr.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Gr("m/44h/457h",(0,Dr.mnemonicToSeed)(e));return{secretKey:Wr(Rn(t,n.secretKey)),chainCode:Wr(Rn(t,n.chainCode))}},generateMnemonic:function(){return(0,Dr.generateMnemonic)()},deriveChild:Xr,getMasterKeyFromSeed:zr},Zr=C(1031),eo=C.n(Zr),to=C(8081),no=eo()((0,to.required)({methods:{spendTx:to.required,namePreclaimTx:to.required,nameClaimTx:to.required,nameTransferTx:to.required,nameUpdateTx:to.required,nameRevokeTx:to.required,contractCreateTx:to.required,contractCallTx:to.required,oracleRegisterTx:to.required,oracleExtendTx:to.required,oraclePostQueryTx:to.required,oracleRespondTx:to.required,getAccountNonce:to.required,channelCloseSoloTx:to.required,channelSlashTx:to.required,channelSettleTx:to.required,channelSnapshotSoloTx:to.required,gaAttachTx:to.required,getVmVersion:to.required,prepareTxParams:to.required}})),ro=eo()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,to.required)({methods:{sendTransaction:to.required,height:to.required,awaitHeight:to.required,topBlock:to.required,poll:to.required,balance:to.required,getBalance:to.required,tx:to.required,getTxInfo:to.required,mempool:to.required,txDryRun:to.required,getAccount:to.required}})),oo=C(7430),ao=C.n(oo),io=C(7414),so=C.n(io),co=C(5713),uo=C.n(co),lo=C(7263),ho=C.n(lo),po=C(6290),fo=C.n(po);function mo(){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,o)=>{if(r=await Promise.resolve(r),"function"==typeof o){const a=await Promise.resolve(o.call(r,e,{stamp:t,args:n,instance:r}));return void 0===a?r:a}return r}),r)}var go=eo()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=fo()([mo],ho()(uo(),so()(n.map((e=>ao()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[mo]}}),yo=C(4021),wo=C.n(yo),bo=C(6311),vo=C.n(bo),xo=C(3656);const To=C.n(xo)()({storeAsString:!0}),Io=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Io(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Io(e)));if("string"==typeof e&&x()(e).toString(10)===e){const t=x()(e);return t.toJSON=()=>t.toString(10),t}return e};var Co={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 To.stringify(Io(e),...n)},parse:To.parse};const Ao=async e=>await new Promise((t=>setTimeout(t,e))),Eo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),_o=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),ko=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>ko(e,t))):Eo(t,(t=>{let[n,r]=t;return[e(n),ko(e,r)]})),Oo=ko.bind(null,I),So=ko.bind(null,T);let No=!1;var Po=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:o,responseInterceptor:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await vo()(e)).json();const i=r?JSON:Co;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[s,c]=await Promise.all([e,n].map((e=>e?wo()({url:e,spec:t,responseInterceptor:e=>{if(!e.text)return e;const t=i.parse(e.text);return Object.assign(e,{body:o?t:So(t)}),a&&a(e)||e}}):null))),u=[...Object.values(s.apis),Eo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return No||(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")'),No=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),d=Eo(u,(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),a=0;a<e;a++)r[a]=arguments[a];const s=l[t],c=[...s.parameters,...s.requestBody?[{required:s.requestBody.required,schema:Object.values(s.requestBody.content)[0].schema,name:"__requestBody"}]:[]],u=c.filter((e=>e.required)).map((e=>e.name));if(r.length<u.length)throw new Error("swagger: Not enough arguments");const d=u.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[u.length]||{}),{__requestBody:h,...p}=Eo(d,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),a=_o(o?n:Oo(n),(e=>{let[t]=e;return r.includes(t)}));return[t,i.stringify(a)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(s,{api:d})};function jo(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),o=r(e),a=r(t),i=r(n),s=Math.max(...o,...a,...i)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(s,n)),0),u=c(o),l=c(a),d=c(i);return u>=l&&u<d}function Mo(){let{networkId:e,force:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(t||e||this.networkId||this.selectedNode&&this.selectedNode.networkId))throw new Error("networkId is not provided");return!t||e||this.networkId||this.selectedNode&&this.selectedNode.networkId?e||this.networkId||this.selectedNode.networkId:null}const Ro=go.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 o=await Po(`${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=o.spec.info.version,!jo(this.version,Bo,qo)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${Bo} < ${qo}`);this.api=o.api;const{nodeRevision:a,genesisKeyBlockHash:i,networkId:s,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=s,Object.assign(this,{revision:a,genesisHash:i})},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}}),Bo="6.2.0",qo="7.0.0";var Vo=Ro,Fo=C(3550).Buffer;const $o=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var Do=eo()({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=nn(e,"tx"),o=Fo.concat([Fo.from(n.join("-")),H(r)]),a=[await this.sign(o,t)];return Pr({encodedTx:r,signatures:a},Pe.signed).tx},getNetworkId:Mo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Fn(e),t);return t.returnHex?Fo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Dn(e,"string"==typeof t?Fo.from(t,"hex"):t,nn(await this.address(n)))}}},(0,to.required)({methods:{sign:to.required,address:to.required}}));const Uo=eo()(no,Do,ro,{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:o}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),a=r?await this.signUsingGA(e,{...n,authFun:o}):await this.signTransaction(e,n);return n.innerTx?{hash:Rr.buildTxHash(a),rawTx:a}:this.sendTransaction(a,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,"ak",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},o=await this.resolveName(t,"ak",r),a=await this.address(r),i=new(x())(await this.balance(a)),s=i.times(e).integerValue(x().ROUND_HALF_UP),{tx:{fee:c}}=Rr.unpackTx(await this.spendTx({...r,senderId:a,recipientId:o,amount:s})),u=s.plus(c).gt(i)?i.minus(c):s;return this.send(await this.spendTx({...r,senderId:a,recipientId:o,amount:u}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:sr.AETTOS}}}});var Ho=Uo,Ko=C(3550).Buffer;const Wo=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:o,node:a,parentTxTypes:i}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const s=Ko.from([a.nodeNetworkId,...i.includes(Pe.payingFor)?["inner_tx"]:[]].join("-")),c=Ko.concat([s,n.rlpEncoded]),u=Ko.concat([s,H(n.rlpEncoded)]),l=nn(o.id,"ak");return Vn(c,r[0],l)||Vn(u,r[0],l)?[]:[{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:o,parentTxTypes:a,txType:i}=t;return void 0===(n??r)?[]:Go(rn((n??r).rlpEncoded,"tx"),o,[...a,i])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=_r(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(x())(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:o,tx:a}=e,{account:i,parentTxTypes:s,txType:c}=t;if(void 0===(n??r??o))return[];const u=new(x())(r).plus(o||0).plus(n||0).plus(c===Pe.payingFor?a.tx.encodedTx.tx.fee:0).minus(s.includes(Pe.payingFor)?r:0);return u.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${u.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:o}=t;if(void 0===n||o.includes(Pe.gaMeta))return[];n=+n;const a=r.nonce+1;return n===a?[]:[{...n<a?{message:`Nonce ${n} is already used, valid nonce is ${a}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${a}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=ee?[]:[{message:`Gas price ${t} must be bigger then ${ee}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:o,node:a}=t;const{consensusProtocolVersion:i}=a.getNodeInfo(),s=Be[i];if(!s)throw new Error(`Unsupported protocol: ${i}`);n||(n={abiVersion:r});const c=s[o];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"]}]:[]}],Lo=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 Go(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:o}=jr(e),a=Lo(r)??(o===Pe.signed?Lo(r.encodedTx.tx):null),[i,s]=await Promise.all([a&&t.api.getAccountByPubkey(a).catch((()=>({id:a,balance:new(x())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all(Wo.map((e=>e(r,{txType:o,node:t,account:i,height:s,parentTxTypes:n}))))).flat()}var Qo=eo()({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:Mo,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:{}}});const Yo=ro.compose(Qo,{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 Go(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:()=>Go(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t});return dr(o,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return dr(o,{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 o=0;o<r;o++)if(o&&await Ao(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 o=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 Ao(n)}while(await this.height()<o);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:o,...a}],...i}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:ne.amount}]});if("ok"===r)return{...a,...i};throw Object.assign(new Error("Dry run error, "+o),{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),o=await this.awaitHeight(r+n.confirm,n),{blockHeight:a}=await this.tx(t);switch(a){case-1:throw new Error(`Transaction ${t} is removed from chain`);case r:return o;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}`);const o=Object.keys(pe);if(!o.includes(t))throw new Error(`Invalid prefix ${t}, should be one of [${o}]`);try{return nn(e,t),e}catch(e){}if(hn(e)){if(n||r){const n=await this.getName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const o=n.pointers.find((e=>{let{id:n}=e;return n.split("_")[0]===t}));if(!o)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return o.id}return en(e)}throw new Error(`Invalid name or address: ${e}`)}}});var zo=Yo,Xo=C(3550).Buffer;const Jo=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(Pe).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=_r(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:o,binary:a,tx:i,txObject:s}=Pr({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:o,binary:a,encodedTx:i,params:s,type:e}},Zo=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:o}=jr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:o}}if(Xo.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:o}=jr(e,!0);return{encodedTx:rn(e,"tx"),type:t,params:n,rlpEncoded:r,binary:o}}},ea=eo()({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 Jo(n,t,r);if(e)return Zo(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===Pe.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=>ea({tx:e}),fromRlp:e=>ea({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,Jo(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=E(e)?Xo.from(e,"hex"):e,!(Xo.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Jo(Pe.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 _r(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var ta=ea;async function na(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L,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 ra=zo.compose(no,{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:o=""}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.spend,{senderId:t,...arguments[0],payload:o}),{tx:c}=this.nativeMode?{tx:ea({params:{...arguments[0],recipientId:n,senderId:t,nonce:s,ttl:i,payload:o},type:Pe.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:s,ttl:i,fee:parseInt(a),payload:o});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Pe.namePreClaim,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Pe.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:o=2}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.nameClaim,{senderId:t,...arguments[0],vsn:o}),{tx:c}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:s,ttl:i,fee:a,vsn:o},type:Pe.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:s,ttl:i,fee:parseInt(a)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.nameTransfer,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ea({params:{...arguments[0],recipientId:r,nonce:i,ttl:a,fee:o},type:Pe.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:i,ttl:a,fee:parseInt(o)});return s},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:o,clientTtl:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Pe.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:c,ttl:s,fee:i},type:Pe.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:s,fee:parseInt(i)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Pe.nameRevoke,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Pe.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,deposit:a,amount:i,gas:s,gasPrice:c=ee,callData:u}=e;const l=this.getVmVersion(Pe.contractCreate,arguments[0]),{fee:d,ttl:h,nonce:p}=await this.prepareTxParams(Pe.contractCreate,{senderId:t,...arguments[0],ctVersion:l,gasPrice:c});return this.nativeMode?{tx:ea({params:{...arguments[0],nonce:p,ttl:h,fee:d,ctVersion:l,gasPrice:c},type:Pe.contractCreate}).encodedTx,contractId:Xt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(d),gas:parseInt(s),gasPrice:c,vmVersion:l.vmVersion,abiVersion:l.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:o,gas:a,gasPrice:i=ee,callData:s}=e;const c=this.getVmVersion(Pe.contractCall,arguments[0]),{fee:u,ttl:l,nonce:d}=await this.prepareTxParams(Pe.contractCall,{senderId:t,...arguments[0],gasPrice:i,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:d,ttl:l,fee:u,abiVersion:c.abiVersion,gasPrice:i},type:Pe.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:d,ttl:l,fee:parseInt(u),gas:parseInt(a),gasPrice:i,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:o,fee:a,gas:i,absoluteTtl:s,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const l=await na.call(this,o,!s),d=_r(a,e,{showWarning:this.showWarning,gas:i,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:d,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:o,oracleTtl:a,abiVersion:i=Me.NO_ABI}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Pe.oracleRegister,{senderId:t,...arguments[0],abiVersion:i}),{tx:l}=this.nativeMode?{tx:ea({params:{accountId:t,queryFee:o,abiVersion:i,fee:s,oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Pe.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:o,abiVersion:i,fee:parseInt(s),oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.oracleExtend,{senderId:n,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ea({params:{oracleId:t,fee:o,oracleTtl:r,nonce:i,ttl:a},type:Pe.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(o),oracleTtl:r,nonce:i,ttl:a});return s},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:o,queryFee:a,senderId:i}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Pe.oracleQuery,{senderId:i,...arguments[0]}),{tx:l}=this.nativeMode?{tx:ea({params:{oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:s,queryFee:a,ttl:c,nonce:u,senderId:i},type:Pe.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:parseInt(s),queryFee:a,ttl:c,nonce:u,senderId:i});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:o,response:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Pe.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ea({params:{oracleId:t,responseTtl:r,queryId:o,response:a,fee:i,ttl:s,nonce:c},type:Pe.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:o,response:a,fee:parseInt(i),ttl:s,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Pe.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Pe.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o,ttl:i,fee:a,nonce:s},Pe.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(o),ttl:i,fee:parseInt(a),nonce:s});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:s}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:o,nonce:i},Pe.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:parseInt(o),nonce:i});return s},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,authFun:a,gas:i,gasPrice:s=ee,callData:c}=e;const u=this.getVmVersion(Pe.contractCreate,arguments[0]),{fee:l,ttl:d,nonce:h}=await this.prepareTxParams(Pe.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:s});return{tx:ea({params:{...arguments[0],nonce:h,ttl:d,fee:l,ctVersion:u,gasPrice:s},type:Pe.gaAttach}).encodedTx,contractId:Xt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const o={tx:jr(t),payerId:n},{fee:a,nonce:i}=await this.prepareTxParams(Pe.payingFor,{...o,...r,senderId:n});return Pr({...o,...r,fee:a,nonce:i},Pe.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(),o=Be[r];if(!o)throw new Error("Not supported consensus protocol version");const a=o[e];if(!a)throw new Error("Not supported tx type");if(n=n||a.abiVersion[0],t=t||a.vmVersion[0],!a.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${a.vmVersion}]`);if(!a.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${a.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var oa=ra,aa=C(3550).Buffer;const ia=new WeakMap;var sa=Do.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!Tn(n))throw new Error("Invalid GA address");return void ia.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(!aa.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!E(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=aa.from(nn(t.publicKey,"ak"));if(!Hn(aa.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");ia.set(this,{secretKey:aa.isBuffer(t.secretKey)?t.secretKey:aa.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(qn(e,ia.get(this).secretKey))},address(){return Promise.resolve(ia.get(this).publicKey)}}}),ca=Do.compose(go,{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(nn(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(nn(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return $o(e)?e:sa({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}});const ua=Ho.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...o}),...await t.aensQuery(e)}},transfer:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...o}),...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 o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o||"number"!=typeof o||o>re)throw new Error("Ttl must be an number and less then 180000 blocks");return{...await t.aensUpdate(e,r.pointers.map((e=>e.id)),{...n,...a,nameTtl:o}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(e);const n={...this.Ae.defaults,...t},r=An(),o=await this.height(),a=tn(e,r),i=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:a}),s=await this.send(i,n);return Object.freeze({...s,height:o,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:a})},aensClaim:async function(e,t,n){dn(e);const r={...this.Ae.defaults,...n},o=mn(e);if(r.nameFee!==this.Ae.defaults.nameFee&&o.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${o}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:o;const a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:rn(e,"nm")}),i=await this.send(a,r);if(!wn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(i,t)}return{...i,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]:{extendPointers:!1};dn(e);const r={...this.Ae.defaults,...n};if(!fn(t))throw new Error("Invalid pointers array");t=[...n.extendPointers?(await this.getName(e)).pointers:[],...t.map((e=>Object.fromEntries([["id",e],["key",pn(e)]])))].reduce(((e,t)=>[...e.filter((e=>e.key!==t.key)),t]),[]);const o=await this.nameUpdateTx({...r,nameId:en(e),accountId:await this.address(r),pointers:t});return this.send(o,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};dn(e);const r={...this.Ae.defaults,...n},o=await this.nameTransferTx({...r,nameId:en(e),accountId:await this.address(r),recipientId:t});return this.send(o,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:en(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]:se,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:ie,nameTtl:re,nameFee:se}}}});var la=ua,da=eo()((0,to.required)({methods:{contractEncodeCallDataAPI:to.required,compileContractAPI:to.required,contractGetACI:to.required,setCompilerUrl:to.required,getCompilerVersion:to.required,contractDecodeCallResultAPI:to.required,validateByteCodeAPI:to.required,getFateAssembler:to.required,getBytecodeCompilerVersion:to.required}})),ha=go.compose(da,{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 Po(`${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&&!jo(this.compilerVersion,pa,fa))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${pa} < ${fa}`)},_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:o}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return o},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,o){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(o)})},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}});const pa="6.0.0",fa="7.0.0";var ma=C(2478),ga=C.n(ma),ya=C(2892),wa=C.n(ya),ba=C(5206),va=C.n(ba),xa=C(590);function Ta(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(va()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}var Ia=C(3550).Buffer;const Ca=Ho.compose(da,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:o,filesystem:a={},validateBytecode:i,...s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=r||t&&await this.contractGetACI(t,{filesystem:a}),!r)throw new Error("Either ACI or source code is required");if(o=o&&await this.resolveName(o,"ct",{resolveByNode:!0}),!o&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(o){const e=await this.getContract(o).catch((()=>null));if(!e)throw new Error(`Contract with address ${o} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${o} not active`)}const c={interface:wa()(null,ga()("interface",r)),aci:wa()(null,ao()(["encoded_aci","contract"],r)),calldata:new xa.Encoder([r.encoded_aci,...r.external_encoded_aci]),externalAci:r.external_encoded_aci?r.external_encoded_aci.map((e=>e.contract||e.namespace)):[],source:t,bytecode:n,deployInfo:{address:o},options:{...this.Ae.defaults,callStatic:!1,filesystem:a,...s},compilerVersion:this.compilerVersion};if(i){if(!o)throw new Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(o)).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 u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:ta({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const o=await this.getTxInfo(n.hash);return await l(o),{...r,result:o}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=nn(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:X};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 o=await e.address(r),{tx:a,contractId:i}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:o}),{hash:s,rawTx:l,result:d,txData:h}=await u(a,r);return c.deployInfo=Object.freeze({result:d,owner:o,transaction:s,rawTx:l,txData:h,address:i,call:(t,n,o)=>e.contractCall(c.source,i,t,n,{...r,...o}),callStatic:(t,n,o)=>e.contractCallStatic(c.source,i,t,n,{...r,...o}),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 o={...c.options,...r},a=Ta(c.aci,t,c.externalAci),i=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!o.callStatic)throw new Error('"init" can be called only via dryRun');if(!i&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(x()(o.amount).gt(0)&&Object.prototype.hasOwnProperty.call(a,"payable")&&!a.payable)throw new Error(`You try to pay "${o.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const s=await e.address(o).catch((e=>{if(o.callStatic)return ne.pub;throw e})),d=c.calldata.encode(c.aci.name,t,n);let h;if(o.callStatic){"number"==typeof o.top&&(o.top=(await e.getKeyBlock(o.top)).hash);const n={...o,callData:d,nonce:o.top&&(await e.getAccount(s,{hash:o.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:s})).tx:await e.contractCallTx({...n,callerId:s,contractId:i}),{callObj:a,...u}=await e.txDryRun(r,s,o);await l(a),h={...u,tx:ta({tx:r}),result:a}}else{const t=await e.contractCallTx({...o,callerId:s,contractId:i,callData:d});h=await u(t,o)}return(o.waitMined||o.callStatic)&&(h.decodedResult=a.returns&&"unit"!==a.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 qr(e,t)},c.methods=Object.fromEntries(c.aci.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const o=e=>function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];const i=o.length===n.length+1?o.pop():{};if("object"!=typeof i)throw new Error(`Options should be an object: ${i}`);return"init"===t?c.deploy(o,{callStatic:e,...i}):c.call(t,o,{callStatic:e,...i})};return[t,Object.assign(o("init"!==t&&!r),{get:o(!0),send:o(!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,o)=>this.contractDeploy(r,e,t,{...n,...o}),deployStatic:(t,o)=>this.contractCallStatic(e,null,"init",t,{...n,...o,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;const a=await this.getContractInstance({...o,source:e,contractAddress:t});return a.call(n,r,{...o,callStatic:!0})},contractDeploy:async function(e,t,n,r){const o=await this.getContractInstance({...r,source:t});return o.bytecode=e,o.deploy(n,r)},contractCall:async function(e,t,n,r,o){return(await this.getContractInstance({...o,source:e,contractAddress:t})).call(n,r,o)},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(Ia.concat([Ia.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[nn(await this.address(t))]:[],...e.map((e=>nn(e)))]),t);return Ia.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?[en(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:X,gasPrice:ee,amount:J,gas:Z}}}}),Aa=Ca.compose(Qo).compose(ha);var Ea=Aa;const _a=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&x()(t.gas).gt(te))throw new Error(`the maximum gas value for ga authFun is ${te}, got ${t.gas}`);const r=t.gas||te;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}},ka=Ca.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 o={...this.Ae.defaults,...r},a=await this.address(o);if(await this.isGA(a))throw new Error(`Account ${a} is already GA`);const{tx:i,contractId:s}=await this.gaAttachTx({...o,ownerId:a,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:H(e)}),{hash:c,rawTx:u}=await this.send(i,o);return Object.freeze({owner:a,transaction:c,rawTx:u,gaContractId:s})},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:o,gas:a}=await _a(this)(t,n),i={...this.Ae.defaults,...r},{abiVersion:s}=await this.getVmVersion(Pe.contractCall),c=Sa(jr(e)),u={...i,tx:{...c,tx:c.txObject},gaId:await this.address(i),abiVersion:s,authData:o,gas:a,vsn:2},{fee:l}=await this.prepareTxParams(Pe.gaMeta,u),{rlpEncoded:d}=Pr({...u,fee:`${l}`},Pe.gaMeta,{vsn:2});return Sa(d).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Oa=ka;const Sa=e=>Pr({encodedTx:e,signatures:[]},Pe.signed),Na=e=>Object.fromEntries(e.map((e=>[e,e]))),Pa=1,ja=Na(["to_waellet","to_aepp"]),Ma=Na(["window","extension"]),Ra=Na(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),Ba=Na(["connect","subscribeAddress","sign","address","signMessage"]),qa=Na(["current","connected"]),Va=Na(["subscribe","unsubscribe"]),Fa={wallet:{[Ra.readyToConnect]:"connection.announcePresence",[Ra.updateAddress]:"address.update"},aepp:{[Ba.address]:"address.get",[Ba.connect]:"connection.open",[Ba.sign]:"transaction.sign",[Ba.signMessage]:"message.sign",[Ba.subscribeAddress]:"address.subscribe"},[Ra.updateNetwork]:"networkId.update",[Ra.closeConnection]:"connection.close"},$a={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"},Da={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"}}},Ua=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{}},Ha=()=>window!==window.parent,Ka=e=>{let t=0;return function(n){let{id:r,method:o,params:a,result:i,error:s}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=a?{params:a}:i?{result:i}:{error:s};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:o,...u}),r}},Wa=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)},La=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ga=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}}},Qa=e=>(t,n,r)=>e.sendMessage(Ga(t,n,r),!0),Ya=()=>{},za=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Xa=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||!$o(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t};var Ja=eo()({init(e){let{id:t,name:n,networkId:r,icons:o,connection:a,handlers:[i,s]}=e;this.id=t,this.connection=a,this.info={name:n,networkId:r,icons:o},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Ka(this.connection),a.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${e}`);i(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof s&&s(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===$a.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=$a.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!za(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(La(Fa.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Va.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Va.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(La(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:o}=e;if(!this.callbacks[n])throw new Error(`Can't find callback for this messageId ${n}`);o?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:o}):[o]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Za={[Fa.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Fa.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[Fa.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},ei={[Fa.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[Fa.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=$a.CONNECTED),e.rpcClient.processResponse(t)},[Fa.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]}))},[Fa.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Fa.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ti={};var ni=Ho.compose({async init(e){let{name:t,onAddressChange:n=Ya,onDisconnect:r=Ya,onNetworkChange:o=Ya,connection:a,forceValidation:i=!1,debug:s=!1}=e;this.connection=a,this.name=t,this.debug=s,a&&await this.connectToWallet(a),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=o,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!i&&"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=Ja({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Ln.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?Wa(ei,e,{debug:t.debug})(t)(e):Wa(ti,e,{debug:t.debug})(t)(e):Wa(Za,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(La(Fa.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(Fa.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(Fa.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(Fa.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(Fa.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(Fa.aepp.connect,{name:this.name,version:Pa,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(Fa.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}});const ri=Ho.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleRegisterTx({...r,accountId:o,queryFormat:e,responseFormat:t});return{...await this.send(a,r),...await this.getOracleObject(`ok_${o.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o),i=await this.oracleRespondTx({...o,oracleId:e,queryId:t,callerId:a,response:n});return{...await this.send(i,o),...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},o=await this.address(r),a=await this.oracleExtendTx({...r,oracleId:e,callerId:o,oracleTtl:t});return{...await this.send(a,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,o={...this.Ae.defaults,queryFee:r,...n},a=await this.address(o),i=await this.oraclePostQueryTx({...o,oracleId:e,senderId:a,query:t}),s=Jt(a,jr(i).tx.nonce,e);return{...await this.send(i,o),...await this.getQueryObject(e,s)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let o=0;o<n;o++){o&&await Ao(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),a=nn(n,"or");if(a.length)return String(a)}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,o=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)};o();const a=setInterval(o,n);return()=>clearInterval(a)},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:kn(n.query.slice(3)).toString(),decodedResponse:kn(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>kn(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:G,oracleTtl:Q,queryTtl:Y,responseTtl:z}}}});var oi=ri,ai=Ho.compose(oa,oi,Aa,la,zo,ni);const ii={[Fa.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},si={},ci={[Fa.aepp.connect](e,t,n,r){let{name:o,networkId:a,version:i,icons:s}=r;return i!==Pa?{error:Da.unsupportedProtocol()}:(n.updateInfo({status:$a.WAITING_FOR_CONNECTION_APPROVE,name:o,networkId:a,icons:s,version:i}),e("onConnection",{name:o,networkId:a,version:i},(()=>(n.updateInfo({status:$a.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:$a.CONNECTION_REJECTED}),{error:Da.connectionDeny(e)}))))},[Fa.aepp.subscribeAddress](e,t,n,r){let{type:o,value:a}=r;return n.isConnected()?e("onSubscription",{type:o,value:a},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!za(r))throw new Error("Invalid provided accounts object");const i=n.updateSubscription(o,a);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:i,address:r}}}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.notAuthorize()}},[Fa.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:Da.rejectedByUser(e)}))):{error:Da.notAuthorize()},[Fa.aepp.sign](e,t,n,r){let{tx:o,onAccount:a,networkId:i,returnSigned:s=!1}=r;const c=a||n.currentAccount;return i&&n.updateInfo({networkId:i}),n.isConnected()?n.hasAccessToAccount(c)?i&&i===t.getNetworkId()?e("onSign",{tx:o,returnSigned:s,onAccount:c,txObject:ta.fromString(o)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Xa(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}try{return{result:s?{signedTransaction:await t.signTransaction(e||o,{onAccount:n})}:{transactionHash:await t.send(e||o,{onAccount:n,verify:!1})}}}catch(n){if(!s){const r=await Go(e||o,t.selectedNode.instance);return r.length?{error:Da.invalidTransaction(r)}:{error:Da.broadcastFailed(n.message)}}throw n}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.unsupportedNetwork()}:{error:Da.permissionDeny({account:c})}:{error:Da.notAuthorize()}},[Fa.aepp.signMessage](e,t,n,r){let{message:o,onAccount:a}=r;if(!n.isConnected())return{error:Da.notAuthorize()};const i=a||n.currentAccount;return n.hasAccessToAccount(i)?e("onMessageSign",{message:o,onAccount:i},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Xa(t.addresses(),i,e);return{result:{signature:await t.signMessage(o,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.permissionDeny({account:i})}}},ui=(e,t)=>async(n,r)=>{const o=e.rpcClients[t];if(!n.id)return Wa(ii,n,{debug:e.debug})(e,{client:o})(n,r);if(Object.prototype.hasOwnProperty.call(o.callbacks,n.id))return Wa(si,n,{debug:e.debug})(e,{client:o})(n,r);{const{id:t,method:a}=n,i=(n,i,s,c)=>()=>new Promise((u=>{e[n](o,{id:t,method:a,params:i,accept:function(){return u(s(...arguments))},deny:function(){return u(c(...arguments))}},r)})),s=Wa(ci,n,{debug:e.debug})(i,e,o,n.params),c="function"==typeof s?await s():s;Qa(o)(t,a,c)}};var li=Ho.compose(ca,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:o,onDisconnect:a,onAskAccounts:i,onMessageSign:s,forceValidation:c=!1,debug:u=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=u,this.onConnection=n,this.onSubscription=r,this.onSign=o,this.onDisconnect=a,this.onAskAccounts=i,this.onMessageSign=s,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,Ln.v4)();const l=this.selectAccount.bind(this),d=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]:{};l(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:o=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await d(t,{select:n});const a=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&o(e))).forEach((e=>e.setAccounts({current:{...n?{[a]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[a]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(La(Fa.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,Ln.v4)();return this.rpcClients[t]=Ja({id:t,info:{status:$a.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[ui(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...La(Fa.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Ua(!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?Ma.extension:Ma.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),di=Ho.compose(li,oa,Ea,oi,la,Oa,zo),hi=C(3752),pi=C(3205);const fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,vi=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Ci=new WeakMap,Ai=new WeakMap,Ei=new WeakMap,_i=new WeakMap,ki=new WeakMap,Oi=new WeakMap;function Si(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];bi.get(e).emit(...n)}function Ni(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");yi.set(e,t),t.handler.enter&&t.handler.enter(e),Bi(e)}function Pi(e,t){t!==mi.get(e)&&(mi.set(e,t),Si(e,"statusChanged",t))}function ji(e,t){gi.set(e,t),Si(e,"stateChanged",t)}function Mi(e,t){const{debug:n=!1}=fi.get(e);n&&console.log("Send message: ",t),wi.get(e).send(Co.stringify(t))}function Ri(e,t,n){Ti.set(e,[...Ti.get(e)||[],{guard:t,action:n}]),Bi(e)}async function Bi(e){const t=Ii.get(e),n=Ti.get(e)||[];if(t||!n.length)return;const r=yi.get(e),o=n.findIndex((t=>t.guard(e,r)));if(-1===o)return;Ti.set(e,n.filter(((e,t)=>o!==t))),Ii.set(e,!0);const a=await Promise.resolve(n[o].action(e,r));Ii.set(e,!1),Ni(e,a)}async function qi(e){const t=vi.get(e);if(xi.get(e)||!t.length)return;const[n,...r]=t;vi.set(e,r||[]),xi.set(e,!0),await async function(e,t){const{handler:n,state:r}=yi.get(e);Ni(e,await Promise.resolve(n(e,t,r)))}(e,n),xi.set(e,!1),qi(e)}function Vi(e){clearTimeout(_i.get(e)),clearTimeout(ki.get(e)),_i.set(e,setTimeout((()=>{Mi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),ki.set(e,setTimeout((()=>{$i(e),Si(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function Fi(e,t,n){return new Promise(((r,o)=>{const a=Ci.set(e,Ci.get(e)+1).get(e);Ei.get(e).set(a,(e=>e.result?r(e.result):e.error?o(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),Mi(e,{jsonrpc:"2.0",method:t,id:a,params:n})}))}function $i(e){wi.get(e).close(),clearTimeout(_i.get(e)),clearTimeout(ki.get(e))}async function Di(e,t){let{url:n,...r}=t;fi.set(e,r),yi.set(e,{handler:r.existingFsmId?Li:Wi}),bi.set(e,new pi.EventEmitter),Ci.set(e,0),Ei.set(e,new Map);const o=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(I(t),n)})),o.searchParams.set("protocol","json-rpc"),Pi(e,"connecting");const a=new hi.w3cwebsocket(o.toString());await new Promise(((t,n)=>Object.assign(a,{onerror:n,onopen:()=>{t(),Pi(e,"connected"),r.reconnectTx&&(Ni(e,{handler:Ji}),setTimeout((async()=>ji(e,(await Fi(e,"channels.get.offchain_state",{})).signed_tx)))),Vi(e)},onclose:()=>{Pi(e,"disconnected"),clearTimeout(_i.get(e)),clearTimeout(ki.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Co.parse(t),{debug:r=!1}=fi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=Ei.get(e).get(n.id);try{t(n)}finally{Ei.get(e).delete(n.id)}}else"channels.message"===n.method?Si(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==Ai.get(e)&&null!=Ai.get(e)||Vi(e):(vi.set(e,[...vi.get(e)||[],n]),qi(e))}(e,n)}}))),wi.set(e,a)}function Ui(e){return`tx_${En(e)}`}async function Hi(e,t){const{signatures:n,encodedTx:r}=jr(e).tx,o=await t(Ui(r.rlpEncoded));if("string"==typeof o){const{tx:e,txType:t}=jr(o);return Ui(Pr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return o}function Ki(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Ji}}function Wi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Pi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Gi}):"channel_reestablished"===t.params.data.event?{handler:zi}:"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),{handler:Wi}):{handler:Wi}:"channels.error"===t.method?(Si(e,"error",new Error(t.payload.message)),{handler:ys}):void 0}async function Li(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),ji(e,(await Fi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Ji}):Ki(0,t,n)}async function Gi(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[fi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx);return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Qi}}const n=await Hi(t.params.data.signed_tx,(t=>fi.get(e).sign(r,t)));return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Qi}}}function Qi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===fi.get(e).role)return{handler:Yi};if("funding_created"===t.params.data.info&&"responder"===fi.get(e).role)return{handler:Yi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===fi.get(e).role)return Ai.set(e,t.params.channel_id),Pi(e,"signed"),{handler:Qi}}function Yi(e,t,n){if("channels.info"===t.method){const e={funding_created:Yi,own_funding_locked:Yi,funding_locked:zi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Si(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yi}}function zi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return Ai.set(e,t.params.channel_id),{handler:Xi}}function Xi(e,t,n){if("channels.update"===t.method)return ji(e,t.params.data.state),{handler:Ji}}async function Ji(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:ts};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Si(e,t.params.data.event),{handler:Ji};case"fsm_up":return Oi.set(e,t.params.data.fsm_id),{handler:Ji};case"timeout":case"close_mutual":case"shutdown":return{handler:Ji};case"closing":return Pi(e,"closing"),{handler:Ji};case"closed_confirmed":return Pi(e,"closed"),{handler:ys};case"died":return Pi(e,"died"),{handler:ys}}break;case"channels.on_chain_tx":return Si(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ji};case"channels.leave":return{handler:Ji};case"channels.update":return ji(e,t.params.data.state),{handler:Ji};case"channels.sign.shutdown_sign_ack":return ts(e,t,n)}}async function Zi(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:es,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:o}}),{handler:es,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:o}}),{handler:Zi,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Ji};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:Ji}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}function es(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):t.error?(n.reject(new Error(t.error.message)),{handler:Ji}):Ki(0,t,n)}async function ts(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ji}}else{const o=await Hi(t.params.data.signed_tx,(n=>fi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:o}}),{handler:Ji};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:o}}),{handler:ns,state:n}}return Mi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Mn().publicKey,to:Mn().publicKey,amount:1}}),{handler:ns,state:n}}return Ki(0,t,n)}function ns(e,t,n){return t.error?{handler:ns,state:n}:"channels.conflict"===t.method?{handler:Ji}:Ki(0,t,n)}async function rs(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:os,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e)));return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:os,state:n}}return Ki(0,t,n)}function os(e,t,n){return"channels.on_chain_tx"===t.method?{handler:ys,state:n}:Ki(0,t,n)}function as(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),$i(e),{handler:ys}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Ji}):Ki(0,t,n)}async function is(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ss,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:o}}),{handler:ss,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:o}}),{handler:ss,state:n}}return Ki(0,t,n)}function ss(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:ss,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:ss,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function cs(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:us,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:o}}),{handler:us,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:o}}),{handler:us,state:n}}return Ki(0,t,n)}function us(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:us,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:us,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function ls(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:ds,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ds,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ds,state:n}}return Ki(0,t,n)}function ds(e,t,n){if("channels.update"===t.method){const{round:r}=jr(t.params.data.state).tx.encodedTx.tx,o=fi.get(e)[{initiator:"initiatorId",responder:"responderId"}[fi.get(e).role]];return ji(e,t.params.data.state),n.resolve({accepted:!0,address:Pn(o,r),signedTx:t.params.data.state}),{handler:Ji}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function hs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ms,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ms,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ms,state:n}}return Ki(0,t,n)}async function ps(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Mi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:fs,state:n}}return Ki(0,t,n)}function fs(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Si(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})),Ki(0,t,n)}function ms(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}function gs(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Ji}):(n.reject(new Error("Unexpected message received")),{handler:ys})}function ys(e,t,n){return n?"closing"===t.params.data.event?{handler:ys,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:ys,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:ys}):{handler:ys,state:n}:{handler:ys}}function ws(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[T(n)]:r}}),{})}Ji.enter=e=>{Pi(e,"open")};const bs=go.compose({async init(e){Di(this,e)},methods:{on:function(e,t){bi.get(this).on(e,t)},off:function(e,t){bi.get(this).removeListener(e,t)},status:function(){return mi.get(this)},state:async function(){return ws(await Fi(this,"channels.get.offchain_state",{}))},round:function(){if(!gi.get(this))return null;const{txType:e,tx:t}=jr(gi.get(this)).tx.encodedTx;switch(e){case Pe.channelCreate:return 1;case Pe.channelOffChain:case Pe.channelWithdraw:case Pe.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return Ai.get(this)},fsmId:function(){return Oi.get(this)},update:function(e,t,n,r,o){return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:o}}),{handler:Zi,state:{resolve:a,reject:i,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Fi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Fi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Ri(this,((e,t)=>t.handler===Ji),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:as,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Ri(this,((e,t)=>t.handler===Ji),((r,o)=>(Mi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:rs,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Mi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:is,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:cs,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:o,vmVersion:a,abiVersion:i}=e;return new Promise(((e,s)=>{Ri(this,((e,t)=>t.handler===Ji),((c,u)=>(Mi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:o,vm_version:a,abi_version:i}}),{handler:ls,state:{sign:t,resolve:e,reject:s}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a}=e;return new Promise(((e,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:o,abi_version:a}}),{handler:hs,state:{resolve:e,reject:i,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:o}=e;return ws(await Fi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:o}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return ws(await Fi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Fi(this,"channels.get.contract",{pubkey:e});return ws({...t,contract:ws(t.contract)})},disconnect:function(){return $i(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Ri(this,((e,t)=>t.handler===Ji),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:gs,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a,gas:i=1e6,gasPrice:s=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Ri(this,((e,t)=>t.handler===Ji),((l,d)=>(Mi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:o,abi_version:a,gas_price:s,gas:i}}),{handler:ps,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return bs({...e,reconnectTx:await n("reconnect",Pr(t,Pe.channelReconnect).tx)})}}});var vs=bs,xs=Ho.compose(ca,zo,oa,la,Ea,oi,Oa),Ts=eo()({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()}}}),Is=(0,to.required)({methods:{connect:to.required,disconnect:to.required,sendMessage:to.required,isConnected:to.required}});const Cs=()=>{const e="object"==typeof Ua(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ha()?window.parent:void 0};var As=eo()({init(){let{connectionInfo:e={},target:t=Cs(),self:n=window,origin:r,sendDirection:o,receiveDirection:a=ja.to_aepp,debug:i=!1,forceOrigin:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o&&!Object.keys(ja).includes(o))throw new Error(`sendDirection must be one of [${Object.keys(ja)}]`);if(!Object.keys(ja).includes(a))throw new Error(`receiveDirection must be one of [${Object.keys(ja)}]`);this.connectionInfo={id:(0,Ln.v4)(),...e};const c=n,u=t;if(this.origin=r,this.debug=i,this.forceOrigin=s,this.sendDirection=o,this.receiveDirection=a,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.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,o=this.forceOrigin;if(this.listener)throw new Error("You already connected");this.listener=(a,i)=>{if(a&&"object"==typeof a.data&&(o||!t||t===a.origin))if(r&&console.log("Receive message: ",a),a.data.type){if(a.data.type!==n)return;e(a.data.data,a.origin,a.source)}else e(a.data,a.origin,a.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}}},Is),Es=eo()({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||As({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,o)=>{let{method:a,params:i}=n;if(!a||!i||a!==Fa.wallet.readyToConnect||t[i.id])return;const s={...i,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return As({connectionInfo:this,sendDirection:e?ja.to_waellet:void 0,receiveDirection:e?ja.to_aepp:void 0,target:o,origin:t})}};t[s.id]=s,e({wallets:t,newWallet:s})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),_s=eo()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Ua().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Ua().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)}}},Is)}(),A}()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("buffer"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","@aeternity/blakejs","buffer","sha.js","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("buffer"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["@aeternity/blakejs"],e.buffer,e["sha.js"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(self,(function(e,t,n,r,a,o,s,i,c,u,d,l,h,p,f,m,g,y,w,b){return function(){"use strict";var x={946:function(e){e.exports=f},289:function(e){e.exports=y},343:function(e){e.exports=i},911:function(e){e.exports=p},983:function(e){e.exports=t},910:function(t){t.exports=e},180:function(e){e.exports=n},236:function(e){e.exports=s},192:function(e){e.exports=r},986:function(e){e.exports=b},783:function(e){e.exports=a},408:function(e){e.exports=c},503:function(e){e.exports=h},735:function(e){e.exports=g},485:function(e){e.exports=d},433:function(e){e.exports=u},659:function(e){e.exports=l},79:function(e){e.exports=o},882:function(e){e.exports=w},397:function(e){e.exports=m}},v={};function T(e){var t=v[e];if(void 0!==t)return t.exports;var n=v[e]={exports:{}};return x[e](n,n.exports,T),n.exports}T.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return T.d(t,{a:t}),t},T.d=function(e,t){for(var n in t)T.o(t,n)&&!T.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},T.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},T.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var I={};return function(){T.r(I),T.d(I,{AccountBase:function(){return ts},AccountError:function(){return y},AccountMultiple:function(){return Is},Ae:function(){return rs},Aens:function(){return Es},AensError:function(){return w},AensPointerContextError:function(){return Q},AeppError:function(){return b},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AlreadyConnectedError:function(){return Je},AmbiguousEventDefinitionError:function(){return xe},AmountFormatter:function(){return r},ArgumentCountMismatchError:function(){return S},ArgumentError:function(){return O},BaseError:function(){return g},BrowserRuntimeConnection:function(){return Ac},BrowserWindowMessageConnection:function(){return Cc},BytecodeMismatchError:function(){return ue},Bytes:function(){return e},Chain:function(){return Mo},ChainNode:function(){return ls},Channel:function(){return bc},ChannelCallError:function(){return re},ChannelConnectionError:function(){return ae},ChannelError:function(){return x},ChannelPingTimedOutError:function(){return oe},CompilerError:function(){return v},ContentScriptBridge:function(){return vc},Contract:function(){return Ss},ContractCompilerHttp:function(){return As},ContractError:function(){return C},Crypto:function(){return t},CryptographyError:function(){return E},DecodeError:function(){return Be},DisconnectedError:function(){return Pe},DryRunError:function(){return Fe},DuplicateCallbackError:function(){return X},DuplicateContractError:function(){return de},DuplicateNodeError:function(){return je},EncodeError:function(){return Re},GeneralizedAccount:function(){return Ms},HdWallet:function(){return i},IllegalArgumentError:function(){return N},IllegalBidFeeError:function(){return qe},InactiveContractError:function(){return le},InsufficientBalanceError:function(){return P},InsufficientNameFeeError:function(){return z},InternalError:function(){return W},InvalidAensNameError:function(){return Y},InvalidAuthDataError:function(){return ce},InvalidChecksumError:function(){return ve},InvalidDenominationError:function(){return j},InvalidDerivationPathError:function(){return Te},InvalidKeyError:function(){return Ie},InvalidKeypairError:function(){return L},InvalidMethodInvocationError:function(){return he},InvalidNameError:function(){return M},InvalidPasswordError:function(){return Ce},InvalidRpcMessageError:function(){return J},InvalidSignatureError:function(){return Ve},InvalidTxError:function(){return $e},InvalidTxParamsError:function(){return Ue},Keystore:function(){return n},MemoryAccount:function(){return Ts},MerkleTreeHashMismatchError:function(){return Ee},MessageDirectionError:function(){return Ze},MissingCallbackError:function(){return Z},MissingContractAddressError:function(){return pe},MissingContractDefError:function(){return fe},MissingEventDefinitionError:function(){return be},MissingFunctionNameError:function(){return me},MissingNodeInTreeError:function(){return Ae},MissingParamError:function(){return B},NoBrowserFoundError:function(){return R},NoDefaultAensPointerError:function(){return He},NoSerializerFoundError:function(){return D},NoSuchContractFunctionError:function(){return ye},NoWalletConnectedError:function(){return et},Node:function(){return Jo},NodeError:function(){return A},NodeInvocationError:function(){return ge},NodeNotFoundError:function(){return Me},NodePool:function(){return cs},NotHardenedSegmentError:function(){return _e},NotImplementedError:function(){return H},NotPayableFunctionError:function(){return we},Oracle:function(){return ri},PayloadLengthError:function(){return De},PrefixMismatchError:function(){return Ke},PrefixNotFoundError:function(){return We},RequestTimedOutError:function(){return F},RpcAepp:function(){return ai},RpcConnectionError:function(){return tt},RpcWallet:function(){return li},SCHEMA:function(){return o},SchemaNotFoundError:function(){return Le},TagNotFoundError:function(){return Ge},Transaction:function(){return bs},TransactionError:function(){return k},Tx:function(){return Po},TxBuilder:function(){return s},TxBuilderHelper:function(){return a},TxNotInChainError:function(){return Qe},TxTimedOutError:function(){return q},TypeError:function(){return V},UnAuthorizedAccountError:function(){return ee},UnavailableAccountError:function(){return G},UnexpectedChannelMessageError:function(){return se},Universal:function(){return xc},UnknownChannelStateError:function(){return ie},UnknownNodeLengthError:function(){return Oe},UnknownPathNibbleError:function(){return Ne},UnknownRpcClientError:function(){return te},UnknownTxError:function(){return ze},UnsubscribedAccountError:function(){return ne},UnsupportedABIversionError:function(){return Ye},UnsupportedAlgorithmError:function(){return ke},UnsupportedChildIndexError:function(){return Se},UnsupportedPlatformError:function(){return $},UnsupportedProtocolError:function(){return U},UnsupportedVMversionError:function(){return Xe},UnsupportedVersionError:function(){return K},WalletDetector:function(){return Ec},WalletError:function(){return _},genSwaggerClient:function(){return Lo},getDefaultPointerKey:function(){return kc},verifyTransaction:function(){return is}});var e={};T.r(e),T.d(e,{bigNumberToByteArray:function(){return st},str2buf:function(){return ct},toBytes:function(){return it}});var t={};T.r(t),T.d(t,{decryptKey:function(){return Dt},encodeContractAddress:function(){return jt},encodeUnsigned:function(){return Pt},encryptKey:function(){return Rt},generateKeyPair:function(){return Bt},generateKeyPairFromSecret:function(){return Mt},getAddressFromPriv:function(){return Ot},hash:function(){return At},isAddressValid:function(){return Nt},isValidKeypair:function(){return Ht},messageToHash:function(){return Vt},salt:function(){return St},sha256hash:function(){return ht},sign:function(){return Ft},signMessage:function(){return $t},verify:function(){return qt},verifyMessage:function(){return Ut}});var n={};T.r(n),T.d(n,{deriveKeyUsingArgon2id:function(){return zt},dump:function(){return nn},getAddressFromPriv:function(){return en},recover:function(){return tn},validateKeyObj:function(){return rn}});var r={};T.r(r),T.d(r,{AE_AMOUNT_FORMATS:function(){return cn},DENOMINATION_MAGNITUDE:function(){return un},default:function(){return gn},formatAmount:function(){return hn},toAe:function(){return dn},toAettos:function(){return ln}});var a={};T.r(a),T.d(a,{buildContractId:function(){return Vn},buildPointers:function(){return zn},commitmentHash:function(){return Kn},computeAuctionEndBlock:function(){return rr},computeBidFee:function(){return nr},createSalt:function(){return qn},decode:function(){return Tt},encode:function(){return It},ensureNameValid:function(){return Jn},formatSalt:function(){return Un},getDefaultPointerKey:function(){return er},getMinimumNameFee:function(){return tr},isAuctionName:function(){return ar},isNameValid:function(){return Zn},oracleQueryId:function(){return $n},produceNameId:function(){return Hn},readId:function(){return Ln},readInt:function(){return Qn},readPointers:function(){return Yn},writeId:function(){return Wn},writeInt:function(){return Gn}});var o={};T.r(o),T.d(o,{ABI_VERSIONS:function(){return qr},AMOUNT:function(){return gr},BASE_GAS:function(){return Kr},CLIENT_TTL:function(){return An},CONTRACT_BYTE_CODE_LIMA:function(){return Xr},DEFAULT_FEE:function(){return Lr},DRY_RUN_ACCOUNT:function(){return xr},FIELD_TYPES:function(){return Hr},GAS_MAX:function(){return yr},GAS_PER_BYTE:function(){return Wr},ID_TAG:function(){return Bn},ID_TAG_PREFIX:function(){return Dn},KEY_BLOCK_INTERVAL:function(){return Gr},MAX_AUTH_FUN_GAS:function(){return br},MIN_GAS_PRICE:function(){return wr},NAME_BID_MAX_LENGTH:function(){return Sn},NAME_BID_RANGES:function(){return jn},NAME_BID_TIMEOUTS:function(){return Mn},NAME_BID_TIMEOUT_BLOCKS:function(){return On},NAME_FEE_BID_INCREMENT:function(){return _n},NAME_FEE_MULTIPLIER:function(){return kn},NAME_MAX_CLIENT_TTL:function(){return En},NAME_MAX_LENGTH_FEE:function(){return Nn},NAME_MAX_TTL:function(){return Cn},NAME_TTL:function(){return In},OBJECT_ID_TX_TYPE:function(){return Ur},OBJECT_TAG_SIGNED_TRANSACTION:function(){return vr},ORACLE_TTL:function(){return pr},POINTER_KEY_BY_PREFIX:function(){return Pn},PREFIX_ID_TAG:function(){return Rn},PROTOCOL_VERSIONS:function(){return Vr},PROTOCOL_VM_ABI:function(){return $r},QUERY_FEE:function(){return hr},QUERY_TTL:function(){return fr},RESPONSE_TTL:function(){return mr},TX_DESERIALIZATION_SCHEMA:function(){return Wa},TX_FEE_BASE_GAS:function(){return Qr},TX_FEE_OTHER_GAS:function(){return zr},TX_SERIALIZATION_SCHEMA:function(){return Ka},TX_TTL:function(){return lr},TX_TYPE:function(){return Dr},VM_VERSIONS:function(){return Fr},VSN:function(){return ur},VSN_2:function(){return dr}});var s={};T.r(s),T.d(s,{buildRawTx:function(){return so},buildTx:function(){return uo},buildTxHash:function(){return ho},calculateFee:function(){return ao},calculateMinFee:function(){return no},default:function(){return po},unpackRawTx:function(){return io},unpackTx:function(){return lo},validateParams:function(){return oo}});var i={};T.r(i),T.d(i,{deriveChild:function(){return Eo},derivePathFromKey:function(){return xo},derivePathFromSeed:function(){return vo},generateSaveHDWalletFromSeed:function(){return Ao},getHdWalletAccountFromSeed:function(){return _o},getKeyPair:function(){return Io},getMasterKeyFromSeed:function(){return Co},getSaveHDWalletAccounts:function(){return ko}});var c={};T.r(c),T.d(c,{ERRORS:function(){return Us},MESSAGE_DIRECTION:function(){return Ds},METHODS:function(){return Vs},RPC_STATUS:function(){return $s},SUBSCRIPTION_TYPES:function(){return qs},VERSION:function(){return Rs},WALLET_TYPE:function(){return Fs}});var u={};T.r(u),T.d(u,{getBrowserAPI:function(){return Hs},getHandler:function(){return Ls},isInIframe:function(){return Ks},isValidAccounts:function(){return Ys},message:function(){return Gs},responseMessage:function(){return Qs},sendMessage:function(){return Ws},sendResponseMessage:function(){return zs}});var d=T(79),l=T.n(d),h=T(236),p=T.n(h),f=T(192),m=T.n(f);class g extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends g{constructor(e){super(e),this.name="AccountError"}}class w extends g{constructor(e){super(e),this.name="AensError"}}class b extends g{constructor(e){super(e),this.name="AeppError"}}class x extends g{constructor(e){super(e),this.name="ChannelError"}}class v extends g{constructor(e){super(e),this.name="CompilerError"}}class C extends g{constructor(e){super(e),this.name="ContractError"}}class E extends g{constructor(e){super(e),this.name="CryptographyError"}}class A extends g{constructor(e){super(e),this.name="NodeError"}}class k extends g{constructor(e){super(e),this.name="TransactionError"}}class _ extends g{constructor(e){super(e),this.name="WalletError"}}class O extends g{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class N extends E{constructor(e){super(e),this.name="IllegalArgumentError"}}class S extends g{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class P extends g{constructor(e){super(e),this.name="InsufficientBalanceError"}}class j extends g{constructor(e){super(e),this.name="InvalidDenominationError"}}class M extends g{constructor(e){super(e),this.name="InvalidNameError"}}class B extends g{constructor(e){super(e),this.name="MissingParamError"}}class R extends g{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class D extends g{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class F extends g{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class q extends g{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class V extends g{constructor(e){super(e),this.name="TypeError"}}class $ extends g{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class U extends g{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class H extends g{constructor(e){super(e),this.name="NotImplementedError"}}class K extends g{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class W extends g{constructor(e){super(e),this.name="InternalError"}}class L extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class G extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Q extends w{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class z extends w{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class Y extends w{constructor(e){super(e),this.name="InvalidAensNameError"}}class X extends b{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class J extends b{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Z extends b{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ee extends b{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class te extends b{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ne extends b{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class re extends x{constructor(e){super(e),this.name="ChannelCallError"}}class ae extends x{constructor(e){super(e),this.name="ChannelConnectionError"}}class oe extends x{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class se extends x{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ie extends x{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ce extends v{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ue extends C{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class de extends C{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class le extends C{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class he extends C{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class pe extends C{constructor(e){super(e),this.name="MissingContractAddressError"}}class fe extends C{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class me extends C{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ge extends C{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class ye extends C{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class we extends C{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class be extends C{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class xe extends C{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ve extends E{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Te extends E{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ie extends E{constructor(e){super(e),this.name="InvalidKeyError"}}class Ce extends E{constructor(e){super(e),this.name="InvalidPasswordError"}}class Ee extends E{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class Ae extends E{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class ke extends E{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class _e extends E{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Oe extends E{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Ne extends E{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends E{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Pe extends A{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class je extends A{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Me extends A{constructor(e){super(e),this.name="NodeNotFoundError"}}class Be extends k{constructor(e){super(e),this.name="DecodeError"}}class Re extends k{constructor(e){super(e),this.name="EncodeError"}}class De extends k{constructor(e){super(e),this.name="PayloadLengthError"}}class Fe extends k{constructor(e){super(e),this.name="DryRunError"}}class qe extends k{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ve extends k{constructor(e){super(e),this.name="InvalidSignatureError"}}class $e extends k{constructor(e){super(e),this.name="InvalidTxError"}}class Ue extends k{constructor(e){super(e),this.name="InvalidTxParamsError"}}class He extends k{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Ke extends k{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class We extends k{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Le extends k{constructor(e){super(e),this.name="SchemaNotFoundError"}}class Ge extends k{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Qe extends k{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class ze extends k{constructor(e){super(e),this.name="UnknownTxError"}}class Ye extends k{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Xe extends k{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class Je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class Ze extends _{constructor(e){super(e),this.name="MessageDirectionError"}}class et extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class tt extends _{constructor(e){super(e),this.name="RpcConnectionError"}}function nt(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function rt(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function at(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var ot=T(408).Buffer;function st(e){if(!e.isInteger())throw new V(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),ot.from(t,"hex")}function it(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return ot.from([]);if(Number.isInteger(e)||m().isBigNumber(e)||t)return m().isBigNumber(e)||(e=new(m())(e)),st(e);if("string"==typeof e)return ot.from(e);throw new D}function ct(e,t){var n;return ot.from(e,null!==(n=null!=t?t:at(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var ut=T(783),dt=T(433),lt=T(408).Buffer;function ht(e){return(new dt.sha256).update(e).digest()}const pt=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],ft=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],mt={ak:32,ct:32,ok:32};function gt(e,t){if(mt[t]&&e.length!==mt[t])throw new De(`Payload should be ${mt[t]} bytes, got ${e.length} instead`)}const yt=e=>ht(ht(e)).slice(0,4),wt=e=>{const t=lt.from(e);return lt.concat([t,yt(t)])};function bt(e){const t=e.slice(0,-4);if(!yt(t).equals(e.slice(-4)))throw new ve;return t}const xt={encode:e=>wt(e).toString("base64"),decode:e=>bt(lt.from(e,"base64"))},vt={encode:e=>ut.encode(wt(e)),decode:e=>bt(ut.decode(e))};function Tt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Be(`Encoded string missing payload: ${e}`);if(a)throw new Be(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Ke(n,t);const o=pt.includes(n)&&xt.decode||ft.includes(n)&&vt.decode;if(!o)throw new Be(`Encoded string have unknown type: ${n}`);const s=o(r);return gt(s,n),s}function It(e,t){const n=pt.includes(t)&&xt.encode||ft.includes(t)&&vt.encode;if(!n)throw new Re(`Unknown type: ${t}`);return gt(e,t),`${t}_${n(e)}`}var Ct=T(343),Et=T(408).Buffer;function At(e){return Et.from((0,Ct.blake2b)(e,void 0,32))}var kt=T(408).Buffer;const _t=p().ModeOfOperation.ecb;function Ot(e){const t=l().sign.keyPair.fromSecretKey(ct(e));return It(kt.from(t.publicKey),"ak")}function Nt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return Tt(e,t),!0}catch(e){return!1}}function St(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Pt(e){const t=kt.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function jt(e,t){const n=Tt(e,"ak");return It(At(kt.concat([n,Pt(t)])),"ct")}function Mt(e){return l().sign.keyPair.fromSecretKey(e)}function Bt(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=l().sign.keyPair(),n=kt.from(t.publicKey),r=kt.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:It(n,"ak"),secretKey:r.toString("hex")}}function Rt(e,t){const n=ht(e);return new _t(n).encrypt(t)}function Dt(e,t){const n=kt.from(t),r=ht(e),a=new _t(r);return kt.from(a.decrypt(n))}function Ft(e,t){return l().sign.detached(kt.from(e),kt.from(t))}function qt(e,t,n){return l().sign.detached.verify(new Uint8Array(e),t,n)}function Vt(e){const t=kt.from("aeternity Signed Message:\n","utf8"),n=kt.from(e,"utf8");if(n.length>=253)throw new H("Message too long");return At(kt.concat([kt.from([t.length]),t,kt.from([n.length]),n]))}function $t(e,t){return Ft(Vt(e),t)}function Ut(e,t,n){return qt(Vt(e),t,n)}function Ht(e,t){const n=kt.from("TheMessage");return qt(n,Ft(n,e),t)}var Kt=T(983),Wt=T(289),Lt=T(408).Buffer;const Gt={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Qt={argon2id:zt};async function zt(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,o=(await(0,Wt.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:Wt.ArgonType.Argon2id})).hash;return Lt.from(o)}const Yt={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return l().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=l().secretbox.open(t,r,n);if(!a)throw new Ce("Invalid password or nonce");return a}}};function Xt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Gt.crypto.symmetric_alg;if(!Yt[r])throw new ke(r);return Yt[r].encrypt({plaintext:e,nonce:n,key:t})}async function Jt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Gt.crypto.kdf_params,kdf:Gt.crypto.kdf};if(!t)throw new O("nonce","provided",t);if(null==e)throw new O("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Qt,n.kdf))throw new ke(n.kdf);return Qt[n.kdf](e,t,n)}function Zt(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Gt.crypto,o);return Object.assign({name:e,version:1,public_key:en(n),id:(0,Kt.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:Lt.from(Xt(Lt.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:Lt.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:Lt.from(a).toString("hex")}})})}function en(e){const t=l().sign.keyPair.fromSecretKey(ct(e));return It(Lt.from(t.publicKey),"ak")}async function tn(e,t){rn(t);const n=Uint8Array.from(ct(t.crypto.cipher_params.nonce)),r=Uint8Array.from(ct(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Yt[r])throw new ke(r);return Yt[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(ct(t.crypto.ciphertext)),await Jt(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Ce("Invalid password");return 64===Lt.from(s).length?Lt.from(s).toString("hex"):Lt.from(s).toString("utf-8")}async function nn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:l().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Gt.crypto,o);return Zt(e,await Jt(t,a,s),"string"==typeof n?Lt.from(n,"hex"):n,r,a,s)}function rn(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ie(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ie(`Invalid key file format. Require properties: ${n}`);return!0}var an=T(485);const on=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||m().isBigNumber(e)),sn=e=>e.integerValue(m().ROUND_CEIL),cn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},un={[cn.AE]:0,[cn.MILI_AE]:-3,[cn.MICRO_AE]:-6,[cn.NANO_AE]:-9,[cn.PICO_AE]:-12,[cn.FEMTO_AE]:-15,[cn.AETTOS]:-18},dn=function(e){let{denomination:t=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return hn(e,{denomination:t,targetDenomination:cn.AE})},ln=function(e){let{denomination:t=cn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return hn(e,{denomination:t})},hn=function(e){let{denomination:t=cn.AETTOS,targetDenomination:n=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(cn);if(!r.includes(t))throw new j(`Invalid denomination: ${t}`);if(!r.includes(n))throw new j(`Invalid target denomination: ${n}`);if(!on(e))throw new O("value","a number",e);return new(m())(e).shiftedBy(un[t]-un[n]).toFixed()},pn=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],fn=e=>pn.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),mn=e=>{var t;return null!==(t=pn.find((t=>t.magnitude<=e)))&&void 0!==t?t:pn[pn.length-1]};var gn=e=>{var t;const n=new(m())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:o}=(r<0?fn:mn)(r);return`${n.shiftedBy(-o).precision(9+Math.min(r-o,0)).toFixed()}${""!==a?" ":""}${a}`};const yn=async e=>await new Promise((t=>setTimeout(t,e))),wn=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),bn=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),xn=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>xn(e,t))):wn(t,(t=>{let[n,r]=t;return[e(n),xn(e,r)]})),vn=xn.bind(null,rt),Tn=xn.bind(null,nt),In=18e4,Cn=36e3,En=84600,An=En,kn=1e14,_n=.05,On=480,Nn=31,Sn=12,Pn={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},jn=wn({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(m())(n).times(kn)]})),Mn={13:m()(0),12:m()(On),8:m()(31).times(On),4:m()(62).times(On)},Bn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Rn={ak:Bn.account,nm:Bn.name,cm:Bn.commitment,ok:Bn.oracle,ct:Bn.contract,ch:Bn.channel},Dn=wn(Rn,(e=>{let[t,n]=e;return[n,t]}));var Fn=T(408).Buffer;const qn=St;function Vn(e,t){return It(At(Fn.from([...Tt(e,"ak"),...it(t)])),"ct")}function $n(e,t,n){return It(At(Fn.from([...Tt(e,"ak"),...function(e){const t=it(e,!0);return Fn.concat([Fn.alloc(32-t.length),t])}(t),...Tt(n,"ok")])),"oq")}function Un(e){return Fn.from(e.toString(16).padStart(64,"0"),"hex")}function Hn(e){return Jn(e),It(At(e.toLowerCase()),"nm")}function Kn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qn();return Jn(e),It(At(Fn.concat([Fn.from(e.toLowerCase()),Un(t)])),"cm")}function Wn(e){if("string"!=typeof e)throw new O("hashId","a string",e);const t=e.slice(0,2),n=Rn[t];if(!n)throw new Ge(t);return Fn.from([...it(n),...Tt(e,t)])}function Ln(e){const t=Fn.from(e).readUIntBE(0,1),n=Dn[t];if(!n)throw new We(t);return It(e.slice(1,e.length),n)}function Gn(e){return it(e,!0)}function Qn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fn.from([]);return new(m())(Fn.from(e).toString("hex"),16).toString(10)}function zn(e){return e.map((e=>[it(e.key),Wn(e.id)]))}function Yn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:Ln(n)})}))}const Xn=".chain";function Jn(e){if(!e||"string"!=typeof e)throw new M("Name must be a string");if(!e.endsWith(Xn))throw new M(`Name should end with .chain: ${e}`)}function Zn(e){try{return Jn(e),!0}catch(e){return!1}}function er(e){Tt(e);const t=e.substr(0,2);return Pn[t]||(()=>{throw new He(t)})()}function tr(e){Jn(e);const t=e.length-Xn.length;return jn[Math.min(t,Nn)]}function nr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_n;if(Number(n)!==n||n%1==0)throw new qe(`Increment must be float. Current increment ${n}`);if(n<_n)throw new qe(`minimum increment percentage is ${_n}`);return sn(m()(null!=t?t:tr(e)).times(m()(_n).plus(1)))}function rr(e,t){Jn(e);const n=e.length-Xn.length;return(n<=4&&Mn[4]||n<=8&&Mn[8]||n<=12&&Mn[12]||Mn[13]).plus(t).toString(10)}function ar(e){return Jn(e),e.length<13+Xn.length}var or=T(408).Buffer;class sr{static serialize(e){return e}static deserialize(e){return e}}class ir extends sr{static serialize(e){return Wn(Zn(e)?Hn(e):e)}static deserialize(e){return Ln(e)}}class cr extends sr{static serialize(e,t){let{name:n}=t;if(+e)throw new N(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return Gn(0)}static deserialize(e){return Qn(e)}}const ur=1,dr=2,lr=0,hr=3e4,pr={type:"delta",value:500},fr={type:"delta",value:10},mr={type:"delta",value:10},gr=0,yr=1579e3,wr=1e9,br=5e4,xr={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},vr=11,Tr=521,Ir=570,Cr=571,Er=572,Ar=573,kr=574,_r=575,Or=621,Nr=622,Sr=623,Pr=624,jr=625,Mr=626,Br=(e,t,n)=>[e,t,n],Rr=(e,t)=>[e,t],Dr={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Fr={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},qr={NO_ABI:0,SOPHIA:1,FATE:3},Vr={IRIS:5},$r={[Vr.IRIS]:{[Dr.contractCreate]:{vmVersion:[Fr.FATE_2],abiVersion:[qr.FATE]},[Dr.contractCall]:{vmVersion:[Fr.FATE_2,Fr.FATE,Fr.SOPHIA_IMPROVEMENTS_LIMA,Fr.SOPHIA_IMPROVEMENTS_FORTUNA,Fr.SOPHIA,Fr.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[qr.FATE,qr.SOPHIA]},[Dr.oracleRegister]:{vmVersion:[],abiVersion:[qr.NO_ABI,qr.SOPHIA]}}},Ur={10:Dr.account,[vr]:Dr.signed,12:Dr.spend,32:Dr.nameClaim,33:Dr.namePreClaim,34:Dr.nameUpdate,35:Dr.nameRevoke,36:Dr.nameTransfer,40:Dr.contract,42:Dr.contractCreate,43:Dr.contractCall,41:Dr.contractCallResult,22:Dr.oracleRegister,25:Dr.oracleExtend,23:Dr.oracleQuery,24:Dr.oracleResponse,50:Dr.channelCreate,53:Dr.channelCloseMutual,54:Dr.channelCloseSolo,55:Dr.channelSlash,[Tr]:Dr.channelForceProgress,51:Dr.channelDeposit,52:Dr.channelWithdraw,56:Dr.channelSettle,57:Dr.channelOffChain,58:Dr.channel,59:Dr.channelSnapshotSolo,[Ir]:Dr.channelOffChainUpdateTransfer,[Cr]:Dr.channelOffChainUpdateDeposit,[Er]:Dr.channelOffChainUpdateWithdrawal,[Ar]:Dr.channelOffChainCreateContract,[kr]:Dr.channelOffChainCallContract,[_r]:Dr.channelReconnect,60:Dr.proofOfInclusion,62:Dr.stateTrees,63:Dr.merklePatriciaTree,64:Dr.merklePatriciaTreeValue,[Or]:Dr.contractsTree,[Nr]:Dr.contractCallsTree,[Sr]:Dr.channelsTree,[Pr]:Dr.nameserviceTree,[jr]:Dr.oraclesTree,[Mr]:Dr.accountsTree,80:Dr.gaAttach,81:Dr.gaMeta,82:Dr.payingFor,70:Dr.sophiaByteCode},Hr={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},Kr=15e3,Wr=20,Lr=2e4,Gr=3,Qr=e=>{const t={[Dr.channelForceProgress]:30,[Dr.channelOffChain]:0,[Dr.channelOffChainCallContract]:0,[Dr.channelOffChainCreateContract]:0,[Dr.channelOffChainUpdateDeposit]:0,[Dr.channelOffChainUpdateWithdrawal]:0,[Dr.channelOffChainUpdateTransfer]:0,[Dr.contractCreate]:5,[Dr.contractCall]:12,[Dr.gaAttach]:5,[Dr.gaMeta]:5,[Dr.payingFor]:.2}[e]||1;return new(m())(t*Kr)},zr=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Dr.oracleRegister:case Dr.oracleExtend:case Dr.oracleQuery:case Dr.oracleResponse:return new(m())(t).times(Wr).plus(Math.ceil(32e3*r/Math.floor(525600/Gr)));case Dr.gaMeta:case Dr.payingFor:return new(m())(t).minus(a).times(Wr);default:return new(m())(t).times(Wr)}},Yr=[Br("tag",Hr.int),Br("VSN",Hr.int)],Xr=[...Yr,Br("sourceCodeHash",Hr.rawBinary),Br("typeInfo",Hr.sophiaCodeTypeInfo),Br("byteCode",Hr.rawBinary),Br("compilerVersion",Hr.string),Br("payable",Hr.bool)],Jr=[...Yr,Br("flags",Hr.int),Br("nonce",Hr.int),Br("balance",Hr.int),Br("gaContract",Hr.id,["ct","nm"]),Br("gaAuthFun",Hr.binary,"cb")],Zr=[...Yr,Br("senderId",Hr.id,"ak"),Br("recipientId",Hr.id,["ak","nm"]),Br("amount",Hr.amount),Br("fee",Hr.int),Br("ttl",Hr.int),Br("nonce",Hr.int),Br("payload",Hr.payload)],ea=[...Yr,Br("signatures",Hr.signatures),Br("encodedTx",Hr.rlpBinary)],ta=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("commitmentId",Hr.id,"cm"),Br("fee",Hr.int),Br("ttl",Hr.int)],na=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("name",class extends sr{static serialize(e){return Jn(e),or.from(e)}static deserialize(e){return e.toString()}}),Br("nameSalt",Hr.int),Br("nameFee",class extends sr{static serialize(e,t){var n;let{name:r}=t;const a=tr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new z(e,a);return Gn(e)}static deserialize(e){return Qn(e)}}),Br("fee",Hr.int),Br("ttl",Hr.int)],ra=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("nameTtl",Hr.int),Br("pointers",Hr.pointers),Br("clientTtl",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],aa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("recipientId",Hr.id,["ak","nm"]),Br("fee",Hr.int),Br("ttl",Hr.int)],oa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("nameId",ir),Br("fee",Hr.int),Br("ttl",Hr.int)],sa=[...Yr,Br("owner",Hr.id,"ak"),Br("ctVersion",Hr.int),Br("code",Hr.binary,"cb"),Br("log",Hr.binary,"cb"),Br("active",Hr.bool),Br("referers",Hr.ids,"ak"),Br("deposit",cr)],ia=[...Yr,Br("ownerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("code",Hr.binary,"cb"),Br("authFun",Hr.rawBinary),Br("ctVersion",Hr.ctVersion),Br("fee",Hr.int),Br("ttl",Hr.int),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],ca=[...Yr,Br("gaId",Hr.id,"ak"),Br("authData",Hr.binary,"cb"),Br("abiVersion",Hr.int),Br("fee",Hr.int),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("tx",Hr.rlpBinary)],ua=[...Yr,Br("payerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("fee",Hr.int),Br("tx",Hr.rlpBinary)],da=[...Yr,Br("ownerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("code",Hr.binary,"cb"),Br("ctVersion",Hr.ctVersion),Br("fee",Hr.int),Br("ttl",Hr.int),Br("deposit",cr),Br("amount",Hr.amount),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],la=[...Yr,Br("callerId",Hr.id,"ak"),Br("nonce",Hr.int),Br("contractId",Hr.id,["ct","nm"]),Br("abiVersion",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int),Br("amount",Hr.amount),Br("gas",Hr.int),Br("gasPrice",Hr.int),Br("callData",Hr.binary,"cb")],ha=[...Yr,Br("callerId",Hr.id,"ak"),Br("callerNonce",Hr.int),Br("height",Hr.int),Br("contractId",Hr.id,"ct"),Br("gasPrice",Hr.int),Br("gasUsed",Hr.int),Br("returnValue",Hr.binary,"cb"),Br("returnType",Hr.callReturnType),Br("log",Hr.rawBinary)],pa=[...Yr,Br("accountId",Hr.id,"ak"),Br("nonce",Hr.int),Br("queryFormat",Hr.string),Br("responseFormat",Hr.string),Br("queryFee",Hr.amount),Br("oracleTtlType",Hr.int),Br("oracleTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int),Br("abiVersion",Hr.int)],fa=[...Yr,Br("oracleId",Hr.id,["ok","nm"]),Br("nonce",Hr.int),Br("oracleTtlType",Hr.int),Br("oracleTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ma=[...Yr,Br("senderId",Hr.id,"ak"),Br("nonce",Hr.int),Br("oracleId",Hr.id,["ok","nm"]),Br("query",Hr.string),Br("queryFee",Hr.amount),Br("queryTtlType",Hr.int),Br("queryTtlValue",Hr.int),Br("responseTtlType",Hr.int),Br("responseTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ga=[...Yr,Br("oracleId",Hr.id,"ok"),Br("nonce",Hr.int),Br("queryId",Hr.binary,"oq"),Br("response",Hr.string),Br("responseTtlType",Hr.int),Br("responseTtlValue",Hr.int),Br("fee",Hr.int),Br("ttl",Hr.int)],ya=[...Yr,Br("initiator",Hr.id,"ak"),Br("initiatorAmount",Hr.int),Br("responder",Hr.id,"ak"),Br("responderAmount",Hr.int),Br("channelReserve",Hr.int),Br("lockPeriod",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("initiatorDelegateIds",Hr.string),Br("responderDelegateIds",Hr.string),Br("stateHash",Hr.binary,"st"),Br("nonce",Hr.int)],wa=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("amount",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("stateHash",Hr.binary,"st"),Br("round",Hr.int),Br("nonce",Hr.int)],ba=[...Yr,Br("channelId",Hr.id,"ch"),Br("toId",Hr.id,"ak"),Br("amount",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("stateHash",Hr.binary,"st"),Br("round",Hr.int),Br("nonce",Hr.int)],xa=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("initiatorAmountFinal",Hr.int),Br("responderAmountFinal",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],va=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("poi",Hr.binary,"pi"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ta=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("poi",Hr.binary,"pi"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ia=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("initiatorAmountFinal",Hr.int),Br("responderAmountFinal",Hr.int),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ca=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("round",Hr.int),Br("update",Hr.binary,"cb"),Br("stateHash",Hr.binary,"st"),Br("offChainTrees",Hr.stateTree),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],Ea=[...Yr,Br("channelId",Hr.id,"ch"),Br("round",Hr.int),Br("stateHash",Hr.binary,"st")],Aa=[...Yr,Br("initiator",Hr.id,"ak"),Br("responder",Hr.id,"ak"),Br("channelAmount",Hr.int),Br("initiatorAmount",Hr.int),Br("responderAmount",Hr.int),Br("channelReserve",Hr.int),Br("initiatorDelegateIds",Hr.ids),Br("responderDelegateIds",Hr.ids),Br("stateHash",Hr.hex),Br("round",Hr.int),Br("soloRound",Hr.int),Br("lockPeriod",Hr.int),Br("lockedUntil",Hr.int),Br("initiatorAuth",Hr.binary,"cb"),Br("responderAuth",Hr.binary,"cb")],ka=[...Yr,Br("channelId",Hr.id,"ch"),Br("fromId",Hr.id,"ak"),Br("payload",Hr.binary,"tx"),Br("ttl",Hr.int),Br("fee",Hr.int),Br("nonce",Hr.int)],_a=[...Yr,Br("owner",Hr.id,"ak"),Br("ctVersion",Hr.int),Br("code",Hr.binary,"cb"),Br("deposit",Hr.int),Br("callData",Hr.binary,"cb")],Oa=[...Yr,Br("caller",Hr.id,"ak"),Br("contract",Hr.id,"ct"),Br("abiVersion",Hr.int),Br("amount",Hr.int),Br("callData",Hr.binary,"cb"),Br("callStack",Hr.callStack),Br("gasPrice",Hr.int),Br("gasLimit",Hr.int)],Na=[...Yr,Br("channelId",Hr.id,"ch"),Br("round",Hr.int),Br("role",Hr.string),Br("pubkey",Hr.id,"ak")],Sa=[...Yr,Br("from",Hr.id,"ak"),Br("to",Hr.id,"ak"),Br("amount",Hr.int)],Pa=[...Yr,Br("from",Hr.id,"ak"),Br("amount",Hr.int)],ja=[...Yr,Br("from",Hr.id,"ak"),Br("amount",Hr.int)],Ma=[...Yr,Br("accounts",Hr.mptrees),Br("calls",Hr.mptrees),Br("channels",Hr.mptrees),Br("contracts",Hr.mptrees),Br("ns",Hr.mptrees),Br("oracles",Hr.mptrees)],Ba=[...Yr,Br("contracts",Hr.rlpBinary),Br("calls",Hr.rlpBinary),Br("channels",Hr.rlpBinary),Br("ns",Hr.rlpBinary),Br("oracles",Hr.rlpBinary),Br("accounts",Hr.rlpBinary)],Ra=[...Yr,Br("values",Hr.rlpBinaries)],Da=[...Yr,Br("key",Hr.hex),Br("value",Hr.rawBinary)],Fa=[...Yr,Br("contracts",Hr.rlpBinary)],qa=[...Yr,Br("calls",Hr.rlpBinary)],Va=[...Yr,Br("channels",Hr.rlpBinary)],$a=[...Yr,Br("mtree",Hr.rlpBinary)],Ua=[...Yr,Br("otree",Hr.rlpBinary)],Ha=[...Yr,Br("accounts",Hr.rlpBinary)],Ka={[Dr.account]:{2:Rr(Jr,10)},[Dr.signed]:{1:Rr(ea,vr)},[Dr.spend]:{1:Rr(Zr,12)},[Dr.namePreClaim]:{1:Rr(ta,33)},[Dr.nameClaim]:{2:Rr(na,32)},[Dr.nameUpdate]:{1:Rr(ra,34)},[Dr.nameTransfer]:{1:Rr(aa,36)},[Dr.nameRevoke]:{1:Rr(oa,35)},[Dr.contract]:{1:Rr(sa,40)},[Dr.contractCreate]:{1:Rr(da,42)},[Dr.contractCall]:{1:Rr(la,43)},[Dr.contractCallResult]:{1:Rr(ha,41)},[Dr.oracleRegister]:{1:Rr(pa,22)},[Dr.oracleExtend]:{1:Rr(fa,25)},[Dr.oracleQuery]:{1:Rr(ma,23)},[Dr.oracleResponse]:{1:Rr(ga,24)},[Dr.channelCreate]:{2:Rr(ya,50)},[Dr.channelCloseMutual]:{1:Rr(xa,53)},[Dr.channelCloseSolo]:{1:Rr(va,54)},[Dr.channelSlash]:{1:Rr(Ta,55)},[Dr.channelDeposit]:{1:Rr(wa,51)},[Dr.channelWithdraw]:{1:Rr(ba,52)},[Dr.channelSettle]:{1:Rr(Ia,56)},[Dr.channelForceProgress]:{1:Rr(Ca,Tr)},[Dr.channelOffChain]:{2:Rr(Ea,57)},[Dr.channel]:{3:Rr(Aa,58)},[Dr.channelSnapshotSolo]:{1:Rr(ka,59)},[Dr.channelOffChainUpdateTransfer]:{1:Rr(Sa,Ir)},[Dr.channelOffChainUpdateDeposit]:{1:Rr(Pa,Cr)},[Dr.channelOffChainUpdateWithdrawal]:{1:Rr(ja,Er)},[Dr.channelOffChainCreateContract]:{1:Rr(_a,Ar)},[Dr.channelOffChainCallContract]:{1:Rr(Oa,kr)},[Dr.channelReconnect]:{1:Rr(Na,_r)},[Dr.proofOfInclusion]:{1:Rr(Ma,60)},[Dr.stateTrees]:{1:Rr(Ba,62)},[Dr.merklePatriciaTree]:{1:Rr(Ra,63)},[Dr.merklePatriciaTreeValue]:{1:Rr(Da,64)},[Dr.contractsTree]:{1:Rr(Fa,Or)},[Dr.contractCallsTree]:{1:Rr(qa,Nr)},[Dr.channelsTree]:{1:Rr(Va,Sr)},[Dr.nameserviceTree]:{1:Rr($a,Pr)},[Dr.oraclesTree]:{1:Rr(Ua,jr)},[Dr.accountsTree]:{1:Rr(Ha,Mr)},[Dr.gaAttach]:{1:Rr(ia,80)},[Dr.gaMeta]:{2:Rr(ca,81)},[Dr.payingFor]:{1:Rr(ua,82)}},Wa={10:{2:Rr(Jr,10)},[vr]:{1:Rr(ea,vr)},12:{1:Rr(Zr,12)},33:{1:Rr(ta,33)},32:{2:Rr(na,32)},34:{1:Rr(ra,34)},36:{1:Rr(aa,36)},35:{1:Rr(oa,35)},40:{1:Rr(sa,40)},42:{1:Rr(da,42)},43:{1:Rr(la,43)},41:{1:Rr(ha,41)},22:{1:Rr(pa,22)},25:{1:Rr(fa,25)},23:{1:Rr(ma,23)},24:{1:Rr(ga,24)},50:{2:Rr(ya,50)},53:{1:Rr(xa,53)},54:{1:Rr(va,54)},55:{1:Rr(Ta,55)},51:{1:Rr(wa,51)},52:{1:Rr(ba,52)},56:{1:Rr(Ia,56)},57:{2:Rr(Ea,57)},58:{3:Rr(Aa,58)},59:{1:Rr(ka,59)},[Ir]:{1:Rr(Sa,Ir)},[Cr]:{1:Rr(Pa,Cr)},[Er]:{1:Rr(ja,Er)},[Ar]:{1:Rr(_a,Ar)},[kr]:{1:Rr(Oa,kr)},[_r]:{1:Rr(Na,_r)},60:{1:Rr(Ma,60)},62:{1:Rr(Ba,62)},63:{1:Rr(Ra,63)},64:{1:Rr(Da,64)},[Or]:{1:Rr(Fa,Or)},[Nr]:{1:Rr(qa,Nr)},[Sr]:{1:Rr(Va,Sr)},[Pr]:{1:Rr($a,Pr)},[jr]:{1:Rr(Ua,jr)},[Mr]:{1:Rr(Ha,Mr)},80:{1:Rr(ia,80)},81:{2:Rr(ca,81)},82:{1:Rr(ua,82)},[Tr]:{1:Rr(Ca,Tr)},70:{3:Rr(Xr,70)}};var La,Ga=T(408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(La||(La={}));class Qa{static nodeHash(e){return Ga.from(At((0,an.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Ae("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(Qa.nodeHash(n)!==t)throw new Ee;const{type:r,payload:a}=Qa.parseNode(n);switch(r){case La.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Ae("Can't find a node by hash in branch node")}));break;case La.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Ae("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:La.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Ne(n);const r=n<=1?La.Extension:La.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Oe(e.length)}}serialize(){return[Ga.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Ga.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Qa.parseNode(this.nodes[t]);switch(n){case La.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case La.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case La.Leaf:if(a!==e)return;return r[0]}}}}var za=T(408).Buffer;const Ya="delta";function Xa(e,t,n){if(!e)return"";switch(t){case Hr.ctVersion:{const[t,,n]=e;return{vmVersion:Qn(za.from([t])),abiVersion:Qn(za.from([n]))}}case Hr.amount:case Hr.int:return Qn(e);case Hr.id:return Ln(e);case Hr.ids:return e.map(Ln);case Hr.bool:return 1===e[0];case Hr.binary:return It(e,n);case Hr.stateTree:return It(e,"ss");case Hr.string:return e.toString();case Hr.payload:return It(e,"ba");case Hr.pointers:return Yn(e);case Hr.rlpBinary:return lo(e,!0);case Hr.rlpBinaries:return e.map((e=>lo(e,!0)));case Hr.rawBinary:return e;case Hr.hex:return e.toString("hex");case Hr.offChainUpdates:return e.map((e=>lo(e,!0)));case Hr.callStack:return[Qn(e)];case Hr.mptrees:return e.map((e=>new Qa(e)));case Hr.callReturnType:switch(Qn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Hr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,o]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:o}}}),{});default:return t.prototype instanceof sr?t.deserialize(e):e}}function Ja(e,t,n,r){var a;switch(t){case Hr.amount:case Hr.int:return Gn(e);case Hr.id:return Wn(e);case Hr.ids:return e.map(Wn);case Hr.bool:return za.from([e?1:0]);case Hr.binary:return Tt(e,n);case Hr.stateTree:return Tt(e,"ss");case Hr.hex:return za.from(e,"hex");case Hr.signatures:return e.map(za.from);case Hr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Tt(e,"ba"):it(e);case Hr.string:return it(e);case Hr.pointers:return zn(e);case Hr.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case Hr.mptrees:return e.map((e=>e.serialize()));case Hr.ctVersion:return za.from([...it(e.vmVersion),0,...it(e.abiVersion)]);case Hr.callReturnType:switch(e){case"ok":return Gn(0);case"error":return Gn(1);case"revert":return Gn(2);default:return e}default:return t.prototype instanceof sr?t.serialize(e,r):e}}function Za(e,t,n){if(null==e)return"Field is required";switch(t){case Hr.amount:case Hr.int:return isNaN(e)&&!m().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(m())(e).lt(0)?`${e} must be >= 0`:void 0;case Hr.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case Hr.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Hr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function eo(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Hr.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:hn(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===Ya?0:1,e[`${n}Value`]=a.value),e}),{})}function to(e,t){const n={[Dr.oracleRegister]:"oracleTtl",[Dr.oracleExtend]:"oracleTtl",[Dr.oracleQuery]:"queryTtl",[Dr.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function no(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=m()(1e9);if(!r)return m()(Lr).times(o).toString(10);let s=ro(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=m()(0);for(;!s.eq(i);)s=ro(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function ro(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=uo({...n},e,{vsn:o}),i=s.length;return Qr(e).plus(zr(e,i,{relativeTtl:to(n,e),innerTxSize:[Dr.gaMeta,Dr.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function ao(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Lr})`),e||no(t,{params:r,gas:n,vsn:o})}function oo(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,Za(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function so(e,t){let{excludeKeys:n=[],denomination:r=cn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=oo(e=eo(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Ue("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return Ja(e[n],r,a,e)}))}function io(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:Xa(e[r],o,s)})}),{})}const co=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?Wa:Ka;if(!s[o])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function uo(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=ur,denomination:o=cn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=co({type:t,vsn:a}),c=so({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),u=(0,an.encode)(c),d=It(u,r);return{tx:d,rlpEncoded:u,binary:c,txObject:io(c,s)}}function lo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:Tt(e,n),a=(0,an.decode)(r),o=Qn(a[0]),s=Qn(a[1]),[i]=co({objId:o,vsn:s});return{txType:Ur[o],tx:io(a,i),rlpEncoded:r,binary:a}}function ho(e){return It(At("string"==typeof e&&e.startsWith("tx_")?Tt(e,"tx"):e),"th")}var po={calculateMinFee:no,calculateFee:ao,unpackTx:lo,unpackRawTx:io,buildTx:uo,buildRawTx:so,validateParams:oo,buildTxHash:ho},fo=T(882),mo=T(986),go=T(408).Buffer;const yo=go.from("ed25519 seed"),wo=2147483648,bo=e=>go.from(e).toString("hex");function xo(e,t){const n=""===e?[]:(0,mo.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<wo)throw new _e(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Eo(e,t)),t)}function vo(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Te;const n=Co(t);return xo(e.slice(2),n)}function To(e){const{secretKey:t,publicKey:n}=e;return{secretKey:bo(t),publicKey:It(n,"ak")}}function Io(e){return l().sign.keyPair.fromSeed(e)}function Co(e){const t=(0,fo.full)(e,yo);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Eo(e,t){let{secretKey:n,chainCode:r}=e;if(t<wo)throw new Se(t);const a=go.allocUnsafe(4);a.writeUInt32BE(t,0);const o=go.concat([go.alloc(1,0),go.from(n),go.from(a)]),s=(0,fo.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function Ao(e,t){const n=vo("m/44h/457h",e);return{secretKey:bo(Rt(t,n.secretKey)),chainCode:bo(Rt(t,n.chainCode))}}function ko(e,t,n){const r={secretKey:Dt(t,go.from(e.secretKey,"hex")),chainCode:Dt(t,go.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>To(Io(xo(`${t}h/0h/0h`,r).secretKey))))}const _o=(e,t)=>({...To(Io(xo(`${t}h/0h/0h`,vo("m/44h/457h",e)).secretKey)),idx:t});var Oo=T(910),No=T.n(Oo),So=T(180),Po=No()((0,So.required)({methods:{spendTx:So.required,namePreclaimTx:So.required,nameClaimTx:So.required,nameTransferTx:So.required,nameUpdateTx:So.required,nameRevokeTx:So.required,contractCreateTx:So.required,contractCallTx:So.required,oracleRegisterTx:So.required,oracleExtendTx:So.required,oraclePostQueryTx:So.required,oracleRespondTx:So.required,getAccountNonce:So.required,channelCloseSoloTx:So.required,channelSlashTx:So.required,channelSettleTx:So.required,channelSnapshotSoloTx:So.required,gaAttachTx:So.required,getVmVersion:So.required,prepareTxParams:So.required}}));const jo=No()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,So.required)({methods:{sendTransaction:So.required,height:So.required,awaitHeight:So.required,poll:So.required,balance:So.required,getBalance:So.required,tx:So.required,getTxInfo:So.required,mempool:So.required,txDryRun:So.required,getAccount:So.required}}));var Mo=jo;function Bo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const o=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===o?r:o}return r}),r)}var Ro=No()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==Bo)),t.compose.initializers=[Bo]}}),Do=T(659),Fo=T.n(Do),qo=T(503),Vo=T.n(qo),$o=T(911);const Uo=T.n($o)()({storeAsString:!0}),Ho=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Ho(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Ho(e)));if("string"==typeof e&&m()(e).toString(10)===e){const t=m()(e);return t.toJSON=()=>t.toString(10),t}return e};var Ko={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Uo.stringify(Ho(e),...n)},parse:Uo.parse};let Wo=!1;var Lo=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Vo()(e)).json();const s=r?JSON:Ko,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Fo()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=Vo()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=s.parse(e.text);return Object.assign(e,{body:a?n:Tn(n)}),o&&o(e)||e}})}))),u=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),wn((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Wo||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),Wo=!0),n(...arguments)}]}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),l={},h=wn(u,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+nt(t.slice(1));return[r,async function(){for(var e,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];const u=d[t],h=[...u.parameters,...u.requestBody?[{required:u.requestBody.required,schema:Object.values(u.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new S(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=wn(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),o=bn(a?n:vn(n),(e=>{let[t]=e;return r.includes(t)}));return[t,s.stringify(o)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=l[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return l[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Go(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),o=r(t),s=r(n),i=Math.max(...a,...o,...s)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),u=c(a),d=c(o),l=c(s);return u>=d&&u<l}function Qo(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new B("networkId is not provided");return n&&!r?null:r}const zo=Ro.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new B('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Lo(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Go(this.version,Yo,Xo)&&!r)throw new K("node",this.version,Yo,Xo);this.api=a.api;const{nodeRevision:o,genesisKeyBlockHash:s,networkId:i,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:o,genesisHash:s})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Yo="6.2.0",Xo="7.0.0";var Jo=zo,Zo=T(408).Buffer;const es=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var ts=No()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=Tt(e,"tx"),a=Zo.concat([Zo.from(n.join("-")),At(r)]),o=[await this.sign(a,t)];return uo({encodedTx:r,signatures:o},Dr.signed).tx},getNetworkId:Qo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Vt(e),t);return t.returnHex?Zo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Ut(e,"string"==typeof t?Zo.from(t,"hex"):t,Tt(await this.address(n)))}}},(0,So.required)({methods:{sign:So.required,address:So.required}}));const ns=No()(Po,ts,Mo,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),o=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:po.buildTxHash(o),rawTx:o}:this.sendTransaction(o,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new O("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),o=await this.address(r),s=new(m())(await this.balance(o)),i=s.times(e).integerValue(m().ROUND_HALF_UP),{tx:{fee:c}}=po.unpackTx(await this.spendTx({...r,senderId:o,recipientId:a,amount:i})),u=i.plus(c).gt(s)?s.minus(c):i;return this.send(await this.spendTx({...r,senderId:o,recipientId:a,amount:u}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:cn.AETTOS}}}});var rs=ns,as=T(408).Buffer;const os=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:o,parentTxTypes:s}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=as.from([o.nodeNetworkId,...s.includes(Dr.payingFor)?["inner_tx"]:[]].join("-")),c=as.concat([i,n.rlpEncoded]),u=as.concat([i,At(n.rlpEncoded)]),d=Tt(a.id,"ak");return qt(c,r[0],d)||qt(u,r[0],d)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:o,txType:s}=t;return void 0===(null!=n?n:r)?[]:is(It((null!=n?n:r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=ao(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(m())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:o,tx:s}=e,{account:i,parentTxTypes:c,txType:u}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:o))return[];const d=new(m())(a).plus(o||0).plus(r||0).plus(u===Dr.payingFor?s.tx.encodedTx.tx.fee:0).minus(c.includes(Dr.payingFor)?a:0);return d.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${d.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(Dr.gaMeta))return[];n=+n;const o=r.nonce+1;return n===o?[]:[{...n<o?{message:`Nonce ${n} is already used, valid nonce is ${o}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${o}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=wr?[]:[{message:`Gas price ${t} must be bigger then ${wr}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=$r[s];if(!i)throw new U(`Unsupported protocol: ${s}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Dr.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var o,s;if(null===(o=e.response)||void 0===o||null===(s=o.body)||void 0===s||!s.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],ss=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function is(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:o}=lo(e),s=null!==(n=ss(a))&&void 0!==n?n:o===Dr.signed?ss(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([s&&t.api.getAccountByPubkey(s).catch((()=>({id:s,balance:new(m())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(os.map((e=>e(a,{txType:o,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}var cs=No()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new Me("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new je(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new Me(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Qo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Pe;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new V('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new V(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new V(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new V(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function us(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:xr.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:o,...s}=e;const{resolve:i,reject:c,tx:u,options:d,accountAddress:l}=t[n];if("ok"===r)return i({...s,txEvents:a});c(Object.assign(new Fe(o),{tx:u,accountAddress:l,options:d}))}))}const ds=Mo.compose(cs,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await is(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new $e(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>is(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return hn(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=cn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return hn(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await yn(n),t=await this.height(),t>=e)return t;throw new F((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await yn(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new q(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new O("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new O("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,o;let{top:s,txEvents:i,combine:c}=n;const u=c?[s,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(o=(a=this._txDryRun)[u])&&void 0!==o||(a[u]=[]),new Promise(((n,r)=>{var a,o;this._txDryRun[u].push({tx:e,accountAddress:t,top:s,txEvents:i,resolve:n,reject:r}),c?null!==(o=(a=this._txDryRun[u]).timeout)&&void 0!==o||(a.timeout=setTimeout(us.bind(this,u))):us.call(this,u)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:o}=await this.api.getTransactionByHash(t);switch(o){case-1:throw new Qe(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Y(`Name or address should be a string: ${e}`);try{return Tt(e),e}catch(e){}if(Zn(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Q(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Hn(e)}throw new Y(`Invalid name or address: ${e}`)}}});var ls=ds,hs=T(408).Buffer;const ps=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new V('tx "params" should be an object');if("string"!=typeof e||!Object.values(Dr).includes(e))throw new ze(`Unknown transaction type ${e}`);const r=ao(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=uo({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},fs=e=>{if(!e)throw new $e(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=lo(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=lo(e,!0);return{encodedTx:It(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new $e(`"tx" should be a string or Uint8Array, got ${e} instead`)},ms=No()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return ps(n,t,r);if(e)return fs(e);throw new $e('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Dr.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>ms({tx:e}),fromRlp:e=>ms({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new V("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,ps(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=at(e)?hs.from(e,"hex"):e,!(hs.isBuffer(e)||e instanceof Uint8Array))throw new Ve("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,ps(Dr.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return ao(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var gs=ms;async function ys(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:lr,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new O("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const ws=ls.compose(Po,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ms({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:Dr.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:s,fee:parseInt(o),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(Dr.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Dr.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:Dr.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o),name:It(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ms({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:Dr.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:s,ttl:o,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(Dr.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:Dr.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(s)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(Dr.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Dr.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:o,gas:s,gasPrice:i=wr,callData:c}=e;const u=this.getVmVersion(Dr.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(Dr.contractCreate,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return this.nativeMode?{tx:ms({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:Dr.contractCreate}).encodedTx,contractId:Vn(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:i,vmVersion:u.vmVersion,abiVersion:u.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:o,gasPrice:s=wr,callData:i}=e;const c=this.getVmVersion(Dr.contractCall,arguments[0]),{fee:u,ttl:d,nonce:l}=await this.prepareTxParams(Dr.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ms({params:{...arguments[0],nonce:l,ttl:d,fee:u,abiVersion:c.abiVersion,gasPrice:s},type:Dr.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:l,ttl:d,fee:parseInt(u),gas:parseInt(o),gasPrice:s,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:o,gas:s,absoluteTtl:i,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const d=await ys.call(this,a,!i),l=ao(o,e,{showWarning:this.showWarning,gas:s,params:{...arguments[1],nonce:r,ttl:d},vsn:c});return{fee:l,ttl:d,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:o,abiVersion:s=qr.NO_ABI}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(Dr.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:ms({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Dr.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:s,fee:parseInt(i),oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return d},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ms({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:Dr.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:s,ttl:o});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:o,senderId:s}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(Dr.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ms({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:u,senderId:s},type:Dr.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:o,ttl:c,nonce:u,senderId:s});return d},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(Dr.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ms({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:Dr.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:o,fee:parseInt(s),ttl:i,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Dr.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Dr.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(Dr.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},Dr.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:s,fee:parseInt(o),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(Dr.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?uo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},Dr.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:parseInt(a),nonce:s});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:o,gas:s,gasPrice:i=wr,callData:c}=e;const u=this.getVmVersion(Dr.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(Dr.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return{tx:ms({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:Dr.gaAttach}).encodedTx,contractId:Vn(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:lo(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(Dr.payingFor,{...a,...r,senderId:n});return uo({...a,...r,fee:o,nonce:s},Dr.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=$r[r];if(!a)throw new U("Not supported consensus protocol version");const o=a[e];if(!o)throw new ze("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Xe(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Ye(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var bs=ws,xs=T(408).Buffer;const vs=new WeakMap;var Ts=ts.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return Tt(n),void vs.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new L("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new L('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new L('Public Key must be a base58c string with "ak_" prefix');if(!xs.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!at(t.secretKey))throw new L("Secret key must be hex string or Buffer");const r=xs.from(Tt(t.publicKey,"ak"));if(!Ht(xs.from(t.secretKey,"hex"),r))throw new L("Invalid Key Pair");vs.set(this,{secretKey:xs.isBuffer(t.secretKey)?t.secretKey:xs.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new L("You are trying to sign data using generalized account without keypair");return Promise.resolve(Ft(e,vs.get(this).secretKey))},address(){return Promise.resolve(vs.get(this).publicKey)}}}),Is=ts.compose(Ro,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(Tt(e,"ak"),!this.accounts[e])throw new G(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new V("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(Tt(e,"ak"),!this.accounts[e])throw new G(e);return this.accounts[e];case"object":return es(e)?e:Ts({keypair:e});default:throw new V(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}});const Cs=rs.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:In,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>In||r<=0)throw new O("nameTtl",`a number between 1 and ${In} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const n={...this.Ae.defaults,...t},r=St(),a=await this.height(),o=Kn(e,r),s=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:o}),i=await this.send(s,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:o})},aensClaim:async function(e,t,n){Jn(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),o=await this.send(a,r);if(!ar(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(o,t)}return{...o,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Jn(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},o=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(o,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Jn(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Jn(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:An,nameTtl:In}}}});var Es=Cs,As=Ro.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new B("compilerUrl required");e=e.replace(/\/$/,"");const n=await Lo(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=wn(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Go(this.compilerVersion,ks,_s))throw new K("compiler",this.compilerVersion,ks,_s)}},props:{compilerVersion:null}});const ks="6.1.0",_s="7.0.0";var Os=T(946),Ns=T(408).Buffer,Ss=rs.compose(As,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:o={},validateBytecode:s,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:o}})),!r)throw new fe;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new pe("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new le(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new Os.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:o,...i},compilerVersion:this.compilerVersion};if(s){if(!a)throw new pe("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new ue(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new N("Contract already compiled");if(!c.source)throw new N("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:gs({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await d(a),{...r,result:a}},d=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=Tt(r).toString();break;default:throw new W(`Unknown returnType: ${n}`)}throw new ge(t)};function l(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new ye(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const o=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+At(n).toString("hex"))===t}));switch(o.length){case 0:throw new be(t,e);case 1:return o[0][0];default:throw new xe(e,o)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new de;const o=await e.address(a),{tx:s,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:o}),{hash:d,rawTx:l,result:h,txData:p}=await u(s,a);return c.deployInfo=Object.freeze({result:h,owner:o,transaction:d,rawTx:l,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},o=l(t),s=c.deployInfo.address;if(!t)throw new me;if("init"===t&&!a.callStatic)throw new he('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new he("You need to deploy contract before calling!");if("init"!==t&&a.amount>0&&!1===o.payable)throw new we(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return xr.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:yr,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:s}),{callObj:o,...u}=await e.txDryRun(r,i,a);await d(o),p={...u,tx:gs({tx:r}),result:o}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:s,callData:h});p=await u(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=o.returns&&"unit"!==o.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof be)return null;throw e}const o=c.calldata.decodeEvent(a,e.data,r),[s,i]=Object.entries(o)[0];return{name:s,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];const s=a.length===n.length+1?a.pop():{};if("object"!=typeof s)throw new V(`Options should be an object: ${s}`);return"init"===t?c.deploy(a,{callStatic:e,...s}):c.call(t,a,{callStatic:e,...s})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Ns.concat([Ns.from(this.getNetworkId(t)),...e.map((e=>Tt(e)))]),t);return Ns.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Hn(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([null!=n?n:await this.address(r),t],r)}},deepProps:{Ae:{defaults:{gasPrice:wr,amount:gr}}}});const Ps=e=>async(t,n)=>{if("object"!=typeof t)throw new ce("AuthData must be an object");if(t.gas&&m()(t.gas).gt(br))throw new ce(`the maximum gas value for ga authFun is ${br}, got ${t.gas}`);const r=t.gas||br;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new ce('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new ce("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},js=Ss.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...a},s=await this.address(o);if(await this.isGA(s))throw new N(`Account ${s} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:u}=await this.gaAttachTx({...o,gas:null!==(n=o.gas)&&void 0!==n?n:await i._estimateGas("init",r,o),ownerId:s,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:At(e)}),{hash:d,rawTx:l}=await this.send(c,o);return Object.freeze({owner:s,transaction:d,rawTx:l,gaContractId:u})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new B("authData is required");const{authCallData:a,gas:o}=await Ps(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Dr.contractCall),c=Bs(lo(e)),u={...s,tx:{...c,tx:c.txObject},gaId:await this.address(s),abiVersion:i,authData:a,gas:o,vsn:2},{fee:d}=await this.prepareTxParams(Dr.gaMeta,u),{rlpEncoded:l}=uo({...u,fee:`${d}`},Dr.gaMeta,{vsn:2});return Bs(l).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Ms=js;const Bs=e=>uo({encodedTx:e,signatures:[]},Dr.signed),Rs=1;let Ds,Fs,qs,Vs,$s;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(Ds||(Ds={})),function(e){e.window="window",e.extension="extension"}(Fs||(Fs={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(qs||(qs={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Vs||(Vs={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}($s||($s={}));const Us={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},Hs=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new R;return{}},Ks=()=>window!==window.parent,Ws=e=>{let t=0;return function(n){let{id:r,method:a,params:o,result:s,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=o?{params:o}:s?{result:s}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...u}),r}},Ls=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Gs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Qs=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},zs=e=>(t,n,r)=>e.sendMessage(Qs(t,n,r),!0),Ys=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length;var Xs=No()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:o,handlers:[s,i]}=e;this.id=t,this.connection=o,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Ws(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new J(e);s(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===$s.CONNECTED||this.info.status===$s.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=$s.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Ys(e))throw new V("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Gs(Vs.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==qs.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===qs.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Gs(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new X;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new Z(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Js={[Vs.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Vs.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await Jo(a),!0),e.onNetworkChange(n)},[Vs.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Zs={[Vs.address]:e=>t=>e.rpcClient.processResponse(t),[Vs.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=$s.CONNECTED),e.rpcClient.processResponse(t)},[Vs.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Vs.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Vs.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ei={};var ti=rs.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new O(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ne;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new Je("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Xs({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Kt.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?Ls(Zs,e,{debug:a.debug})(a)(e):Ls(ei,e,{debug:a.debug})(a)(e):Ls(Js,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const o=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(o,"node"))throw new tt("Missing URLs of the Node");return t&&this.addNode(n,await Jo(o.node),r),o},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new et("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Gs(Vs.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ne;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ee(e);return e||t},async askAddresses(){if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;return this.rpcClient.request(Vs.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new et("You are not connected to Wallet");return this.rpcClient.request(Vs.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Vs.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Vs.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Vs.connect,{name:this.name,version:Rs,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Vs.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}});const ni=rs.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),o=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(o,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},o=await this.address(a),s=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:o,response:n});return{...await this.send(s,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),o=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(o,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},o=await this.address(a),s=await this.oraclePostQueryTx({...a,oracleId:e,senderId:o,query:t}),i=$n(o,lo(s).tx.nonce,e);return{...await this.send(s,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await yn(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Tt(n,"or");if(o.length)return String(o)}throw new F((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let o;return(async()=>{for(;!o;)await a().catch(console.error),await yn(n)})(),()=>{o=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:Tt(n.query).toString(),decodedResponse:Tt(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>Tt(e)}}},deepProps:{Ae:{defaults:{queryFee:hr,oracleTtl:pr,queryTtl:fr,responseTtl:mr}}}});var ri=ni,ai=rs.compose(bs,ri,Ss,Es,ls,ti);const oi=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!es(n.onAccount))throw new V("Provided onAccount should be an AccountBase");t=n.onAccount}return t},si={[Vs.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ii={},ci={[Vs.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i,connectNode:c}=r;return s!==Rs?{error:Us.unsupportedProtocol()}:(n.updateInfo({status:$s.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:o,version:s},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?$s.NODE_BINDED:$s.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:$s.CONNECTION_REJECTED}),{error:Us.connectionDeny(e)}))))},[Vs.subscribeAddress](e,t,n,r){let{type:a,value:o}=r;return n.isConnected()?e("onSubscription",{type:a,value:o},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Ys(r))throw new V("Invalid provided accounts object");const s=n.updateSubscription(a,o);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:s,address:r}}}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.notAuthorize()}},[Vs.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.notAuthorize()},[Vs.sign](e,t,n,r){const{tx:a,onAccount:o,networkId:s,returnSigned:i=!1}=r,c=o||n.currentAccount;return s&&n.updateInfo({networkId:s}),n.isConnected()?n.hasAccessToAccount(c)?s&&s===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:gs.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=oi(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await is(e||a,t.selectedNode.instance);return r.length?{error:Us.invalidTransaction(r)}:{error:Us.broadcastFailed(n.message)}}throw n}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.unsupportedNetwork()}:{error:Us.permissionDeny(c)}:{error:Us.notAuthorize()}},[Vs.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Us.notAuthorize()};const s=o||n.currentAccount;return n.hasAccessToAccount(s)?e("onMessageSign",{message:a,onAccount:s},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=oi(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Us.internalError(e.message)}}}),(e=>({error:Us.rejectedByUser(e)}))):{error:Us.permissionDeny(s)}}},ui=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return Ls(si,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return Ls(ii,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:o}=n,s=(n,s,i,c)=>()=>new Promise((u=>{e[n](a,{id:t,method:o,params:s,accept:function(){return u(i(...arguments))},deny:function(){return u(c(...arguments))}},r)})),i=Ls(ci,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;zs(a)(t,o,c)}};var di=rs.compose(Is,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new O(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,Kt.v4)();const a=this.selectAccount.bind(this),o=this.addAccount.bind(this),s=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await o(t,{select:n});const s=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[s]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[s]:r},...e.accounts.connected}})))},this.selectNode=e=>{s(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Gs(Vs.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===$s.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new te(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,Kt.v4)();return this.rpcClients[t]=Xs({id:t,info:{status:$s.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[ui(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Gs(Vs.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Hs(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Fs.extension:Fs.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),li=rs.compose(di,bs,Ss,ri,Es,Ms,ls),hi=T(397),pi=T(735);const fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,xi=new WeakMap,vi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Ci=new WeakMap,Ei=new WeakMap,Ai=new WeakMap,ki=new WeakMap,_i=new WeakMap,Oi=new WeakMap;function Ni(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];bi.get(e).emit(...n)}function Si(e,t){if(!t)throw new ie;yi.set(e,t),t.handler.enter&&t.handler.enter(e),Ri(e)}function Pi(e,t){t!==mi.get(e)&&(mi.set(e,t),Ni(e,"statusChanged",t))}function ji(e,t){gi.set(e,t),Ni(e,"stateChanged",t)}function Mi(e,t){const{debug:n=!1}=fi.get(e);n&&console.log("Send message: ",t),wi.get(e).send(Ko.stringify(t))}function Bi(e,t,n){Ti.set(e,[...Ti.get(e)||[],{guard:t,action:n}]),Ri(e)}async function Ri(e){const t=Ii.get(e),n=Ti.get(e)||[];if(t||!n.length)return;const r=yi.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;Ti.set(e,n.filter(((e,t)=>a!==t))),Ii.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));Ii.set(e,!1),Si(e,o)}async function Di(e,t){const{handler:n,state:r}=yi.get(e);Si(e,await Promise.resolve(n(e,t,r)))}function Fi(e){clearTimeout(ki.get(e)),clearTimeout(_i.get(e)),ki.set(e,setTimeout((()=>{Mi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),_i.set(e,setTimeout((()=>{Vi(e),Ni(e,"error",new oe)}),5e3))}),1e4))}function qi(e,t,n){return new Promise(((r,a)=>{const o=Ci.set(e,Ci.get(e)+1).get(e);Ai.get(e).set(o,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new re(e.error.message+(t?`: ${t}`:"")))}})),Mi(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Vi(e){wi.get(e).close(),clearTimeout(ki.get(e)),clearTimeout(_i.get(e))}async function $i(e,t,n,r){let{url:a,...o}=r;fi.set(e,o),yi.set(e,{handler:t}),bi.set(e,new pi.EventEmitter),Ci.set(e,0),Ai.set(e,new Map),xi.set(e,[]);const s=new URL(a);Object.entries(o).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return s.searchParams.set(rt(t),n)})),s.searchParams.set("protocol","json-rpc"),Pi(e,"connecting");const i=new hi.w3cwebsocket(s.toString());await new Promise(((t,r)=>Object.assign(i,{onerror:r,onopen:()=>{t(),Pi(e,"connected"),o.reconnectTx&&(Si(e,{handler:n}),setTimeout((async()=>ji(e,(await qi(e,"channels.get.offchain_state",{})).signed_tx)))),Fi(e)},onclose:()=>{Pi(e,"disconnected"),clearTimeout(ki.get(e)),clearTimeout(_i.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Ko.parse(t),{debug:r=!1}=fi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=Ai.get(e).get(n.id);try{t(n)}finally{Ai.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(xi.get(e).push(n),async function(e){if(vi.get(e))return;const t=xi.get(e);if(t.length){for(vi.set(e,!0);t.length;){const n=t.shift();try{await Di(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}vi.set(e,!1)}}(e)):n.params.channel_id!==Ei.get(e)&&null!=Ei.get(e)||Fi(e):Ni(e,"message",n.params.data.message)}(e,n)}}))),wi.set(e,i)}async function Ui(e,t){const{signatures:n,encodedTx:r}=lo(e).tx,a=await t(It(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=lo(a);return uo({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Hi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new se(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Xi}}function Ki(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Pi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Li}):"channel_reestablished"===t.params.data.event?{handler:zi}:"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),{handler:Ki}):{handler:Ki}:"channels.error"===t.method?(Ni(e,"error",new ae(t.payload.message)),{handler:gc}):void 0}async function Wi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),ji(e,(await qi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Xi}):Hi(0,t,n)}async function Li(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[fi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx);return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Gi}}const n=await Ui(t.params.data.signed_tx,(t=>fi.get(e).sign(r,t)));return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Gi}}}function Gi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===fi.get(e).role)return{handler:Qi};if("funding_created"===t.params.data.info&&"responder"===fi.get(e).role)return{handler:Qi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===fi.get(e).role)return Ei.set(e,t.params.channel_id),Pi(e,"signed"),{handler:Gi}}function Qi(e,t,n){if("channels.info"===t.method){const e={funding_created:Qi,own_funding_locked:Qi,funding_locked:zi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Qi}}function zi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return Ei.set(e,t.params.channel_id),{handler:Yi}}function Yi(e,t,n){if("channels.update"===t.method)return ji(e,t.params.data.state),{handler:Xi}}async function Xi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:ec};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Ni(e,t.params.data.event),{handler:Xi};case"fsm_up":return Oi.set(e,t.params.data.fsm_id),{handler:Xi};case"timeout":case"close_mutual":case"shutdown":return{handler:Xi};case"closing":return Pi(e,"closing"),{handler:Xi};case"closed_confirmed":return Pi(e,"closed"),{handler:gc};case"died":return Pi(e,"died"),{handler:gc}}break;case"channels.on_chain_tx":return Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Xi};case"channels.leave":return{handler:Xi};case"channels.update":return ji(e,t.params.data.state),{handler:Xi};case"channels.sign.shutdown_sign_ack":return ec(e,t,n)}}async function Ji(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Zi,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Zi,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Ji,state:n}}if("channels.error"===t.method)return n.reject(new ae(t.data.message)),{handler:Xi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new P("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new N("Amount cannot be negative")):n.reject(new ae(t.error.message)),{handler:Xi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}function Zi(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):t.error?(n.reject(new ae(t.error.message)),{handler:Xi}):Hi(0,t,n)}async function ec(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Xi}}else{const a=await Ui(t.params.data.signed_tx,(n=>fi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Xi};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:tc,state:n}}return Mi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Bt().publicKey,to:Bt().publicKey,amount:1}}),{handler:tc,state:n}}return Hi(0,t,n)}function tc(e,t,n){return t.error?{handler:tc,state:n}:"channels.conflict"===t.method?{handler:Xi}:Hi(0,t,n)}async function nc(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:rc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e)));return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:rc,state:n}}return Hi(0,t,n)}function rc(e,t,n){return"channels.on_chain_tx"===t.method?{handler:gc,state:n}:Hi(0,t,n)}function ac(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Vi(e),{handler:gc}):"channels.error"===t.method?(n.reject(new ae(t.data.message)),{handler:Xi}):Hi(0,t,n)}async function oc(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:sc,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:sc,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:sc,state:n}}return Hi(0,t,n)}function sc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:sc,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:sc,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function ic(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cc,state:n};const a=await Ui(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:cc,state:n};if("number"==typeof a)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:cc,state:n}}return Hi(0,t,n)}function cc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:cc,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:cc,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function uc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:dc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:dc,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:dc,state:n}}return Hi(0,t,n)}function dc(e,t,n){if("channels.update"===t.method){const{round:r}=lo(t.params.data.state).tx.encodedTx.tx,a=fi.get(e)[{initiator:"initiatorId",responder:"responderId"}[fi.get(e).role]];return ji(e,t.params.data.state),n.resolve({accepted:!0,address:jt(a,r),signedTx:t.params.data.state}),{handler:Xi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}async function lc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:fc,state:n};const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:fc,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:fc,state:n}}return Hi(0,t,n)}async function hc(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ui(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Mi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:pc,state:n}}return Hi(0,t,n)}function pc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Ni(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),Hi(0,t,n)}function fc(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Xi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Xi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Xi}):Hi(0,t,n)}function mc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Xi}):(n.reject(new se("Unexpected message received")),{handler:gc})}function gc(e,t,n){return n?"closing"===t.params.data.event?{handler:gc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:gc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:gc}):{handler:gc,state:n}:{handler:gc}}function yc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[nt(n)]:r}}),{})}Xi.enter=e=>{Pi(e,"open")};const wc=Ro.compose({async init(e){await $i(this,e.existingFsmId?Wi:Ki,Xi,e)},methods:{on:function(e,t){bi.get(this).on(e,t)},off:function(e,t){bi.get(this).removeListener(e,t)},status:function(){return mi.get(this)},state:async function(){return yc(await qi(this,"channels.get.offchain_state",{}))},round:function(){if(!gi.get(this))return null;const{txType:e,tx:t}=lo(gi.get(this)).tx.encodedTx;switch(e){case Dr.channelCreate:return 1;case Dr.channelOffChain:case Dr.channelWithdraw:case Dr.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return Ei.get(this)},fsmId:function(){return Oi.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Ji,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await qi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await qi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Bi(this,((e,t)=>t.handler===Xi),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:ac,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Bi(this,((e,t)=>t.handler===Xi),((r,a)=>(Mi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:nc,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Mi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:oc,state:{sign:t,resolve:o,reject:s,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((o,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:ic,state:{sign:t,resolve:o,reject:s,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:o,abiVersion:s}=e;return new Promise(((e,i)=>{Bi(this,((e,t)=>t.handler===Xi),((c,u)=>(Mi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:uc,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o}=e;return new Promise(((e,s)=>{Bi(this,((e,t)=>t.handler===Xi),((i,c)=>(Mi(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:lc,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return yc(await qi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return yc(await qi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await qi(this,"channels.get.contract",{pubkey:e});return yc({...t,contract:yc(t.contract)})},disconnect:function(){return Vi(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Bi(this,((e,t)=>t.handler===Xi),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:mc,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o,gas:s=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Bi(this,((e,t)=>t.handler===Xi),((d,l)=>(Mi(d,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:o,gas_price:i,gas:s}}),{handler:hc,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return wc({...e,reconnectTx:await n("reconnect",uo(t,Dr.channelReconnect).tx)})}}});var bc=wc,xc=rs.compose(Is,ls,bs,Es,Ss,ri,Ms),vc=No()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new $("Window object not found, you can run bridge only in browser");if(!t)throw new B("pageConnection required");if(!n)throw new B("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),Tc=(0,So.required)({methods:{connect:So.required,disconnect:So.required,sendMessage:So.required,isConnected:So.required}});const Ic=()=>{const e="object"==typeof Hs(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ks()?window.parent:void 0};var Cc=No()({init(){let{connectionInfo:e={},target:t=Ic(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=Ds.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(Ds).includes(a))throw new Ze(`sendDirection must be one of [${Object.keys(Ds)}]`);if(!Object.keys(Ds).includes(o))throw new Ze(`receiveDirection must be one of [${Object.keys(Ds)}]`);this.connectionInfo={id:(0,Kt.v4)(),...e};const c=n,u=t;this.origin=r,this.debug=s,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=o,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Je("You already connected");this.listener=(o,s)=>{if(o&&"object"==typeof o.data&&(a||!t||t===o.origin))if(r&&console.log("Receive message: ",o),o.data.type){if(o.data.type!==n)return;e(o.data.data,o.origin,o.source)}else e(o.data,o.origin,o.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new et("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},Tc),Ec=No()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new $("Window object not found, you can run wallet detector only in browser");this.connection=e||Cc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:o,params:s}=n;if(!o||!s||o!==Vs.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return Cc({connectionInfo:this,sendDirection:e?Ds.to_waellet:void 0,receiveDirection:e?Ds.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),Ac=No()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Hs().runtime)throw new tt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Hs().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Je("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new et("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},Tc);const kc=er}(),I}()}));
2
2
  //# sourceMappingURL=aepp-sdk.browser.js.map