@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
@@ -0,0 +1,326 @@
1
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
+ import { v4 as uuid } from '@aeternity/uuid';
3
+ import AeSdk from "./AeSdk.mjs";
4
+ import verifyTransaction from "./tx/validator.mjs";
5
+ import RpcClient from "./aepp-wallet-communication/rpc/RpcClient.mjs";
6
+ import { METHODS, RPC_STATUS, SUBSCRIPTION_TYPES, RpcBroadcastError, RpcInvalidTransactionError, RpcNotAuthorizeError, RpcPermissionDenyError, RpcUnsupportedProtocolError } from "./aepp-wallet-communication/schema.mjs";
7
+ import { InternalError, UnknownRpcClientError } from "./utils/errors.mjs";
8
+ import { RPC_VERSION } from "./aepp-wallet-communication/rpc/types.mjs";
9
+ import jsonBig from "./utils/json-big.mjs";
10
+
11
+ /**
12
+ * Contain functionality for aepp interaction and managing multiple aepps
13
+ * @category aepp wallet communication
14
+ */
15
+ export default class AeSdkWallet extends AeSdk {
16
+ /**
17
+ * @param options - Options
18
+ * @param options.name - Wallet name
19
+ * @param options.id - Wallet id
20
+ * @param options.type - Wallet type
21
+ * @param options.onConnection - Call-back function for incoming AEPP connection
22
+ * @param options.onSubscription - Call-back function for incoming AEPP account subscription
23
+ * @param options.onSign - Call-back function for incoming AEPP sign request
24
+ * @param options.onAskAccounts - Call-back function for incoming AEPP get address request
25
+ * @param options.onMessageSign - Call-back function for incoming AEPP sign message request
26
+ * @param options.onDisconnect - Call-back function for disconnect event
27
+ */
28
+ constructor(_ref) {
29
+ let {
30
+ name,
31
+ id,
32
+ type,
33
+ onConnection,
34
+ onSubscription,
35
+ onSign,
36
+ onDisconnect,
37
+ onAskAccounts,
38
+ onMessageSign,
39
+ ...options
40
+ } = _ref;
41
+ super(options);
42
+ this.onConnection = onConnection;
43
+ this.onSubscription = onSubscription;
44
+ this.onSign = onSign;
45
+ this.onDisconnect = onDisconnect;
46
+ this.onAskAccounts = onAskAccounts;
47
+ this.onMessageSign = onMessageSign;
48
+ this._clients = new Map();
49
+ this.name = name;
50
+ this.id = id;
51
+ this._type = type;
52
+ }
53
+
54
+ _pushAccountsToApps() {
55
+ Array.from(this._clients.keys()).filter(clientId => this._isRpcClientSubscribed(clientId)).map(clientId => this._getClient(clientId).rpc).forEach(client => client.notify(METHODS.updateAddress, this.getAccounts()));
56
+ }
57
+
58
+ selectAccount(address) {
59
+ super.selectAccount(address);
60
+
61
+ this._pushAccountsToApps();
62
+ }
63
+
64
+ async addAccount(account, options) {
65
+ await super.addAccount(account, options);
66
+
67
+ this._pushAccountsToApps();
68
+ }
69
+
70
+ _getNode() {
71
+ this.ensureNodeConnected();
72
+ return {
73
+ node: {
74
+ url: this.api.url,
75
+ name: this.selectedNodeName
76
+ }
77
+ };
78
+ }
79
+
80
+ async selectNode(name) {
81
+ super.selectNode(name);
82
+ const networkId = await this.getNetworkId();
83
+ Array.from(this._clients.keys()).filter(clientId => this._isRpcClientConnected(clientId)).map(clientId => this._getClient(clientId)).forEach(client => {
84
+ client.rpc.notify(METHODS.updateNetwork, {
85
+ networkId,
86
+ ...(client.connectNode && this._getNode())
87
+ });
88
+ });
89
+ }
90
+
91
+ _getClient(clientId) {
92
+ const client = this._clients.get(clientId);
93
+
94
+ if (client == null) throw new UnknownRpcClientError(clientId);
95
+ return client;
96
+ }
97
+
98
+ _isRpcClientSubscribed(clientId) {
99
+ return this._isRpcClientConnected(clientId) && this._getClient(clientId).addressSubscription.size !== 0;
100
+ }
101
+
102
+ _isRpcClientConnected(clientId) {
103
+ return RPC_STATUS.CONNECTED === this._getClient(clientId).status && this._getClient(clientId).rpc.connection.isConnected();
104
+ }
105
+
106
+ _disconnectRpcClient(clientId) {
107
+ const client = this._getClient(clientId);
108
+
109
+ client.rpc.connection.disconnect();
110
+ client.status = RPC_STATUS.DISCONNECTED;
111
+ client.addressSubscription = new Set();
112
+ }
113
+ /**
114
+ * Remove specific RpcClient by ID
115
+ * @param id - Client ID
116
+ */
117
+
118
+
119
+ removeRpcClient(id) {
120
+ this._disconnectRpcClient(id);
121
+
122
+ this._clients.delete(id);
123
+ }
124
+ /**
125
+ * Add new client by AEPP connection
126
+ * @param clientConnection - AEPP connection object
127
+ * @returns Client ID
128
+ */
129
+
130
+
131
+ addRpcClient(clientConnection) {
132
+ // @TODO detect if aepp has some history based on origin????
133
+ // if yes use this instance for connection
134
+ const id = uuid();
135
+ let disconnectParams;
136
+ const client = {
137
+ id,
138
+ status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,
139
+ addressSubscription: new Set(),
140
+ connectNode: false,
141
+ rpc: new RpcClient(clientConnection, () => {
142
+ this._clients.delete(id);
143
+
144
+ this.onDisconnect(id, disconnectParams); // also related info
145
+ }, {
146
+ [METHODS.closeConnection]: params => {
147
+ disconnectParams = params;
148
+
149
+ this._disconnectRpcClient(id);
150
+ },
151
+ // Store client info and prepare two fn for each client `connect` and `denyConnection`
152
+ // which automatically prepare and send response for that client
153
+ [METHODS.connect]: async (_ref2, origin) => {
154
+ let {
155
+ name,
156
+ version,
157
+ icons,
158
+ connectNode
159
+ } = _ref2;
160
+ if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();
161
+ await this.onConnection(id, {
162
+ name,
163
+ icons,
164
+ connectNode
165
+ }, origin);
166
+ client.status = RPC_STATUS.CONNECTED;
167
+ client.connectNode = connectNode;
168
+ return { ...(await this.getWalletInfo()),
169
+ ...(connectNode && this._getNode())
170
+ };
171
+ },
172
+ [METHODS.subscribeAddress]: async (_ref3, origin) => {
173
+ let {
174
+ type,
175
+ value
176
+ } = _ref3;
177
+ if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();
178
+ await this.onSubscription(id, {
179
+ type,
180
+ value
181
+ }, origin);
182
+
183
+ switch (type) {
184
+ case SUBSCRIPTION_TYPES.subscribe:
185
+ client.addressSubscription.add(value);
186
+ break;
187
+
188
+ case SUBSCRIPTION_TYPES.unsubscribe:
189
+ client.addressSubscription.delete(value);
190
+ break;
191
+
192
+ default:
193
+ throw new InternalError(`Unknown subscription type: ${type}`);
194
+ }
195
+
196
+ return {
197
+ subscription: Array.from(client.addressSubscription),
198
+ address: this.getAccounts()
199
+ };
200
+ },
201
+ [METHODS.address]: async (params, origin) => {
202
+ if (!this._isRpcClientSubscribed(id)) throw new RpcNotAuthorizeError();
203
+ await this.onAskAccounts(id, params, origin);
204
+ return this.addresses();
205
+ },
206
+ [METHODS.sign]: async (_ref4, origin) => {
207
+ var _onAccount, _context, _overrides$onAccount, _overrides$tx;
208
+
209
+ let {
210
+ tx,
211
+ onAccount,
212
+ returnSigned
213
+ } = _ref4;
214
+ if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();
215
+ (_onAccount = onAccount) !== null && _onAccount !== void 0 ? _onAccount : onAccount = await this.address();
216
+
217
+ if (!_includesInstanceProperty(_context = this.addresses()).call(_context, onAccount)) {
218
+ throw new RpcPermissionDenyError(onAccount);
219
+ }
220
+
221
+ const overrides = await this.onSign(id, {
222
+ tx,
223
+ returnSigned,
224
+ onAccount
225
+ }, origin);
226
+ onAccount = (_overrides$onAccount = overrides === null || overrides === void 0 ? void 0 : overrides.onAccount) !== null && _overrides$onAccount !== void 0 ? _overrides$onAccount : onAccount;
227
+ tx = (_overrides$tx = overrides === null || overrides === void 0 ? void 0 : overrides.tx) !== null && _overrides$tx !== void 0 ? _overrides$tx : tx;
228
+
229
+ if (returnSigned) {
230
+ return {
231
+ signedTransaction: await this.signTransaction(tx, {
232
+ onAccount
233
+ })
234
+ };
235
+ }
236
+
237
+ try {
238
+ return jsonBig.parse(jsonBig.stringify({
239
+ transactionHash: await this.send(tx, {
240
+ onAccount,
241
+ verify: false
242
+ })
243
+ }));
244
+ } catch (error) {
245
+ const validation = await verifyTransaction(tx, this.api);
246
+ if (validation.length > 0) throw new RpcInvalidTransactionError(validation);
247
+ throw new RpcBroadcastError(error.message);
248
+ }
249
+ },
250
+ [METHODS.signMessage]: async (_ref5, origin) => {
251
+ var _onAccount2, _context2, _overrides$onAccount2;
252
+
253
+ let {
254
+ message,
255
+ onAccount
256
+ } = _ref5;
257
+ if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();
258
+ (_onAccount2 = onAccount) !== null && _onAccount2 !== void 0 ? _onAccount2 : onAccount = await this.address();
259
+
260
+ if (!_includesInstanceProperty(_context2 = this.addresses()).call(_context2, onAccount)) {
261
+ throw new RpcPermissionDenyError(onAccount);
262
+ }
263
+
264
+ const overrides = await this.onMessageSign(id, {
265
+ message,
266
+ onAccount
267
+ }, origin);
268
+ onAccount = (_overrides$onAccount2 = overrides === null || overrides === void 0 ? void 0 : overrides.onAccount) !== null && _overrides$onAccount2 !== void 0 ? _overrides$onAccount2 : onAccount;
269
+ return {
270
+ // TODO: fix signMessage return type
271
+ signature: await this.signMessage(message, {
272
+ onAccount,
273
+ returnHex: true
274
+ })
275
+ };
276
+ }
277
+ })
278
+ };
279
+
280
+ this._clients.set(id, client);
281
+
282
+ return id;
283
+ }
284
+ /**
285
+ * Send shareWalletInfo message to notify AEPP about wallet
286
+ * @param clientId - ID of RPC client send message to
287
+ */
288
+
289
+
290
+ async shareWalletInfo(clientId) {
291
+ this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());
292
+ }
293
+ /**
294
+ * Get Wallet info object
295
+ * @returns Object with wallet information
296
+ */
297
+
298
+
299
+ async getWalletInfo() {
300
+ return {
301
+ id: this.id,
302
+ name: this.name,
303
+ networkId: await this.getNetworkId(),
304
+ origin: window.location.origin,
305
+ type: this._type
306
+ };
307
+ }
308
+ /**
309
+ * Get Wallet accounts
310
+ * @returns Object with accounts information (\{ connected: Object, current: Object \})
311
+ */
312
+
313
+
314
+ getAccounts() {
315
+ return {
316
+ current: this.selectedAddress != null ? {
317
+ [this.selectedAddress]: {}
318
+ } : {},
319
+ connected: this.addresses().filter(a => a !== this.selectedAddress).reduce((acc, a) => ({ ...acc,
320
+ [a]: {}
321
+ }), {})
322
+ };
323
+ }
324
+
325
+ }
326
+ //# sourceMappingURL=AeSdkWallet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AeSdkWallet.mjs","names":["v4","uuid","AeSdk","verifyTransaction","RpcClient","METHODS","RPC_STATUS","SUBSCRIPTION_TYPES","RpcBroadcastError","RpcInvalidTransactionError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcUnsupportedProtocolError","InternalError","UnknownRpcClientError","RPC_VERSION","jsonBig","AeSdkWallet","constructor","name","id","type","onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign","options","_clients","Map","_type","_pushAccountsToApps","Array","from","keys","filter","clientId","_isRpcClientSubscribed","map","_getClient","rpc","forEach","client","notify","updateAddress","getAccounts","selectAccount","address","addAccount","account","_getNode","ensureNodeConnected","node","url","api","selectedNodeName","selectNode","networkId","getNetworkId","_isRpcClientConnected","updateNetwork","connectNode","get","addressSubscription","size","CONNECTED","status","connection","isConnected","_disconnectRpcClient","disconnect","DISCONNECTED","Set","removeRpcClient","delete","addRpcClient","clientConnection","disconnectParams","WAITING_FOR_CONNECTION_REQUEST","closeConnection","params","connect","origin","version","icons","getWalletInfo","subscribeAddress","value","subscribe","add","unsubscribe","subscription","addresses","sign","tx","onAccount","returnSigned","overrides","signedTransaction","signTransaction","parse","stringify","transactionHash","send","verify","error","validation","length","message","signMessage","signature","returnHex","set","shareWalletInfo","readyToConnect","window","location","current","selectedAddress","connected","a","reduce","acc"],"sources":["../src/AeSdkWallet.ts"],"sourcesContent":["import { v4 as uuid } from '@aeternity/uuid';\nimport AeSdk from './AeSdk';\nimport { Account } from './AeSdkBase';\nimport verifyTransaction from './tx/validator';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient';\nimport {\n METHODS, RPC_STATUS, SUBSCRIPTION_TYPES, WALLET_TYPE,\n RpcBroadcastError, RpcInvalidTransactionError,\n RpcNotAuthorizeError, RpcPermissionDenyError, RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema';\nimport { InternalError, UnknownRpcClientError } from './utils/errors';\nimport AccountBase from './account/Base';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser';\nimport {\n Accounts,\n AeppApi,\n Network,\n RPC_VERSION,\n WalletApi,\n WalletInfo,\n} from './aepp-wallet-communication/rpc/types';\nimport { Encoded } from './utils/encoder';\nimport jsonBig from './utils/json-big';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n clientId: string, params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>, origin: string\n) => void;\n\ntype OnSubscription = (\n clientId: string, params: Parameters<WalletApi[METHODS.subscribeAddress]>[0], origin: string\n) => void;\n\ntype OnSign = (\n clientId: string, params: Parameters<WalletApi[METHODS.sign]>[0], origin: string\n) => Promise<{ tx?: Encoded.Transaction; onAccount?: Account } | undefined> | Promise<void>;\n\ntype OnDisconnect = (\n clientId: string, params: Parameters<WalletApi[METHODS.closeConnection]>[0]\n) => void;\n\ntype OnAskAccounts = (\n clientId: string, params: undefined, origin: string\n) => void;\n\ntype OnMessageSign = (\n clientId: string, params: Parameters<WalletApi[METHODS.signMessage]>[0], origin: string\n) => Promise<{ onAccount?: Account } | undefined> | Promise<void>;\n\ninterface RpcClientsInfo {\n id: string;\n status: RPC_STATUS;\n connectNode: boolean;\n addressSubscription: Set<'connected' | 'current'>;\n rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n id: string;\n\n _type: WALLET_TYPE;\n\n name: string;\n\n _clients: Map<string, RpcClientsInfo>;\n\n onConnection: OnConnection;\n\n onSubscription: OnSubscription;\n\n onSign: OnSign;\n\n onDisconnect: OnDisconnect;\n\n onAskAccounts: OnAskAccounts;\n\n onMessageSign: OnMessageSign;\n\n /**\n * @param options - Options\n * @param options.name - Wallet name\n * @param options.id - Wallet id\n * @param options.type - Wallet type\n * @param options.onConnection - Call-back function for incoming AEPP connection\n * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n * @param options.onSign - Call-back function for incoming AEPP sign request\n * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n * @param options.onMessageSign - Call-back function for incoming AEPP sign message request\n * @param options.onDisconnect - Call-back function for disconnect event\n */\n constructor({\n name,\n id,\n type,\n onConnection,\n onSubscription,\n onSign,\n onDisconnect,\n onAskAccounts,\n onMessageSign,\n ...options\n }: {\n id: string;\n type: WALLET_TYPE;\n name: string;\n onConnection: OnConnection;\n onSubscription: OnSubscription;\n onSign: OnSign;\n onDisconnect: OnDisconnect;\n onAskAccounts: OnAskAccounts;\n onMessageSign: OnMessageSign;\n } & ConstructorParameters<typeof AeSdk>[0]) {\n super(options);\n this.onConnection = onConnection;\n this.onSubscription = onSubscription;\n this.onSign = onSign;\n this.onDisconnect = onDisconnect;\n this.onAskAccounts = onAskAccounts;\n this.onMessageSign = onMessageSign;\n this._clients = new Map();\n this.name = name;\n this.id = id;\n this._type = type;\n }\n\n _pushAccountsToApps(): void {\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientSubscribed(clientId))\n .map((clientId) => this._getClient(clientId).rpc)\n .forEach((client) => client.notify(METHODS.updateAddress, this.getAccounts()));\n }\n\n selectAccount(address: Encoded.AccountAddress): void {\n super.selectAccount(address);\n this._pushAccountsToApps();\n }\n\n async addAccount(\n account: AccountBase,\n options?: Parameters<AeSdk['addAccount']>[1],\n ): Promise<void> {\n await super.addAccount(account, options);\n this._pushAccountsToApps();\n }\n\n _getNode(): { node: Network['node'] } {\n this.ensureNodeConnected();\n return { node: { url: this.api.url, name: this.selectedNodeName } };\n }\n\n async selectNode(name: string): Promise<void> {\n super.selectNode(name);\n const networkId = await this.getNetworkId();\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .forEach((client) => {\n client.rpc.notify(METHODS.updateNetwork, {\n networkId,\n ...client.connectNode && this._getNode(),\n });\n });\n }\n\n _getClient(clientId: string): RpcClientsInfo {\n const client = this._clients.get(clientId);\n if (client == null) throw new UnknownRpcClientError(clientId);\n return client;\n }\n\n _isRpcClientSubscribed(clientId: string): boolean {\n return this._isRpcClientConnected(clientId)\n && this._getClient(clientId).addressSubscription.size !== 0;\n }\n\n _isRpcClientConnected(clientId: string): boolean {\n return RPC_STATUS.CONNECTED === this._getClient(clientId).status\n && this._getClient(clientId).rpc.connection.isConnected();\n }\n\n _disconnectRpcClient(clientId: string): void {\n const client = this._getClient(clientId);\n client.rpc.connection.disconnect();\n client.status = RPC_STATUS.DISCONNECTED;\n client.addressSubscription = new Set();\n }\n\n /**\n * Remove specific RpcClient by ID\n * @param id - Client ID\n */\n removeRpcClient(id: string): void {\n this._disconnectRpcClient(id);\n this._clients.delete(id);\n }\n\n /**\n * Add new client by AEPP connection\n * @param clientConnection - AEPP connection object\n * @returns Client ID\n */\n addRpcClient(clientConnection: BrowserConnection): string {\n // @TODO detect if aepp has some history based on origin????\n // if yes use this instance for connection\n const id = uuid();\n let disconnectParams: any;\n const client: RpcClientsInfo = {\n id,\n status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n addressSubscription: new Set(),\n connectNode: false,\n rpc: new RpcClient<AeppApi, WalletApi>(\n clientConnection,\n () => {\n this._clients.delete(id);\n this.onDisconnect(id, disconnectParams); // also related info\n },\n {\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n this._disconnectRpcClient(id);\n },\n // Store client info and prepare two fn for each client `connect` and `denyConnection`\n // which automatically prepare and send response for that client\n [METHODS.connect]: async ({\n name, version, icons, connectNode,\n }, origin) => {\n if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n await this.onConnection(id, { name, icons, connectNode }, origin);\n client.status = RPC_STATUS.CONNECTED;\n client.connectNode = connectNode;\n return {\n ...await this.getWalletInfo(),\n ...connectNode && this._getNode(),\n };\n },\n [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n await this.onSubscription(id, { type, value }, origin);\n\n switch (type) {\n case SUBSCRIPTION_TYPES.subscribe:\n client.addressSubscription.add(value);\n break;\n case SUBSCRIPTION_TYPES.unsubscribe:\n client.addressSubscription.delete(value);\n break;\n default:\n throw new InternalError(`Unknown subscription type: ${type}`);\n }\n\n return {\n subscription: Array.from(client.addressSubscription),\n address: this.getAccounts(),\n };\n },\n [METHODS.address]: async (params, origin) => {\n if (!this._isRpcClientSubscribed(id)) throw new RpcNotAuthorizeError();\n await this.onAskAccounts(id, params, origin);\n return this.addresses();\n },\n [METHODS.sign]: async ({ tx, onAccount, returnSigned }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n onAccount ??= await this.address();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const overrides = await this.onSign(id, { tx, returnSigned, onAccount }, origin);\n onAccount = overrides?.onAccount ?? onAccount;\n tx = overrides?.tx ?? tx;\n if (returnSigned) {\n return { signedTransaction: await this.signTransaction(tx, { onAccount }) };\n }\n try {\n return jsonBig.parse(jsonBig.stringify({\n transactionHash: await this.send(tx, { onAccount, verify: false }),\n }));\n } catch (error) {\n const validation = await verifyTransaction(tx, this.api);\n if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n throw new RpcBroadcastError(error.message);\n }\n },\n [METHODS.signMessage]: async ({ message, onAccount }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n onAccount ??= await this.address();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const overrides = await this.onMessageSign(id, { message, onAccount }, origin);\n onAccount = overrides?.onAccount ?? onAccount;\n return {\n // TODO: fix signMessage return type\n signature: await this.signMessage(message, { onAccount, returnHex: true }) as\n unknown as string,\n };\n },\n },\n ),\n };\n this._clients.set(id, client);\n return id;\n }\n\n /**\n * Send shareWalletInfo message to notify AEPP about wallet\n * @param clientId - ID of RPC client send message to\n */\n async shareWalletInfo(clientId: string): Promise<void> {\n this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n }\n\n /**\n * Get Wallet info object\n * @returns Object with wallet information\n */\n async getWalletInfo(): Promise<WalletInfo> {\n return {\n id: this.id,\n name: this.name,\n networkId: await this.getNetworkId(),\n origin: window.location.origin,\n type: this._type,\n };\n }\n\n /**\n * Get Wallet accounts\n * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n */\n getAccounts(): Accounts {\n return {\n current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n connected: this.addresses()\n .filter((a) => a !== this.selectedAddress)\n .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n };\n }\n}\n"],"mappings":"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"}
package/es/Node.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { Node as NodeApi, NodeOptionalParams } from './apis/node';
2
+ import { Encoded } from './utils/encoder';
3
+ /**
4
+ * Obtain networkId from account or node
5
+ */
6
+ export declare function getNetworkId({ networkId }?: {
7
+ networkId?: string;
8
+ }): Promise<string>;
9
+ declare const bigIntPropertyNames: readonly ["balance", "queryFee", "fee", "amount", "nameFee", "channelAmount", "initiatorAmount", "responderAmount", "channelReserve", "initiatorAmountFinal", "responderAmountFinal", "gasPrice", "deposit"];
10
+ declare const numberPropertyNames: readonly ["time", "gas", "gasUsed", "nameSalt", "nonce", "nextNonce", "height", "blockHeight", "top", "topBlockHeight", "ttl", "nameTtl", "clientTtl", "inbound", "outbound", "peerCount", "pendingTransactionsCount", "effectiveAtHeight", "version", "solutions", "round"];
11
+ declare type BigIntPropertyNames = typeof bigIntPropertyNames[number];
12
+ declare type NumberPropertyNames = typeof numberPropertyNames[number];
13
+ declare type PreserveOptional<NewType, OrigType> = OrigType extends undefined ? NewType | undefined : NewType;
14
+ export declare type TransformNodeType<Type> = Type extends (...args: infer Args) => infer Ret ? (...args: TransformNodeType<Args>) => TransformNodeType<Ret> : Type extends [infer Item, ...infer Rest] ? [TransformNodeType<Item>, ...TransformNodeType<Rest>] : Type extends Array<infer Item> ? Array<TransformNodeType<Item>> : Type extends Promise<infer T> ? Promise<TransformNodeType<T>> : Type extends {
15
+ [P in any]: any;
16
+ } ? {
17
+ [Property in keyof Type]: Property extends BigIntPropertyNames ? PreserveOptional<bigint, Type[Property]> : Property extends NumberPropertyNames ? PreserveOptional<number, Type[Property]> : Property extends 'txHash' ? PreserveOptional<Encoded.TxHash, Type[Property]> : TransformNodeType<Type[Property]>;
18
+ } : Type;
19
+ declare type NodeTransformedApi = new (...args: ConstructorParameters<typeof NodeApi>) => {
20
+ [Name in keyof InstanceType<typeof NodeApi>]: Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest' ? NodeApi[Name] : TransformNodeType<NodeApi[Name]>;
21
+ };
22
+ export interface NodeInfo {
23
+ url: string;
24
+ nodeNetworkId: string;
25
+ version: string;
26
+ consensusProtocolVersion: number;
27
+ }
28
+ declare const Node_base: NodeTransformedApi;
29
+ export default class Node extends Node_base {
30
+ url: string;
31
+ /**
32
+ * @param url - Url for node API
33
+ * @param options - Options
34
+ * @param options.ignoreVersion - Don't check node version
35
+ */
36
+ constructor(url: string, { ignoreVersion, ...options }?: NodeOptionalParams & {
37
+ ignoreVersion?: boolean;
38
+ });
39
+ getNodeInfo(): Promise<NodeInfo>;
40
+ }
41
+ export {};
package/es/Node.mjs ADDED
@@ -0,0 +1,147 @@
1
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
2
+
3
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
4
+
5
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
6
+
7
+ // eslint-disable-next-line max-classes-per-file
8
+ import BigNumber from 'bignumber.js';
9
+ import { genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy, genVersionCheckPolicy } from "./utils/autorest.mjs";
10
+ import { Node as NodeApi } from "./apis/node/index.mjs";
11
+ import { mapObject } from "./utils/other.mjs";
12
+ import { MissingParamError } from "./utils/errors.mjs";
13
+ /**
14
+ * Obtain networkId from account or node
15
+ */
16
+
17
+ export async function getNetworkId() {
18
+ var _ref, _await$this$api$getSt, _this$api;
19
+
20
+ let {
21
+ networkId
22
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
+ const res = (_ref = networkId !== null && networkId !== void 0 ? networkId : this.networkId) !== null && _ref !== void 0 ? _ref : (_await$this$api$getSt = await ((_this$api = this.api) === null || _this$api === void 0 ? void 0 : _this$api.getStatus())) === null || _await$this$api$getSt === void 0 ? void 0 : _await$this$api$getSt.networkId;
24
+ if (res != null) return res;
25
+ throw new MissingParamError('networkId is not provided');
26
+ }
27
+ const bigIntPropertyNames = ['balance', 'queryFee', 'fee', 'amount', 'nameFee', 'channelAmount', 'initiatorAmount', 'responderAmount', 'channelReserve', 'initiatorAmountFinal', 'responderAmountFinal', 'gasPrice', 'deposit'];
28
+ const numberPropertyNames = ['time', 'gas', 'gasUsed', 'nameSalt', 'nonce', 'nextNonce', 'height', 'blockHeight', 'top', 'topBlockHeight', 'ttl', 'nameTtl', 'clientTtl', 'inbound', 'outbound', 'peerCount', 'pendingTransactionsCount', 'effectiveAtHeight', 'version', 'solutions', 'round'];
29
+
30
+ var _mapData = /*#__PURE__*/new WeakSet();
31
+
32
+ var _encodeArg = /*#__PURE__*/new WeakSet();
33
+
34
+ var _decodeRes = /*#__PURE__*/new WeakSet();
35
+
36
+ class NodeTransformed extends NodeApi {
37
+ constructor() {
38
+ super(...arguments);
39
+
40
+ _classPrivateMethodInitSpec(this, _decodeRes);
41
+
42
+ _classPrivateMethodInitSpec(this, _encodeArg);
43
+
44
+ _classPrivateMethodInitSpec(this, _mapData);
45
+ }
46
+
47
+ async sendOperationRequest(operationArguments, operationSpec) {
48
+ const args = mapObject(operationArguments, _ref2 => {
49
+ let [key, value] = _ref2;
50
+ return [key, _classPrivateMethodGet(this, _encodeArg, _encodeArg2).call(this, value)];
51
+ });
52
+ return _classPrivateMethodGet(this, _decodeRes, _decodeRes2).call(this, await super.sendOperationRequest(args, operationSpec));
53
+ }
54
+
55
+ }
56
+
57
+ function _mapData2(data, transform) {
58
+ if (Array.isArray(data)) return data.map(d => _classPrivateMethodGet(this, _mapData, _mapData2).call(this, d, transform));
59
+
60
+ if (data != null && typeof data === 'object') {
61
+ return mapObject(data, _ref5 => {
62
+ let [key, value] = _ref5;
63
+ if (value == null) return [key, value];
64
+ if (bigIntPropertyNames.some(k => k === key)) return [key, transform.bigInt(value)];
65
+ if (numberPropertyNames.some(k => k === key)) return [key, transform.number(value)];
66
+ return [key, _classPrivateMethodGet(this, _mapData, _mapData2).call(this, value, transform)];
67
+ });
68
+ }
69
+
70
+ return data;
71
+ }
72
+
73
+ function _encodeArg2(data) {
74
+ return _classPrivateMethodGet(this, _mapData, _mapData2).call(this, data, {
75
+ bigInt: value => {
76
+ if (value instanceof BigNumber) return value.toFixed();
77
+ return value.toString();
78
+ },
79
+ number: value => value.toString()
80
+ });
81
+ }
82
+
83
+ function _decodeRes2(data) {
84
+ return _classPrivateMethodGet(this, _mapData, _mapData2).call(this, data, {
85
+ bigInt: value => BigInt(value),
86
+ number: value => +value
87
+ });
88
+ }
89
+
90
+ export default class Node extends NodeTransformed {
91
+ /**
92
+ * @param url - Url for node API
93
+ * @param options - Options
94
+ * @param options.ignoreVersion - Don't check node version
95
+ */
96
+ constructor(url) {
97
+ let {
98
+ ignoreVersion = false,
99
+ ...options
100
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
101
+ // eslint-disable-next-line constructor-super
102
+ super(url, {
103
+ allowInsecureConnection: true,
104
+ additionalPolicies: [genRequestQueuesPolicy(), genCombineGetRequestsPolicy(), genErrorFormatterPolicy(body => ` ${body.reason}`)],
105
+ ...options
106
+ });
107
+ this.url = url;
108
+
109
+ if (!ignoreVersion) {
110
+ const versionPromise = this.getStatus().then(_ref3 => {
111
+ let {
112
+ nodeVersion
113
+ } = _ref3;
114
+ return nodeVersion;
115
+ });
116
+ this.pipeline.addPolicy(genVersionCheckPolicy('node', '/v3/status', versionPromise, '6.2.0', '7.0.0'));
117
+ }
118
+
119
+ this.intAsString = true;
120
+ }
121
+
122
+ async getNodeInfo() {
123
+ const {
124
+ nodeVersion: version,
125
+ networkId: nodeNetworkId,
126
+ protocols,
127
+ topBlockHeight
128
+ } = await this.getStatus();
129
+ const consensusProtocolVersion = protocols.filter(_ref4 => {
130
+ let {
131
+ effectiveAtHeight
132
+ } = _ref4;
133
+ return topBlockHeight >= effectiveAtHeight;
134
+ }).reduce((acc, p) => p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc, {
135
+ effectiveAtHeight: -1,
136
+ version: 0
137
+ }).version;
138
+ return {
139
+ url: this.url,
140
+ nodeNetworkId,
141
+ version,
142
+ consensusProtocolVersion
143
+ };
144
+ }
145
+
146
+ }
147
+ //# sourceMappingURL=Node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.mjs","names":["BigNumber","genRequestQueuesPolicy","genCombineGetRequestsPolicy","genErrorFormatterPolicy","genVersionCheckPolicy","Node","NodeApi","mapObject","MissingParamError","getNetworkId","networkId","res","api","getStatus","bigIntPropertyNames","numberPropertyNames","NodeTransformed","sendOperationRequest","operationArguments","operationSpec","args","key","value","data","transform","Array","isArray","map","d","some","k","bigInt","number","toFixed","toString","BigInt","constructor","url","ignoreVersion","options","allowInsecureConnection","additionalPolicies","body","reason","versionPromise","then","nodeVersion","pipeline","addPolicy","intAsString","getNodeInfo","version","nodeNetworkId","protocols","topBlockHeight","consensusProtocolVersion","filter","effectiveAtHeight","reduce","acc","p"],"sources":["../src/Node.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { OperationArguments, OperationSpec } from '@azure/core-client';\nimport {\n genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy,\n genVersionCheckPolicy,\n} from './utils/autorest';\nimport { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node';\nimport { mapObject } from './utils/other';\nimport { Encoded } from './utils/encoder';\nimport { MissingParamError } from './utils/errors';\n\n/**\n * Obtain networkId from account or node\n */\nexport async function getNetworkId({ networkId }: { networkId?: string } = {}): Promise<string> {\n const res = networkId ?? this.networkId ?? (await this.api?.getStatus())?.networkId;\n if (res != null) return res;\n throw new MissingParamError('networkId is not provided');\n}\n\nconst bigIntPropertyNames = [\n 'balance', 'queryFee', 'fee', 'amount', 'nameFee', 'channelAmount',\n 'initiatorAmount', 'responderAmount', 'channelReserve', 'initiatorAmountFinal',\n 'responderAmountFinal', 'gasPrice', 'deposit',\n] as const;\n\nconst numberPropertyNames = [\n 'time', 'gas', 'gasUsed', 'nameSalt',\n 'nonce', 'nextNonce', 'height', 'blockHeight', 'top', 'topBlockHeight',\n 'ttl', 'nameTtl', 'clientTtl',\n 'inbound', 'outbound', 'peerCount', 'pendingTransactionsCount', 'effectiveAtHeight',\n 'version', 'solutions', 'round',\n] as const;\n\nclass NodeTransformed extends NodeApi {\n async sendOperationRequest(\n operationArguments: OperationArguments,\n operationSpec: OperationSpec,\n ): Promise<any> {\n const args = mapObject(\n operationArguments,\n ([key, value]) => [key, this.#encodeArg(value)],\n ) as OperationArguments;\n return this.#decodeRes(await super.sendOperationRequest(args, operationSpec));\n }\n\n #mapData(data: any, transform: {\n bigInt: (v: any) => any;\n number: (v: any) => any;\n }): unknown {\n if (Array.isArray(data)) return data.map((d) => this.#mapData(d, transform));\n if (data != null && typeof data === 'object') {\n return mapObject(data, ([key, value]) => {\n if (value == null) return [key, value];\n if (bigIntPropertyNames.some((k) => k === key)) return [key, transform.bigInt(value)];\n if (numberPropertyNames.some((k) => k === key)) return [key, transform.number(value)];\n return [key, this.#mapData(value, transform)];\n });\n }\n return data;\n }\n\n #encodeArg(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => {\n if (value instanceof BigNumber) return value.toFixed();\n return value.toString();\n },\n number: (value) => value.toString(),\n });\n }\n\n #decodeRes(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => BigInt(value),\n number: (value) => +value,\n });\n }\n}\n\ntype BigIntPropertyNames = typeof bigIntPropertyNames[number];\ntype NumberPropertyNames = typeof numberPropertyNames[number];\ntype PreserveOptional<NewType, OrigType> =\n OrigType extends undefined ? NewType | undefined : NewType;\nexport type TransformNodeType<Type> =\n Type extends (...args: infer Args) => infer Ret\n ? (...args: TransformNodeType<Args>) => TransformNodeType<Ret>\n : Type extends [infer Item, ...infer Rest]\n ? [TransformNodeType<Item>, ...TransformNodeType<Rest>]\n : Type extends Array<infer Item>\n ? Array<TransformNodeType<Item>>\n : Type extends Promise<infer T>\n ? Promise<TransformNodeType<T>>\n : Type extends { [P in any]: any }\n ? {\n [Property in keyof Type]:\n Property extends BigIntPropertyNames\n ? PreserveOptional<bigint, Type[Property]>\n : Property extends NumberPropertyNames\n ? PreserveOptional<number, Type[Property]>\n : Property extends 'txHash'\n ? PreserveOptional<Encoded.TxHash, Type[Property]>\n : TransformNodeType<Type[Property]>\n }\n : Type;\ntype NodeTransformedApi = new (...args: ConstructorParameters<typeof NodeApi>) => {\n [Name in keyof InstanceType<typeof NodeApi>]:\n Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest'\n ? NodeApi[Name] : TransformNodeType<NodeApi[Name]>\n};\n\nexport interface NodeInfo {\n url: string;\n nodeNetworkId: string;\n version: string;\n consensusProtocolVersion: number;\n}\n\nexport default class Node extends (NodeTransformed as unknown as NodeTransformedApi) {\n url: string;\n\n /**\n * @param url - Url for node API\n * @param options - Options\n * @param options.ignoreVersion - Don't check node version\n */\n constructor(\n url: string,\n { ignoreVersion = false, ...options }: NodeOptionalParams & { ignoreVersion?: boolean } = {},\n ) {\n // eslint-disable-next-line constructor-super\n super(url, {\n allowInsecureConnection: true,\n additionalPolicies: [\n genRequestQueuesPolicy(),\n genCombineGetRequestsPolicy(),\n genErrorFormatterPolicy((body: ErrorModel) => ` ${body.reason}`),\n ],\n ...options,\n });\n this.url = url;\n if (!ignoreVersion) {\n const versionPromise = this.getStatus().then(({ nodeVersion }) => nodeVersion);\n this.pipeline.addPolicy(\n genVersionCheckPolicy('node', '/v3/status', versionPromise, '6.2.0', '7.0.0'),\n );\n }\n this.intAsString = true;\n }\n\n async getNodeInfo(): Promise<NodeInfo> {\n const {\n nodeVersion: version,\n networkId: nodeNetworkId,\n protocols,\n topBlockHeight,\n } = await this.getStatus();\n const consensusProtocolVersion = protocols\n .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)\n .reduce(\n (acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc),\n { effectiveAtHeight: -1, version: 0 },\n )\n .version;\n return {\n url: this.url,\n nodeNetworkId,\n version,\n consensusProtocolVersion,\n };\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { Encoded } from '../utils/encoder';
2
+ import { getNetworkId } from '../Node';
3
+ import type { createMetaTx } from '../contract/ga';
4
+ /**
5
+ * Check is provided object looks like an instance of AccountBase
6
+ * @param acc - Object to check
7
+ */
8
+ export declare const isAccountBase: (acc: AccountBase | any) => boolean;
9
+ /**
10
+ * Account is one of the three basic building blocks of an
11
+ * {@link AeSdk} and provides access to a signing key pair.
12
+ */
13
+ export default abstract class AccountBase {
14
+ networkId?: string;
15
+ /**
16
+ * @param options - Options
17
+ * @param options.networkId - Using for signing transactions
18
+ */
19
+ constructor({ networkId }?: {
20
+ networkId?: string;
21
+ });
22
+ /**
23
+ * Sign encoded transaction
24
+ * @param tx - Transaction to sign
25
+ * @param opt - Options
26
+ * @param opt.innerTx - Sign as inner transaction for PayingFor
27
+ * @returns Signed transaction
28
+ */
29
+ signTransaction(tx: Encoded.Transaction, { innerTx, networkId, ...options }?: {
30
+ innerTx?: boolean;
31
+ networkId?: string;
32
+ authData?: Parameters<typeof createMetaTx>[1];
33
+ authFun?: Parameters<typeof createMetaTx>[2];
34
+ } & Omit<Partial<Parameters<typeof createMetaTx>[3]>, 'onAccount'>): Promise<Encoded.Transaction>;
35
+ /**
36
+ * Get network Id
37
+ * @returns Network Id
38
+ */
39
+ readonly getNetworkId: typeof getNetworkId;
40
+ /**
41
+ * Sign message
42
+ * @param message - Message to sign
43
+ * @param opt - Options
44
+ * @returns Signature as hex string of Uint8Array
45
+ */
46
+ signMessage(message: string, { returnHex, ...options }?: {
47
+ returnHex?: boolean;
48
+ }): Promise<string | Uint8Array>;
49
+ /**
50
+ * Verify message
51
+ * @param message - Message to verify
52
+ * @param signature - Signature
53
+ * @param options - Options
54
+ */
55
+ verifyMessage(message: string, signature: string | Uint8Array, options?: object): Promise<boolean>;
56
+ /**
57
+ * Sign data blob
58
+ * @param data - Data blob to sign
59
+ * @param options - Options
60
+ * @returns Signed data blob
61
+ */
62
+ abstract sign(data: string | Uint8Array, options?: any): Promise<Uint8Array>;
63
+ /**
64
+ * Obtain account address
65
+ * @returns Public account address
66
+ */
67
+ abstract address(opt?: object): Promise<Encoded.AccountAddress>;
68
+ }