@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
package/es/AeSdk.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import AeSdkBase, { Account } from './AeSdkBase';
2
+ import AccountBase from './account/Base';
3
+ import { Encoded } from './utils/encoder';
4
+ export default class AeSdk extends AeSdkBase {
5
+ accounts: {
6
+ [key: Encoded.AccountAddress]: AccountBase;
7
+ };
8
+ selectedAddress?: Encoded.AccountAddress;
9
+ _resolveAccount(account?: Account | Encoded.AccountAddress): AccountBase;
10
+ /**
11
+ * Get accounts addresses
12
+ * @example addresses()
13
+ */
14
+ addresses(): Encoded.AccountAddress[];
15
+ /**
16
+ * Add specific account
17
+ * @param account - Account instance
18
+ * @param options - Options
19
+ * @param options.select - Select account
20
+ * @example addAccount(account)
21
+ */
22
+ addAccount(account: AccountBase, { select }?: {
23
+ select?: boolean;
24
+ }): Promise<void>;
25
+ /**
26
+ * Remove specific account
27
+ * @param address - Address of account to remove
28
+ * @example removeAccount(address)
29
+ */
30
+ removeAccount(address: Encoded.AccountAddress): void;
31
+ /**
32
+ * Select specific account
33
+ * @param address - Address of account to select
34
+ * @example selectAccount('ak_xxxxxxxx')
35
+ */
36
+ selectAccount(address: Encoded.AccountAddress): void;
37
+ }
package/es/AeSdk.mjs ADDED
@@ -0,0 +1,81 @@
1
+ import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
+ import AeSdkBase from "./AeSdkBase.mjs";
3
+ import { decode } from "./utils/encoder.mjs";
4
+ import { UnavailableAccountError } from "./utils/errors.mjs";
5
+ export default class AeSdk extends AeSdkBase {
6
+ constructor() {
7
+ super(...arguments);
8
+
9
+ _defineProperty(this, "accounts", {});
10
+ }
11
+
12
+ _resolveAccount() {
13
+ let account = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectedAddress;
14
+
15
+ if (typeof account === 'string') {
16
+ const address = account;
17
+ decode(address);
18
+ if (this.accounts[address] == null) throw new UnavailableAccountError(account);
19
+ account = this.accounts[address];
20
+ }
21
+
22
+ return super._resolveAccount(account);
23
+ }
24
+ /**
25
+ * Get accounts addresses
26
+ * @example addresses()
27
+ */
28
+
29
+
30
+ addresses() {
31
+ return Object.keys(this.accounts);
32
+ }
33
+ /**
34
+ * Add specific account
35
+ * @param account - Account instance
36
+ * @param options - Options
37
+ * @param options.select - Select account
38
+ * @example addAccount(account)
39
+ */
40
+
41
+
42
+ async addAccount(account) {
43
+ let {
44
+ select
45
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46
+ const address = await account.address();
47
+ this.accounts[address] = account;
48
+ if (select === true) this.selectAccount(address);
49
+ }
50
+ /**
51
+ * Remove specific account
52
+ * @param address - Address of account to remove
53
+ * @example removeAccount(address)
54
+ */
55
+
56
+
57
+ removeAccount(address) {
58
+ if (this.accounts[address] == null) {
59
+ console.warn(`removeAccount: Account for ${address} not available`);
60
+ return;
61
+ }
62
+
63
+ delete this.accounts[address]; // eslint-disable-line @typescript-eslint/no-dynamic-delete
64
+
65
+ if (this.selectedAddress === address) delete this.selectedAddress;
66
+ }
67
+ /**
68
+ * Select specific account
69
+ * @param address - Address of account to select
70
+ * @example selectAccount('ak_xxxxxxxx')
71
+ */
72
+
73
+
74
+ selectAccount(address) {
75
+ decode(address);
76
+ if (this.accounts[address] == null) throw new UnavailableAccountError(address);
77
+ this.selectedAddress = address;
78
+ }
79
+
80
+ }
81
+ //# sourceMappingURL=AeSdk.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AeSdk.mjs","names":["AeSdkBase","decode","UnavailableAccountError","AeSdk","_resolveAccount","account","selectedAddress","address","accounts","addresses","Object","keys","addAccount","select","selectAccount","removeAccount","console","warn"],"sources":["../src/AeSdk.ts"],"sourcesContent":["import AeSdkBase, { Account } from './AeSdkBase';\nimport AccountBase from './account/Base';\nimport { decode, Encoded } from './utils/encoder';\nimport { UnavailableAccountError } from './utils/errors';\n\nexport default class AeSdk extends AeSdkBase {\n accounts: { [key: Encoded.AccountAddress]: AccountBase } = {};\n\n selectedAddress?: Encoded.AccountAddress;\n\n _resolveAccount(\n account: Account | Encoded.AccountAddress = this.selectedAddress,\n ): AccountBase {\n if (typeof account === 'string') {\n const address = account as Encoded.AccountAddress;\n decode(address);\n if (this.accounts[address] == null) throw new UnavailableAccountError(account);\n account = this.accounts[address];\n }\n return super._resolveAccount(account);\n }\n\n /**\n * Get accounts addresses\n * @example addresses()\n */\n addresses(): Encoded.AccountAddress[] {\n return Object.keys(this.accounts) as Encoded.AccountAddress[];\n }\n\n /**\n * Add specific account\n * @param account - Account instance\n * @param options - Options\n * @param options.select - Select account\n * @example addAccount(account)\n */\n async addAccount(account: AccountBase, { select }: { select?: boolean } = {}): Promise<void> {\n const address = await account.address();\n this.accounts[address] = account;\n if (select === true) this.selectAccount(address);\n }\n\n /**\n * Remove specific account\n * @param address - Address of account to remove\n * @example removeAccount(address)\n */\n removeAccount(address: Encoded.AccountAddress): void {\n if (this.accounts[address] == null) {\n console.warn(`removeAccount: Account for ${address} not available`);\n return;\n }\n delete this.accounts[address]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n if (this.selectedAddress === address) delete this.selectedAddress;\n }\n\n /**\n * Select specific account\n * @param address - Address of account to select\n * @example selectAccount('ak_xxxxxxxx')\n */\n selectAccount(address: Encoded.AccountAddress): void {\n decode(address);\n if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n this.selectedAddress = address;\n }\n}\n"],"mappings":";OAAOA,S;SAEEC,M;SACAC,uB;AAET,eAAe,MAAMC,KAAN,SAAoBH,SAApB,CAA8B;EAAA;IAAA;;IAAA,kCACgB,EADhB;EAAA;;EAK3CI,eAAe,GAEA;IAAA,IADbC,OACa,uEAD+B,KAAKC,eACpC;;IACb,IAAI,OAAOD,OAAP,KAAmB,QAAvB,EAAiC;MAC/B,MAAME,OAAO,GAAGF,OAAhB;MACAJ,MAAM,CAACM,OAAD,CAAN;MACA,IAAI,KAAKC,QAAL,CAAcD,OAAd,KAA0B,IAA9B,EAAoC,MAAM,IAAIL,uBAAJ,CAA4BG,OAA5B,CAAN;MACpCA,OAAO,GAAG,KAAKG,QAAL,CAAcD,OAAd,CAAV;IACD;;IACD,OAAO,MAAMH,eAAN,CAAsBC,OAAtB,CAAP;EACD;EAED;AACF;AACA;AACA;;;EACEI,SAAS,GAA6B;IACpC,OAAOC,MAAM,CAACC,IAAP,CAAY,KAAKH,QAAjB,CAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;;;EACkB,MAAVI,UAAU,CAACP,OAAD,EAA6E;IAAA,IAAtD;MAAEQ;IAAF,CAAsD,uEAAnB,EAAmB;IAC3F,MAAMN,OAAO,GAAG,MAAMF,OAAO,CAACE,OAAR,EAAtB;IACA,KAAKC,QAAL,CAAcD,OAAd,IAAyBF,OAAzB;IACA,IAAIQ,MAAM,KAAK,IAAf,EAAqB,KAAKC,aAAL,CAAmBP,OAAnB;EACtB;EAED;AACF;AACA;AACA;AACA;;;EACEQ,aAAa,CAACR,OAAD,EAAwC;IACnD,IAAI,KAAKC,QAAL,CAAcD,OAAd,KAA0B,IAA9B,EAAoC;MAClCS,OAAO,CAACC,IAAR,CAAc,8BAA6BV,OAAQ,gBAAnD;MACA;IACD;;IACD,OAAO,KAAKC,QAAL,CAAcD,OAAd,CAAP,CALmD,CAKpB;;IAC/B,IAAI,KAAKD,eAAL,KAAyBC,OAA7B,EAAsC,OAAO,KAAKD,eAAZ;EACvC;EAED;AACF;AACA;AACA;AACA;;;EACEQ,aAAa,CAACP,OAAD,EAAwC;IACnDN,MAAM,CAACM,OAAD,CAAN;IACA,IAAI,KAAKC,QAAL,CAAcD,OAAd,KAA0B,IAA9B,EAAoC,MAAM,IAAIL,uBAAJ,CAA4BK,OAA5B,CAAN;IACpC,KAAKD,eAAL,GAAuBC,OAAvB;EACD;;AA7D0C"}
@@ -0,0 +1,70 @@
1
+ import AeSdkBase, { Account } from './AeSdkBase';
2
+ import AccountBase from './account/Base';
3
+ import { Encoded } from './utils/encoder';
4
+ import { Accounts, WalletInfo, Network, WalletApi, AeppApi } from './aepp-wallet-communication/rpc/types';
5
+ import RpcClient from './aepp-wallet-communication/rpc/RpcClient';
6
+ import { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema';
7
+ import BrowserConnection from './aepp-wallet-communication/connection/Browser';
8
+ /**
9
+ * RPC handler for AEPP side
10
+ * Contain functionality for wallet interaction and connect it to sdk
11
+ * @category aepp wallet communication
12
+ */
13
+ export default class AeSdkAepp extends AeSdkBase {
14
+ name: string;
15
+ onAddressChange: (a: Accounts) => void;
16
+ onDisconnect: (p: any) => void;
17
+ onNetworkChange: (a: Network) => void;
18
+ rpcClient?: RpcClient<WalletApi, AeppApi>;
19
+ _accounts?: Accounts;
20
+ /**
21
+ * @param options - Options
22
+ * @param options.name - Aepp name
23
+ * @param options.onAddressChange - Call-back function for update address event
24
+ * @param options.onDisconnect - Call-back function for disconnect event
25
+ * @param options.onNetworkChange - Call-back function for update network event
26
+ */
27
+ constructor({ name, onAddressChange, onDisconnect, onNetworkChange, ...other }: {
28
+ name: string;
29
+ onAddressChange: (a: Accounts) => void;
30
+ onDisconnect: (p: any) => void;
31
+ onNetworkChange: (a: Network) => void;
32
+ } & ConstructorParameters<typeof AeSdkBase>[0]);
33
+ _resolveAccount(account?: Account): AccountBase;
34
+ addresses(): Encoded.AccountAddress[];
35
+ /**
36
+ * Connect to wallet
37
+ * @param connection - Wallet connection object
38
+ * @param options - Options
39
+ * @param options.connectNode - Request wallet to bind node
40
+ * @param options.name - Node name
41
+ * @param options.select - Select this node as current
42
+ */
43
+ connectToWallet(connection: BrowserConnection, { connectNode, name, select }?: {
44
+ connectNode?: boolean;
45
+ name?: string;
46
+ select?: boolean;
47
+ }): Promise<WalletInfo>;
48
+ /**
49
+ * Disconnect from wallet
50
+ */
51
+ disconnectWallet(): void;
52
+ /**
53
+ * Ask addresses from wallet
54
+ * @returns Addresses from wallet
55
+ */
56
+ askAddresses(): Promise<Encoded.AccountAddress[]>;
57
+ /**
58
+ * Subscribe for addresses from wallet
59
+ * @param type - Subscription type
60
+ * @param value - Should be one of 'current' (the selected account), 'connected' (all)
61
+ * @returns Accounts from wallet
62
+ */
63
+ subscribeAddress(type: SUBSCRIPTION_TYPES, value: 'current' | 'connected'): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>>;
64
+ _ensureConnected(): asserts this is AeSdkAepp & {
65
+ rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
66
+ };
67
+ _ensureAccountAccess(): asserts this is AeSdkAepp & {
68
+ rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
69
+ };
70
+ }
@@ -0,0 +1,176 @@
1
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
+ import AeSdkBase from "./AeSdkBase.mjs";
3
+ import AccountRpc from "./account/Rpc.mjs";
4
+ import { decode } from "./utils/encoder.mjs";
5
+ import { RPC_VERSION } from "./aepp-wallet-communication/rpc/types.mjs";
6
+ import RpcClient from "./aepp-wallet-communication/rpc/RpcClient.mjs";
7
+ import { METHODS } from "./aepp-wallet-communication/schema.mjs";
8
+ import { AlreadyConnectedError, NoWalletConnectedError, UnsubscribedAccountError, UnAuthorizedAccountError, RpcConnectionError } from "./utils/errors.mjs";
9
+ import Node from "./Node.mjs";
10
+
11
+ /**
12
+ * RPC handler for AEPP side
13
+ * Contain functionality for wallet interaction and connect it to sdk
14
+ * @category aepp wallet communication
15
+ */
16
+ export default class AeSdkAepp extends AeSdkBase {
17
+ /**
18
+ * @param options - Options
19
+ * @param options.name - Aepp name
20
+ * @param options.onAddressChange - Call-back function for update address event
21
+ * @param options.onDisconnect - Call-back function for disconnect event
22
+ * @param options.onNetworkChange - Call-back function for update network event
23
+ */
24
+ constructor(_ref) {
25
+ let {
26
+ name,
27
+ onAddressChange = () => {},
28
+ onDisconnect = () => {},
29
+ onNetworkChange = () => {},
30
+ ...other
31
+ } = _ref;
32
+ super(other);
33
+ this.onAddressChange = onAddressChange;
34
+ this.onDisconnect = onDisconnect;
35
+ this.onNetworkChange = onNetworkChange;
36
+ this.name = name;
37
+ }
38
+
39
+ _resolveAccount() {
40
+ let account = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.addresses()[0];
41
+
42
+ if (typeof account === 'string') {
43
+ var _context;
44
+
45
+ const address = account;
46
+ decode(address);
47
+ if (!_includesInstanceProperty(_context = this.addresses()).call(_context, address)) throw new UnAuthorizedAccountError(address);
48
+ account = new AccountRpc({
49
+ rpcClient: this.rpcClient,
50
+ address
51
+ });
52
+ }
53
+
54
+ if (account == null) this._ensureAccountAccess();
55
+ return super._resolveAccount(account);
56
+ }
57
+
58
+ addresses() {
59
+ if (this._accounts == null) return [];
60
+ const current = Object.keys(this._accounts.current)[0];
61
+ return [...(current != null ? [current] : []), ...Object.keys(this._accounts.connected)];
62
+ }
63
+ /**
64
+ * Connect to wallet
65
+ * @param connection - Wallet connection object
66
+ * @param options - Options
67
+ * @param options.connectNode - Request wallet to bind node
68
+ * @param options.name - Node name
69
+ * @param options.select - Select this node as current
70
+ */
71
+
72
+
73
+ async connectToWallet(connection) {
74
+ let {
75
+ connectNode = false,
76
+ name = 'wallet-node',
77
+ select = false
78
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
79
+ if (this.rpcClient != null) throw new AlreadyConnectedError('You are already connected to wallet');
80
+ let disconnectParams;
81
+ const client = new RpcClient(connection, () => {
82
+ delete this.rpcClient;
83
+ delete this._accounts;
84
+ this.onDisconnect(disconnectParams);
85
+ }, {
86
+ [METHODS.updateAddress]: params => {
87
+ this._accounts = params;
88
+ this.onAddressChange(params);
89
+ },
90
+ [METHODS.updateNetwork]: params => {
91
+ const {
92
+ node
93
+ } = params;
94
+ if (node != null) this.addNode(node.name, new Node(node.url), true);
95
+ this.onNetworkChange(params);
96
+ },
97
+ [METHODS.closeConnection]: params => {
98
+ disconnectParams = params;
99
+ client.connection.disconnect();
100
+ },
101
+ [METHODS.readyToConnect]: () => {}
102
+ });
103
+ const {
104
+ node,
105
+ ...walletInfo
106
+ } = await client.request(METHODS.connect, {
107
+ name: this.name,
108
+ version: RPC_VERSION,
109
+ connectNode
110
+ });
111
+
112
+ if (connectNode) {
113
+ if (node == null) throw new RpcConnectionError('Missing URLs of the Node');
114
+ this.addNode(name, new Node(node.url), select);
115
+ }
116
+
117
+ this.rpcClient = client;
118
+ return walletInfo;
119
+ }
120
+ /**
121
+ * Disconnect from wallet
122
+ */
123
+
124
+
125
+ disconnectWallet() {
126
+ this._ensureConnected();
127
+
128
+ this.rpcClient.notify(METHODS.closeConnection, {
129
+ reason: 'bye'
130
+ });
131
+ this.rpcClient.connection.disconnect();
132
+ }
133
+ /**
134
+ * Ask addresses from wallet
135
+ * @returns Addresses from wallet
136
+ */
137
+
138
+
139
+ async askAddresses() {
140
+ this._ensureAccountAccess();
141
+
142
+ return this.rpcClient.request(METHODS.address, undefined);
143
+ }
144
+ /**
145
+ * Subscribe for addresses from wallet
146
+ * @param type - Subscription type
147
+ * @param value - Should be one of 'current' (the selected account), 'connected' (all)
148
+ * @returns Accounts from wallet
149
+ */
150
+
151
+
152
+ async subscribeAddress(type, value) {
153
+ this._ensureConnected();
154
+
155
+ const result = await this.rpcClient.request(METHODS.subscribeAddress, {
156
+ type,
157
+ value
158
+ });
159
+ this._accounts = result.address;
160
+ return result;
161
+ }
162
+
163
+ _ensureConnected() {
164
+ if (this.rpcClient != null) return;
165
+ throw new NoWalletConnectedError('You are not connected to Wallet');
166
+ }
167
+
168
+ _ensureAccountAccess() {
169
+ this._ensureConnected();
170
+
171
+ if (this.addresses().length !== 0) return;
172
+ throw new UnsubscribedAccountError();
173
+ }
174
+
175
+ }
176
+ //# sourceMappingURL=AeSdkAepp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AeSdkAepp.mjs","names":["AeSdkBase","AccountRpc","decode","RPC_VERSION","RpcClient","METHODS","AlreadyConnectedError","NoWalletConnectedError","UnsubscribedAccountError","UnAuthorizedAccountError","RpcConnectionError","Node","AeSdkAepp","constructor","name","onAddressChange","onDisconnect","onNetworkChange","other","_resolveAccount","account","addresses","address","rpcClient","_ensureAccountAccess","_accounts","current","Object","keys","connected","connectToWallet","connection","connectNode","select","disconnectParams","client","updateAddress","params","updateNetwork","node","addNode","url","closeConnection","disconnect","readyToConnect","walletInfo","request","connect","version","disconnectWallet","_ensureConnected","notify","reason","askAddresses","undefined","subscribeAddress","type","value","result","length"],"sources":["../src/AeSdkAepp.ts"],"sourcesContent":["import AeSdkBase, { Account } from './AeSdkBase';\nimport AccountBase from './account/Base';\nimport AccountRpc from './account/Rpc';\nimport { decode, Encoded } from './utils/encoder';\nimport {\n Accounts, RPC_VERSION, WalletInfo, Network, WalletApi, AeppApi,\n} from './aepp-wallet-communication/rpc/types';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient';\nimport { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema';\nimport {\n AlreadyConnectedError,\n NoWalletConnectedError,\n UnsubscribedAccountError,\n UnAuthorizedAccountError,\n RpcConnectionError,\n} from './utils/errors';\nimport Node from './Node';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser';\n\n/**\n * RPC handler for AEPP side\n * Contain functionality for wallet interaction and connect it to sdk\n * @category aepp wallet communication\n */\nexport default class AeSdkAepp extends AeSdkBase {\n name: string;\n\n onAddressChange: (a: Accounts) => void;\n\n onDisconnect: (p: any) => void;\n\n onNetworkChange: (a: Network) => void;\n\n rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n _accounts?: Accounts;\n\n /**\n * @param options - Options\n * @param options.name - Aepp name\n * @param options.onAddressChange - Call-back function for update address event\n * @param options.onDisconnect - Call-back function for disconnect event\n * @param options.onNetworkChange - Call-back function for update network event\n */\n constructor({\n name,\n onAddressChange = () => {},\n onDisconnect = () => {},\n onNetworkChange = () => {},\n ...other\n }: {\n name: string;\n onAddressChange: (a: Accounts) => void;\n onDisconnect: (p: any) => void;\n onNetworkChange: (a: Network) => void;\n } & ConstructorParameters<typeof AeSdkBase>[0]) {\n super(other);\n this.onAddressChange = onAddressChange;\n this.onDisconnect = onDisconnect;\n this.onNetworkChange = onNetworkChange;\n this.name = name;\n }\n\n _resolveAccount(account: Account = this.addresses()[0]): AccountBase {\n if (typeof account === 'string') {\n const address = account as Encoded.AccountAddress;\n decode(address);\n if (!this.addresses().includes(address)) throw new UnAuthorizedAccountError(address);\n account = new AccountRpc({ rpcClient: this.rpcClient, address });\n }\n if (account == null) this._ensureAccountAccess();\n return super._resolveAccount(account);\n }\n\n addresses(): Encoded.AccountAddress[] {\n if (this._accounts == null) return [];\n const current = Object.keys(this._accounts.current)[0];\n return [\n ...current != null ? [current] : [], ...Object.keys(this._accounts.connected),\n ] as Encoded.AccountAddress[];\n }\n\n /**\n * Connect to wallet\n * @param connection - Wallet connection object\n * @param options - Options\n * @param options.connectNode - Request wallet to bind node\n * @param options.name - Node name\n * @param options.select - Select this node as current\n */\n async connectToWallet(\n connection: BrowserConnection,\n { connectNode = false, name = 'wallet-node', select = false }:\n { connectNode?: boolean; name?: string; select?: boolean } = {},\n ): Promise<WalletInfo> {\n if (this.rpcClient != null) throw new AlreadyConnectedError('You are already connected to wallet');\n let disconnectParams: any;\n const client = new RpcClient<WalletApi, AeppApi>(\n connection,\n () => {\n delete this.rpcClient;\n delete this._accounts;\n this.onDisconnect(disconnectParams);\n },\n {\n [METHODS.updateAddress]: (params) => {\n this._accounts = params;\n this.onAddressChange(params);\n },\n [METHODS.updateNetwork]: (params) => {\n const { node } = params;\n if (node != null) this.addNode(node.name, new Node(node.url), true);\n this.onNetworkChange(params);\n },\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n client.connection.disconnect();\n },\n [METHODS.readyToConnect]: () => {},\n },\n );\n const { node, ...walletInfo } = await client\n .request(METHODS.connect, { name: this.name, version: RPC_VERSION, connectNode });\n if (connectNode) {\n if (node == null) throw new RpcConnectionError('Missing URLs of the Node');\n this.addNode(name, new Node(node.url), select);\n }\n this.rpcClient = client;\n return walletInfo;\n }\n\n /**\n * Disconnect from wallet\n */\n disconnectWallet(): void {\n this._ensureConnected();\n this.rpcClient.notify(METHODS.closeConnection, { reason: 'bye' });\n this.rpcClient.connection.disconnect();\n }\n\n /**\n * Ask addresses from wallet\n * @returns Addresses from wallet\n */\n async askAddresses(): Promise<Encoded.AccountAddress[]> {\n this._ensureAccountAccess();\n return this.rpcClient.request(METHODS.address, undefined);\n }\n\n /**\n * Subscribe for addresses from wallet\n * @param type - Subscription type\n * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n * @returns Accounts from wallet\n */\n async subscribeAddress(\n type: SUBSCRIPTION_TYPES,\n value: 'current' | 'connected',\n ): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>> {\n this._ensureConnected();\n const result = await this.rpcClient.request(METHODS.subscribeAddress, { type, value });\n this._accounts = result.address;\n return result;\n }\n\n _ensureConnected(): asserts this is AeSdkAepp & { rpcClient: NonNullable<AeSdkAepp['rpcClient']> } {\n if (this.rpcClient != null) return;\n throw new NoWalletConnectedError('You are not connected to Wallet');\n }\n\n _ensureAccountAccess(): asserts this is AeSdkAepp & { rpcClient: NonNullable<AeSdkAepp['rpcClient']> } {\n this._ensureConnected();\n if (this.addresses().length !== 0) return;\n throw new UnsubscribedAccountError();\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ import * as chainMethods from './chain';
2
+ import * as txMethods from './tx';
3
+ import * as aensMethods from './aens';
4
+ import * as spendMethods from './spend';
5
+ import * as oracleMethods from './oracle';
6
+ import * as contractMethods from './contract/methods';
7
+ import * as contractGaMethods from './contract/ga';
8
+ import * as deprecatedMethods from './deprecated/methods';
9
+ import { _buildTx } from './tx';
10
+ import Node, { getNetworkId } from './Node';
11
+ import { AE_AMOUNT_FORMATS } from './utils/amount-formatter';
12
+ import { Tag } from './tx/builder/constants';
13
+ import { Keypair } from './account/Memory';
14
+ import AccountBase from './account/Base';
15
+ import { Encoded } from './utils/encoder';
16
+ import Compiler from './contract/Compiler';
17
+ export declare type Account = Keypair | AccountBase | any;
18
+ declare type NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & {
19
+ name: string;
20
+ };
21
+ /**
22
+ * Basic AeSdk class
23
+ *
24
+ * AeSdkBase objects are the composition of:
25
+ * - chain methods
26
+ * - tx methods
27
+ * - aens methods
28
+ * - spend methods
29
+ * - oracle methods
30
+ * - contract methods
31
+ * - contract ga methods
32
+ * Only by providing the joint functionality of them, most more advanced
33
+ * operations, i.e. the ones with actual use value on the chain, become
34
+ * available.
35
+ */
36
+ declare class AeSdkBase {
37
+ _options: {
38
+ denomination: AE_AMOUNT_FORMATS;
39
+ amount: number;
40
+ [key: string]: any;
41
+ };
42
+ pool: Map<string, Node>;
43
+ selectedNodeName?: string;
44
+ compilerApi: Compiler;
45
+ /**
46
+ * @param options - Options
47
+ * @param options.nodes - Array of nodes
48
+ * @param options.compilerUrl - Url for compiler API
49
+ * @param options.ignoreVersion - Don't check node or compiler version
50
+ */
51
+ constructor({ nodes, compilerUrl, ignoreVersion, ...options }?: {
52
+ nodes?: Array<{
53
+ name: string;
54
+ instance: Node;
55
+ }>;
56
+ compilerUrl?: string;
57
+ ignoreVersion?: boolean;
58
+ [key: string]: any;
59
+ });
60
+ setCompilerUrl(compilerUrl: string, { ignoreVersion }?: {
61
+ ignoreVersion?: boolean;
62
+ }): void;
63
+ get api(): Node;
64
+ /**
65
+ * Add Node
66
+ * @param name - Node name
67
+ * @param node - Node instance
68
+ * @param select - Select this node as current
69
+ * @example
70
+ * ```js
71
+ * // add and select new node with name 'testNode'
72
+ * aeSdkBase.addNode('testNode', new Node({ url }), true)
73
+ * ```
74
+ */
75
+ addNode(name: string, node: Node, select?: boolean): void;
76
+ /**
77
+ * Select Node
78
+ * @param name - Node name
79
+ * @example
80
+ * nodePool.selectNode('testNode')
81
+ */
82
+ selectNode(name: string): void;
83
+ /**
84
+ * Get NetworkId of current Node
85
+ * @example
86
+ * nodePool.getNetworkId()
87
+ */
88
+ readonly getNetworkId: typeof getNetworkId;
89
+ /**
90
+ * Check if you have selected node
91
+ * @example
92
+ * nodePool.isNodeConnected()
93
+ */
94
+ isNodeConnected(): this is AeSdkBase & {
95
+ selectedNodeName: string;
96
+ };
97
+ protected ensureNodeConnected(): asserts this is AeSdkBase & {
98
+ selectedNodeName: string;
99
+ };
100
+ /**
101
+ * Get information about node
102
+ * @example
103
+ * ```js
104
+ * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }
105
+ * ```
106
+ */
107
+ getNodeInfo(): Promise<NodeInfo>;
108
+ /**
109
+ * Get array of available nodes
110
+ * @example
111
+ * nodePool.getNodesInPool()
112
+ */
113
+ getNodesInPool(): Promise<NodeInfo[]>;
114
+ addresses(): Encoded.AccountAddress[];
115
+ address({ onAccount }?: {
116
+ onAccount?: Account;
117
+ }): Promise<Encoded.AccountAddress>;
118
+ sign(data: string | Uint8Array, { onAccount, ...options }?: {
119
+ onAccount?: Account;
120
+ }): Promise<Uint8Array>;
121
+ signTransaction(tx: Encoded.Transaction, { onAccount, ...options }?: {
122
+ onAccount?: Account;
123
+ } & Parameters<AccountBase['signTransaction']>[1]): Promise<Encoded.Transaction>;
124
+ signMessage(message: string, { onAccount, ...options }?: {
125
+ onAccount?: Account;
126
+ } & Parameters<AccountBase['signMessage']>[1]): Promise<string | Uint8Array>;
127
+ verifyMessage(message: string, signature: string | Uint8Array, { onAccount, ...options }?: {
128
+ onAccount?: Account;
129
+ } & Parameters<AccountBase['verifyMessage']>[2]): Promise<boolean>;
130
+ /**
131
+ * Resolves an account
132
+ * @param account - ak-address, instance of AccountBase, or keypair
133
+ */
134
+ _resolveAccount(account?: Account): AccountBase;
135
+ _getOptions(): {
136
+ onNode: Node;
137
+ onAccount: AccountBase;
138
+ onCompiler: Compiler;
139
+ };
140
+ buildTx<TxType extends Tag>(txType: TxType, options: Omit<Parameters<typeof _buildTx<TxType>>[1], 'onNode'> & {
141
+ onNode?: Node;
142
+ }): Promise<Encoded.Transaction>;
143
+ }
144
+ declare const methods: {
145
+ readonly signUsingGA: typeof deprecatedMethods.signUsingGA;
146
+ readonly height: typeof deprecatedMethods.height;
147
+ readonly isGA: typeof contractGaMethods.isGA;
148
+ readonly createGeneralizedAccount: typeof contractGaMethods.createGeneralizedAccount;
149
+ readonly createMetaTx: typeof contractGaMethods.createMetaTx;
150
+ readonly buildAuthTxHash: typeof contractGaMethods.buildAuthTxHash;
151
+ readonly createAensDelegationSignature: typeof contractMethods.createAensDelegationSignature;
152
+ readonly createOracleDelegationSignature: typeof contractMethods.createOracleDelegationSignature;
153
+ readonly getContractInstance: typeof contractMethods.getContractInstance;
154
+ readonly pollForQueries: typeof oracleMethods.pollForQueries;
155
+ readonly pollForQueryResponse: typeof oracleMethods.pollForQueryResponse;
156
+ readonly getQueryObject: typeof oracleMethods.getQueryObject;
157
+ readonly postQueryToOracle: typeof oracleMethods.postQueryToOracle;
158
+ readonly extendOracleTtl: typeof oracleMethods.extendOracleTtl;
159
+ readonly respondToQuery: typeof oracleMethods.respondToQuery;
160
+ readonly getOracleObject: typeof oracleMethods.getOracleObject;
161
+ readonly registerOracle: typeof oracleMethods.registerOracle;
162
+ readonly send: typeof spendMethods.send;
163
+ readonly spend: typeof spendMethods.spend;
164
+ readonly transferFunds: typeof spendMethods.transferFunds;
165
+ readonly payForTransaction: typeof spendMethods.payForTransaction;
166
+ readonly aensRevoke: typeof aensMethods.aensRevoke;
167
+ readonly aensUpdate: typeof aensMethods.aensUpdate;
168
+ readonly aensTransfer: typeof aensMethods.aensTransfer;
169
+ readonly aensQuery: typeof aensMethods.aensQuery;
170
+ readonly aensClaim: typeof aensMethods.aensClaim;
171
+ readonly aensPreclaim: typeof aensMethods.aensPreclaim;
172
+ readonly aensBid: typeof aensMethods.aensBid;
173
+ readonly getVmVersion: typeof txMethods.getVmVersion;
174
+ readonly prepareTxParams: typeof txMethods.prepareTxParams;
175
+ readonly _getPollInterval: typeof chainMethods._getPollInterval;
176
+ readonly getHeight: typeof chainMethods.getHeight;
177
+ readonly poll: typeof chainMethods.poll;
178
+ readonly awaitHeight: typeof chainMethods.awaitHeight;
179
+ readonly waitForTxConfirm: typeof chainMethods.waitForTxConfirm;
180
+ readonly sendTransaction: typeof chainMethods.sendTransaction;
181
+ readonly getAccount: typeof chainMethods.getAccount;
182
+ readonly getBalance: typeof chainMethods.getBalance;
183
+ readonly getCurrentGeneration: typeof chainMethods.getCurrentGeneration;
184
+ readonly getGeneration: typeof chainMethods.getGeneration;
185
+ readonly getMicroBlockTransactions: typeof chainMethods.getMicroBlockTransactions;
186
+ readonly getKeyBlock: typeof chainMethods.getKeyBlock;
187
+ readonly getMicroBlockHeader: typeof chainMethods.getMicroBlockHeader;
188
+ readonly txDryRun: typeof chainMethods.txDryRun;
189
+ readonly getContractByteCode: typeof chainMethods.getContractByteCode;
190
+ readonly getContract: typeof chainMethods.getContract;
191
+ readonly getName: typeof chainMethods.getName;
192
+ readonly resolveName: typeof chainMethods.resolveName;
193
+ };
194
+ declare type RequiredKeys<T> = {
195
+ [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
196
+ }[keyof T];
197
+ declare type OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;
198
+ declare type MakeOptional<Args extends any[]> = Args extends [infer Head, ...infer Tail] ? Tail extends [] ? Head extends object ? OptionalIfNotRequired<[
199
+ Omit<Head, 'onNode' | 'onCompiler' | 'onAccount'> & {
200
+ onNode?: Node;
201
+ onCompiler?: Compiler;
202
+ onAccount?: AccountBase | Encoded.AccountAddress | Keypair;
203
+ }
204
+ ]> : [Head] : [Head, ...MakeOptional<Tail>] : never;
205
+ declare type TransformMethods<Methods extends {
206
+ [key: string]: Function;
207
+ }> = {
208
+ [Name in keyof Methods]: Methods[Name] extends (...args: infer Args) => infer Ret ? (...args: MakeOptional<Args>) => Ret : never;
209
+ };
210
+ interface AeSdkBaseMethods extends TransformMethods<typeof methods> {
211
+ }
212
+ declare const _default: new (options?: ConstructorParameters<typeof AeSdkBase>[0]) => AeSdkBase & AeSdkBaseMethods;
213
+ export default _default;