@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.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 (475) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.map +1 -1
  3. package/dist/aepp-sdk.browser.js +1 -1
  4. package/dist/aepp-sdk.browser.js.map +1 -1
  5. package/dist/aepp-sdk.js +6580 -8859
  6. package/dist/aepp-sdk.js.map +1 -1
  7. package/es/AeSdk.d.ts +7 -3
  8. package/es/AeSdk.mjs +17 -22
  9. package/es/AeSdk.mjs.map +1 -1
  10. package/es/AeSdkAepp.d.ts +6 -5
  11. package/es/AeSdkAepp.mjs +7 -30
  12. package/es/AeSdkAepp.mjs.map +1 -1
  13. package/es/AeSdkBase.d.ts +18 -140
  14. package/es/AeSdkBase.mjs +27 -185
  15. package/es/AeSdkBase.mjs.map +1 -1
  16. package/es/AeSdkMethods.d.ts +124 -0
  17. package/es/AeSdkMethods.mjs +122 -0
  18. package/es/AeSdkMethods.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +7 -21
  20. package/es/AeSdkWallet.mjs +38 -86
  21. package/es/AeSdkWallet.mjs.map +1 -1
  22. package/es/Node.d.ts +7 -12
  23. package/es/Node.mjs +34 -47
  24. package/es/Node.mjs.map +1 -1
  25. package/es/account/Base.d.ts +24 -40
  26. package/es/account/Base.mjs +1 -101
  27. package/es/account/Base.mjs.map +1 -1
  28. package/es/account/Generalized.d.ts +16 -0
  29. package/es/account/Generalized.mjs +111 -0
  30. package/es/account/Generalized.mjs.map +1 -0
  31. package/es/account/Ledger.d.ts +28 -0
  32. package/es/account/Ledger.mjs +101 -0
  33. package/es/account/Ledger.mjs.map +1 -0
  34. package/es/account/LedgerFactory.d.ts +39 -0
  35. package/es/account/LedgerFactory.mjs +81 -0
  36. package/es/account/LedgerFactory.mjs.map +1 -0
  37. package/es/account/Memory.d.ts +13 -17
  38. package/es/account/Memory.mjs +43 -65
  39. package/es/account/Memory.mjs.map +1 -1
  40. package/es/account/Rpc.d.ts +6 -8
  41. package/es/account/Rpc.mjs +14 -32
  42. package/es/account/Rpc.mjs.map +1 -1
  43. package/es/aens.d.ts +3 -3
  44. package/es/aens.mjs +42 -41
  45. package/es/aens.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  47. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +3 -7
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  51. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  53. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  55. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +4 -41
  56. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  58. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/schema.mjs +14 -68
  60. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  62. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  63. package/es/apis/compiler/compiler.d.ts +23 -29
  64. package/es/apis/compiler/compiler.mjs +128 -189
  65. package/es/apis/compiler/compiler.mjs.map +1 -1
  66. package/es/apis/compiler/index.mjs.map +1 -1
  67. package/es/apis/compiler/models/index.d.ts +82 -135
  68. package/es/apis/compiler/models/index.mjs +1 -47
  69. package/es/apis/compiler/models/index.mjs.map +1 -1
  70. package/es/apis/compiler/models/mappers.d.ts +8 -8
  71. package/es/apis/compiler/models/mappers.mjs +165 -183
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  73. package/es/apis/compiler/models/parameters.d.ts +0 -1
  74. package/es/apis/compiler/models/parameters.mjs +5 -9
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  76. package/es/apis/node/index.mjs.map +1 -1
  77. package/es/apis/node/models/index.d.ts +48 -48
  78. package/es/apis/node/models/mappers.mjs +12 -6
  79. package/es/apis/node/models/mappers.mjs.map +1 -1
  80. package/es/apis/node/models/parameters.mjs.map +1 -1
  81. package/es/apis/node/node.mjs +43 -84
  82. package/es/apis/node/node.mjs.map +1 -1
  83. package/es/chain.d.ts +1 -1
  84. package/es/chain.mjs +33 -58
  85. package/es/chain.mjs.map +1 -1
  86. package/es/channel/Base.d.ts +195 -0
  87. package/es/channel/Base.mjs +290 -0
  88. package/es/channel/Base.mjs.map +1 -0
  89. package/es/channel/Contract.d.ts +247 -0
  90. package/es/channel/Contract.mjs +420 -0
  91. package/es/channel/Contract.mjs.map +1 -0
  92. package/es/channel/Spend.d.ts +217 -0
  93. package/es/channel/Spend.mjs +383 -0
  94. package/es/channel/Spend.mjs.map +1 -0
  95. package/es/channel/handlers.d.ts +8 -21
  96. package/es/channel/handlers.mjs +141 -891
  97. package/es/channel/handlers.mjs.map +1 -1
  98. package/es/channel/internal.d.ts +27 -21
  99. package/es/channel/internal.mjs +98 -190
  100. package/es/channel/internal.mjs.map +1 -1
  101. package/es/contract/{Compiler.d.ts → CompilerHttp.d.ts} +3 -3
  102. package/es/contract/{Compiler.mjs → CompilerHttp.mjs} +8 -13
  103. package/es/contract/CompilerHttp.mjs.map +1 -0
  104. package/es/contract/Contract.d.ts +235 -0
  105. package/es/contract/Contract.mjs +534 -0
  106. package/es/contract/Contract.mjs.map +1 -0
  107. package/es/contract/ga.d.ts +7 -33
  108. package/es/contract/ga.mjs +20 -112
  109. package/es/contract/ga.mjs.map +1 -1
  110. package/es/index.d.ts +9 -6
  111. package/es/index.mjs +8 -6
  112. package/es/index.mjs.map +1 -1
  113. package/es/oracle.d.ts +5 -5
  114. package/es/oracle.mjs +33 -39
  115. package/es/oracle.mjs.map +1 -1
  116. package/es/spend.d.ts +3 -3
  117. package/es/spend.mjs +17 -20
  118. package/es/spend.mjs.map +1 -1
  119. package/es/tx/builder/constants.d.ts +2 -1
  120. package/es/tx/builder/constants.mjs +12 -12
  121. package/es/tx/builder/constants.mjs.map +1 -1
  122. package/es/tx/builder/field-types/address.d.ts +15 -0
  123. package/es/tx/builder/field-types/address.mjs +42 -0
  124. package/es/tx/builder/field-types/address.mjs.map +1 -0
  125. package/es/tx/builder/field-types/addresses.d.ts +6 -0
  126. package/es/tx/builder/field-types/addresses.mjs +13 -0
  127. package/es/tx/builder/field-types/addresses.mjs.map +1 -0
  128. package/es/tx/builder/field-types/coin-amount.d.ts +1 -2
  129. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  130. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  131. package/es/tx/builder/field-types/deposit.d.ts +0 -1
  132. package/es/tx/builder/field-types/deposit.mjs +2 -4
  133. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  134. package/es/tx/builder/field-types/enumeration.d.ts +5 -0
  135. package/es/tx/builder/field-types/enumeration.mjs +21 -0
  136. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  137. package/es/tx/builder/field-types/fee.d.ts +1 -9
  138. package/es/tx/builder/field-types/fee.mjs +9 -25
  139. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  140. package/es/tx/builder/field-types/field.mjs +0 -2
  141. package/es/tx/builder/field-types/field.mjs.map +1 -1
  142. package/es/tx/builder/field-types/gas-limit.mjs +4 -9
  143. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  144. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  145. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  146. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  147. package/es/tx/builder/field-types/index.d.ts +23 -11
  148. package/es/tx/builder/field-types/index.mjs +10 -3
  149. package/es/tx/builder/field-types/index.mjs.map +1 -1
  150. package/es/tx/builder/field-types/name-fee.d.ts +0 -1
  151. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  152. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  153. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  154. package/es/tx/builder/field-types/name-id.mjs +4 -10
  155. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  156. package/es/tx/builder/field-types/name.mjs +0 -2
  157. package/es/tx/builder/field-types/name.mjs.map +1 -1
  158. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  159. package/es/tx/builder/field-types/pointers.mjs +36 -0
  160. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  161. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  162. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  163. package/es/tx/builder/field-types/u-int.d.ts +1 -1
  164. package/es/tx/builder/field-types/u-int.mjs +3 -4
  165. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  166. package/es/tx/builder/helpers.d.ts +2 -32
  167. package/es/tx/builder/helpers.mjs +19 -71
  168. package/es/tx/builder/helpers.mjs.map +1 -1
  169. package/es/tx/builder/index.d.ts +1 -21
  170. package/es/tx/builder/index.mjs +29 -148
  171. package/es/tx/builder/index.mjs.map +1 -1
  172. package/es/tx/builder/schema.d.ts +336 -176
  173. package/es/tx/builder/schema.mjs +71 -78
  174. package/es/tx/builder/schema.mjs.map +1 -1
  175. package/es/tx/index.d.ts +3 -33
  176. package/es/tx/index.mjs +26 -43
  177. package/es/tx/index.mjs.map +1 -1
  178. package/es/tx/validator.d.ts +2 -2
  179. package/es/tx/validator.mjs +86 -59
  180. package/es/tx/validator.mjs.map +1 -1
  181. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  182. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  183. package/es/utils/amount-formatter.mjs +4 -10
  184. package/es/utils/amount-formatter.mjs.map +1 -1
  185. package/es/utils/autorest.d.ts +1 -0
  186. package/es/utils/autorest.mjs +17 -19
  187. package/es/utils/autorest.mjs.map +1 -1
  188. package/es/utils/bignumber.mjs +4 -7
  189. package/es/utils/bignumber.mjs.map +1 -1
  190. package/es/utils/bytes.d.ts +0 -17
  191. package/es/utils/bytes.mjs +6 -35
  192. package/es/utils/bytes.mjs.map +1 -1
  193. package/es/utils/crypto.d.ts +15 -8
  194. package/es/utils/crypto.mjs +40 -40
  195. package/es/utils/crypto.mjs.map +1 -1
  196. package/es/utils/encoder-types.d.ts +28 -28
  197. package/es/utils/encoder-types.mjs +0 -1
  198. package/es/utils/encoder-types.mjs.map +1 -1
  199. package/es/utils/encoder.d.ts +0 -1
  200. package/es/utils/encoder.mjs +7 -15
  201. package/es/utils/encoder.mjs.map +1 -1
  202. package/es/utils/errors.d.ts +12 -6
  203. package/es/utils/errors.mjs +87 -163
  204. package/es/utils/errors.mjs.map +1 -1
  205. package/es/utils/hd-wallet.d.ts +27 -19
  206. package/es/utils/hd-wallet.mjs +42 -26
  207. package/es/utils/hd-wallet.mjs.map +1 -1
  208. package/es/utils/json-big.mjs +0 -8
  209. package/es/utils/json-big.mjs.map +1 -1
  210. package/es/utils/keystore.d.ts +2 -0
  211. package/es/utils/keystore.mjs +37 -36
  212. package/es/utils/keystore.mjs.map +1 -1
  213. package/es/utils/mptree.d.ts +1 -1
  214. package/es/utils/mptree.mjs +4 -26
  215. package/es/utils/mptree.mjs.map +1 -1
  216. package/es/utils/other.d.ts +3 -1
  217. package/es/utils/other.mjs +11 -7
  218. package/es/utils/other.mjs.map +1 -1
  219. package/es/utils/semver-satisfies.mjs +0 -3
  220. package/es/utils/semver-satisfies.mjs.map +1 -1
  221. package/es/utils/string.d.ts +0 -12
  222. package/es/utils/string.mjs +1 -21
  223. package/es/utils/string.mjs.map +1 -1
  224. package/package.json +86 -47
  225. package/src/AeSdk.ts +15 -11
  226. package/src/AeSdkAepp.ts +9 -7
  227. package/src/AeSdkBase.ts +28 -202
  228. package/src/AeSdkMethods.ts +170 -0
  229. package/src/AeSdkWallet.ts +16 -47
  230. package/src/Node.ts +11 -15
  231. package/src/account/Base.ts +29 -75
  232. package/src/account/Generalized.ts +98 -0
  233. package/src/account/Ledger.ts +131 -0
  234. package/src/account/LedgerFactory.ts +86 -0
  235. package/src/account/Memory.ts +46 -60
  236. package/src/account/Rpc.ts +17 -26
  237. package/src/aens.ts +10 -9
  238. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +5 -4
  239. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  240. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  241. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  242. package/src/aepp-wallet-communication/schema.ts +18 -18
  243. package/src/apis/compiler/code-model-v4.yaml +681 -888
  244. package/src/apis/compiler/compiler.ts +113 -154
  245. package/src/apis/compiler/models/index.ts +80 -140
  246. package/src/apis/compiler/models/mappers.ts +165 -183
  247. package/src/apis/compiler/models/parameters.ts +6 -12
  248. package/src/chain.ts +6 -3
  249. package/src/channel/Base.ts +327 -0
  250. package/src/channel/Contract.ts +487 -0
  251. package/src/channel/Spend.ts +403 -0
  252. package/src/channel/handlers.ts +154 -573
  253. package/src/channel/internal.ts +113 -142
  254. package/src/contract/{Compiler.ts → CompilerHttp.ts} +5 -5
  255. package/src/contract/Contract.ts +620 -0
  256. package/src/contract/ga.ts +18 -104
  257. package/src/index.ts +9 -8
  258. package/src/oracle.ts +7 -7
  259. package/src/spend.ts +5 -13
  260. package/src/tx/builder/constants.ts +1 -0
  261. package/src/tx/builder/field-types/address.ts +52 -0
  262. package/src/tx/builder/field-types/addresses.ts +18 -0
  263. package/src/tx/builder/field-types/coin-amount.ts +2 -8
  264. package/src/tx/builder/field-types/enumeration.ts +21 -0
  265. package/src/tx/builder/field-types/fee.ts +1 -3
  266. package/src/tx/builder/field-types/gas-limit.ts +2 -2
  267. package/src/tx/builder/field-types/gas-price.ts +0 -2
  268. package/src/tx/builder/field-types/index.ts +16 -6
  269. package/src/tx/builder/field-types/name-fee.ts +1 -1
  270. package/src/tx/builder/field-types/name-id.ts +7 -10
  271. package/src/tx/builder/field-types/pointers.ts +41 -0
  272. package/src/tx/builder/field-types/u-int.ts +3 -2
  273. package/src/tx/builder/helpers.ts +10 -60
  274. package/src/tx/builder/index.ts +6 -65
  275. package/src/tx/builder/schema.ts +89 -100
  276. package/src/tx/index.ts +19 -15
  277. package/src/tx/validator.ts +36 -18
  278. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  279. package/src/utils/autorest.ts +16 -1
  280. package/src/utils/bytes.ts +5 -33
  281. package/src/utils/crypto.ts +23 -16
  282. package/src/utils/encoder.ts +0 -1
  283. package/src/utils/errors.ts +18 -12
  284. package/src/utils/hd-wallet.ts +30 -9
  285. package/src/utils/keystore.ts +24 -21
  286. package/src/utils/other.ts +16 -1
  287. package/src/utils/string.ts +0 -20
  288. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  289. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  290. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  291. package/types-legacy/ts4.2/AeSdkMethods.d.ts +141 -0
  292. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  293. package/types-legacy/ts4.2/Node.d.ts +78 -0
  294. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  295. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  296. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  297. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  298. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  299. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  300. package/types-legacy/ts4.2/aens.d.ts +222 -0
  301. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  302. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  303. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  304. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  305. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  306. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  307. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  308. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  309. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  310. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  311. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  312. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  313. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  314. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  315. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  316. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  317. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  318. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  319. package/types-legacy/ts4.2/chain.d.ts +248 -0
  320. package/types-legacy/ts4.2/channel/Base.d.ts +194 -0
  321. package/types-legacy/ts4.2/channel/Contract.d.ts +247 -0
  322. package/types-legacy/ts4.2/channel/Spend.d.ts +217 -0
  323. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  324. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  325. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +18 -0
  326. package/types-legacy/ts4.2/contract/Contract.d.ts +237 -0
  327. package/types-legacy/ts4.2/contract/ga.d.ts +43 -0
  328. package/types-legacy/ts4.2/globals.d.ts +16 -0
  329. package/types-legacy/ts4.2/index.d.ts +39 -0
  330. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  331. package/types-legacy/ts4.2/spend.d.ts +62 -0
  332. package/types-legacy/ts4.2/tx/builder/constants.d.ts +71 -0
  333. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +22 -0
  334. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +6 -0
  335. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  336. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  337. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -0
  338. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +17 -0
  339. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  340. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +12 -0
  341. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  342. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +85 -0
  343. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +19 -0
  344. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  345. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  346. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  347. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  348. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +8 -0
  349. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  350. package/types-legacy/ts4.2/tx/builder/index.d.ts +68 -0
  351. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2963 -0
  352. package/types-legacy/ts4.2/tx/index.d.ts +34 -0
  353. package/types-legacy/ts4.2/tx/validator.d.ts +20 -0
  354. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  355. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  356. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  357. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  358. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  359. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  360. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  361. package/types-legacy/ts4.2/utils/errors.d.ts +480 -0
  362. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  363. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  364. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  365. package/types-legacy/ts4.2/utils/mptree.d.ts +32 -0
  366. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  367. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  368. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  369. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  370. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  371. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  372. package/types-legacy/ts4.5/AeSdkMethods.d.ts +141 -0
  373. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  374. package/types-legacy/ts4.5/Node.d.ts +78 -0
  375. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  376. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  377. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  378. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  379. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  380. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  381. package/types-legacy/ts4.5/aens.d.ts +222 -0
  382. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  383. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  384. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  385. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  386. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  387. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  388. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  389. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  390. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  391. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  392. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  393. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  394. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  395. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  396. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  397. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  398. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  399. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  400. package/types-legacy/ts4.5/chain.d.ts +248 -0
  401. package/types-legacy/ts4.5/channel/Base.d.ts +194 -0
  402. package/types-legacy/ts4.5/channel/Contract.d.ts +247 -0
  403. package/types-legacy/ts4.5/channel/Spend.d.ts +217 -0
  404. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  405. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  406. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +18 -0
  407. package/types-legacy/ts4.5/contract/Contract.d.ts +237 -0
  408. package/types-legacy/ts4.5/contract/ga.d.ts +43 -0
  409. package/types-legacy/ts4.5/index.d.ts +38 -0
  410. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  411. package/types-legacy/ts4.5/spend.d.ts +62 -0
  412. package/types-legacy/ts4.5/tx/builder/constants.d.ts +71 -0
  413. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +22 -0
  414. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +6 -0
  415. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  416. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  417. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -0
  418. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +17 -0
  419. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  420. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +12 -0
  421. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  422. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +85 -0
  423. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +19 -0
  424. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  425. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  426. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  427. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  428. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +8 -0
  429. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  430. package/types-legacy/ts4.5/tx/builder/index.d.ts +68 -0
  431. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2963 -0
  432. package/types-legacy/ts4.5/tx/index.d.ts +34 -0
  433. package/types-legacy/ts4.5/tx/validator.d.ts +20 -0
  434. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  435. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  436. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  437. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  438. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  439. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  440. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  441. package/types-legacy/ts4.5/utils/errors.d.ts +480 -0
  442. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  443. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  444. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  445. package/types-legacy/ts4.5/utils/mptree.d.ts +32 -0
  446. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  447. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  448. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  449. package/es/channel/index.d.ts +0 -625
  450. package/es/channel/index.mjs +0 -975
  451. package/es/channel/index.mjs.map +0 -1
  452. package/es/contract/Compiler.mjs.map +0 -1
  453. package/es/contract/aci.d.ts +0 -127
  454. package/es/contract/aci.mjs +0 -508
  455. package/es/contract/aci.mjs.map +0 -1
  456. package/es/contract/methods.d.ts +0 -71
  457. package/es/contract/methods.mjs +0 -104
  458. package/es/contract/methods.mjs.map +0 -1
  459. package/es/deprecated/index.d.ts +0 -143
  460. package/es/deprecated/index.mjs +0 -162
  461. package/es/deprecated/index.mjs.map +0 -1
  462. package/es/deprecated/methods.d.ts +0 -18
  463. package/es/deprecated/methods.mjs +0 -26
  464. package/es/deprecated/methods.mjs.map +0 -1
  465. package/es/tx/builder/address.d.ts +0 -25
  466. package/es/tx/builder/address.mjs +0 -45
  467. package/es/tx/builder/address.mjs.map +0 -1
  468. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  469. package/src/channel/index.ts +0 -1025
  470. package/src/contract/aci.ts +0 -537
  471. package/src/contract/methods.ts +0 -123
  472. package/src/deprecated/index.ts +0 -172
  473. package/src/deprecated/methods.ts +0 -25
  474. package/src/tx/builder/address.ts +0 -50
  475. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
