@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
@@ -0,0 +1,361 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2018 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 { w3cwebsocket as W3CWebSocket } from 'websocket';
19
+ import { EventEmitter } from 'events';
20
+ import BigNumber from 'bignumber.js';
21
+ import type Channel from '.';
22
+ import JsonBig from '../utils/json-big';
23
+ import { pascalToSnake } from '../utils/string';
24
+ import { Encoded } from '../utils/encoder';
25
+ import {
26
+ BaseError, ChannelCallError, ChannelPingTimedOutError, UnknownChannelStateError,
27
+ } from '../utils/errors';
28
+
29
+ interface ChannelAction {
30
+ guard: (channel: Channel, state?: ChannelFsm) => boolean;
31
+ action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;
32
+ }
33
+
34
+ export type SignTxWithTag = (tag: string, tx: Encoded.Transaction, options?: object) => (
35
+ Promise<Encoded.Transaction>
36
+ );
37
+ // TODO: SignTx shouldn't return number or null
38
+ export type SignTx = (tx: Encoded.Transaction, options?: object) => (
39
+ Promise<Encoded.Transaction | number | null>
40
+ );
41
+
42
+ export interface ChannelOptions {
43
+ existingFsmId?: string;
44
+ url: string;
45
+ role: 'initiator' | 'responder';
46
+ initiatorId: Encoded.AccountAddress;
47
+ responderId: Encoded.AccountAddress;
48
+ pushAmount: number;
49
+ initiatorAmount: BigNumber;
50
+ responderAmount: BigNumber;
51
+ channelReserve?: BigNumber | number;
52
+ signedTx?: string;
53
+ ttl?: number;
54
+ host: string;
55
+ port: number;
56
+ lockPeriod: number;
57
+ existingChannelId?: string;
58
+ offChainTx?: string;
59
+ reconnectTx?: string;
60
+ timeoutIdle?: number;
61
+ timeoutFundingCreate?: number;
62
+ timeoutFundingSign?: number;
63
+ timeoutFundingLock?: number;
64
+ timeoutSign?: number;
65
+ timeoutAccept?: number;
66
+ timeoutInitialized?: number;
67
+ timeoutAwaitingOpen?: number;
68
+ statePassword?: string;
69
+ debug: boolean;
70
+ sign: SignTxWithTag;
71
+ offchainTx?: string;
72
+ }
73
+
74
+ export interface ChannelHandler extends Function {
75
+ enter?: Function;
76
+ }
77
+
78
+ export interface ChannelState {
79
+ signedTx: any;
80
+ resolve: (r?: any) => void;
81
+ reject: (e: BaseError) => void;
82
+ sign: SignTx;
83
+ handler?: ChannelHandler;
84
+ onOnChainTx?: (tx: Encoded.Transaction) => void;
85
+ onOwnWithdrawLocked?: () => void;
86
+ onWithdrawLocked?: () => void;
87
+ onOwnDepositLocked?: () => void;
88
+ onDepositLocked?: () => void;
89
+ closeTx?: string;
90
+ }
91
+
92
+ export interface ChannelFsm {
93
+ handler: ChannelHandler;
94
+ state?: ChannelState | {
95
+ resolve: Function;
96
+ reject: Function;
97
+ };
98
+ }
99
+
100
+ export interface ChannelMessage {
101
+ id?: number;
102
+ jsonrpc: string;
103
+ method: string;
104
+ params: any;
105
+ payload?: any;
106
+ data?: any;
107
+ error?: ChannelMessageError;
108
+ }
109
+
110
+ interface ChannelMessageError {
111
+ code: number;
112
+ message: string;
113
+ data: [{
114
+ message: string;
115
+ code: number;
116
+ }];
117
+ request: ChannelMessage;
118
+ }
119
+
120
+ // Send ping message every 10 seconds
121
+ const PING_TIMEOUT_MS = 10000;
122
+ // Close connection if pong message is not received within 5 seconds
123
+ const PONG_TIMEOUT_MS = 5000;
124
+
125
+ // TODO: move to Channel instance to avoid is-null checks and for easier debugging
126
+ export const options = new WeakMap<Channel, ChannelOptions>();
127
+ export const status = new WeakMap<Channel, string>();
128
+ export const state = new WeakMap<Channel, Encoded.Transaction>();
129
+ const fsm = new WeakMap<Channel, ChannelFsm>();
130
+ const websockets = new WeakMap<Channel, W3CWebSocket>();
131
+ export const eventEmitters = new WeakMap<Channel, EventEmitter>();
132
+ const messageQueue = new WeakMap<Channel, string[]>();
133
+ const messageQueueLocked = new WeakMap<Channel, boolean>();
134
+ const actionQueue = new WeakMap<Channel, ChannelAction[]>();
135
+ const actionQueueLocked = new WeakMap<Channel, boolean>();
136
+ const sequence = new WeakMap<Channel, number>();
137
+ export const channelId = new WeakMap<Channel, string>();
138
+ const rpcCallbacks = new WeakMap<Channel, Map<number, Function>>();
139
+ const pingTimeoutId = new WeakMap<Channel, NodeJS.Timeout>();
140
+ const pongTimeoutId = new WeakMap<Channel, NodeJS.Timeout>();
141
+ export const fsmId = new WeakMap<Channel, string>();
142
+
143
+ export function emit(channel: Channel, ...args: any[]): void {
144
+ const [eventName, ...rest] = args;
145
+ eventEmitters.get(channel)?.emit(eventName, ...rest);
146
+ }
147
+
148
+ function enterState(channel: Channel, nextState: ChannelFsm): void {
149
+ if (nextState == null) {
150
+ throw new UnknownChannelStateError();
151
+ }
152
+ fsm.set(channel, nextState);
153
+ if (nextState?.handler?.enter != null) {
154
+ nextState.handler.enter(channel);
155
+ }
156
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
157
+ void dequeueAction(channel);
158
+ }
159
+
160
+ export function changeStatus(channel: Channel, newStatus: string): void {
161
+ const prevStatus = status.get(channel);
162
+ if (newStatus !== prevStatus) {
163
+ status.set(channel, newStatus);
164
+ emit(channel, 'statusChanged', newStatus);
165
+ }
166
+ }
167
+
168
+ export function changeState(channel: Channel, newState: Encoded.Transaction): void {
169
+ state.set(channel, newState);
170
+ emit(channel, 'stateChanged', newState);
171
+ }
172
+
173
+ export function send(channel: Channel, message: ChannelMessage): void {
174
+ const debug: boolean = options.get(channel)?.debug ?? false;
175
+ if (debug) console.log('Send message: ', message);
176
+
177
+ websockets.get(channel)?.send(JsonBig.stringify(message));
178
+ }
179
+
180
+ async function dequeueAction(channel: Channel): Promise<void> {
181
+ const locked = actionQueueLocked.get(channel);
182
+ const queue = actionQueue.get(channel) ?? [];
183
+ if (Boolean(locked) || queue.length === 0) {
184
+ return;
185
+ }
186
+ const singleFsm = fsm.get(channel);
187
+ if (singleFsm == null) return;
188
+ const index = queue.findIndex((action: ChannelAction) => action.guard(channel, singleFsm));
189
+ if (index === -1) {
190
+ return;
191
+ }
192
+ actionQueue.set(channel, queue.filter((_: ChannelAction, i: number) => index !== i));
193
+ actionQueueLocked.set(channel, true);
194
+ const nextState: ChannelFsm = await Promise.resolve(queue[index].action(channel, singleFsm));
195
+ actionQueueLocked.set(channel, false);
196
+ enterState(channel, nextState);
197
+ }
198
+
199
+ export function enqueueAction(
200
+ channel: Channel,
201
+ guard: ChannelAction['guard'],
202
+ action: ChannelAction['action'],
203
+ ): void {
204
+ const queue = actionQueue.get(channel) ?? [];
205
+ actionQueue.set(channel, [
206
+ ...queue,
207
+ { guard, action },
208
+ ]);
209
+ void dequeueAction(channel);
210
+ }
211
+
212
+ async function handleMessage(channel: Channel, message: string): Promise<void> {
213
+ const fsmState = fsm.get(channel);
214
+ if (fsmState == null) throw new UnknownChannelStateError();
215
+ const { handler, state: st } = fsmState;
216
+ enterState(channel, await Promise.resolve(handler(channel, message, st)));
217
+ }
218
+
219
+ async function dequeueMessage(channel: Channel): Promise<void> {
220
+ const locked: boolean = messageQueueLocked.get(channel) ?? false;
221
+ if (locked) return;
222
+ const messages: string[] = messageQueue.get(channel) ?? [];
223
+ if (messages.length === 0) return;
224
+ messageQueueLocked.set(channel, true);
225
+ while (messages.length > 0) {
226
+ const message: string = messages.shift() ?? '';
227
+ try {
228
+ await handleMessage(channel, message);
229
+ } catch (error) {
230
+ console.error('Error handling incoming message:');
231
+ console.error(message);
232
+ console.error(error);
233
+ }
234
+ }
235
+ messageQueueLocked.set(channel, false);
236
+ }
237
+
238
+ export function disconnect(channel: Channel): void {
239
+ websockets.get(channel)?.close();
240
+ const pingTimeoutIdValue = pingTimeoutId.get(channel);
241
+ const pongTimeoutIdValue = pongTimeoutId.get(channel);
242
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue);
243
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue);
244
+ }
245
+
246
+ function ping(channel: Channel): void {
247
+ const pingTimeoutIdValue = pingTimeoutId.get(channel);
248
+ const pongTimeoutIdValue = pongTimeoutId.get(channel);
249
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue);
250
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue);
251
+ pingTimeoutId.set(channel, setTimeout(() => {
252
+ send(channel, {
253
+ jsonrpc: '2.0',
254
+ method: 'channels.system',
255
+ params: {
256
+ action: 'ping',
257
+ },
258
+ });
259
+ pongTimeoutId.set(channel, setTimeout(() => {
260
+ disconnect(channel);
261
+ emit(channel, 'error', new ChannelPingTimedOutError());
262
+ }, PONG_TIMEOUT_MS));
263
+ }, PING_TIMEOUT_MS));
264
+ }
265
+
266
+ function onMessage(channel: Channel, data: string): void {
267
+ const message = JsonBig.parse(data);
268
+ const debug: boolean = options.get(channel)?.debug ?? false;
269
+ if (debug) console.log('Receive message: ', message);
270
+ if (message.id != null) {
271
+ const callback = rpcCallbacks.get(channel)?.get(message.id);
272
+ try {
273
+ callback?.(message);
274
+ } finally {
275
+ rpcCallbacks.get(channel)?.delete(message.id);
276
+ }
277
+ return;
278
+ }
279
+ if (message.method === 'channels.message') {
280
+ emit(channel, 'message', message.params.data.message);
281
+ return;
282
+ }
283
+ if (message.method === 'channels.system.pong') {
284
+ if (
285
+ (message.params.channel_id === channelId.get(channel))
286
+ // Skip channelId check if channelId is not known yet
287
+ || (channelId.get(channel) == null)
288
+ ) {
289
+ ping(channel);
290
+ }
291
+ return;
292
+ }
293
+ messageQueue.get(channel)?.push(message);
294
+ void dequeueMessage(channel);
295
+ }
296
+
297
+ export async function call(channel: Channel, method: string, params: any): Promise<any> {
298
+ return new Promise((resolve, reject) => {
299
+ const currentSequence: number = sequence.get(channel) ?? 0;
300
+ const id = sequence.set(channel, currentSequence + 1).get(channel) ?? 1;
301
+ rpcCallbacks.get(channel)?.set(
302
+ id,
303
+ (message: { result: PromiseLike<any>; error?: ChannelMessageError }) => {
304
+ if (message.error != null) {
305
+ const [{ message: details } = { message: '' }] = message.error.data ?? [];
306
+ return reject(new ChannelCallError(message.error.message + details));
307
+ }
308
+ return resolve(message.result);
309
+ },
310
+ );
311
+ send(channel, {
312
+ jsonrpc: '2.0', method, id, params,
313
+ });
314
+ });
315
+ }
316
+
317
+ export async function initialize(
318
+ channel: Channel,
319
+ connectionHandler: Function,
320
+ openHandler: Function,
321
+ { url, ...channelOptions }: ChannelOptions,
322
+ ): Promise<void> {
323
+ options.set(channel, { url, ...channelOptions });
324
+ fsm.set(channel, { handler: connectionHandler });
325
+ eventEmitters.set(channel, new EventEmitter());
326
+ sequence.set(channel, 0);
327
+ rpcCallbacks.set(channel, new Map());
328
+ messageQueue.set(channel, []);
329
+
330
+ const wsUrl = new URL(url);
331
+ Object.entries(channelOptions)
332
+ .filter(([key]) => !['sign', 'debug'].includes(key))
333
+ .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value));
334
+ wsUrl.searchParams.set('protocol', 'json-rpc');
335
+ changeStatus(channel, 'connecting');
336
+ const ws = new W3CWebSocket(wsUrl.toString());
337
+ await new Promise<void>((resolve, reject) => {
338
+ Object.assign(ws, {
339
+ onerror: reject,
340
+ onopen: async () => {
341
+ resolve();
342
+ changeStatus(channel, 'connected');
343
+ if (channelOptions.reconnectTx != null) {
344
+ enterState(channel, { handler: openHandler });
345
+ const signedTx = (await call(channel, 'channels.get.offchain_state', {})).signed_tx;
346
+ changeState(channel, signedTx);
347
+ }
348
+ ping(channel);
349
+ },
350
+ onclose: () => {
351
+ changeStatus(channel, 'disconnected');
352
+ const pingTimeoutIdValue = pingTimeoutId.get(channel);
353
+ const pongTimeoutIdValue = pongTimeoutId.get(channel);
354
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue);
355
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue);
356
+ },
357
+ onmessage: ({ data }: { data: string }) => onMessage(channel, data),
358
+ });
359
+ });
360
+ websockets.set(channel, ws);
361
+ }
@@ -0,0 +1,67 @@
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
+ import { Compiler as CompilerApi, ErrorModel, CompilerError } from '../apis/compiler';
18
+ import { genErrorFormatterPolicy, genVersionCheckPolicy } from '../utils/autorest';
19
+
20
+ type GeneralCompilerError = ErrorModel & {
21
+ info?: object;
22
+ parameter?: string;
23
+ };
24
+
25
+ /**
26
+ * Contract Compiler
27
+ *
28
+ * This class include api call's related to contract compiler functionality.
29
+ * @category contract
30
+ * @example Compiler('COMPILER_URL')
31
+ */
32
+ export default class Compiler extends CompilerApi {
33
+ /**
34
+ * @param compilerUrl - Url for compiler API
35
+ * @param options - Options
36
+ * @param options.ignoreVersion - Don't check compiler version
37
+ */
38
+ constructor(compilerUrl: string, { ignoreVersion }: { ignoreVersion?: boolean } = {}) {
39
+ super(compilerUrl, {
40
+ allowInsecureConnection: true,
41
+ additionalPolicies: [
42
+ genErrorFormatterPolicy((body: GeneralCompilerError | CompilerError[]) => {
43
+ let message = '';
44
+ if ('reason' in body) {
45
+ message += ` ${body.reason
46
+ }${body.parameter != null ? ` in ${body.parameter}` : ''
47
+ // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78
48
+ }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;
49
+ }
50
+ if (Array.isArray(body)) {
51
+ message += `\n${body
52
+ .map((e) => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? `(${e.context})` : ''}`)
53
+ .map((e) => e.trim()) // TODO: remove after fixing https://github.com/aeternity/aesophia_http/issues/80
54
+ .join('\n')}`;
55
+ }
56
+ return message;
57
+ }),
58
+ ],
59
+ });
60
+ if (ignoreVersion !== true) {
61
+ const versionPromise = this.aPIVersion().then(({ apiVersion }) => apiVersion);
62
+ this.pipeline.addPolicy(
63
+ genVersionCheckPolicy('compiler', '/api-version', versionPromise, '6.1.0', '7.0.0'),
64
+ );
65
+ }
66
+ }
67
+ }