@aeternity/aepp-sdk 12.1.2 → 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 -8860
  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 +87 -48
  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 -509
  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 -538
  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
@@ -1,975 +0,0 @@
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
- import { snakeToPascal } from "../utils/string.mjs";
18
- import { buildTx, unpackTx } from "../tx/builder/index.mjs";
19
- import { MIN_GAS_PRICE, Tag } from "../tx/builder/constants.mjs";
20
- import * as handlers from "./handlers.mjs";
21
- import { eventEmitters, status as channelStatus, state as channelState, initialize, enqueueAction, send, channelId, call, disconnect as channelDisconnect, fsmId as channelFsmId } from "./internal.mjs";
22
- import { UnknownChannelStateError, ChannelError } from "../utils/errors.mjs";
23
- import { pause } from "../utils/other.mjs";
24
-
25
- function snakeToPascalObjKeys(obj) {
26
- return Object.entries(obj).reduce((result, _ref) => {
27
- let [key, val] = _ref;
28
- return { ...result,
29
- [snakeToPascal(key)]: val
30
- };
31
- }, {});
32
- }
33
-
34
- /**
35
- * Channel
36
- * @example
37
- * ```js
38
- * await Channel.initialize({
39
- * url: 'ws://localhost:3001',
40
- * role: 'initiator'
41
- * initiatorId: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',
42
- * responderId: 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',
43
- * initiatorAmount: 1e18,
44
- * responderAmount: 1e18,
45
- * pushAmount: 0,
46
- * channelReserve: 0,
47
- * ttl: 1000,
48
- * host: 'localhost',
49
- * port: 3002,
50
- * lockPeriod: 10,
51
- * async sign (tag, tx) => await account.signTransaction(tx)
52
- * })
53
- * ```
54
- */
55
- export default class Channel {
56
- /**
57
- * @param options - Channel params
58
- * @param options.url - Channel url (for example: "ws://localhost:3001")
59
- * @param options.role - Participant role ("initiator" or "responder")
60
- * @param options.initiatorId - Initiator's public key
61
- * @param options.responderId - Responder's public key
62
- * @param options.pushAmount - Initial deposit in favour of the responder by the initiator
63
- * @param options.initiatorAmount - Amount of coins the initiator has committed to
64
- * the channel
65
- * @param options.responderAmount - Amount of coins the responder has committed to
66
- * the channel
67
- * @param options.channelReserve - The minimum amount both peers need to maintain
68
- * @param options.ttl - Minimum block height to include the channel_create_tx
69
- * @param options.host - Host of the responder's node
70
- * @param options.port - The port of the responders node
71
- * @param options.lockPeriod - Amount of blocks for disputing a solo close
72
- * @param options.existingChannelId - Existing channel id (required if reestablishing a
73
- * channel)
74
- * @param options.offchainTx - Offchain transaction (required if reestablishing
75
- * a channel)
76
- * @param options.timeoutIdle - The time waiting for a new event to be initiated
77
- * (default: 600000)
78
- * @param options.timeoutFundingCreate - The time waiting for the initiator to produce
79
- * the create channel transaction after the noise session had been established (default: 120000)
80
- * @param options.timeoutFundingSign - The time frame the other client has to sign an
81
- * off-chain update after our client had initiated and signed it. This applies only for double
82
- * signed on-chain intended updates: channel create transaction, deposit, withdrawal and etc.
83
- * (default: 120000)
84
- * @param options.timeoutFundingLock - The time frame the other client has to confirm an
85
- * on-chain transaction reaching maturity (passing minimum depth) after the local node has
86
- * detected this. This applies only for double signed on-chain intended updates: channel create
87
- * transaction, deposit, withdrawal and etc. (default: 360000)
88
- * @param options.timeoutSign - The time frame the client has to return a signed
89
- * off-chain update or to decline it. This applies for all off-chain updates (default: 500000)
90
- * @param options.timeoutAccept - The time frame the other client has to react to an
91
- * event. This applies for all off-chain updates that are not meant to land on-chain, as well as
92
- * some special cases: opening a noise connection, mutual closing acknowledgement and
93
- * reestablishing an existing channel (default: 120000)
94
- * @param options.timeoutInitialized - the time frame the responder has to accept an
95
- * incoming noise session. Applicable only for initiator (default: timeout_accept's value)
96
- * @param options.timeoutAwaitingOpen - The time frame the initiator has to start an
97
- * outgoing noise session to the responder's node. Applicable only for responder (default:
98
- * timeout_idle's value)
99
- * @param options.debug=false - Log websocket communication
100
- * @param options.sign - Function which verifies and signs transactions
101
- */
102
- static async initialize(options) {
103
- const channel = new Channel();
104
- await initialize(channel, options.existingFsmId != null ? handlers.awaitingReconnection : handlers.awaitingConnection, handlers.channelOpen, options);
105
- return channel;
106
- }
107
- /**
108
- * Register event listener function
109
- *
110
- * Possible events:
111
- *
112
- * - "error"
113
- * - "onChainTx"
114
- * - "ownWithdrawLocked"
115
- * - "withdrawLocked"
116
- * - "ownDepositLocked"
117
- * - "depositLocked"
118
- *
119
- * TODO: the event list looks outdated
120
- *
121
- * @param eventName - Event name
122
- * @param callback - Callback function
123
- */
124
- // TODO define specific callback type depending on the event name
125
-
126
-
127
- on(eventName, callback) {
128
- const eventEmitter = eventEmitters.get(this);
129
- if (eventEmitter == null) throw new UnknownChannelStateError();
130
- eventEmitter.on(eventName, callback);
131
- }
132
- /**
133
- * Remove event listener function
134
- * @param eventName - Event name
135
- * @param callback - Callback function
136
- */
137
-
138
-
139
- off(eventName, callback) {
140
- const eventEmitter = eventEmitters.get(this);
141
- if (eventEmitter == null) throw new UnknownChannelStateError();
142
- eventEmitter.removeListener(eventName, callback);
143
- }
144
- /**
145
- * Close the connection
146
- */
147
-
148
-
149
- disconnect() {
150
- return channelDisconnect(this);
151
- }
152
- /**
153
- * Get current status
154
- *
155
- */
156
-
157
-
158
- status() {
159
- const status = channelStatus.get(this);
160
- if (status == null) throw new UnknownChannelStateError();
161
- return status;
162
- }
163
- /**
164
- * Get current state
165
- */
166
-
167
-
168
- async state() {
169
- return snakeToPascalObjKeys(await call(this, 'channels.get.offchain_state', {}));
170
- }
171
- /**
172
- * Get current round
173
- *
174
- * If round cannot be determined (for example when channel has not been opened)
175
- * it will return `null`.
176
- *
177
- */
178
-
179
-
180
- round() {
181
- const state = channelState.get(this);
182
-
183
- if (state == null) {
184
- return null;
185
- }
186
-
187
- const {
188
- txType,
189
- tx
190
- } = unpackTx(state, Tag.SignedTx).tx.encodedTx;
191
-
192
- switch (txType) {
193
- case Tag.ChannelCreateTx:
194
- return 1;
195
-
196
- case Tag.ChannelOffChainTx:
197
- case Tag.ChannelWithdrawTx:
198
- case Tag.ChannelDepositTx:
199
- return tx.round;
200
-
201
- default:
202
- return null;
203
- }
204
- }
205
- /**
206
- * Get channel id
207
- *
208
- */
209
-
210
-
211
- id() {
212
- const id = channelId.get(this);
213
- if (id == null) throw new ChannelError('Channel is not initialized');
214
- return id;
215
- }
216
- /**
217
- * Get channel's fsm id
218
- *
219
- */
220
-
221
-
222
- fsmId() {
223
- const id = channelFsmId.get(this);
224
- if (id == null) throw new ChannelError('Channel is not initialized');
225
- return id;
226
- }
227
- /**
228
- * Trigger a transfer update
229
- *
230
- * The transfer update is moving coins from one channel account to another.
231
- * The update is a change to be applied on top of the latest state.
232
- *
233
- * Sender and receiver are the channel parties. Both the initiator and responder
234
- * can take those roles. Any public key outside the channel is considered invalid.
235
- *
236
- * @param from - Sender's public address
237
- * @param to - Receiver's public address
238
- * @param amount - Transaction amount
239
- * @param sign - Function which verifies and signs offchain transaction
240
- * @param metadata - Metadata
241
- * @example
242
- * ```js
243
- * channel.update(
244
- * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',
245
- * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',
246
- * 10,
247
- * async (tx) => await account.signTransaction(tx)
248
- * ).then(({ accepted, signedTx }) =>
249
- * if (accepted) {
250
- * console.log('Update has been accepted')
251
- * }
252
- * )
253
- * ```
254
- */
255
-
256
-
257
- async update(from, to, amount, sign) {
258
- let metadata = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
259
- return new Promise((resolve, reject) => {
260
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
261
- send(channel, {
262
- jsonrpc: '2.0',
263
- method: 'channels.update.new',
264
- params: {
265
- from,
266
- to,
267
- amount,
268
- meta: metadata
269
- }
270
- });
271
- return {
272
- handler: handlers.awaitingOffChainTx,
273
- state: {
274
- resolve,
275
- reject,
276
- sign
277
- }
278
- };
279
- });
280
- });
281
- }
282
- /**
283
- * Get proof of inclusion
284
- *
285
- * If a certain address of an account or a contract is not found
286
- * in the state tree - the response is an error.
287
- *
288
- * @param addresses - Addresses
289
- * @param addresses.accounts - List of account addresses to include in poi
290
- * @param addresses.contracts - List of contract addresses to include in poi
291
- * @example
292
- * ```js
293
- * channel.poi({
294
- * accounts: [
295
- * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',
296
- * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'
297
- * ],
298
- * contracts: ['ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA']
299
- * }).then(poi => console.log(poi))
300
- * ```
301
- */
302
-
303
-
304
- async poi(_ref2) {
305
- let {
306
- accounts,
307
- contracts
308
- } = _ref2;
309
- return (await call(this, 'channels.get.poi', {
310
- accounts,
311
- contracts
312
- })).poi;
313
- }
314
- /**
315
- * Get balances
316
- *
317
- * The accounts param contains a list of addresses to fetch balances of.
318
- * Those can be either account balances or a contract ones, encoded as an account addresses.
319
- *
320
- * If a certain account address had not being found in the state tree - it is simply
321
- * skipped in the response.
322
- *
323
- * @param accounts - List of addresses to fetch balances from
324
- * @example
325
- * ```js
326
- * channel.balances([
327
- * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',
328
- * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'
329
- * 'ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA'
330
- * ]).then(balances =>
331
- * console.log(balances['ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'])
332
- * )
333
- * ```
334
- */
335
-
336
-
337
- async balances(accounts) {
338
- return Object.fromEntries((await call(this, 'channels.get.balances', {
339
- accounts
340
- })).map(item => [item.account, item.balance]));
341
- }
342
- /**
343
- * Leave channel
344
- *
345
- * It is possible to leave a channel and then later reestablish the channel
346
- * off-chain state and continue operation. When a leave method is called,
347
- * the channel fsm passes it on to the peer fsm, reports the current mutually
348
- * signed state and then terminates.
349
- *
350
- * The channel can be reestablished by instantiating another Channel instance
351
- * with two extra params: existingChannelId and offchainTx (returned from leave
352
- * method as channelId and signedTx respectively).
353
- *
354
- * @example
355
- * ```js
356
- * channel.leave().then(({ channelId, signedTx }) => {
357
- * console.log(channelId)
358
- * console.log(signedTx)
359
- * })
360
- * ```
361
- */
362
-
363
-
364
- async leave() {
365
- return new Promise((resolve, reject) => {
366
- enqueueAction(this, (channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
367
- send(channel, {
368
- jsonrpc: '2.0',
369
- method: 'channels.leave',
370
- params: {}
371
- });
372
- return {
373
- handler: handlers.awaitingLeave,
374
- state: {
375
- resolve,
376
- reject
377
- }
378
- };
379
- });
380
- });
381
- }
382
- /**
383
- * Trigger mutual close
384
- *
385
- * At any moment after the channel is opened, a closing procedure can be triggered.
386
- * This can be done by either of the parties. The process is similar to the off-chain updates.
387
- *
388
- * @param sign - Function which verifies and signs mutual close transaction
389
- * @example
390
- * ```js
391
- * channel.shutdown(
392
- * async (tx) => await account.signTransaction(tx)
393
- * ).then(tx => console.log('on_chain_tx', tx))
394
- * ```
395
- */
396
-
397
-
398
- async shutdown(sign) {
399
- return new Promise((resolve, reject) => {
400
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
401
- send(channel, {
402
- jsonrpc: '2.0',
403
- method: 'channels.shutdown',
404
- params: {}
405
- });
406
- return {
407
- handler: handlers.awaitingShutdownTx,
408
- state: {
409
- sign,
410
- resolve,
411
- reject
412
- }
413
- };
414
- });
415
- });
416
- }
417
- /**
418
- * Withdraw coins from the channel
419
- *
420
- * After the channel had been opened any of the participants can initiate a withdrawal.
421
- * The process closely resembles the update. The most notable difference is that the
422
- * transaction has been co-signed: it is channel_withdraw_tx and after the procedure
423
- * is finished - it is being posted on-chain.
424
- *
425
- * Any of the participants can initiate a withdrawal. The only requirements are:
426
- *
427
- * - Channel is already opened
428
- * - No off-chain update/deposit/withdrawal is currently being performed
429
- * - Channel is not being closed or in a solo closing state
430
- * - The withdrawal amount must be equal to or greater than zero, and cannot exceed
431
- * the available balance on the channel (minus the channel_reserve)
432
- *
433
- * After the other party had signed the withdraw transaction, the transaction is posted
434
- * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.
435
- * After computing transaction hash it can be tracked on the chain: entering the mempool,
436
- * block inclusion and a number of confirmations.
437
- *
438
- * After the minimum_depth block confirmations onOwnWithdrawLocked callback is called
439
- * (without any arguments).
440
- *
441
- * When the other party had confirmed that the block height needed is reached
442
- * onWithdrawLocked callback is called (without any arguments).
443
- *
444
- * @param amount - Amount of coins to withdraw
445
- * @param sign - Function which verifies and signs withdraw transaction
446
- * @param callbacks - Callbacks
447
- * @param callbacks.onOnChainTx - Called when withdraw transaction has been posted
448
- * on chain
449
- * @param callbacks.onOwnWithdrawLocked
450
- * @param callbacks.onWithdrawLocked
451
- * @example
452
- * ```js
453
- * channel.withdraw(
454
- * 100,
455
- * async (tx) => await account.signTransaction(tx),
456
- * { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }
457
- * ).then(({ accepted, signedTx }) => {
458
- * if (accepted) {
459
- * console.log('Withdrawal has been accepted')
460
- * } else {
461
- * console.log('Withdrawal has been rejected')
462
- * }
463
- * })
464
- * ```
465
- */
466
-
467
-
468
- async withdraw(amount, sign) {
469
- let {
470
- onOnChainTx,
471
- onOwnWithdrawLocked,
472
- onWithdrawLocked
473
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
474
- return new Promise((resolve, reject) => {
475
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
476
- send(channel, {
477
- jsonrpc: '2.0',
478
- method: 'channels.withdraw',
479
- params: {
480
- amount
481
- }
482
- });
483
- return {
484
- handler: handlers.awaitingWithdrawTx,
485
- state: {
486
- sign,
487
- resolve,
488
- reject,
489
- onOnChainTx,
490
- onOwnWithdrawLocked,
491
- onWithdrawLocked
492
- }
493
- };
494
- });
495
- });
496
- }
497
- /**
498
- * Deposit coins into the channel
499
- *
500
- * After the channel had been opened any of the participants can initiate a deposit.
501
- * The process closely resembles the update. The most notable difference is that the
502
- * transaction has been co-signed: it is channel_deposit_tx and after the procedure
503
- * is finished - it is being posted on-chain.
504
- *
505
- * Any of the participants can initiate a deposit. The only requirements are:
506
- *
507
- * - Channel is already opened
508
- * - No off-chain update/deposit/withdrawal is currently being performed
509
- * - Channel is not being closed or in a solo closing state
510
- * - The deposit amount must be equal to or greater than zero, and cannot exceed
511
- * the available balance on the channel (minus the channel_reserve)
512
- *
513
- * After the other party had signed the deposit transaction, the transaction is posted
514
- * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.
515
- * After computing transaction hash it can be tracked on the chain: entering the mempool,
516
- * block inclusion and a number of confirmations.
517
- *
518
- * After the minimum_depth block confirmations onOwnDepositLocked callback is called
519
- * (without any arguments).
520
- *
521
- * When the other party had confirmed that the block height needed is reached
522
- * onDepositLocked callback is called (without any arguments).
523
- *
524
- * @param amount - Amount of coins to deposit
525
- * @param sign - Function which verifies and signs deposit transaction
526
- * @param callbacks - Callbacks
527
- * @param callbacks.onOnChainTx - Called when deposit transaction has been posted
528
- * on chain
529
- * @param callbacks.onOwnDepositLocked
530
- * @param callbacks.onDepositLocked
531
- * @example
532
- * ```js
533
- * channel.deposit(
534
- * 100,
535
- * async (tx) => await account.signTransaction(tx),
536
- * { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }
537
- * ).then(({ accepted, state }) => {
538
- * if (accepted) {
539
- * console.log('Deposit has been accepted')
540
- * console.log('The new state is:', state)
541
- * } else {
542
- * console.log('Deposit has been rejected')
543
- * }
544
- * })
545
- * ```
546
- */
547
-
548
-
549
- async deposit(amount, sign) {
550
- let {
551
- onOnChainTx,
552
- onOwnDepositLocked,
553
- onDepositLocked
554
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
555
- return new Promise((resolve, reject) => {
556
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
557
- send(channel, {
558
- jsonrpc: '2.0',
559
- method: 'channels.deposit',
560
- params: {
561
- amount
562
- }
563
- });
564
- return {
565
- handler: handlers.awaitingDepositTx,
566
- state: {
567
- sign,
568
- resolve,
569
- reject,
570
- onOnChainTx,
571
- onOwnDepositLocked,
572
- onDepositLocked
573
- }
574
- };
575
- });
576
- });
577
- }
578
- /**
579
- * Trigger create contract update
580
- *
581
- * The create contract update is creating a contract inside the channel's internal state tree.
582
- * The update is a change to be applied on top of the latest state.
583
- *
584
- * That would create a contract with the poster being the owner of it. Poster commits initially
585
- * a deposit amount of coins to the new contract.
586
- *
587
- * @param options - Options
588
- * @param options.code - Api encoded compiled AEVM byte code
589
- * @param options.callData - Api encoded compiled AEVM call data for the code
590
- * @param options.deposit - Initial amount the owner of the contract commits to it
591
- * @param options.vmVersion - Version of the Virtual Machine
592
- * @param options.abiVersion - Version of the Application Binary Interface
593
- * @param sign - Function which verifies and signs create contract transaction
594
- * @example
595
- * ```js
596
- * channel.createContract({
597
- * code: 'cb_HKtpipK4aCgYb17wZ...',
598
- * callData: 'cb_1111111111111111...',
599
- * deposit: 10,
600
- * vmVersion: 3,
601
- * abiVersion: 1
602
- * }).then(({ accepted, signedTx, address }) => {
603
- * if (accepted) {
604
- * console.log('New contract has been created')
605
- * console.log('Contract address:', address)
606
- * } else {
607
- * console.log('New contract has been rejected')
608
- * }
609
- * })
610
- * ```
611
- */
612
-
613
-
614
- async createContract(_ref3, sign) {
615
- let {
616
- code,
617
- callData,
618
- deposit,
619
- vmVersion,
620
- abiVersion
621
- } = _ref3;
622
- return new Promise((resolve, reject) => {
623
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
624
- send(channel, {
625
- jsonrpc: '2.0',
626
- method: 'channels.update.new_contract',
627
- params: {
628
- code,
629
- call_data: callData,
630
- deposit,
631
- vm_version: vmVersion,
632
- abi_version: abiVersion
633
- }
634
- });
635
- return {
636
- handler: handlers.awaitingNewContractTx,
637
- state: {
638
- sign,
639
- resolve,
640
- reject
641
- }
642
- };
643
- });
644
- });
645
- }
646
- /**
647
- * Trigger call a contract update
648
- *
649
- * The call contract update is calling a preexisting contract inside the channel's
650
- * internal state tree. The update is a change to be applied on top of the latest state.
651
- *
652
- * That would call a contract with the poster being the caller of it. Poster commits
653
- * an amount of coins to the contract.
654
- *
655
- * The call would also create a call object inside the channel state tree. It contains
656
- * the result of the contract call.
657
- *
658
- * It is worth mentioning that the gas is not consumed, because this is an off-chain
659
- * contract call. It would be consumed if it were an on-chain one. This could happen
660
- * if a call with a similar computation amount is to be forced on-chain.
661
- *
662
- * @param options - Options
663
- * @param options.amount - Amount the caller of the contract commits to it
664
- * @param options.callData - ABI encoded compiled AEVM call data for the code
665
- * @param options.contract - Address of the contract to call
666
- * @param options.abiVersion - Version of the ABI
667
- * @param sign - Function which verifies and signs contract call transaction
668
- * @example
669
- * ```js
670
- * channel.callContract({
671
- * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',
672
- * callData: 'cb_1111111111111111...',
673
- * amount: 0,
674
- * abiVersion: 1
675
- * }).then(({ accepted, signedTx }) => {
676
- * if (accepted) {
677
- * console.log('Contract called succesfully')
678
- * } else {
679
- * console.log('Contract call has been rejected')
680
- * }
681
- * })
682
- * ```
683
- */
684
-
685
-
686
- async callContract(_ref4, sign) {
687
- let {
688
- amount,
689
- callData,
690
- contract,
691
- abiVersion
692
- } = _ref4;
693
- return new Promise((resolve, reject) => {
694
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
695
- send(channel, {
696
- jsonrpc: '2.0',
697
- method: 'channels.update.call_contract',
698
- params: {
699
- amount,
700
- call_data: callData,
701
- contract_id: contract,
702
- abi_version: abiVersion
703
- }
704
- });
705
- return {
706
- handler: handlers.awaitingCallContractUpdateTx,
707
- state: {
708
- resolve,
709
- reject,
710
- sign
711
- }
712
- };
713
- });
714
- });
715
- }
716
- /**
717
- * Trigger a force progress contract call
718
- * This call is going on-chain
719
- * @param options - Options
720
- * @param options.amount - Amount the caller of the contract commits to it
721
- * @param options.callData - ABI encoded compiled AEVM call data for the code
722
- * @param options.contract - Address of the contract to call
723
- * @param options.abiVersion - Version of the ABI
724
- * @param options.gasPrice=1000000000]
725
- * @param options.gasLimit=1000000]
726
- * @param sign - Function which verifies and signs contract force progress transaction
727
- * @param callbacks - Callbacks
728
- * @example
729
- * ```js
730
- * channel.forceProgress({
731
- * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',
732
- * callData: 'cb_1111111111111111...',
733
- * amount: 0,
734
- * abiVersion: 1,
735
- * gasPrice: 1000005554
736
- * }).then(({ accepted, signedTx }) => {
737
- * if (accepted) {
738
- * console.log('Contract force progress call successful')
739
- * } else {
740
- * console.log('Contract force progress call has been rejected')
741
- * }
742
- * })
743
- * ```
744
- */
745
-
746
-
747
- async forceProgress(_ref5, sign) {
748
- let {
749
- amount,
750
- callData,
751
- contract,
752
- abiVersion,
753
- gasLimit = 1000000,
754
- gasPrice = MIN_GAS_PRICE
755
- } = _ref5;
756
- let {
757
- onOnChainTx
758
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
759
- return new Promise((resolve, reject) => {
760
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
761
- send(channel, {
762
- jsonrpc: '2.0',
763
- method: 'channels.force_progress',
764
- params: {
765
- amount,
766
- call_data: callData,
767
- contract_id: contract,
768
- abi_version: abiVersion,
769
- gas_price: gasPrice,
770
- gas: gasLimit
771
- }
772
- });
773
- return {
774
- handler: handlers.awaitingCallContractForceProgressUpdate,
775
- state: {
776
- resolve,
777
- reject,
778
- sign,
779
- onOnChainTx
780
- }
781
- };
782
- });
783
- });
784
- }
785
- /**
786
- * Call contract using dry-run
787
- *
788
- * In order to get the result of a potential contract call, one might need to
789
- * dry-run a contract call. It takes the exact same arguments as a call would
790
- * and returns the call object.
791
- *
792
- * The call is executed in the channel's state, but it does not impact the state
793
- * whatsoever. It uses as an environment the latest channel's state and the current
794
- * top of the blockchain as seen by the node.
795
- *
796
- * @param options - Options
797
- * @param options.amount - Amount the caller of the contract commits to it
798
- * @param options.callData - ABI encoded compiled AEVM call data for the code
799
- * @param options.contract - Address of the contract to call
800
- * @param options.abiVersion - Version of the ABI
801
- * @example
802
- * ```js
803
- * channel.callContractStatic({
804
- * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',
805
- * callData: 'cb_1111111111111111...',
806
- * amount: 0,
807
- * abiVersion: 1
808
- * }).then(({ returnValue, gasUsed }) => {
809
- * console.log('Returned value:', returnValue)
810
- * console.log('Gas used:', gasUsed)
811
- * })
812
- * ```
813
- */
814
-
815
-
816
- async callContractStatic(_ref6) {
817
- let {
818
- amount,
819
- callData,
820
- contract,
821
- abiVersion
822
- } = _ref6;
823
- return snakeToPascalObjKeys(await call(this, 'channels.dry_run.call_contract', {
824
- amount,
825
- call_data: callData,
826
- contract_id: contract,
827
- abi_version: abiVersion
828
- }));
829
- }
830
- /**
831
- * Get contract call result
832
- *
833
- * The combination of a caller, contract and a round of execution determines the
834
- * contract call. Providing an incorrect set of those results in an error response.
835
- *
836
- * @param options - Options
837
- * @param options.caller - Address of contract caller
838
- * @param options.contract - Address of the contract
839
- * @param options.round - Round when contract was called
840
- * @example
841
- * ```js
842
- * channel.getContractCall({
843
- * caller: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',
844
- * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',
845
- * round: 3
846
- * }).then(({ returnType, returnValue }) => {
847
- * if (returnType === 'ok') console.log(returnValue)
848
- * })
849
- * ```
850
- */
851
-
852
-
853
- async getContractCall(_ref7) {
854
- let {
855
- caller,
856
- contract,
857
- round
858
- } = _ref7;
859
- return snakeToPascalObjKeys(await call(this, 'channels.get.contract_call', {
860
- caller_id: caller,
861
- contract_id: contract,
862
- round
863
- }));
864
- }
865
- /**
866
- * Get the latest contract state
867
- *
868
- * @param contract - Address of the contract
869
- * @example
870
- * ```js
871
- * channel.getContractState(
872
- * 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa'
873
- * ).then(({ contract }) => {
874
- * console.log('deposit:', contract.deposit)
875
- * })
876
- * ```
877
- */
878
-
879
-
880
- async getContractState(contract) {
881
- const result = await call(this, 'channels.get.contract', {
882
- pubkey: contract
883
- });
884
- return snakeToPascalObjKeys({ ...result,
885
- contract: snakeToPascalObjKeys(result.contract)
886
- });
887
- }
888
- /**
889
- * Clean up all locally stored contract calls
890
- *
891
- * Contract calls are kept locally in order for the participant to be able to look them up.
892
- * They consume memory and in order for the participant to free it - one can prune all messages.
893
- * This cleans up all locally stored contract calls and those will no longer be available for
894
- * fetching and inspection.
895
- */
896
-
897
-
898
- async cleanContractCalls() {
899
- return new Promise((resolve, reject) => {
900
- enqueueAction(this, (_channel, state) => (state === null || state === void 0 ? void 0 : state.handler) === handlers.channelOpen, channel => {
901
- send(channel, {
902
- jsonrpc: '2.0',
903
- method: 'channels.clean_contract_calls',
904
- params: {}
905
- });
906
- return {
907
- handler: handlers.awaitingCallsPruned,
908
- state: {
909
- resolve,
910
- reject
911
- }
912
- };
913
- });
914
- });
915
- }
916
- /**
917
- * Send generic message
918
- *
919
- * If message is an object it will be serialized into JSON string
920
- * before sending.
921
- *
922
- * If there is ongoing update that has not yet been finished the message
923
- * will be sent after that update is finalized.
924
- *
925
- * @param message - Message
926
- * @param recipient - Address of the recipient
927
- * @example
928
- * ```js
929
- * channel.sendMessage(
930
- * 'hello world',
931
- * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'
932
- * )
933
- * ```
934
- */
935
-
936
-
937
- async sendMessage(message, recipient) {
938
- const info = typeof message === 'object' ? JSON.stringify(message) : message;
939
-
940
- if (this.status() === 'connecting') {
941
- await new Promise(resolve => {
942
- const onStatusChanged = status => {
943
- if (status === 'connecting') return;
944
- resolve();
945
- this.off('statusChanged', onStatusChanged);
946
- };
947
-
948
- this.on('statusChanged', onStatusChanged);
949
- }); // For some reason we can't immediately send a message when connection is
950
- // established. Thus we wait 500ms which seems to work.
951
-
952
- await pause(500);
953
- }
954
-
955
- send(this, {
956
- jsonrpc: '2.0',
957
- method: 'channels.message',
958
- params: {
959
- info,
960
- to: recipient
961
- }
962
- });
963
- }
964
-
965
- static async reconnect(options, txParams) {
966
- const {
967
- sign
968
- } = options;
969
- return Channel.initialize({ ...options,
970
- reconnectTx: await sign('reconnect', buildTx(txParams, Tag.ChannelClientReconnectTx).tx)
971
- });
972
- }
973
-
974
- }
975
- //# sourceMappingURL=index.mjs.map