@@ -16,44 +16,62 @@
16
16
  */
17
17
 
18
18
  import { w3cwebsocket as W3CWebSocket } from 'websocket';
19
- import { EventEmitter } from 'events';
20
19
  import BigNumber from 'bignumber.js';
21
- import type Channel from '.';
20
+ import type Channel from './Base';
22
21
  import JsonBig from '../utils/json-big';
23
22
  import { pascalToSnake } from '../utils/string';
24
23
  import { Encoded } from '../utils/encoder';
25
24
  import {
26
- BaseError, ChannelCallError, ChannelPingTimedOutError, UnknownChannelStateError,
25
+ BaseError,
26
+ ChannelCallError,
27
+ ChannelPingTimedOutError,
28
+ UnexpectedTsError,
29
+ UnknownChannelStateError,
30
+ ChannelIncomingMessageError,
31
+ ChannelError,
27
32
  } from '../utils/errors';
28
33
 
29
- interface ChannelAction {
34
+ export interface ChannelAction {
30
35
  guard: (channel: Channel, state?: ChannelFsm) => boolean;
31
36
  action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;
32
37
  }
33
38
 
34
- export type SignTxWithTag = (tag: string, tx: Encoded.Transaction, options?: object) => (
39
+ interface SignOptions {
40
+ updates?: any[];
41
+ [k: string]: any;
42
+ }
43
+ export type SignTxWithTag = (tag: string, tx: Encoded.Transaction, options?: SignOptions) => (
35
44
  Promise<Encoded.Transaction>
36
45
  );
37
46
  // TODO: SignTx shouldn't return number or null
38
- export type SignTx = (tx: Encoded.Transaction, options?: object) => (
47
+ export type SignTx = (tx: Encoded.Transaction, options?: SignOptions) => (
39
48
  Promise<Encoded.Transaction | number | null>
40
49
  );
41
50
 
42
51
  export interface ChannelOptions {
43
- existingFsmId?: string;
52
+ existingFsmId?: Encoded.Bytearray;
44
53
  url: string;
45
- role: 'initiator' | 'responder';
54
+
55
+ /**
56
+ * @see {@link https://github.com/aeternity/protocol/blob/6734de2e4c7cce7e5e626caa8305fb535785131d/node/api/channels_api_usage.md#channel-establishing-parameters}
57
+ */
46
58
  initiatorId: Encoded.AccountAddress;
47
59
  responderId: Encoded.AccountAddress;
60
+ lockPeriod: number;
48
61
  pushAmount: number;
49
62
  initiatorAmount: BigNumber;
50
63
  responderAmount: BigNumber;
51
64
  channelReserve?: BigNumber | number;
52
- signedTx?: string;
53
65
  ttl?: number;
54
66
  host: string;
55
67
  port: number;
56
- lockPeriod: number;
68
+ role: 'initiator' | 'responder';
69
+ minimumDepthStrategy?: 'txfee' | 'plain';
70
+ minimumDepth?: number;
71
+ fee?: BigNumber | number;
72
+ gasPrice?: BigNumber | number;
73
+
74
+ signedTx?: string;
57
75
  existingChannelId?: string;
58
76
  offChainTx?: string;
59
77
  reconnectTx?: string;
@@ -76,7 +94,7 @@ export interface ChannelHandler extends Function {
76
94
  }
77
95
 
78
96
  export interface ChannelState {
79
- signedTx: any;
97
+ signedTx: Encoded.Transaction;
80
98
  resolve: (r?: any) => void;
81
99
  reject: (e: BaseError) => void;
82
100
  sign: SignTx;
@@ -99,7 +117,6 @@ export interface ChannelFsm {
99
117
 
100
118
  export interface ChannelMessage {
101
119
  id?: number;
102
- jsonrpc: string;
103
120
  method: string;
104
121
  params: any;
105
122
  payload?: any;
@@ -119,37 +136,19 @@ interface ChannelMessageError {
119
136
 
120
137
  // Send ping message every 10 seconds
121
138
  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>();
139
+ // Close connection if pong message is not received within 15 seconds
140
+ const PONG_TIMEOUT_MS = 15000;
142
141
 
143
142
  export function emit(channel: Channel, ...args: any[]): void {
144
143
  const [eventName, ...rest] = args;
145
- eventEmitters.get(channel)?.emit(eventName, ...rest);
144
+ channel._eventEmitter.emit(eventName, ...rest);
146
145
  }
147
146
 
148
147
  function enterState(channel: Channel, nextState: ChannelFsm): void {
149
148
  if (nextState == null) {
150
149
  throw new UnknownChannelStateError();
151
150
  }
152
- fsm.set(channel, nextState);
151
+ channel._fsm = nextState;
153
152
  if (nextState?.handler?.enter != null) {
154
153
  nextState.handler.enter(channel);
155
154
  }
@@ -157,122 +156,110 @@ function enterState(channel: Channel, nextState: ChannelFsm): void {
157
156
  void dequeueAction(channel);
158
157
  }
159
158
 
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
- }
159
+ // TODO: rewrite to enum
160
+ export type ChannelStatus = 'connecting' | 'connected' | 'accepted' | 'halfSigned' | 'signed'
161
+ | 'open' | 'closing' | 'closed' | 'died' | 'disconnected';
162
+
163
+ export function changeStatus(channel: Channel, newStatus: ChannelStatus): void {
164
+ if (newStatus === channel._status) return;
165
+ channel._status = newStatus;
166
+ emit(channel, 'statusChanged', newStatus);
166
167
  }
167
168
 
168
169
  export function changeState(channel: Channel, newState: Encoded.Transaction): void {
169
- state.set(channel, newState);
170
+ channel._state = newState;
170
171
  emit(channel, 'stateChanged', newState);
171
172
  }
172
173
 
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);
174
+ function send(channel: Channel, message: ChannelMessage): void {
175
+ if (channel._options.debug) console.log('Send message: ', message);
176
+ channel._websocket.send(JsonBig.stringify({ jsonrpc: '2.0', ...message }));
177
+ }
176
178
 
177
- websockets.get(channel)?.send(JsonBig.stringify(message));
179
+ export function notify(channel: Channel, method: string, params: object = {}): void {
180
+ send(channel, { method, params });
178
181
  }
179
182
 
180
183
  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);
184
+ if (channel._isActionQueueLocked) return;
185
+ const queue = channel._actionQueue;
186
+ if (queue.length === 0) return;
187
+ const index = queue.findIndex((action) => action.guard(channel, channel._fsm));
188
+ if (index === -1) return;
189
+ channel._actionQueue = queue.filter((_, i) => index !== i);
190
+ channel._isActionQueueLocked = true;
191
+ const nextState: ChannelFsm = await queue[index].action(channel, channel._fsm);
192
+ channel._isActionQueueLocked = false;
196
193
  enterState(channel, nextState);
197
194
  }
198
195
 
199
- export function enqueueAction(
196
+ export async function enqueueAction(
200
197
  channel: Channel,
201
198
  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
- ]);
199
+ action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },
200
+ ): Promise<any> {
201
+ const promise = new Promise((resolve, reject) => {
202
+ channel._actionQueue.push({
203
+ guard,
204
+ action() {
205
+ const res = action();
206
+ return { ...res, state: { ...res.state, resolve, reject } };
207
+ },
208
+ });
209
+ });
209
210
  void dequeueAction(channel);
211
+ return promise;
210
212
  }
211
213
 
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;
214
+ async function handleMessage(channel: Channel, message: object): Promise<void> {
215
+ const { handler, state: st } = channel._fsm;
216
216
  enterState(channel, await Promise.resolve(handler(channel, message, st)));
217
217
  }
218
218
 
219
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() ?? '';
220
+ if (channel._isMessageQueueLocked) return;
221
+ channel._isMessageQueueLocked = true;
222
+ while (channel._messageQueue.length > 0) {
223
+ const message = channel._messageQueue.shift();
224
+ if (message == null) throw new UnexpectedTsError();
227
225
  try {
228
226
  await handleMessage(channel, message);
229
227
  } catch (error) {
230
- console.error('Error handling incoming message:');
231
- console.error(message);
232
- console.error(error);
228
+ emit(channel, 'error', new ChannelIncomingMessageError(error, message));
233
229
  }
234
230
  }
235
- messageQueueLocked.set(channel, false);
231
+ channel._isMessageQueueLocked = false;
236
232
  }
237
233
 
238
234
  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);
235
+ channel._websocket.close();
236
+ clearTimeout(channel._pingTimeoutId);
244
237
  }
