@aeternity/aepp-sdk 10.0.0 → 12.0.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 (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -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 +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -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 +25 -0
  29. package/es/account/Memory.mjs +81 -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 +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -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 +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -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 +1061 -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 +4164 -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 +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
@@ -0,0 +1,345 @@
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 Channel from '.'
22
+ import JsonBig from '../utils/json-big'
23
+ import { pascalToSnake } from '../utils/string'
24
+ import { EncodedData } from '../utils/encoder'
25
+ import { ChannelCallError, ChannelPingTimedOutError, UnknownChannelStateError } from '../utils/errors'
26
+
27
+ interface ChannelAction {
28
+ guard: (channel: Channel, state?: ChannelFsm) => boolean
29
+ action: (channel: Channel, state?: ChannelFsm) => ChannelFsm
30
+ }
31
+
32
+ export type SignTxWithTag = (tag: string, tx: EncodedData<'tx'>, options?: object) => Promise<EncodedData<'tx'>>
33
+ // TODO: SignTx shouldn't return number or null
34
+ export type SignTx = (tx: EncodedData<'tx'>, options?: object) => Promise<EncodedData<'tx'> | number | null>
35
+
36
+ export interface ChannelOptions {
37
+ existingFsmId?: string
38
+ url: string
39
+ role: 'initiator' | 'responder'
40
+ initiatorId: EncodedData<'ak'>
41
+ responderId: EncodedData<'ak'>
42
+ pushAmount: number
43
+ initiatorAmount: BigNumber
44
+ responderAmount: BigNumber
45
+ channelReserve?: BigNumber | number
46
+ signedTx?: string
47
+ ttl?: number
48
+ host: string
49
+ port: number
50
+ lockPeriod: number
51
+ existingChannelId?: string
52
+ offChainTx?: string
53
+ reconnectTx?: string
54
+ timeoutIdle?: number
55
+ timeoutFundingCreate?: number
56
+ timeoutFundingSign?: number
57
+ timeoutFundingLock?: number
58
+ timeoutSign?: number
59
+ timeoutAccept?: number
60
+ timeoutInitialized?: number
61
+ timeoutAwaitingOpen?: number
62
+ statePassword?: string
63
+ debug: boolean
64
+ sign: SignTxWithTag
65
+ offchainTx?: string
66
+ }
67
+
68
+ export interface ChannelHandler extends Function {
69
+ enter?: Function
70
+ }
71
+
72
+ export interface ChannelState {
73
+ signedTx: any
74
+ resolve: Function
75
+ reject: Function
76
+ sign: SignTx
77
+ handler?: ChannelHandler
78
+ onOnChainTx?: Function
79
+ onOwnWithdrawLocked?: Function
80
+ onWithdrawLocked?: Function
81
+ onOwnDepositLocked?: Function
82
+ onDepositLocked?: Function
83
+ closeTx?: string
84
+ }
85
+
86
+ export interface ChannelFsm {
87
+ handler: ChannelHandler
88
+ state?: ChannelState | {
89
+ resolve: Function
90
+ reject: Function
91
+ }
92
+ }
93
+
94
+ export interface ChannelMessage {
95
+ id?: number
96
+ jsonrpc: string
97
+ method: string
98
+ params: any
99
+ payload?: any
100
+ data?: any
101
+ error?: ChannelMessageError
102
+ }
103
+
104
+ interface ChannelMessageError {
105
+ code: number
106
+ message: string
107
+ data: [{
108
+ message: string
109
+ code: number
110
+ }]
111
+ request: ChannelMessage
112
+ }
113
+
114
+ // Send ping message every 10 seconds
115
+ const PING_TIMEOUT_MS = 10000
116
+ // Close connection if pong message is not received within 5 seconds
117
+ const PONG_TIMEOUT_MS = 5000
118
+
119
+ // TODO: move to Channel instance to avoid is-null checks and for easier debugging
120
+ export const options = new WeakMap<Channel, ChannelOptions>()
121
+ export const status = new WeakMap<Channel, string>()
122
+ export const state = new WeakMap<Channel, EncodedData<'tx'>>()
123
+ const fsm = new WeakMap<Channel, ChannelFsm>()
124
+ const websockets = new WeakMap<Channel, W3CWebSocket>()
125
+ export const eventEmitters = new WeakMap<Channel, EventEmitter>()
126
+ const messageQueue = new WeakMap<Channel, string[]>()
127
+ const messageQueueLocked = new WeakMap<Channel, boolean>()
128
+ const actionQueue = new WeakMap<Channel, ChannelAction[]>()
129
+ const actionQueueLocked = new WeakMap<Channel, boolean>()
130
+ const sequence = new WeakMap<Channel, number>()
131
+ export const channelId = new WeakMap<Channel, string>()
132
+ const rpcCallbacks = new WeakMap<Channel, Map<number, Function>>()
133
+ const pingTimeoutId = new WeakMap<Channel, NodeJS.Timeout>()
134
+ const pongTimeoutId = new WeakMap<Channel, NodeJS.Timeout>()
135
+ export const fsmId = new WeakMap<Channel, string>()
136
+
137
+ export function emit (channel: Channel, ...args: any[]): void {
138
+ const [eventName, ...rest] = args
139
+ eventEmitters.get(channel)?.emit(eventName, ...rest)
140
+ }
141
+
142
+ function enterState (channel: Channel, nextState: ChannelFsm): void {
143
+ if (nextState == null) {
144
+ throw new UnknownChannelStateError()
145
+ }
146
+ fsm.set(channel, nextState)
147
+ if (nextState?.handler?.enter != null) {
148
+ nextState.handler.enter(channel)
149
+ }
150
+ void dequeueAction(channel)
151
+ }
152
+
153
+ export function changeStatus (channel: Channel, newStatus: string): void {
154
+ const prevStatus = status.get(channel)
155
+ if (newStatus !== prevStatus) {
156
+ status.set(channel, newStatus)
157
+ emit(channel, 'statusChanged', newStatus)
158
+ }
159
+ }
160
+
161
+ export function changeState (channel: Channel, newState: EncodedData<'tx'>): void {
162
+ state.set(channel, newState)
163
+ emit(channel, 'stateChanged', newState)
164
+ }
165
+
166
+ export function send (channel: Channel, message: ChannelMessage): void {
167
+ const debug: boolean = options.get(channel)?.debug ?? false
168
+ if (debug) console.log('Send message: ', message)
169
+
170
+ websockets.get(channel)?.send(JsonBig.stringify(message))
171
+ }
172
+
173
+ export function enqueueAction (channel: Channel, guard: ChannelAction['guard'], action: ChannelAction['action']): void {
174
+ const queue = actionQueue.get(channel) ?? []
175
+ actionQueue.set(channel, [
176
+ ...queue,
177
+ { guard, action }
178
+ ])
179
+ void dequeueAction(channel)
180
+ }
181
+
182
+ async function dequeueAction (channel: Channel): Promise<void> {
183
+ const locked = actionQueueLocked.get(channel)
184
+ const queue = actionQueue.get(channel) ?? []
185
+ if (Boolean(locked) || queue.length === 0) {
186
+ return
187
+ }
188
+ const state = fsm.get(channel)
189
+ if (state == null) return
190
+ const index = queue.findIndex((action: ChannelAction) => action.guard(channel, state))
191
+ if (index === -1) {
192
+ return
193
+ }
194
+ actionQueue.set(channel, queue.filter((_: ChannelAction, i: number) => index !== i))
195
+ actionQueueLocked.set(channel, true)
196
+ const nextState: ChannelFsm = await Promise.resolve(queue[index].action(channel, state))
197
+ actionQueueLocked.set(channel, false)
198
+ enterState(channel, nextState)
199
+ }
200
+
201
+ async function handleMessage (channel: Channel, message: string): Promise<void> {
202
+ const fsmState = fsm.get(channel)
203
+ if (fsmState == null) throw new UnknownChannelStateError()
204
+ const { handler, state } = fsmState
205
+ enterState(channel, await Promise.resolve(handler(channel, message, state)))
206
+ }
207
+
208
+ async function dequeueMessage (channel: Channel): Promise<void> {
209
+ const locked: boolean = messageQueueLocked.get(channel) ?? false
210
+ if (locked) return
211
+ const messages: string[] = messageQueue.get(channel) ?? []
212
+ if (messages.length === 0) return
213
+ messageQueueLocked.set(channel, true)
214
+ while (messages.length > 0) {
215
+ const message: string = messages.shift() ?? ''
216
+ try {
217
+ await handleMessage(channel, message)
218
+ } catch (error) {
219
+ console.error('Error handling incoming message:')
220
+ console.error(message)
221
+ console.error(error)
222
+ }
223
+ }
224
+ messageQueueLocked.set(channel, false)
225
+ }
226
+
227
+ function ping (channel: Channel): void {
228
+ const pingTimeoutIdValue = pingTimeoutId.get(channel)
229
+ const pongTimeoutIdValue = pongTimeoutId.get(channel)
230
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue)
231
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue)
232
+ pingTimeoutId.set(channel, setTimeout(() => {
233
+ send(channel, {
234
+ jsonrpc: '2.0',
235
+ method: 'channels.system',
236
+ params: {
237
+ action: 'ping'
238
+ }
239
+ })
240
+ pongTimeoutId.set(channel, setTimeout(() => {
241
+ disconnect(channel)
242
+ emit(channel, 'error', new ChannelPingTimedOutError())
243
+ }, PONG_TIMEOUT_MS))
244
+ }, PING_TIMEOUT_MS))
245
+ }
246
+
247
+ function onMessage (channel: Channel, data: string): void {
248
+ const message = JsonBig.parse(data)
249
+ const debug: boolean = options.get(channel)?.debug ?? false
250
+ if (debug) console.log('Receive message: ', message)
251
+ if (message.id != null) {
252
+ const callback = rpcCallbacks.get(channel)?.get(message.id)
253
+ try {
254
+ callback?.(message)
255
+ } finally {
256
+ rpcCallbacks.get(channel)?.delete(message.id)
257
+ }
258
+ return
259
+ }
260
+ if (message.method === 'channels.message') {
261
+ emit(channel, 'message', message.params.data.message)
262
+ return
263
+ }
264
+ if (message.method === 'channels.system.pong') {
265
+ if (
266
+ (message.params.channel_id === channelId.get(channel)) ||
267
+ // Skip channelId check if channelId is not known yet
268
+ (channelId.get(channel) == null)
269
+ ) {
270
+ ping(channel)
271
+ }
272
+ return
273
+ }
274
+ messageQueue.get(channel)?.push(message)
275
+ void dequeueMessage(channel)
276
+ }
277
+
278
+ export async function call (channel: Channel, method: string, params: any): Promise<any> {
279
+ return await new Promise((resolve, reject) => {
280
+ const currentSequence: number = sequence.get(channel) ?? 0
281
+ const id = sequence.set(channel, currentSequence + 1).get(channel) ?? 1
282
+ rpcCallbacks.get(channel)?.set(id, (message: {
283
+ result: PromiseLike<any>
284
+ error?: ChannelMessageError }) => {
285
+ if (message.result != null) return resolve(message.result)
286
+ if (message.error != null) {
287
+ const [{ message: details } = { message: '' }] = message.error.data ?? []
288
+ return reject(new ChannelCallError(message.error.message + details))
289
+ }
290
+ })
291
+ send(channel, { jsonrpc: '2.0', method, id, params })
292
+ })
293
+ }
294
+
295
+ export function disconnect (channel: Channel): void {
296
+ websockets.get(channel)?.close()
297
+ const pingTimeoutIdValue = pingTimeoutId.get(channel)
298
+ const pongTimeoutIdValue = pongTimeoutId.get(channel)
299
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue)
300
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue)
301
+ }
302
+
303
+ export async function initialize (
304
+ channel: Channel,
305
+ connectionHandler: Function,
306
+ openHandler: Function,
307
+ { url, ...channelOptions }: ChannelOptions
308
+ ): Promise<void> {
309
+ options.set(channel, { url, ...channelOptions })
310
+ fsm.set(channel, { handler: connectionHandler })
311
+ eventEmitters.set(channel, new EventEmitter())
312
+ sequence.set(channel, 0)
313
+ rpcCallbacks.set(channel, new Map())
314
+ messageQueue.set(channel, [])
315
+
316
+ const wsUrl = new URL(url)
317
+ Object.entries(channelOptions)
318
+ .filter(([key]) => !['sign', 'debug'].includes(key))
319
+ .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value))
320
+ wsUrl.searchParams.set('protocol', 'json-rpc')
321
+ changeStatus(channel, 'connecting')
322
+ const ws = new W3CWebSocket(wsUrl.toString())
323
+ await new Promise<void>((resolve, reject) => Object.assign(ws, {
324
+ onerror: reject,
325
+ onopen: async () => {
326
+ resolve()
327
+ changeStatus(channel, 'connected')
328
+ if (channelOptions.reconnectTx != null) {
329
+ enterState(channel, { handler: openHandler })
330
+ const signedTx = (await call(channel, 'channels.get.offchain_state', {})).signed_tx
331
+ changeState(channel, signedTx)
332
+ }
333
+ ping(channel)
334
+ },
335
+ onclose: () => {
336
+ changeStatus(channel, 'disconnected')
337
+ const pingTimeoutIdValue = pingTimeoutId.get(channel)
338
+ const pongTimeoutIdValue = pongTimeoutId.get(channel)
339
+ if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue)
340
+ if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue)
341
+ },
342
+ onmessage: ({ data }: {data: string}) => onMessage(channel, data)
343
+ }))
344
+ websockets.set(channel, ws)
345
+ }
@@ -0,0 +1,66 @@
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
+ * @example Compiler('COMPILER_URL')
30
+ */
31
+ export default class Compiler extends CompilerApi {
32
+ /**
33
+ * @param compilerUrl - Url for compiler API
34
+ * @param options - Options
35
+ * @param options.ignoreVersion - Don't check compiler version
36
+ */
37
+ constructor (compilerUrl: string, { ignoreVersion }: { ignoreVersion?: boolean } = {}) {
38
+ super(compilerUrl, {
39
+ allowInsecureConnection: true,
40
+ additionalPolicies: [
41
+ genErrorFormatterPolicy((body: GeneralCompilerError | CompilerError[]) => {
42
+ let message = ''
43
+ if ('reason' in body) {
44
+ message += ' ' + body.reason +
45
+ (body.parameter != null ? ` in ${body.parameter}` : '') +
46
+ // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78
47
+ (body.info != null ? ` (${JSON.stringify(body.info)})` : '')
48
+ }
49
+ if (Array.isArray(body)) {
50
+ message += '\n' + body
51
+ .map(e => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? `(${e.context})` : ''}`)
52
+ .map(e => e.trim()) // TODO: remove after fixing https://github.com/aeternity/aesophia_http/issues/80
53
+ .join('\n')
54
+ }
55
+ return message
56
+ })
57
+ ]
58
+ })
59
+ if (ignoreVersion !== true) {
60
+ const versionPromise = this.aPIVersion().then(({ apiVersion }) => apiVersion)
61
+ this.pipeline.addPolicy(
62
+ genVersionCheckPolicy('compiler', '/api-version', versionPromise, '6.1.0', '7.0.0')
63
+ )
64
+ }
65
+ }
66
+ }