@aeternity/aepp-sdk 11.0.1 → 12.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) 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 +20765 -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 +136 -85
  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 +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  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 -198
  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 -561
  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 -98
  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 +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  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 +55 -43
  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 +172 -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 +116 -71
  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/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
@@ -1,11 +1,6 @@
1
- import _buffer from "buffer";
2
- const {
3
- Buffer: _Buffer
4
- } = _buffer;
5
-
6
1
  /*
7
2
  * ISC License (ISC)
8
- * Copyright 2021 aeternity developers
3
+ * Copyright (c) 2022 aeternity developers
9
4
  *
10
5
  * Permission to use, copy, modify, and/or distribute this software for any
11
6
  * purpose with or without fee is hereby granted, provided that the above
@@ -19,18 +14,23 @@ const {
19
14
  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20
15
  * PERFORMANCE OF THIS SOFTWARE.
21
16
  */
22
- import _aeternityBlakejs from '@aeternity/blakejs';
23
- const {
24
- blake2b
25
- } = _aeternityBlakejs;
17
+
18
+ import BrowserConnection from './connection/Browser';
26
19
 
27
20
  /**
28
- * Calculate 256bits Blake2b hash of `input`
29
- * @rtype (input: String) => hash: String
30
- * @param {Data} input - Data to hash
31
- * @return {Buffer} Hash
21
+ * Browser connection proxy
22
+ * Provide functionality to easily forward messages from one connection to another and back
23
+ * @category aepp wallet communication
24
+ * @param con1 - first connection
25
+ * @param con2 - second connection
26
+ * @returns a function to stop proxying
32
27
  */