245
238
 
246
239
  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(() => {
240
+ clearTimeout(channel._pingTimeoutId);
241
+ channel._pingTimeoutId = setTimeout(() => {
242
+ notify(channel, 'channels.system', { action: 'ping' });
243
+ channel._pingTimeoutId = setTimeout(() => {
260
244
  disconnect(channel);
261
245
  emit(channel, 'error', new ChannelPingTimedOutError());
262
- }, PONG_TIMEOUT_MS));
263
- }, PING_TIMEOUT_MS));
246
+ }, PONG_TIMEOUT_MS);
247
+ }, PING_TIMEOUT_MS);
264
248
  }
265
249
 
266
250
  function onMessage(channel: Channel, data: string): void {
267
251
  const message = JsonBig.parse(data);
268
- const debug: boolean = options.get(channel)?.debug ?? false;
269
- if (debug) console.log('Receive message: ', message);
252
+ if (channel._options.debug) console.log('Receive message: ', message);
270
253
  if (message.id != null) {
271
- const callback = rpcCallbacks.get(channel)?.get(message.id);
254
+ const callback = channel._rpcCallbacks.get(message.id);
255
+ if (callback == null) {
256
+ emit(channel, 'error', new ChannelError(`Can't find callback by id: ${message.id}`));
257
+ return;
258
+ }
272
259
  try {
273
- callback?.(message);
260
+ callback(message);
274
261
  } finally {
275
- rpcCallbacks.get(channel)?.delete(message.id);
262
+ channel._rpcCallbacks.delete(message.id);
276
263
  }
277
264
  return;
278
265
  }
@@ -281,36 +268,28 @@ function onMessage(channel: Channel, data: string): void {
281
268
  return;
282
269
  }
283
270
  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
- ) {
271
+ if (message.params.channel_id === channel._channelId || channel._channelId == null) {
289
272
  ping(channel);
290
273
  }
291
274
  return;
292
275
  }
