@aeternity/aepp-sdk 11.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20764 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +138 -88
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -240
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -664
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -108
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +56 -42
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +170 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +146 -0
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. package/src/utils/swagger.js +0 -156
@@ -1,275 +0,0 @@
1
- /**
2
- * RpcClient module
3
- *
4
- * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client
5
- * @export { RpcClient, RpcClients }
6
- * @example
7
- * import RpcClient from '@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client'
8
- */
9
- import stampit from '@stamp/it';
10
- import { METHODS, RPC_STATUS, SUBSCRIPTION_TYPES } from "../schema.mjs";
11
- import { sendMessage, message, isValidAccounts } from "../helpers.mjs";
12
- import { InvalidRpcMessageError, TypeError, DuplicateCallbackError, MissingCallbackError } from "../../errors.mjs";
13
- /**
14
- * Contain functionality for using RPC conection
15
- * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client
16
- * @function
17
- * @rtype Stamp
18
- * @param {Object} param Init params object
19
- * @param {String} param.name Client name
20
- * @param {Object} param.connection Connection object
21
- * @param {Function[]} param.handlers Array with two function for message handling
22
- * @param {Function} param.handlers[0] Message handler
23
- * @param {Function} param.handlers[1] Disconnect callback
24
- * @return {Object}
25
- */
26
-
27
- export default stampit({
28
- init(_ref) {
29
- let {
30
- id,
31
- name,
32
- networkId,
33
- icons,
34
- connection,
35
- handlers: [onMessage, onDisconnect]
36
- } = _ref;
37
- this.id = id;
38
- this.connection = connection;
39
- this.info = {
40
- name,
41
- networkId,
42
- icons
43
- }; // {
44
- // [msg.id]: { resolve, reject }
45
- // }
46
-
47
- this.callbacks = {}; // ['connected', 'current']
48
-
49
- this.addressSubscription = []; // {
50
- // connected: { [pub]: {...meta} },
51
- // current: { [pub]: {...meta} }
52
- // }
53
-
54
- this.accounts = {};
55
- this.sendMessage = sendMessage(this.connection);
56
-
57
- const handleMessage = (msg, origin) => {
58
- if (!msg || !msg.jsonrpc || msg.jsonrpc !== '2.0' || !msg.method) {
59
- throw new InvalidRpcMessageError(msg);
60
- }
61
-
62
- onMessage(msg, origin);
63
- };
64
-
65
- const disconnect = (aepp, connection) => {
66
- this.disconnect(true);
67
- typeof onDisconnect === 'function' && onDisconnect(connection, this);
68
- };
69
-
70
- connection.connect(handleMessage, disconnect);
71
- },
72
-
73
- propertyDescriptors: {
74
- currentAccount: {
75
- enumerable: true,
76
- configurable: false,
77
-
78
- get() {
79
- return this.isHasAccounts() ? Object.keys(this.accounts.current)[0] : undefined;
80
- }
81
-
82
- },
83
- addresses: {
84
- enumerable: true,
85
- configurable: false,
86
-
87
- get() {
88
- return this.isHasAccounts() ? [...Object.keys(this.accounts.current), ...Object.keys(this.accounts.connected)] : [];
89
- }
90
-
91
- },
92
- origin: {
93
- enumerable: true,
94
- configurable: false,
95
-
96
- get() {
97
- return this.connection;
98
- }
99
-
100
- }
101
- },
102
- methods: {
103
- /**
104
- * Update info
105
- * @function updateInfo
106
- * @instance
107
- * @rtype (info: Object) => void
108
- * @param {Object} info Info to update (will be merged with current info object)
109
- * @return {void}
110
- */
111
- updateInfo(info) {
112
- Object.assign(this.info, info);
113
- },
114
-
115
- isHasAccounts() {
116
- return typeof this.accounts === 'object' && typeof this.accounts.connected === 'object' && typeof this.accounts.current === 'object';
117
- },
118
-
119
- isSubscribed() {
120
- return this.addressSubscription.length && this.isHasAccounts();
121
- },
122
-
123
- /**
124
- * Check if aepp has access to account
125
- * @function hasAccessToAccount
126
- * @instance
127
- * @rtype (address: String) => Boolean
128
- * @param {String} address Account address
129
- * @return {Boolean} is connected
130
- */
131
- hasAccessToAccount(address) {
132
- return !!address && this.addresses.find(a => a === address);
133
- },
134
-
135
- /**
136
- * Check if is connected
137
- * @function isConnected
138
- * @instance
139
- * @rtype () => Boolean
140
- * @return {Boolean} is connected
141
- */
142
- isConnected() {
143
- return this.connection.isConnected() && (this.info.status === RPC_STATUS.CONNECTED || this.info.status === RPC_STATUS.NODE_BINDED);
144
- },
145
-
146
- /**
147
- * Get selected account
148
- * @function getCurrentAccount
149
- * @instance
150
- * @rtype ({ onAccount } = {}) => String
151
- * @param {Object} options Options
152
- * @return {String}
153
- */
154
- getCurrentAccount() {
155
- let {
156
- onAccount
157
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
158
- return onAccount || Object.keys(this.accounts.current)[0];
159
- },
160
-
161
- /**
162
- * Disconnect
163
- * @function disconnect
164
- * @instance
165
- * @rtype () => void
166
- * @return {void}
167
- */
168
- disconnect() {
169
- let forceConnectionClose = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
170
- this.info.status = RPC_STATUS.DISCONNECTED;
171
- this.addressSubscription = [];
172
- this.accounts = {};
173
- forceConnectionClose || this.connection.disconnect();
174
- },
175
-
176
- /**
177
- * Update accounts and sent `update.address` notification to AEPP
178
- * @param {{ current: Object, connected: Object }} accounts Current and connected accounts
179
- * @param {Object} [options]
180
- * @param {Boolean} [options.forceNotification] Don't sent update notification to AEPP
181
- */
182
- setAccounts(accounts) {
183
- let {
184
- forceNotification
185
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
186
-
187
- if (!isValidAccounts(accounts)) {
188
- throw new TypeError('Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`');
189
- }
190
-
191
- this.accounts = accounts;
192
-
193
- if (!forceNotification) {
194
- // Sent notification about account updates
195
- this.sendMessage(message(METHODS.updateAddress, this.accounts), true);
196
- }
197
- },
198
-
199
- /**
200
- * Update subscription
201
- * @function updateSubscription
202
- * @instance
203
- * @rtype (type: String, value: String) => void
204
- * @param {String} type Subscription type
205
- * @param {String} value Subscription value
206
- * @return {String[]}
207
- */
208
- updateSubscription(type, value) {
209
- if (type === SUBSCRIPTION_TYPES.subscribe && !this.addressSubscription.includes(value)) {
210
- this.addressSubscription.push(value);
211
- }
212
-
213
- if (type === SUBSCRIPTION_TYPES.unsubscribe && this.addressSubscription.includes(value)) {
214
- this.addressSubscription = this.addressSubscription.filter(s => s !== value);
215
- }
216
-
217
- return this.addressSubscription;
218
- },
219
-
220
- /**
221
- * Make a request
222
- * @function request
223
- * @instance
224
- * @rtype (name: String, params: Object) => Promise
225
- * @param {String} name Method name
226
- * @param {Object} params Method params
227
- * @return {Promise} Promise which will be resolved after receiving response message
228
- */
229
- request(name, params) {
230
- const msgId = this.sendMessage(message(name, params));
231
-
232
- if (Object.prototype.hasOwnProperty.call(this.callbacks, msgId)) {
233
- throw new DuplicateCallbackError();
234
- }
235
-
236
- return new Promise((resolve, reject) => {
237
- this.callbacks[msgId] = {
238
- resolve,
239
- reject
240
- };
241
- });
242
- },
243
-
244
- /**
245
- * Process response message
246
- * @function processResponse
247
- * @instance
248
- * @rtype (msg: Object, transformResult: Function) => void
249
- * @param {Object} msg Message object
250
- * @param {Function=} transformResult Optional parser function for message
251
- * @return {void}
252
- */
253
- processResponse(_ref2, transformResult) {
254
- let {
255
- id,
256
- error,
257
- result
258
- } = _ref2;
259
- if (!this.callbacks[id]) throw new MissingCallbackError(id);
260
-
261
- if (result) {
262
- this.callbacks[id].resolve(...(typeof transformResult === 'function' ? transformResult({
263
- id,
264
- result
265
- }) : [result]));
266
- } else {
267
- this.callbacks[id].reject(error);
268
- }
269
-
270
- delete this.callbacks[id];
271
- }
272
-
273
- }
274
- });
275
- //# sourceMappingURL=rpc-client.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/utils/aepp-wallet-communication/rpc/rpc-client.js"],"names":["stampit","METHODS","RPC_STATUS","SUBSCRIPTION_TYPES","sendMessage","message","isValidAccounts","InvalidRpcMessageError","TypeError","DuplicateCallbackError","MissingCallbackError","init","id","name","networkId","icons","connection","handlers","onMessage","onDisconnect","info","callbacks","addressSubscription","accounts","handleMessage","msg","origin","jsonrpc","method","disconnect","aepp","connect","propertyDescriptors","currentAccount","enumerable","configurable","get","isHasAccounts","Object","keys","current","undefined","addresses","connected","methods","updateInfo","assign","isSubscribed","length","hasAccessToAccount","address","find","a","isConnected","status","CONNECTED","NODE_BINDED","getCurrentAccount","onAccount","forceConnectionClose","DISCONNECTED","setAccounts","forceNotification","updateAddress","updateSubscription","type","value","subscribe","includes","push","unsubscribe","filter","s","request","params","msgId","prototype","hasOwnProperty","call","Promise","resolve","reject","processResponse","transformResult","error","result"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,WAApB;SAESC,O,EAASC,U,EAAYC,kB;SACrBC,W,EAAaC,O,EAASC,e;SAE7BC,sB,EACAC,S,EACAC,sB,EACAC,oB;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeV,OAAO,CAAC;AACrBW,EAAAA,IAAI,OAAmF;AAAA,QAAjF;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,IAAN;AAAYC,MAAAA,SAAZ;AAAuBC,MAAAA,KAAvB;AAA8BC,MAAAA,UAA9B;AAA0CC,MAAAA,QAAQ,EAAE,CAACC,SAAD,EAAYC,YAAZ;AAApD,KAAiF;AACrF,SAAKP,EAAL,GAAUA,EAAV;AACA,SAAKI,UAAL,GAAkBA,UAAlB;AACA,SAAKI,IAAL,GAAY;AAAEP,MAAAA,IAAF;AAAQC,MAAAA,SAAR;AAAmBC,MAAAA;AAAnB,KAAZ,CAHqF,CAIrF;AACA;AACA;;AACA,SAAKM,SAAL,GAAiB,EAAjB,CAPqF,CAQrF;;AACA,SAAKC,mBAAL,GAA2B,EAA3B,CATqF,CAUrF;AACA;AACA;AACA;;AACA,SAAKC,QAAL,GAAgB,EAAhB;AAEA,SAAKnB,WAAL,GAAmBA,WAAW,CAAC,KAAKY,UAAN,CAA9B;;AAEA,UAAMQ,aAAa,GAAG,CAACC,GAAD,EAAMC,MAAN,KAAiB;AACrC,UAAI,CAACD,GAAD,IAAQ,CAACA,GAAG,CAACE,OAAb,IAAwBF,GAAG,CAACE,OAAJ,KAAgB,KAAxC,IAAiD,CAACF,GAAG,CAACG,MAA1D,EAAkE;AAChE,cAAM,IAAIrB,sBAAJ,CAA2BkB,GAA3B,CAAN;AACD;;AACDP,MAAAA,SAAS,CAACO,GAAD,EAAMC,MAAN,CAAT;AACD,KALD;;AAOA,UAAMG,UAAU,GAAG,CAACC,IAAD,EAAOd,UAAP,KAAsB;AACvC,WAAKa,UAAL,CAAgB,IAAhB;AACA,aAAOV,YAAP,KAAwB,UAAxB,IAAsCA,YAAY,CAACH,UAAD,EAAa,IAAb,CAAlD;AACD,KAHD;;AAKAA,IAAAA,UAAU,CAACe,OAAX,CAAmBP,aAAnB,EAAkCK,UAAlC;AACD,GAhCoB;;AAiCrBG,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,cAAc,EAAE;AACdC,MAAAA,UAAU,EAAE,IADE;AAEdC,MAAAA,YAAY,EAAE,KAFA;;AAGdC,MAAAA,GAAG,GAAI;AACL,eAAO,KAAKC,aAAL,KACHC,MAAM,CAACC,IAAP,CAAY,KAAKhB,QAAL,CAAciB,OAA1B,EAAmC,CAAnC,CADG,GAEHC,SAFJ;AAGD;;AAPa,KADG;AAUnBC,IAAAA,SAAS,EAAE;AACTR,MAAAA,UAAU,EAAE,IADH;AAETC,MAAAA,YAAY,EAAE,KAFL;;AAGTC,MAAAA,GAAG,GAAI;AACL,eAAO,KAAKC,aAAL,KACH,CAAC,GAAGC,MAAM,CAACC,IAAP,CAAY,KAAKhB,QAAL,CAAciB,OAA1B,CAAJ,EAAwC,GAAGF,MAAM,CAACC,IAAP,CAAY,KAAKhB,QAAL,CAAcoB,SAA1B,CAA3C,CADG,GAEH,EAFJ;AAGD;;AAPQ,KAVQ;AAmBnBjB,IAAAA,MAAM,EAAE;AACNQ,MAAAA,UAAU,EAAE,IADN;AAENC,MAAAA,YAAY,EAAE,KAFR;;AAGNC,MAAAA,GAAG,GAAI;AACL,eAAO,KAAKpB,UAAZ;AACD;;AALK;AAnBW,GAjCA;AA4DrB4B,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,UAAU,CAAEzB,IAAF,EAAQ;AAChBkB,MAAAA,MAAM,CAACQ,MAAP,CAAc,KAAK1B,IAAnB,EAAyBA,IAAzB;AACD,KAXM;;AAYPiB,IAAAA,aAAa,GAAI;AACf,aAAO,OAAO,KAAKd,QAAZ,KAAyB,QAAzB,IACL,OAAO,KAAKA,QAAL,CAAcoB,SAArB,KAAmC,QAD9B,IAEL,OAAO,KAAKpB,QAAL,CAAciB,OAArB,KAAiC,QAFnC;AAGD,KAhBM;;AAiBPO,IAAAA,YAAY,GAAI;AACd,aAAO,KAAKzB,mBAAL,CAAyB0B,MAAzB,IAAmC,KAAKX,aAAL,EAA1C;AACD,KAnBM;;AAoBP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIY,IAAAA,kBAAkB,CAAEC,OAAF,EAAW;AAC3B,aAAO,CAAC,CAACA,OAAF,IAAa,KAAKR,SAAL,CAAeS,IAAf,CAAoBC,CAAC,IAAIA,CAAC,KAAKF,OAA/B,CAApB;AACD,KA9BM;;AA+BP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIG,IAAAA,WAAW,GAAI;AACb,aAAO,KAAKrC,UAAL,CAAgBqC,WAAhB,OACJ,KAAKjC,IAAL,CAAUkC,MAAV,KAAqBpD,UAAU,CAACqD,SAAhC,IAA6C,KAAKnC,IAAL,CAAUkC,MAAV,KAAqBpD,UAAU,CAACsD,WADzE,CAAP;AAED,KAzCM;;AA0CP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,iBAAiB,GAAsB;AAAA,UAApB;AAAEC,QAAAA;AAAF,OAAoB,uEAAJ,EAAI;AACrC,aAAOA,SAAS,IAAIpB,MAAM,CAACC,IAAP,CAAY,KAAKhB,QAAL,CAAciB,OAA1B,EAAmC,CAAnC,CAApB;AACD,KApDM;;AAqDP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIX,IAAAA,UAAU,GAAgC;AAAA,UAA9B8B,oBAA8B,uEAAP,KAAO;AACxC,WAAKvC,IAAL,CAAUkC,MAAV,GAAmBpD,UAAU,CAAC0D,YAA9B;AACA,WAAKtC,mBAAL,GAA2B,EAA3B;AACA,WAAKC,QAAL,GAAgB,EAAhB;AACAoC,MAAAA,oBAAoB,IAAI,KAAK3C,UAAL,CAAgBa,UAAhB,EAAxB;AACD,KAjEM;;AAkEP;AACJ;AACA;AACA;AACA;AACA;AACIgC,IAAAA,WAAW,CAAEtC,QAAF,EAAwC;AAAA,UAA5B;AAAEuC,QAAAA;AAAF,OAA4B,uEAAJ,EAAI;;AACjD,UAAI,CAACxD,eAAe,CAACiB,QAAD,CAApB,EAAgC;AAC9B,cAAM,IAAIf,SAAJ,CAAc,mFAAd,CAAN;AACD;;AACD,WAAKe,QAAL,GAAgBA,QAAhB;;AACA,UAAI,CAACuC,iBAAL,EAAwB;AACtB;AACA,aAAK1D,WAAL,CAAiBC,OAAO,CAACJ,OAAO,CAAC8D,aAAT,EAAwB,KAAKxC,QAA7B,CAAxB,EAAgE,IAAhE;AACD;AACF,KAjFM;;AAkFP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIyC,IAAAA,kBAAkB,CAAEC,IAAF,EAAQC,KAAR,EAAe;AAC/B,UAAID,IAAI,KAAK9D,kBAAkB,CAACgE,SAA5B,IAAyC,CAAC,KAAK7C,mBAAL,CAAyB8C,QAAzB,CAAkCF,KAAlC,CAA9C,EAAwF;AACtF,aAAK5C,mBAAL,CAAyB+C,IAAzB,CAA8BH,KAA9B;AACD;;AACD,UAAID,IAAI,KAAK9D,kBAAkB,CAACmE,WAA5B,IAA2C,KAAKhD,mBAAL,CAAyB8C,QAAzB,CAAkCF,KAAlC,CAA/C,EAAyF;AACvF,aAAK5C,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBiD,MAAzB,CAAgCC,CAAC,IAAIA,CAAC,KAAKN,KAA3C,CAA3B;AACD;;AACD,aAAO,KAAK5C,mBAAZ;AACD,KAnGM;;AAoGP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACImD,IAAAA,OAAO,CAAE5D,IAAF,EAAQ6D,MAAR,EAAgB;AACrB,YAAMC,KAAK,GAAG,KAAKvE,WAAL,CAAiBC,OAAO,CAACQ,IAAD,EAAO6D,MAAP,CAAxB,CAAd;;AACA,UAAIpC,MAAM,CAACsC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqC,KAAKzD,SAA1C,EAAqDsD,KAArD,CAAJ,EAAiE;AAC/D,cAAM,IAAIlE,sBAAJ,EAAN;AACD;;AACD,aAAO,IAAIsE,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,aAAK5D,SAAL,CAAesD,KAAf,IAAwB;AAAEK,UAAAA,OAAF;AAAWC,UAAAA;AAAX,SAAxB;AACD,OAFM,CAAP;AAGD,KArHM;;AAsHP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,eAAe,QAAyBC,eAAzB,EAA0C;AAAA,UAAxC;AAAEvE,QAAAA,EAAF;AAAMwE,QAAAA,KAAN;AAAaC,QAAAA;AAAb,OAAwC;AACvD,UAAI,CAAC,KAAKhE,SAAL,CAAeT,EAAf,CAAL,EAAyB,MAAM,IAAIF,oBAAJ,CAAyBE,EAAzB,CAAN;;AACzB,UAAIyE,MAAJ,EAAY;AACV,aAAKhE,SAAL,CAAeT,EAAf,EAAmBoE,OAAnB,CAA2B,IAAG,OAAOG,eAAP,KAA2B,UAA3B,GAC1BA,eAAe,CAAC;AAAEvE,UAAAA,EAAF;AAAMyE,UAAAA;AAAN,SAAD,CADW,GAE1B,CAACA,MAAD,CAFuB,CAA3B;AAGD,OAJD,MAIO;AACL,aAAKhE,SAAL,CAAeT,EAAf,EAAmBqE,MAAnB,CAA0BG,KAA1B;AACD;;AACD,aAAO,KAAK/D,SAAL,CAAeT,EAAf,CAAP;AACD;;AAzIM;AA5DY,CAAD,CAAtB","sourcesContent":["/**\n * RpcClient module\n *\n * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client\n * @export { RpcClient, RpcClients }\n * @example\n * import RpcClient from '@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client'\n */\nimport stampit from '@stamp/it'\n\nimport { METHODS, RPC_STATUS, SUBSCRIPTION_TYPES } from '../schema'\nimport { sendMessage, message, isValidAccounts } from '../helpers'\nimport {\n InvalidRpcMessageError,\n TypeError,\n DuplicateCallbackError,\n MissingCallbackError\n} from '../../errors'\n\n/**\n * Contain functionality for using RPC conection\n * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/rpc-client\n * @function\n * @rtype Stamp\n * @param {Object} param Init params object\n * @param {String} param.name Client name\n * @param {Object} param.connection Connection object\n * @param {Function[]} param.handlers Array with two function for message handling\n * @param {Function} param.handlers[0] Message handler\n * @param {Function} param.handlers[1] Disconnect callback\n * @return {Object}\n */\nexport default stampit({\n init ({ id, name, networkId, icons, connection, handlers: [onMessage, onDisconnect] }) {\n this.id = id\n this.connection = connection\n this.info = { name, networkId, icons }\n // {\n // [msg.id]: { resolve, reject }\n // }\n this.callbacks = {}\n // ['connected', 'current']\n this.addressSubscription = []\n // {\n // connected: { [pub]: {...meta} },\n // current: { [pub]: {...meta} }\n // }\n this.accounts = {}\n\n this.sendMessage = sendMessage(this.connection)\n\n const handleMessage = (msg, origin) => {\n if (!msg || !msg.jsonrpc || msg.jsonrpc !== '2.0' || !msg.method) {\n throw new InvalidRpcMessageError(msg)\n }\n onMessage(msg, origin)\n }\n\n const disconnect = (aepp, connection) => {\n this.disconnect(true)\n typeof onDisconnect === 'function' && onDisconnect(connection, this)\n }\n\n connection.connect(handleMessage, disconnect)\n },\n propertyDescriptors: {\n currentAccount: {\n enumerable: true,\n configurable: false,\n get () {\n return this.isHasAccounts()\n ? Object.keys(this.accounts.current)[0]\n : undefined\n }\n },\n addresses: {\n enumerable: true,\n configurable: false,\n get () {\n return this.isHasAccounts()\n ? [...Object.keys(this.accounts.current), ...Object.keys(this.accounts.connected)]\n : []\n }\n },\n origin: {\n enumerable: true,\n configurable: false,\n get () {\n return this.connection\n }\n }\n },\n methods: {\n /**\n * Update info\n * @function updateInfo\n * @instance\n * @rtype (info: Object) => void\n * @param {Object} info Info to update (will be merged with current info object)\n * @return {void}\n */\n updateInfo (info) {\n Object.assign(this.info, info)\n },\n isHasAccounts () {\n return typeof this.accounts === 'object' &&\n typeof this.accounts.connected === 'object' &&\n typeof this.accounts.current === 'object'\n },\n isSubscribed () {\n return this.addressSubscription.length && this.isHasAccounts()\n },\n /**\n * Check if aepp has access to account\n * @function hasAccessToAccount\n * @instance\n * @rtype (address: String) => Boolean\n * @param {String} address Account address\n * @return {Boolean} is connected\n */\n hasAccessToAccount (address) {\n return !!address && this.addresses.find(a => a === address)\n },\n /**\n * Check if is connected\n * @function isConnected\n * @instance\n * @rtype () => Boolean\n * @return {Boolean} is connected\n */\n isConnected () {\n return this.connection.isConnected() &&\n (this.info.status === RPC_STATUS.CONNECTED || this.info.status === RPC_STATUS.NODE_BINDED)\n },\n /**\n * Get selected account\n * @function getCurrentAccount\n * @instance\n * @rtype ({ onAccount } = {}) => String\n * @param {Object} options Options\n * @return {String}\n */\n getCurrentAccount ({ onAccount } = {}) {\n return onAccount || Object.keys(this.accounts.current)[0]\n },\n /**\n * Disconnect\n * @function disconnect\n * @instance\n * @rtype () => void\n * @return {void}\n */\n disconnect (forceConnectionClose = false) {\n this.info.status = RPC_STATUS.DISCONNECTED\n this.addressSubscription = []\n this.accounts = {}\n forceConnectionClose || this.connection.disconnect()\n },\n /**\n * Update accounts and sent `update.address` notification to AEPP\n * @param {{ current: Object, connected: Object }} accounts Current and connected accounts\n * @param {Object} [options]\n * @param {Boolean} [options.forceNotification] Don't sent update notification to AEPP\n */\n setAccounts (accounts, { forceNotification } = {}) {\n if (!isValidAccounts(accounts)) {\n throw new TypeError('Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`')\n }\n this.accounts = accounts\n if (!forceNotification) {\n // Sent notification about account updates\n this.sendMessage(message(METHODS.updateAddress, this.accounts), true)\n }\n },\n /**\n * Update subscription\n * @function updateSubscription\n * @instance\n * @rtype (type: String, value: String) => void\n * @param {String} type Subscription type\n * @param {String} value Subscription value\n * @return {String[]}\n */\n updateSubscription (type, value) {\n if (type === SUBSCRIPTION_TYPES.subscribe && !this.addressSubscription.includes(value)) {\n this.addressSubscription.push(value)\n }\n if (type === SUBSCRIPTION_TYPES.unsubscribe && this.addressSubscription.includes(value)) {\n this.addressSubscription = this.addressSubscription.filter(s => s !== value)\n }\n return this.addressSubscription\n },\n /**\n * Make a request\n * @function request\n * @instance\n * @rtype (name: String, params: Object) => Promise\n * @param {String} name Method name\n * @param {Object} params Method params\n * @return {Promise} Promise which will be resolved after receiving response message\n */\n request (name, params) {\n const msgId = this.sendMessage(message(name, params))\n if (Object.prototype.hasOwnProperty.call(this.callbacks, msgId)) {\n throw new DuplicateCallbackError()\n }\n return new Promise((resolve, reject) => {\n this.callbacks[msgId] = { resolve, reject }\n })\n },\n /**\n * Process response message\n * @function processResponse\n * @instance\n * @rtype (msg: Object, transformResult: Function) => void\n * @param {Object} msg Message object\n * @param {Function=} transformResult Optional parser function for message\n * @return {void}\n */\n processResponse ({ id, error, result }, transformResult) {\n if (!this.callbacks[id]) throw new MissingCallbackError(id)\n if (result) {\n this.callbacks[id].resolve(...typeof transformResult === 'function'\n ? transformResult({ id, result })\n : [result])\n } else {\n this.callbacks[id].reject(error)\n }\n delete this.callbacks[id]\n }\n }\n})\n"],"file":"rpc-client.mjs"}