33
- export function hash(input) {
34
- return _Buffer.from(blake2b(input, undefined, 32)); // 256 bits
35
- }
36
- //# sourceMappingURL=crypto-ts.mjs.map
28
+ export default (con1: BrowserConnection, con2: BrowserConnection): () => void => {
29
+ con1.connect((msg: any) => con2.sendMessage(msg), () => con2.disconnect());
30
+ con2.connect((msg: any) => con1.sendMessage(msg), () => con1.disconnect());
31
+
32
+ return () => {
33
+ con1.disconnect();
34
+ con2.disconnect();
35
+ };
36
+ };
@@ -0,0 +1,143 @@
1
+ import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema';
2
+ import BrowserConnection from '../connection/Browser';
3
+ import { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors';
4
+
5
+ interface JsonRpcRequest {
6
+ jsonrpc: '2.0';
7
+ id: number;
8
+ method: string;
9
+ params?: any;
10
+ }
11
+
12
+ interface JsonRpcResponse {
13
+ jsonrpc: '2.0';
14
+ id: number;
15
+ method: string;
16
+ result?: any;
17
+ error?: {
18
+ code: number;
19
+ message: string;
20
+ data?: any;
21
+ };
22
+ }
23
+
24
+ type RpcApiHandler = (p?: any) => any | undefined;
25
+ type RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };
26
+ type WithOrigin<Api extends RpcApi<Api>> = {
27
+ [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>
28
+ };
29
+
30
+ /**
31
+ * Contain functionality for using RPC conection
32
+ * @category aepp wallet communication
33
+ * @param connection - Connection object
34
+ * @param onDisconnect - Disconnect callback
35
+ * @param methods - Object containing handlers for each request by name
36
+ */
37
+ export default class RpcClient <
38
+ RemoteApi extends RpcApi<RemoteApi>, LocalApi extends RpcApi<LocalApi>,
39
+ > {
40
+ connection: BrowserConnection;
41
+
42
+ #callbacks = new Map<number, { resolve: (v: any) => void; reject: (e: Error) => void }>();
43
+
44
+ #messageId = 0;
45
+
46
+ #methods: WithOrigin<LocalApi>;
47
+
48
+ constructor(
49
+ connection: BrowserConnection,
50
+ onDisconnect: () => void,
51
+ methods: WithOrigin<LocalApi>,
52
+ ) {
53
+ this.connection = connection;
54
+ this.#methods = methods;
55
+ connection.connect(this.#handleMessage.bind(this), onDisconnect);
56
+ }
57
+
58
+ async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {
59
+ if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));
60
+ if ('result' in msg || 'error' in msg) {
61
+ this.#processResponse(msg);
62
+ return;
63
+ }
64
+
65
+ const request = msg as JsonRpcRequest;
66
+ let result; let
67
+ error;
68
+ try {
69
+ if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();
70
+ const methodName = request.method as keyof LocalApi;
71
+ result = await this.#methods[methodName](request.params, origin);
72
+ } catch (e) {
73
+ error = e instanceof RpcError ? e : new RpcInternalError();
74
+ }
75
+ if (request.id != null) {
76
+ this.#sendResponse(request.id, request.method as keyof LocalApi, result, error);
77
+ }
78
+ }
79
+
80
+ #sendRequest(
81
+ id: number | undefined,
82
+ method: keyof RemoteApi | keyof LocalApi,
83
+ params?: any,
84
+ ): void {
85
+ this.connection.sendMessage({
86
+ jsonrpc: '2.0',
87
+ ...id != null ? { id } : {},
88
+ method,
89
+ ...params != null ? { params } : {},
90
+ });
91
+ }
92
+
93
+ #sendResponse(
94
+ id: number,
95
+ method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC
96
+ result?: any,
97
+ error?: any,
98
+ ): void {
99
+ this.connection.sendMessage({
100
+ jsonrpc: '2.0',
101
+ id,
102
+ method,
103
+ ...error != null ? { error } : { result },
104
+ });
105
+ }
106
+
107
+ /**
108
+ * Make a request
109
+ * @param name - Method name
110
+ * @param params - Method params
111
+ * @returns Promise which will be resolved after receiving response message
112
+ */
113
+ async request<Name extends keyof RemoteApi>(
114
+ name: Name,
115
+ params: Parameters<RemoteApi[Name]>[0],
116
+ ): Promise<ReturnType<RemoteApi[Name]>> {
117
+ this.#sendRequest(this.#messageId += 1, name, params);
118
+ return new Promise((resolve, reject) => {
119
+ this.#callbacks.set(this.#messageId, { resolve, reject });
120
+ });
121
+ }
122
+
123
+ /**
124
+ * Make a notification
125
+ * @param name - Method name
126
+ * @param params - Method params
127
+ */
128
+ notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {
129
+ this.#sendRequest(undefined, name, params);
130
+ }
131
+
132
+ /**
133
+ * Process response message
134
+ * @param msg - Message object
135
+ */
136
+ #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {
137
+ const callbacks = this.#callbacks.get(id);
138
+ if (callbacks == null) throw new MissingCallbackError(id);
139
+ if (error != null) callbacks.reject(RpcError.deserialize(error));
140
+ else callbacks.resolve(result);
141
+ this.#callbacks.delete(id);
142
+ }
143
+ }
@@ -0,0 +1,66 @@
1
+ import { send } from '../../spend';
2
+ import { Encoded } from '../../utils/encoder';
3
+ import { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema';
4
+
5
+ export interface WalletInfo {
6
+ id: string;
7
+ name: string;
8
+ networkId: string;
9
+ origin: string;
10
+ type: WALLET_TYPE;
11
+ }
12
+
13
+ export interface Accounts {
14
+ connected: { [pub: Encoded.AccountAddress]: {} };
15
+ current: { [pub: Encoded.AccountAddress]: {} };
16
+ }
17
+
18
+ export interface Node {
19
+ name: string;
20
+ url: string;
21
+ }
22
+
23
+ export interface Network {
24
+ networkId: string;
25
+ node?: Node;
26
+ }
27
+
28
+ type Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;
29
+
30
+ export const RPC_VERSION = 1;
31
+
32
+ export interface WalletApi {
33
+ [METHODS.connect]: (
34
+ p: { name: string; icons?: Icons; version: typeof RPC_VERSION; connectNode: boolean }
35
+ ) => Promise<WalletInfo & { node?: Node }>;
36
+
37
+ [METHODS.closeConnection]: (p: any) => void;
38
+
39
+ [METHODS.subscribeAddress]: (
40
+ p: { type: SUBSCRIPTION_TYPES; value: 'connected' | 'current' }
41
+ ) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;
42
+
43
+ [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;
44
+
45
+ [METHODS.sign]: ((
46
+ p: { tx: Encoded.Transaction; onAccount: Encoded.AccountAddress; returnSigned: boolean }
47
+ ) => Promise<{
48
+ /**
49
+ * @deprecated this is not a hash at all, will be removed later at the same time
50
+ * as dropping ability to broadcast transaction by wallet
51
+ */
52
+ transactionHash?: Awaited<ReturnType<typeof send>>;
53
+ signedTransaction?: Encoded.Transaction;
54
+ }>);
55
+
56
+ [METHODS.signMessage]: (
57
+ p: { message: string; onAccount: Encoded.AccountAddress }
58
+ ) => Promise<{ signature: string }>;
59
+ }
60
+
61
+ export interface AeppApi {
62
+ [METHODS.updateAddress]: (a: Accounts) => void;
63
+ [METHODS.updateNetwork]: (a: Network) => void;
64
+ [METHODS.readyToConnect]: (w: WalletInfo) => void;
65
+ [METHODS.closeConnection]: (p: any) => void;
66
+ }
@@ -0,0 +1,224 @@
1
+ // eslint-disable-next-line max-classes-per-file
2
+ import { Encoded } from '../utils/encoder';
3
+ import { BaseError, InternalError } from '../utils/errors';
4
+
5
+ /**
6
+ * @category aepp wallet communication
7
+ */
8
+ export const enum MESSAGE_DIRECTION {
9
+ to_waellet = 'to_waellet',
10
+ to_aepp = 'to_aepp',
11
+ }
12
+
13
+ /**
14
+ * @category aepp wallet communication
15
+ */
16
+ export const enum WALLET_TYPE {
17
+ window = 'window',
18
+ extension = 'extension',
19
+ }
20
+
21
+ /**
22
+ * @category aepp wallet communication
23
+ */
24
+ export const enum SUBSCRIPTION_TYPES {
25
+ subscribe = 'subscribe',
26
+ unsubscribe = 'unsubscribe',
27
+ }
28
+
29
+ /**
30
+ * @category aepp wallet communication
31
+ */
32
+ export const enum METHODS {
33
+ readyToConnect = 'connection.announcePresence',
34
+ updateAddress = 'address.update',
35
+ address = 'address.get',
36
+ connect = 'connection.open',
37
+ sign = 'transaction.sign',
38
+ signMessage = 'message.sign',
39
+ subscribeAddress = 'address.subscribe',
40
+ updateNetwork = 'networkId.update',
41
+ closeConnection = 'connection.close',
42
+ }
43
+
44
+ /**
45
+ * @category aepp wallet communication
46
+ */
47
+ export const enum RPC_STATUS {
48
+ CONNECTED = 'CONNECTED',
49
+ DISCONNECTED = 'DISCONNECTED',
50
+ WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST',
51
+ }
52
+
53
+ interface RpcErrorAsJson {
54
+ code: number;
55
+ message: string;
56
+ data?: any;
57
+ }
58
+
59
+ const rpcErrors: Array<(new (data?: any) => RpcError) & { code: number }> = [];
60
+
61
+ /**
62
+ * @category exception
63
+ */
64
+ export abstract class RpcError extends BaseError {
65
+ static code: number;
66
+
67
+ code: number;
68
+
69
+ data?: any;
70
+
71
+ toJSON(): RpcErrorAsJson {
72
+ return {
73
+ code: this.code,
74
+ message: this.message,
75
+ data: this.data,
76
+ };
77
+ }
78
+
79
+ static deserialize(json: RpcErrorAsJson): RpcError {
80
+ const RpcErr = rpcErrors.find((cl) => cl.code === json.code);
81
+ if (RpcErr == null) throw new InternalError(`Can't find RpcError with code: ${json.code}`);
82
+ return new RpcErr(json.data);
83
+ }
84
+ }
85
+
86
+ /**
87
+ * @category exception
88
+ */
89
+ export class RpcInvalidTransactionError extends RpcError {
90
+ static code = 2;
91
+
92
+ code = 2;
93
+
94
+ constructor(data?: any) {
95
+ super('Invalid transaction');
96
+ this.data = data;
97
+ this.name = 'RpcInvalidTransactionError';
98
+ }
99
+ }
100
+ rpcErrors.push(RpcInvalidTransactionError);
101
+
102
+ /**
103
+ * @category exception
104
+ */
105
+ export class RpcBroadcastError extends RpcError {
106
+ static code = 3;
107
+
108
+ code = 3;
109
+
110
+ constructor(data?: any) {
111
+ super('Broadcast failed');
112
+ this.data = data;
113
+ this.name = 'RpcBroadcastError';
114
+ }
115
+ }
116
+ rpcErrors.push(RpcBroadcastError);
117
+
118
+ /**
119
+ * @category exception
120
+ */
121
+ export class RpcRejectedByUserError extends RpcError {
122
+ static code = 4;
123
+
124
+ code = 4;
125
+
126
+ constructor(data?: any) {
127
+ super('Operation rejected by user');
128
+ this.data = data;
129
+ this.name = 'RpcRejectedByUserError';
130
+ }
131
+ }
132
+ rpcErrors.push(RpcRejectedByUserError);
133
+
134
+ /**
135
+ * @category exception
136
+ */
137
+ export class RpcUnsupportedProtocolError extends RpcError {
138
+ static code = 5;
139
+
140
+ code = 5;
141
+
142
+ constructor() {
143
+ super('Unsupported Protocol Version');
144
+ this.name = 'RpcUnsupportedProtocolError';
145
+ }
146
+ }
147
+ rpcErrors.push(RpcUnsupportedProtocolError);
148
+
149
+ /**
150
+ * @category exception
151
+ */
152
+ export class RpcConnectionDenyError extends RpcError {
153
+ static code = 9;
154
+
155
+ code = 9;
156
+
157
+ constructor(data?: any) {
158
+ super('Wallet deny your connection request');
159
+ this.data = data;
160
+ this.name = 'RpcConnectionDenyError';
161
+ }
162
+ }
163
+ rpcErrors.push(RpcConnectionDenyError);
164
+
165
+ /**
166
+ * @category exception
167
+ */
168
+ export class RpcNotAuthorizeError extends RpcError {
169
+ static code = 10;
170
+
171
+ code = 10;
172
+
173
+ constructor() {
174
+ super('You are not connected to the wallet');
175
+ this.name = 'RpcNotAuthorizeError';
176
+ }
177
+ }
178
+ rpcErrors.push(RpcNotAuthorizeError);
179
+
180
+ /**
181
+ * @category exception
182
+ */
183
+ export class RpcPermissionDenyError extends RpcError {
184
+ static code = 11;
185
+
186
+ code = 11;
187
+
188
+ constructor(address: Encoded.AccountAddress) {
189
+ super(`You are not subscribed for account ${address}`);
190
+ this.data = address;
191
+ this.name = 'RpcPermissionDenyError';
192
+ }
193
+ }
194
+ rpcErrors.push(RpcPermissionDenyError);
195
+
196
+ /**
197
+ * @category exception
198
+ */
199
+ export class RpcInternalError extends RpcError {
200
+ static code = 12;
201
+
202
+ code = 12;
203
+
204
+ constructor() {
205
+ super('The peer failed to execute your request due to unknown error');
206
+ this.name = 'RpcInternalError';
207
+ }
208
+ }
209
+ rpcErrors.push(RpcInternalError);
210
+
211
+ /**
212
+ * @category exception
213
+ */
214
+ export class RpcMethodNotFoundError extends RpcError {
215
+ static code = -32601;
216
+
217
+ code = -32601;
218
+
219
+ constructor() {
220
+ super('Method not found');
221
+ this.name = 'RpcMethodNotFoundError';
222
+ }
223
+ }
224
+ rpcErrors.push(RpcMethodNotFoundError);
@@ -0,0 +1,72 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2022 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+
18
+ import BrowserConnection from './connection/Browser';
19
+ import BrowserWindowMessageConnection from './connection/BrowserWindowMessage';
20
+ import { MESSAGE_DIRECTION, METHODS } from './schema';
21
+ import { UnsupportedPlatformError } from '../utils/errors';
22
+
23
+ interface Wallet {
24
+ info: {
25
+ id: string;
26
+ type: string;
27
+ origin: string;
28
+ };
29
+ getConnection: () => BrowserWindowMessageConnection;
30
+ }
31
+ interface Wallets { [key: string]: Wallet }
32
+
33
+ /**
34
+ * A function to detect available wallets
35
+ * @category aepp wallet communication
36
+ * @param connection - connection to use to detect wallets
37
+ * @param onDetected - call-back function which trigger on new wallet
38
+ * @returns a function to stop scanning
39
+ */
40
+ export default (
41
+ connection: BrowserConnection,
42
+ onDetected: ({ wallets, newWallet }: { wallets: Wallets; newWallet?: Wallet }) => void,
43
+ ): () => void => {
44
+ if (window == null) throw new UnsupportedPlatformError('Window object not found, you can run wallet detector only in browser');
45
+ const wallets: Wallets = {};
46
+
47
+ connection.connect((
48
+ { method, params }: { method: string; params: Wallet['info'] },
49
+ origin: string,
50
+ source: Window,
51
+ ) => {
52
+ if (method !== METHODS.readyToConnect || wallets[params.id] != null) return;
53
+
54
+ const wallet = {
55
+ info: params,
56
+ getConnection() {
57
+ const isExtension = params.type === 'extension';
58
+ return new BrowserWindowMessageConnection({
59
+ sendDirection: isExtension ? MESSAGE_DIRECTION.to_waellet : undefined,
60
+ receiveDirection: isExtension ? MESSAGE_DIRECTION.to_aepp : undefined,
61
+ target: source,
62
+ origin: isExtension ? window.origin : params.origin,
63
+ });
64
+ },
65
+ };
66
+ wallets[wallet.info.id] = wallet;
67
+ onDetected({ wallets, newWallet: wallet });
68
+ }, () => {});
69
+ if (Object.keys(wallets).length > 0) onDetected({ wallets });
70
+
71
+ return () => connection.disconnect();
72
+ };