293
- messageQueue.get(channel)?.push(message);
276
+ channel._messageQueue.push(message);
294
277
  void dequeueMessage(channel);
295
278
  }
296
279
 
297
280
  export async function call(channel: Channel, method: string, params: any): Promise<any> {
298
281
  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,
282
+ const id = channel._nextRpcMessageId;
283
+ channel._nextRpcMessageId += 1;
284
+ channel._rpcCallbacks.set(id, (
285
+ message: { result: PromiseLike<any>; error?: ChannelMessageError },
286
+ ) => {
287
+ if (message.error != null) {
288
+ const details = message.error.data[0].message ?? '';
289
+ reject(new ChannelCallError(message.error.message + details));
290
+ } else resolve(message.result);
313
291
  });
292
+ send(channel, { method, id, params });
314
293
  });
315
294
  }
316
295
 
@@ -320,22 +299,18 @@ export async function initialize(
320
299
  openHandler: Function,
321
300
  { url, ...channelOptions }: ChannelOptions,
322
301
  ): 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, []);
302
+ channel._options = { url, ...channelOptions };
303
+ channel._fsm = { handler: connectionHandler };
329
304
 
330
305
  const wsUrl = new URL(url);
331
306
  Object.entries(channelOptions)
332
307
  .filter(([key]) => !['sign', 'debug'].includes(key))
333
- .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value));
308
+ .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value.toString()));
334
309
  wsUrl.searchParams.set('protocol', 'json-rpc');
335
310
  changeStatus(channel, 'connecting');
336
- const ws = new W3CWebSocket(wsUrl.toString());
311
+ channel._websocket = new W3CWebSocket(wsUrl.toString());
337
312
  await new Promise<void>((resolve, reject) => {
338
- Object.assign(ws, {
313
+ Object.assign(channel._websocket, {
339
314
  onerror: reject,
340
315
  onopen: async () => {
341
316
  resolve();
@@ -349,13 +324,9 @@ export async function initialize(
349
324
  },
350
325
  onclose: () => {
351
326
  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);
327
+ clearTimeout(channel._pingTimeoutId);
356
328
  },
357
329
  onmessage: ({ data }: { data: string }) => onMessage(channel, data),
358
330
  });
359
331
  });
360
- websockets.set(channel, ws);
361
332
  }
@@ -23,13 +23,13 @@ type GeneralCompilerError = ErrorModel & {
23
23
  };
24
24
 
25
25
  /**
26
- * Contract Compiler
26
+ * Contract Compiler over HTTP
27
27
  *
28
28
  * This class include api call's related to contract compiler functionality.
29
29
  * @category contract
30
- * @example Compiler('COMPILER_URL')
30
+ * @example CompilerHttp('COMPILER_URL')
31
31
  */
32
- export default class Compiler extends CompilerApi {
32
+ export default class CompilerHttp extends CompilerApi {
33
33
  /**
34
34
  * @param compilerUrl - Url for compiler API
35
35
  * @param options - Options
@@ -58,9 +58,9 @@ export default class Compiler extends CompilerApi {
58
58
  ],
59
59
  });
60
60
  if (ignoreVersion !== true) {
61
- const versionPromise = this.aPIVersion().then(({ apiVersion }) => apiVersion);
61
+ const versionPromise = this.apiVersion().then(({ apiVersion }) => apiVersion);
62
62
  this.pipeline.addPolicy(
63
- genVersionCheckPolicy('compiler', '/api-version', versionPromise, '6.1.0', '7.0.0'),
63
+ genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.0.1', '8.0.0'),
64
64
  );
65
65
  }
66
66
  }