@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/bin/aesophia_cli +0 -0
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +12031 -11231
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.d.ts +7 -3
  9. package/es/AeSdk.mjs +17 -22
  10. package/es/AeSdk.mjs.map +1 -1
  11. package/es/AeSdkAepp.d.ts +6 -5
  12. package/es/AeSdkAepp.mjs +7 -30
  13. package/es/AeSdkAepp.mjs.map +1 -1
  14. package/es/AeSdkBase.d.ts +18 -140
  15. package/es/AeSdkBase.mjs +30 -184
  16. package/es/AeSdkBase.mjs.map +1 -1
  17. package/es/AeSdkMethods.d.ts +123 -0
  18. package/es/AeSdkMethods.mjs +122 -0
  19. package/es/AeSdkMethods.mjs.map +1 -0
  20. package/es/AeSdkWallet.d.ts +7 -21
  21. package/es/AeSdkWallet.mjs +38 -86
  22. package/es/AeSdkWallet.mjs.map +1 -1
  23. package/es/Node.d.ts +11 -15
  24. package/es/Node.mjs +35 -48
  25. package/es/Node.mjs.map +1 -1
  26. package/es/account/Base.d.ts +24 -40
  27. package/es/account/Base.mjs +1 -101
  28. package/es/account/Base.mjs.map +1 -1
  29. package/es/account/Generalized.d.ts +16 -0
  30. package/es/account/Generalized.mjs +113 -0
  31. package/es/account/Generalized.mjs.map +1 -0
  32. package/es/account/Ledger.d.ts +28 -0
  33. package/es/account/Ledger.mjs +102 -0
  34. package/es/account/Ledger.mjs.map +1 -0
  35. package/es/account/LedgerFactory.d.ts +39 -0
  36. package/es/account/LedgerFactory.mjs +81 -0
  37. package/es/account/LedgerFactory.mjs.map +1 -0
  38. package/es/account/Memory.d.ts +13 -17
  39. package/es/account/Memory.mjs +43 -64
  40. package/es/account/Memory.mjs.map +1 -1
  41. package/es/account/Rpc.d.ts +6 -8
  42. package/es/account/Rpc.mjs +14 -32
  43. package/es/account/Rpc.mjs.map +1 -1
  44. package/es/aens.d.ts +4 -4
  45. package/es/aens.mjs +46 -41
  46. package/es/aens.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  48. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  50. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
  51. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  53. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  54. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  55. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  56. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  57. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
  58. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  60. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/schema.mjs +14 -68
  62. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  64. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  65. package/es/apis/compiler/compiler.d.ts +23 -29
  66. package/es/apis/compiler/compiler.mjs +128 -189
  67. package/es/apis/compiler/compiler.mjs.map +1 -1
  68. package/es/apis/compiler/index.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +82 -135
  70. package/es/apis/compiler/models/index.mjs +1 -47
  71. package/es/apis/compiler/models/index.mjs.map +1 -1
  72. package/es/apis/compiler/models/mappers.d.ts +8 -8
  73. package/es/apis/compiler/models/mappers.mjs +165 -183
  74. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  75. package/es/apis/compiler/models/parameters.d.ts +0 -1
  76. package/es/apis/compiler/models/parameters.mjs +5 -9
  77. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  78. package/es/apis/node/index.mjs.map +1 -1
  79. package/es/apis/node/models/index.d.ts +48 -48
  80. package/es/apis/node/models/mappers.mjs +12 -6
  81. package/es/apis/node/models/mappers.mjs.map +1 -1
  82. package/es/apis/node/models/parameters.mjs.map +1 -1
  83. package/es/apis/node/node.mjs +43 -84
  84. package/es/apis/node/node.mjs.map +1 -1
  85. package/es/chain.d.ts +10 -2
  86. package/es/chain.mjs +37 -59
  87. package/es/chain.mjs.map +1 -1
  88. package/es/channel/Base.d.ts +200 -0
  89. package/es/channel/Base.mjs +293 -0
  90. package/es/channel/Base.mjs.map +1 -0
  91. package/es/channel/Contract.d.ts +248 -0
  92. package/es/channel/Contract.mjs +420 -0
  93. package/es/channel/Contract.mjs.map +1 -0
  94. package/es/channel/Spend.d.ts +219 -0
  95. package/es/channel/Spend.mjs +385 -0
  96. package/es/channel/Spend.mjs.map +1 -0
  97. package/es/channel/handlers.d.ts +8 -21
  98. package/es/channel/handlers.mjs +151 -899
  99. package/es/channel/handlers.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +27 -21
  101. package/es/channel/internal.mjs +101 -191
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Contract.d.ts +210 -0
  104. package/es/contract/Contract.mjs +551 -0
  105. package/es/contract/Contract.mjs.map +1 -0
  106. package/es/contract/compiler/Base.d.ts +81 -0
  107. package/es/contract/compiler/Base.mjs +5 -0
  108. package/es/contract/compiler/Base.mjs.map +1 -0
  109. package/es/contract/compiler/Cli.d.ts +23 -0
  110. package/es/contract/compiler/Cli.mjs +155 -0
  111. package/es/contract/compiler/Cli.mjs.map +1 -0
  112. package/es/contract/compiler/Http.d.ts +32 -0
  113. package/es/contract/compiler/Http.mjs +118 -0
  114. package/es/contract/compiler/Http.mjs.map +1 -0
  115. package/es/contract/compiler/HttpNode.d.ts +17 -0
  116. package/es/contract/compiler/HttpNode.mjs +26 -0
  117. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  118. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  119. package/es/contract/compiler/getFileSystem.mjs +40 -0
  120. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  121. package/es/contract/ga.d.ts +9 -34
  122. package/es/contract/ga.mjs +29 -112
  123. package/es/contract/ga.mjs.map +1 -1
  124. package/es/index-browser.d.ts +39 -0
  125. package/es/index-browser.mjs +55 -0
  126. package/es/index-browser.mjs.map +1 -0
  127. package/es/index.d.ts +4 -35
  128. package/es/index.mjs +4 -51
  129. package/es/index.mjs.map +1 -1
  130. package/es/oracle.d.ts +5 -5
  131. package/es/oracle.mjs +34 -40
  132. package/es/oracle.mjs.map +1 -1
  133. package/es/spend.d.ts +3 -3
  134. package/es/spend.mjs +18 -23
  135. package/es/spend.mjs.map +1 -1
  136. package/es/tx/builder/constants.d.ts +30 -2
  137. package/es/tx/builder/constants.mjs +43 -14
  138. package/es/tx/builder/constants.mjs.map +1 -1
  139. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  140. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  141. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  142. package/es/tx/builder/field-types/address.d.ts +14 -0
  143. package/es/tx/builder/field-types/address.mjs +51 -0
  144. package/es/tx/builder/field-types/address.mjs.map +1 -0
  145. package/es/tx/builder/field-types/array.d.ts +7 -0
  146. package/es/tx/builder/field-types/array.mjs +11 -0
  147. package/es/tx/builder/field-types/array.mjs.map +1 -0
  148. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  149. package/es/tx/builder/field-types/boolean.mjs +13 -0
  150. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  151. package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
  152. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  153. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  154. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  155. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  156. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  157. package/es/tx/builder/field-types/deposit.d.ts +1 -2
  158. package/es/tx/builder/field-types/deposit.mjs +2 -4
  159. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  160. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  161. package/es/tx/builder/field-types/encoded.mjs +21 -0
  162. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  163. package/es/tx/builder/field-types/entry.d.ts +11 -0
  164. package/es/tx/builder/field-types/entry.mjs +31 -0
  165. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  166. package/es/tx/builder/field-types/enumeration.d.ts +7 -0
  167. package/es/tx/builder/field-types/enumeration.mjs +30 -0
  168. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  169. package/es/tx/builder/field-types/fee.d.ts +10 -15
  170. package/es/tx/builder/field-types/fee.mjs +31 -43
  171. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  172. package/es/tx/builder/field-types/field.mjs +0 -2
  173. package/es/tx/builder/field-types/field.mjs.map +1 -1
  174. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  175. package/es/tx/builder/field-types/gas-limit.mjs +12 -14
  176. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  177. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  178. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  179. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  180. package/es/tx/builder/field-types/index.d.ts +80 -30
  181. package/es/tx/builder/field-types/index.mjs +34 -9
  182. package/es/tx/builder/field-types/index.mjs.map +1 -1
  183. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  184. package/es/tx/builder/field-types/mptree.mjs +268 -0
  185. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  186. package/es/tx/builder/field-types/name-fee.d.ts +1 -3
  187. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  188. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  189. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  190. package/es/tx/builder/field-types/name-id.mjs +5 -10
  191. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  192. package/es/tx/builder/field-types/name.mjs +0 -2
  193. package/es/tx/builder/field-types/name.mjs.map +1 -1
  194. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  195. package/es/tx/builder/field-types/pointers.mjs +36 -0
  196. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  197. package/es/tx/builder/field-types/raw.d.ts +6 -0
  198. package/es/tx/builder/field-types/raw.mjs +13 -0
  199. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  200. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  201. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  202. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  203. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  204. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  205. package/es/tx/builder/field-types/string.d.ts +6 -0
  206. package/es/tx/builder/field-types/string.mjs +10 -0
  207. package/es/tx/builder/field-types/string.mjs.map +1 -0
  208. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  209. package/es/tx/builder/field-types/u-int.mjs +3 -4
  210. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  211. package/es/tx/builder/helpers.d.ts +2 -32
  212. package/es/tx/builder/helpers.mjs +19 -71
  213. package/es/tx/builder/helpers.mjs.map +1 -1
  214. package/es/tx/builder/index.d.ts +11 -49
  215. package/es/tx/builder/index.mjs +57 -337
  216. package/es/tx/builder/index.mjs.map +1 -1
  217. package/es/tx/builder/schema.d.ts +2367 -667
  218. package/es/tx/builder/schema.mjs +70 -145
  219. package/es/tx/builder/schema.mjs.map +1 -1
  220. package/es/tx/index.d.ts +4 -49
  221. package/es/tx/index.mjs +38 -112
  222. package/es/tx/index.mjs.map +1 -1
  223. package/es/tx/validator.d.ts +4 -6
  224. package/es/tx/validator.mjs +104 -90
  225. package/es/tx/validator.mjs.map +1 -1
  226. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  227. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  228. package/es/utils/amount-formatter.mjs +4 -10
  229. package/es/utils/amount-formatter.mjs.map +1 -1
  230. package/es/utils/autorest.d.ts +1 -0
  231. package/es/utils/autorest.mjs +17 -19
  232. package/es/utils/autorest.mjs.map +1 -1
  233. package/es/utils/bignumber.mjs +4 -7
  234. package/es/utils/bignumber.mjs.map +1 -1
  235. package/es/utils/bytes.d.ts +0 -17
  236. package/es/utils/bytes.mjs +6 -35
  237. package/es/utils/bytes.mjs.map +1 -1
  238. package/es/utils/crypto.d.ts +15 -8
  239. package/es/utils/crypto.mjs +40 -40
  240. package/es/utils/crypto.mjs.map +1 -1
  241. package/es/utils/encoder-types.d.ts +28 -28
  242. package/es/utils/encoder-types.mjs +0 -1
  243. package/es/utils/encoder-types.mjs.map +1 -1
  244. package/es/utils/encoder.d.ts +0 -1
  245. package/es/utils/encoder.mjs +7 -15
  246. package/es/utils/encoder.mjs.map +1 -1
  247. package/es/utils/errors.d.ts +15 -14
  248. package/es/utils/errors.mjs +86 -172
  249. package/es/utils/errors.mjs.map +1 -1
  250. package/es/utils/hd-wallet.d.ts +27 -19
  251. package/es/utils/hd-wallet.mjs +42 -26
  252. package/es/utils/hd-wallet.mjs.map +1 -1
  253. package/es/utils/json-big.mjs +0 -8
  254. package/es/utils/json-big.mjs.map +1 -1
  255. package/es/utils/keystore.d.ts +2 -0
  256. package/es/utils/keystore.mjs +37 -36
  257. package/es/utils/keystore.mjs.map +1 -1
  258. package/es/utils/other.d.ts +4 -2
  259. package/es/utils/other.mjs +11 -7
  260. package/es/utils/other.mjs.map +1 -1
  261. package/es/utils/semver-satisfies.mjs +0 -3
  262. package/es/utils/semver-satisfies.mjs.map +1 -1
  263. package/es/utils/string.d.ts +0 -12
  264. package/es/utils/string.mjs +1 -21
  265. package/es/utils/string.mjs.map +1 -1
  266. package/package.json +98 -51
  267. package/src/AeSdk.ts +15 -11
  268. package/src/AeSdkAepp.ts +9 -7
  269. package/src/AeSdkBase.ts +31 -202
  270. package/src/AeSdkMethods.ts +169 -0
  271. package/src/AeSdkWallet.ts +16 -47
  272. package/src/Node.ts +17 -18
  273. package/src/account/Base.ts +29 -75
  274. package/src/account/Generalized.ts +98 -0
  275. package/src/account/Ledger.ts +131 -0
  276. package/src/account/LedgerFactory.ts +86 -0
  277. package/src/account/Memory.ts +46 -60
  278. package/src/account/Rpc.ts +17 -26
  279. package/src/aens.ts +13 -11
  280. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
  281. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  282. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
  283. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  284. package/src/aepp-wallet-communication/schema.ts +18 -18
  285. package/src/apis/compiler/code-model-v4.yaml +681 -888
  286. package/src/apis/compiler/compiler.ts +113 -154
  287. package/src/apis/compiler/models/index.ts +80 -140
  288. package/src/apis/compiler/models/mappers.ts +165 -183
  289. package/src/apis/compiler/models/parameters.ts +6 -12
  290. package/src/chain.ts +11 -6
  291. package/src/channel/Base.ts +335 -0
  292. package/src/channel/Contract.ts +488 -0
  293. package/src/channel/Spend.ts +408 -0
  294. package/src/channel/handlers.ts +164 -582
  295. package/src/channel/internal.ts +114 -143
  296. package/src/contract/Contract.ts +610 -0
  297. package/src/contract/compiler/Base.ts +94 -0
  298. package/src/contract/compiler/Cli.ts +134 -0
  299. package/src/contract/compiler/Http.ts +124 -0
  300. package/src/contract/compiler/HttpNode.ts +26 -0
  301. package/src/contract/compiler/getFileSystem.ts +42 -0
  302. package/src/contract/ga.ts +23 -106
  303. package/src/index-browser.ts +58 -0
  304. package/src/index.ts +4 -55
  305. package/src/oracle.ts +8 -8
  306. package/src/spend.ts +6 -14
  307. package/src/tx/builder/constants.ts +33 -3
  308. package/src/tx/builder/field-types/abi-version.ts +21 -0
  309. package/src/tx/builder/field-types/address.ts +62 -0
  310. package/src/tx/builder/field-types/array.ts +19 -0
  311. package/src/tx/builder/field-types/boolean.ts +9 -0
  312. package/src/tx/builder/field-types/coin-amount.ts +4 -9
  313. package/src/tx/builder/field-types/ct-version.ts +50 -0
  314. package/src/tx/builder/field-types/deposit.ts +1 -1
  315. package/src/tx/builder/field-types/encoded.ts +27 -0
  316. package/src/tx/builder/field-types/entry.ts +31 -0
  317. package/src/tx/builder/field-types/enumeration.ts +32 -0
  318. package/src/tx/builder/field-types/fee.ts +39 -21
  319. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  320. package/src/tx/builder/field-types/gas-price.ts +0 -2
  321. package/src/tx/builder/field-types/index.ts +54 -15
  322. package/src/tx/builder/field-types/mptree.ts +242 -0
  323. package/src/tx/builder/field-types/name-fee.ts +2 -3
  324. package/src/tx/builder/field-types/name-id.ts +7 -10
  325. package/src/tx/builder/field-types/pointers.ts +41 -0
  326. package/src/tx/builder/field-types/raw.ts +9 -0
  327. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  328. package/src/tx/builder/field-types/string.ts +11 -0
  329. package/src/tx/builder/field-types/u-int.ts +4 -5
  330. package/src/tx/builder/helpers.ts +10 -60
  331. package/src/tx/builder/index.ts +65 -308
  332. package/src/tx/builder/schema.ts +280 -341
  333. package/src/tx/index.ts +40 -103
  334. package/src/tx/validator.ts +91 -96
  335. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  336. package/src/utils/autorest.ts +16 -1
  337. package/src/utils/bytes.ts +6 -34
  338. package/src/utils/crypto.ts +23 -16
  339. package/src/utils/encoder.ts +0 -1
  340. package/src/utils/errors.ts +22 -25
  341. package/src/utils/hd-wallet.ts +30 -9
  342. package/src/utils/keystore.ts +24 -21
  343. package/src/utils/other.ts +16 -1
  344. package/src/utils/string.ts +0 -20
  345. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  346. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  347. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  348. package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
  349. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  350. package/types-legacy/ts4.2/Node.d.ts +78 -0
  351. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  352. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  353. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  354. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  355. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  356. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  357. package/types-legacy/ts4.2/aens.d.ts +222 -0
  358. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  359. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  363. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  364. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  365. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  366. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  367. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  368. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  369. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  370. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  371. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  372. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  373. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  374. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  375. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  376. package/types-legacy/ts4.2/chain.d.ts +256 -0
  377. package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
  378. package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
  379. package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
  380. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  381. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  382. package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
  383. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  384. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  385. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  386. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  387. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  388. package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
  389. package/types-legacy/ts4.2/globals.d.ts +16 -0
  390. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  391. package/types-legacy/ts4.2/index.d.ts +5 -0
  392. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  393. package/types-legacy/ts4.2/spend.d.ts +62 -0
  394. package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
  395. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
  397. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  398. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  399. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  400. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  401. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
  405. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  407. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
  408. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  409. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
  410. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  411. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
  412. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  413. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  414. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  415. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  416. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  417. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  418. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  419. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
  420. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  421. package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
  422. package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
  423. package/types-legacy/ts4.2/tx/index.d.ts +19 -0
  424. package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
  425. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  426. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  427. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  428. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  429. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  430. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  431. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  432. package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
  433. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  434. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  435. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  436. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  437. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  438. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  439. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  440. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  441. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  442. package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
  443. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  444. package/types-legacy/ts4.5/Node.d.ts +78 -0
  445. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  446. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  447. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  448. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  449. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  450. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  451. package/types-legacy/ts4.5/aens.d.ts +222 -0
  452. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  453. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  454. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  455. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  456. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  457. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  458. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  459. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  460. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  461. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  462. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  463. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  464. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  465. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  466. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  467. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  468. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  469. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  470. package/types-legacy/ts4.5/chain.d.ts +256 -0
  471. package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
  472. package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
  473. package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
  474. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  475. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  476. package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
  477. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  478. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  479. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  480. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  481. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  482. package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
  483. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  484. package/types-legacy/ts4.5/index.d.ts +4 -0
  485. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  486. package/types-legacy/ts4.5/spend.d.ts +62 -0
  487. package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
  488. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  489. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
  490. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  491. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  492. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  493. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  495. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  496. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  497. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
  498. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
  499. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  500. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
  501. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  502. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
  503. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  504. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
  505. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  506. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  507. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  508. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  509. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  510. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  511. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  512. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
  513. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  514. package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
  515. package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
  516. package/types-legacy/ts4.5/tx/index.d.ts +19 -0
  517. package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
  518. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  519. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  520. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  521. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  522. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  523. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  524. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  525. package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
  526. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  527. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  528. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  529. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  530. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  531. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  532. package/es/channel/index.d.ts +0 -625
  533. package/es/channel/index.mjs +0 -975
  534. package/es/channel/index.mjs.map +0 -1
  535. package/es/contract/Compiler.d.ts +0 -18
  536. package/es/contract/Compiler.mjs +0 -68
  537. package/es/contract/Compiler.mjs.map +0 -1
  538. package/es/contract/aci.d.ts +0 -127
  539. package/es/contract/aci.mjs +0 -508
  540. package/es/contract/aci.mjs.map +0 -1
  541. package/es/contract/methods.d.ts +0 -71
  542. package/es/contract/methods.mjs +0 -104
  543. package/es/contract/methods.mjs.map +0 -1
  544. package/es/deprecated/index.d.ts +0 -143
  545. package/es/deprecated/index.mjs +0 -162
  546. package/es/deprecated/index.mjs.map +0 -1
  547. package/es/deprecated/methods.d.ts +0 -18
  548. package/es/deprecated/methods.mjs +0 -26
  549. package/es/deprecated/methods.mjs.map +0 -1
  550. package/es/tx/builder/address.d.ts +0 -25
  551. package/es/tx/builder/address.mjs +0 -45
  552. package/es/tx/builder/address.mjs.map +0 -1
  553. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  554. package/es/utils/mptree.d.ts +0 -26
  555. package/es/utils/mptree.mjs +0 -165
  556. package/es/utils/mptree.mjs.map +0 -1
  557. package/src/channel/index.ts +0 -1025
  558. package/src/contract/Compiler.ts +0 -67
  559. package/src/contract/aci.ts +0 -537
  560. package/src/contract/methods.ts +0 -123
  561. package/src/deprecated/index.ts +0 -172
  562. package/src/deprecated/methods.ts +0 -25
  563. package/src/tx/builder/address.ts +0 -50
  564. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
  565. package/src/utils/mptree.ts +0 -145
@@ -1,5 +1,3 @@
1
- import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
-
3
1
  /*
4
2
  * ISC License (ISC)
5
3
  * Copyright (c) 2018 aeternity developers
@@ -16,41 +14,48 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
16
14
  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
15
  * PERFORMANCE OF THIS SOFTWARE.
18
16
  */
19
-
20
17
  /* eslint-disable consistent-return */
21
-
22
18
  /* eslint-disable default-case */
23
-
24
19
  /* eslint-disable @typescript-eslint/no-use-before-define */
25
- import { generateKeyPair, encodeContractAddress } from "../utils/crypto.mjs";
26
- import { options, changeStatus, changeState, call, send, emit, channelId, disconnect, fsmId } from "./internal.mjs";
20
+ import { changeStatus, changeState, notify, emit, disconnect } from "./internal.mjs";
27
21
  import { unpackTx, buildTx } from "../tx/builder/index.mjs";
28
- import { encode, Encoding } from "../utils/encoder.mjs";
29
- import { IllegalArgumentError, InsufficientBalanceError, ChannelConnectionError, UnexpectedChannelMessageError } from "../utils/errors.mjs";
22
+ import { decode } from "../utils/encoder.mjs";
23
+ import { IllegalArgumentError, InsufficientBalanceError, ChannelConnectionError, UnexpectedChannelMessageError, ChannelError } from "../utils/errors.mjs";
30
24
  import { Tag } from "../tx/builder/constants.mjs";
31
25
  export async function appendSignature(tx, signFn) {
32
26
  const {
33
27
  signatures,
34
28
  encodedTx
35
- } = unpackTx(tx, Tag.SignedTx).tx;
36
- const result = await signFn(encode(encodedTx.rlpEncoded, Encoding.Transaction));
37
-
29
+ } = unpackTx(tx, Tag.SignedTx);
30
+ const payloadTx = buildTx(encodedTx);
31
+ const result = await signFn(payloadTx);
38
32
  if (typeof result === 'string') {
39
33
  const {
40
- tx: signedTx
34
+ signatures: signatures2
41
35
  } = unpackTx(result, Tag.SignedTx);
42
36
  return buildTx({
43
- signatures: signatures.concat(signedTx.signatures),
44
- encodedTx: signedTx.encodedTx.rlpEncoded
45
- }, Tag.SignedTx).tx;
37
+ tag: Tag.SignedTx,
38
+ signatures: signatures.concat(signatures2),
39
+ encodedTx: decode(payloadTx)
40
+ });
46
41
  }
47
-
48
42
  return result;
49
43
  }
50
-
51
- function handleUnexpectedMessage(_channel, message, state) {
44
+ export async function signAndNotify(channel, method, data, signFn) {
45
+ var _signedTx;
46
+ let signedTx;
47
+ if (data.tx != null) signedTx = await signFn(data.tx);else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);else throw new ChannelError('Can\'t find transaction in message');
48
+ const isError = typeof signedTx !== 'string';
49
+ const key = data.tx != null ? 'tx' : 'signed_tx';
50
+ notify(channel, method, isError ? {
51
+ error: (_signedTx = signedTx) !== null && _signedTx !== void 0 ? _signedTx : 1
52
+ } : {
53
+ [key]: signedTx
54
+ });
55
+ return isError;
56
+ }
57
+ export function handleUnexpectedMessage(_channel, message, state) {
52
58
  var _state$reject;
53
-
54
59
  state === null || state === void 0 ? void 0 : (_state$reject = state.reject) === null || _state$reject === void 0 ? void 0 : _state$reject.call(state, Object.assign(new UnexpectedChannelMessageError(`Unexpected message received:\n\n${JSON.stringify(message)}`), {
55
60
  wsMessage: message
56
61
  }));
@@ -58,44 +63,74 @@ function handleUnexpectedMessage(_channel, message, state) {
58
63
  handler: channelOpen
59
64
  };
60
65
  }
61
-
66
+ export function awaitingCompletion(channel, message, state, onSuccess) {
67
+ if (onSuccess != null && message.method === 'channels.update') {
68
+ return onSuccess(channel, message, state);
69
+ }
70
+ if (message.method === 'channels.conflict') {
71
+ state.resolve({
72
+ accepted: false,
73
+ errorCode: message.params.data.error_code,
74
+ errorMessage: message.params.data.error_msg
75
+ });
76
+ return {
77
+ handler: channelOpen
78
+ };
79
+ }
80
+ if (message.method === 'channels.info') {
81
+ if (message.params.data.event === 'aborted_update') {
82
+ state.resolve({
83
+ accepted: false
84
+ });
85
+ return {
86
+ handler: channelOpen
87
+ };
88
+ }
89
+ }
90
+ if (message.error != null) {
91
+ const codes = message.error.data.map(d => d.code);
92
+ if (codes.includes(1001)) {
93
+ state.reject(new InsufficientBalanceError('Insufficient balance'));
94
+ } else if (codes.includes(1002)) {
95
+ state.reject(new IllegalArgumentError('Amount cannot be negative'));
96
+ } else {
97
+ state.reject(new ChannelConnectionError(message.error.message));
98
+ }
99
+ return {
100
+ handler: channelOpen
101
+ };
102
+ }
103
+ return handleUnexpectedMessage(channel, message, state);
104
+ }
62
105
  export function awaitingConnection(channel, message) {
63
106
  if (message.method === 'channels.info') {
64
- var _context;
65
-
66
107
  const channelInfoStatus = message.params.data.event;
67
-
68
- if (_includesInstanceProperty(_context = ['channel_accept', 'funding_created']).call(_context, channelInfoStatus)) {
69
- changeStatus(channel, {
70
- channel_accept: 'accepted',
71
- funding_created: 'halfSigned'
72
- }[channelInfoStatus]);
108
+ let nextStatus = null;
109
+ if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';
110
+ if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';
111
+ if (nextStatus != null) {
112
+ changeStatus(channel, nextStatus);
73
113
  return {
74
114
  handler: awaitingChannelCreateTx
75
115
  };
76
116
  }
77
-
78
117
  if (message.params.data.event === 'channel_reestablished') {
79
118
  return {
80
119
  handler: awaitingOpenConfirmation
81
120
  };
82
121
  }
83
-
84
122
  if (message.params.data.event === 'fsm_up') {
85
- fsmId.set(channel, message.params.data.fsm_id);
123
+ channel._fsmId = message.params.data.fsm_id;
86
124
  return {
87
125
  handler: awaitingConnection
88
126
  };
89
127
  }
90
-
91
128
  return {
92
129
  handler: awaitingConnection
93
130
  };
94
131
  }
95
-
96
132
  if (message.method === 'channels.error') {
97
133
  var _message$payload;
98
-
99
134
  emit(channel, 'error', new ChannelConnectionError(message === null || message === void 0 ? void 0 : (_message$payload = message.payload) === null || _message$payload === void 0 ? void 0 : _message$payload.message));
100
135
  return {
101
136
  handler: channelClosed
@@ -105,120 +140,82 @@ export function awaitingConnection(channel, message) {
105
140
  export async function awaitingReconnection(channel, message, state) {
106
141
  if (message.method === 'channels.info') {
107
142
  if (message.params.data.event === 'fsm_up') {
108
- fsmId.set(channel, message.params.data.fsm_id);
109
- changeState(channel, (await call(channel, 'channels.get.offchain_state', {})).signed_tx);
143
+ channel._fsmId = message.params.data.fsm_id;
144
+ changeState(channel, (await channel.state()).signedTx);
110
145
  return {
111
146
  handler: channelOpen
112
147
  };
113
148
  }
114
149
  }
115
-
116
150
  return handleUnexpectedMessage(channel, message, state);
117
151
  }
118
152
  export async function awaitingChannelCreateTx(channel, message) {
119
- const channelOptions = options.get(channel);
120
-
121
- if (channelOptions != null) {
122
- const tag = {
123
- initiator: 'initiator_sign',
124
- responder: 'responder_sign'
125
- }[channelOptions.role];
126
-
127
- if (message.method === `channels.sign.${tag}`) {
128
- if (message.params.data.tx != null) {
129
- const signedTx = await channelOptions.sign(tag, message.params.data.tx);
130
- send(channel, {
131
- jsonrpc: '2.0',
132
- method: `channels.${tag}`,
133
- params: {
134
- tx: signedTx
135
- }
136
- });
137
- return {
138
- handler: awaitingOnChainTx
139
- };
140
- }
141
-
142
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => channelOptions.sign(tag, tx));
143
- send(channel, {
144
- jsonrpc: '2.0',
145
- method: `channels.${tag}`,
146
- params: {
147
- signed_tx: signedTx
148
- }
149
- });
150
- return {
151
- handler: awaitingOnChainTx
152
- };
153
- }
153
+ const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';
154
+ if (message.method === `channels.sign.${tag}`) {
155
+ await signAndNotify(channel, `channels.${tag}`, message.params.data, async tx => channel._options.sign(tag, tx));
156
+ return {
157
+ handler: awaitingOnChainTx
158
+ };
154
159
  }
155
160
  }
156
161
  export function awaitingOnChainTx(channel, message) {
157
- const channelOptions = options.get(channel);
158
-
159
- if (channelOptions != null) {
160
- if (message.method === 'channels.on_chain_tx') {
161
- if (message.params.data.info === 'funding_signed' && channelOptions.role === 'initiator') {
162
- return {
163
- handler: awaitingBlockInclusion
164
- };
165
- }
166
-
167
- if (message.params.data.info === 'funding_created' && channelOptions.role === 'responder') {
168
- return {
169
- handler: awaitingBlockInclusion
170
- };
162
+ function awaitingBlockInclusion(_, message2) {
163
+ if (message2.method === 'channels.info') {
164
+ switch (message2.params.data.event) {
165
+ case 'funding_created':
166
+ case 'own_funding_locked':
167
+ return {
168
+ handler: awaitingBlockInclusion
169
+ };
170
+ case 'funding_locked':
171
+ return {
172
+ handler: awaitingOpenConfirmation
173
+ };
171
174
  }
172
175
  }
173
-
174
- if (message.method === 'channels.info' && message.params.data.event === 'funding_signed' && channelOptions.role === 'initiator') {
175
- channelId.set(channel, message.params.channel_id);
176
- changeStatus(channel, 'signed');
176
+ if (message2.method === 'channels.on_chain_tx') {
177
+ emit(channel, 'onChainTx', message2.params.data.tx, {
178
+ info: message2.params.data.info,
179
+ type: message2.params.data.type
180
+ });
177
181
  return {
178
- handler: awaitingOnChainTx
182
+ handler: awaitingBlockInclusion
179
183
  };
180
184
  }
181
185
  }
182
- }
183
- export function awaitingBlockInclusion(channel, message) {
184
- if (message.method === 'channels.info') {
185
- const handlers = {
186
- funding_created: awaitingBlockInclusion,
187
- own_funding_locked: awaitingBlockInclusion,
188
- funding_locked: awaitingOpenConfirmation
189
- };
190
- const handler = handlers[message.params.data.event];
191
-
192
- if (handler != null) {
186
+ if (message.method === 'channels.on_chain_tx') {
187
+ const {
188
+ info
189
+ } = message.params.data;
190
+ const {
191
+ role
192
+ } = channel._options;
193
+ if (info === 'funding_signed' && role === 'initiator' || info === 'funding_created' && role === 'responder') {
193
194
  return {
194
- handler
195
+ handler: awaitingBlockInclusion
195
196
  };
196
197
  }
197
198
  }
198
-
199
- if (message.method === 'channels.on_chain_tx') {
200
- emit(channel, 'onChainTx', message.params.data.tx, {
201
- info: message.params.data.info,
202
- type: message.params.data.type
203
- });
199
+ if (message.method === 'channels.info' && message.params.data.event === 'funding_signed' && channel._options.role === 'initiator') {
200
+ channel._channelId = message.params.channel_id;
201
+ changeStatus(channel, 'signed');
204
202
  return {
205
- handler: awaitingBlockInclusion
203
+ handler: awaitingOnChainTx
206
204
  };
207
205
  }
208
206
  }
209
- export function awaitingOpenConfirmation(channel, message) {
207
+ function awaitingOpenConfirmation(channel, message) {
210
208
  if (message.method === 'channels.info' && message.params.data.event === 'open') {
211
- channelId.set(channel, message.params.channel_id);
209
+ channel._channelId = message.params.channel_id;
212
210
  return {
213
- handler: awaitingInitialState
214
- };
215
- }
216
- }
217
- export function awaitingInitialState(channel, message) {
218
- if (message.method === 'channels.update') {
219
- changeState(channel, message.params.data.state);
220
- return {
221
- handler: channelOpen
211
+ handler(_, message2) {
212
+ if (message2.method === 'channels.update') {
213
+ changeState(channel, message2.params.data.state);
214
+ return {
215
+ handler: channelOpen
216
+ };
217
+ }
218
+ }
222
219
  };
223
220
  }
224
221
  }
@@ -232,7 +229,6 @@ export async function channelOpen(channel, message, state) {
232
229
  return {
233
230
  handler: awaitingTxSignRequest
234
231
  };
235
-
236
232
  case 'own_withdraw_locked':
237
233
  case 'withdraw_locked':
238
234
  case 'own_deposit_locked':
@@ -248,45 +244,37 @@ export async function channelOpen(channel, message, state) {
248
244
  return {
249
245
  handler: channelOpen
250
246
  };
251
-
252
247
  case 'fsm_up':
253
- fsmId.set(channel, message.params.data.fsm_id);
248
+ channel._fsmId = message.params.data.fsm_id;
254
249
  return {
255
250
  handler: channelOpen
256
251
  };
257
-
258
252
  case 'timeout':
259
253
  case 'close_mutual':
260
254
  return {
261
255
  handler: channelOpen
262
256
  };
263
-
264
257
  case 'closing':
265
258
  changeStatus(channel, 'closing');
266
259
  return {
267
260
  handler: channelOpen
268
261
  };
269
-
270
262
  case 'closed_confirmed':
271
263
  changeStatus(channel, 'closed');
272
264
  return {
273
265
  handler: channelClosed
274
266
  };
275
-
276
267
  case 'died':
277
268
  changeStatus(channel, 'died');
278
269
  return {
279
270
  handler: channelClosed
280
271
  };
281
-
282
272
  case 'shutdown':
283
273
  return {
284
274
  handler: channelOpen
285
275
  };
286
276
  }
287
-
288
277
  break;
289
-
290
278
  case 'channels.on_chain_tx':
291
279
  emit(channel, 'onChainTx', message.params.data.tx, {
292
280
  info: message.params.data.info,
@@ -295,314 +283,69 @@ export async function channelOpen(channel, message, state) {
295
283
  return {
296
284
  handler: channelOpen
297
285
  };
298
-
299
286
  case 'channels.leave':
300
287
  // TODO: emit event
301
288
  return {
302
289
  handler: channelOpen
303
290
  };
304
-
305
291
  case 'channels.update':
306
292
  changeState(channel, message.params.data.state);
307
293
  return {
308
294
  handler: channelOpen
309
295
  };
310
-
311
296
  case 'channels.sign.shutdown_sign_ack':
312
297
  return awaitingTxSignRequest(channel, message, state);
313
298
  }
314
299
  }
315
-
316
300
  channelOpen.enter = channel => {
317
301
  changeStatus(channel, 'open');
318
302
  };
319
-
320
- export async function awaitingOffChainTx(channel, message, state) {
321
- if (message.method === 'channels.sign.update') {
322
- const {
323
- sign
324
- } = state;
325
-
326
- if (message.params.data.tx != null) {
327
- const signedTx = await sign(message.params.data.tx, {
328
- updates: message.params.data.updates
329
- });
330
- send(channel, {
331
- jsonrpc: '2.0',
332
- method: 'channels.update',
333
- params: {
334
- tx: signedTx
335
- }
336
- });
337
- return {
338
- handler: awaitingOffChainUpdate,
339
- state
340
- };
341
- }
342
-
343
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => sign(tx, {
344
- updates: message.params.data.updates
345
- }));
346
-
347
- if (typeof signedTx === 'string') {
348
- send(channel, {
349
- jsonrpc: '2.0',
350
- method: 'channels.update',
351
- params: {
352
- signed_tx: signedTx
353
- }
354
- });
355
- return {
356
- handler: awaitingOffChainUpdate,
357
- state
358
- };
359
- }
360
-
361
- if (typeof signedTx === 'number') {
362
- send(channel, {
363
- jsonrpc: '2.0',
364
- method: 'channels.update',
365
- params: {
366
- error: signedTx
367
- }
368
- });
303
+ async function awaitingTxSignRequest(channel, message, state) {
304
+ var _message$method$match;
305
+ const [, tag] = (_message$method$match = message.method.match(/^channels\.sign\.([^.]+)$/)) !== null && _message$method$match !== void 0 ? _message$method$match : [];
306
+ if (tag == null) return handleUnexpectedMessage(channel, message, state);
307
+ const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async tx => channel._options.sign(tag, tx, {
308
+ updates: message.params.data.updates
309
+ }));
310
+ function awaitingUpdateConflict(_, message2) {
311
+ if (message2.error != null) {
369
312
  return {
370
- handler: awaitingOffChainTx,
313
+ handler: awaitingUpdateConflict,
371
314
  state
372
315
  };
373
316
  }
374
- }
375
-
376
- if (message.method === 'channels.error') {
377
- state.reject(new ChannelConnectionError(message.data.message));
378
- return {
379
- handler: channelOpen
380
- };
381
- }
382
-
383
- if (message.error != null) {
384
- var _message$error;
385
-
386
- const {
387
- data
388
- } = (_message$error = message.error) !== null && _message$error !== void 0 ? _message$error : {
389
- data: []
390
- };
391
-
392
- if (data.find(i => i.code === 1001) != null) {
393
- state.reject(new InsufficientBalanceError('Insufficient balance'));
394
- } else if (data.find(i => i.code === 1002) != null) {
395
- state.reject(new IllegalArgumentError('Amount cannot be negative'));
396
- } else {
397
- state.reject(new ChannelConnectionError(message.error.message));
398
- }
399
-
400
- return {
401
- handler: channelOpen
402
- };
403
- }
404
-
405
- if (message.method === 'channels.conflict') {
406
- state.resolve({
407
- accepted: false,
408
- errorCode: message.params.data.error_code,
409
- errorMessage: message.params.data.error_msg
410
- });
411
- return {
412
- handler: channelOpen
413
- };
414
- }
415
-
416
- if (message.method === 'channels.info') {
417
- if (message.params.data.event === 'aborted_update') {
418
- state.resolve({
419
- accepted: false
420
- });
317
+ if (message2.method === 'channels.conflict') {
421
318
  return {
422
319
  handler: channelOpen
423
320
  };
424
321
  }
322
+ return handleUnexpectedMessage(channel, message2, state);
425
323
  }
426
-
427
- return handleUnexpectedMessage(channel, message, state);
324
+ return isError ? {
325
+ handler: awaitingUpdateConflict,
326
+ state
327
+ } : {
328
+ handler: channelOpen
329
+ };
428
330
  }
429
- export function awaitingOffChainUpdate(channel, message, state) {
430
- if (message.method === 'channels.update') {
431
- changeState(channel, message.params.data.state);
432
- state.resolve({
433
- accepted: true,
434
- signedTx: message.params.data.state
435
- });
436
- return {
437
- handler: channelOpen
438
- };
439
- }
440
-
441
- if (message.method === 'channels.conflict') {
442
- state.resolve({
443
- accepted: false,
444
- errorCode: message.params.data.error_code,
445
- errorMessage: message.params.data.error_msg
446
- });
447
- return {
448
- handler: channelOpen
449
- };
450
- }
451
-
452
- if (message.method === 'channels.info') {
453
- if (message.params.data.event === 'aborted_update') {
454
- state.resolve({
455
- accepted: false
456
- });
457
- return {
458
- handler: channelOpen
459
- };
460
- }
461
- }
462
-
463
- if (message.error != null) {
464
- state.reject(new ChannelConnectionError(message.error.message));
465
- return {
466
- handler: channelOpen
467
- };
331
+ export async function awaitingShutdownTx(channel, message, state) {
332
+ if (message.method !== 'channels.sign.shutdown_sign') {
333
+ return handleUnexpectedMessage(channel, message, state);
468
334
  }
469
-
470
- return handleUnexpectedMessage(channel, message, state);
471
- }
472
- export async function awaitingTxSignRequest(channel, message, state) {
473
- var _message$method$match;
474
-
475
- const [, tag] = (_message$method$match = message.method.match(/^channels\.sign\.([^.]+)$/)) !== null && _message$method$match !== void 0 ? _message$method$match : [];
476
- const channelOptions = options.get(channel);
477
-
478
- if (tag != null && channelOptions != null) {
479
- if (message.params.data.tx != null) {
480
- const signedTx = await channelOptions.sign(tag, message.params.data.tx, {
481
- updates: message.params.data.updates
482
- });
483
-
484
- if (signedTx != null) {
485
- send(channel, {
486
- jsonrpc: '2.0',
487
- method: `channels.${tag}`,
488
- params: {
489
- tx: signedTx
490
- }
491
- });
492
- return {
493
- handler: channelOpen
494
- };
495
- }
496
- } else {
497
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => channelOptions.sign(tag, tx, {
498
- updates: message.params.data.updates
499
- }));
500
-
501
- if (typeof signedTx === 'string') {
502
- send(channel, {
503
- jsonrpc: '2.0',
504
- method: `channels.${tag}`,
505
- params: {
506
- signed_tx: signedTx
507
- }
508
- });
509
- return {
510
- handler: channelOpen
511
- };
512
- }
513
-
514
- if (typeof signedTx === 'number') {
515
- send(channel, {
516
- jsonrpc: '2.0',
517
- method: `channels.${tag}`,
518
- params: {
519
- error: signedTx
520
- }
521
- });
522
- return {
523
- handler: awaitingUpdateConflict,
524
- state
525
- };
526
- }
527
- } // soft-reject via competing update
528
-
529
-
530
- send(channel, {
531
- jsonrpc: '2.0',
532
- method: 'channels.update.new',
533
- params: {
534
- from: generateKeyPair().publicKey,
535
- to: generateKeyPair().publicKey,
536
- amount: 1
335
+ await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async tx => state.sign(tx));
336
+ return {
337
+ handler(_, message2) {
338
+ if (message2.method !== 'channels.on_chain_tx') {
339
+ return handleUnexpectedMessage(channel, message2, state);
537
340
  }
538
- });
539
- return {
540
- handler: awaitingUpdateConflict,
541
- state
542
- };
543
- }
544
-
545
- return handleUnexpectedMessage(channel, message, state);
546
- }
547
- export function awaitingUpdateConflict(channel, message, state) {
548
- if (message.error != null) {
549
- return {
550
- handler: awaitingUpdateConflict,
551
- state
552
- };
553
- }
554
-
555
- if (message.method === 'channels.conflict') {
556
- return {
557
- handler: channelOpen
558
- };
559
- }
560
-
561
- return handleUnexpectedMessage(channel, message, state);
562
- }
563
- export async function awaitingShutdownTx(channel, message, state) {
564
- if (message.method === 'channels.sign.shutdown_sign') {
565
- if (message.params.data.tx != null) {
566
- const signedTx = await state.sign(message.params.data.tx);
567
- send(channel, {
568
- jsonrpc: '2.0',
569
- method: 'channels.shutdown_sign',
570
- params: {
571
- tx: signedTx
572
- }
573
- });
341
+ // state.resolve(message.params.data.tx)
574
342
  return {
575
- handler: awaitingShutdownOnChainTx,
343
+ handler: channelClosed,
576
344
  state
577
345
  };
578
- }
579
-
580
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => state.sign(tx));
581
- send(channel, {
582
- jsonrpc: '2.0',
583
- method: 'channels.shutdown_sign',
584
- params: {
585
- signed_tx: signedTx
586
- }
587
- });
588
- return {
589
- handler: awaitingShutdownOnChainTx,
590
- state
591
- };
592
- }
593
-
594
- return handleUnexpectedMessage(channel, message, state);
595
- }
596
- export function awaitingShutdownOnChainTx(channel, message, state) {
597
- if (message.method === 'channels.on_chain_tx') {
598
- // state.resolve(message.params.data.tx)
599
- return {
600
- handler: channelClosed,
601
- state
602
- };
603
- }
604
-
605
- return handleUnexpectedMessage(channel, message, state);
346
+ },
347
+ state
348
+ };
606
349
  }
607
350
  export function awaitingLeave(channel, message, state) {
608
351
  if (message.method === 'channels.leave') {
@@ -615,502 +358,14 @@ export function awaitingLeave(channel, message, state) {
615
358
  handler: channelClosed
616
359
  };
617
360
  }
618
-
619
361
  if (message.method === 'channels.error') {
620
362
  state.reject(new ChannelConnectionError(message.data.message));
621
363
  return {
622
364
  handler: channelOpen
623
365
  };
624
366
  }
625
-
626
367
  return handleUnexpectedMessage(channel, message, state);
627
368
  }
628
- export async function awaitingWithdrawTx(channel, message, state) {
629
- if (message.method === 'channels.sign.withdraw_tx') {
630
- const {
631
- sign
632
- } = state;
633
-
634
- if (message.params.data.tx != null) {
635
- const signedTx = await sign(message.params.data.tx, {
636
- updates: message.params.data.updates
637
- });
638
- send(channel, {
639
- jsonrpc: '2.0',
640
- method: 'channels.withdraw_tx',
641
- params: {
642
- tx: signedTx
643
- }
644
- });
645
- return {
646
- handler: awaitingWithdrawCompletion,
647
- state
648
- };
649
- }
650
-
651
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => sign(tx, {
652
- updates: message.params.data.updates
653
- }));
654
-
655
- if (typeof signedTx === 'string') {
656
- send(channel, {
657
- jsonrpc: '2.0',
658
- method: 'channels.withdraw_tx',
659
- params: {
660
- signed_tx: signedTx
661
- }
662
- });
663
- return {
664
- handler: awaitingWithdrawCompletion,
665
- state
666
- };
667
- }
668
-
669
- if (typeof signedTx === 'number') {
670
- send(channel, {
671
- jsonrpc: '2.0',
672
- method: 'channels.withdraw_tx',
673
- params: {
674
- error: signedTx
675
- }
676
- });
677
- return {
678
- handler: awaitingWithdrawCompletion,
679
- state
680
- };
681
- }
682
- }
683
-
684
- return handleUnexpectedMessage(channel, message, state);
685
- }
686
- export function awaitingWithdrawCompletion(channel, message, state) {
687
- if (message.method === 'channels.on_chain_tx') {
688
- var _state$onOnChainTx;
689
-
690
- (_state$onOnChainTx = state.onOnChainTx) === null || _state$onOnChainTx === void 0 ? void 0 : _state$onOnChainTx.call(state, message.params.data.tx);
691
- return {
692
- handler: awaitingWithdrawCompletion,
693
- state
694
- };
695
- }
696
-
697
- if (message.method === 'channels.info') {
698
- var _context2;
699
-
700
- if (_includesInstanceProperty(_context2 = ['own_withdraw_locked', 'withdraw_locked']).call(_context2, message.params.data.event)) {
701
- var _callbacks$message$pa;
702
-
703
- const callbacks = {
704
- own_withdraw_locked: state.onOwnWithdrawLocked,
705
- withdraw_locked: state.onWithdrawLocked
706
- };
707
- (_callbacks$message$pa = callbacks[message.params.data.event]) === null || _callbacks$message$pa === void 0 ? void 0 : _callbacks$message$pa.call(callbacks);
708
- return {
709
- handler: awaitingWithdrawCompletion,
710
- state
711
- };
712
- }
713
- }
714
-
715
- if (message.method === 'channels.update') {
716
- changeState(channel, message.params.data.state);
717
- state.resolve({
718
- accepted: true,
719
- signedTx: message.params.data.state
720
- });
721
- return {
722
- handler: channelOpen
723
- };
724
- }
725
-
726
- if (message.method === 'channels.conflict') {
727
- state.resolve({
728
- accepted: false,
729
- errorCode: message.params.data.error_code,
730
- errorMessage: message.params.data.error_msg
731
- });
732
- return {
733
- handler: channelOpen
734
- };
735
- }
736
-
737
- if (message.method === 'channels.info') {
738
- if (message.params.data.event === 'aborted_update') {
739
- state.resolve({
740
- accepted: false
741
- });
742
- return {
743
- handler: channelOpen
744
- };
745
- }
746
- }
747
-
748
- return handleUnexpectedMessage(channel, message, state);
749
- }
750
- export async function awaitingDepositTx(channel, message, state) {
751
- if (message.method === 'channels.sign.deposit_tx') {
752
- const {
753
- sign
754
- } = state;
755
-
756
- if (message.params.data.tx != null) {
757
- const signedTx = await sign(message.params.data.tx, {
758
- updates: message.params.data.updates
759
- });
760
- send(channel, {
761
- jsonrpc: '2.0',
762
- method: 'channels.deposit_tx',
763
- params: {
764
- tx: signedTx
765
- }
766
- });
767
- return {
768
- handler: awaitingDepositCompletion,
769
- state
770
- };
771
- }
772
-
773
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => sign(tx, {
774
- updates: message.params.data.updates
775
- }));
776
-
777
- if (typeof signedTx === 'string') {
778
- send(channel, {
779
- jsonrpc: '2.0',
780
- method: 'channels.deposit_tx',
781
- params: {
782
- signed_tx: signedTx
783
- }
784
- });
785
- return {
786
- handler: awaitingDepositCompletion,
787
- state
788
- };
789
- }
790
-
791
- if (typeof signedTx === 'number') {
792
- send(channel, {
793
- jsonrpc: '2.0',
794
- method: 'channels.deposit_tx',
795
- params: {
796
- error: signedTx
797
- }
798
- });
799
- return {
800
- handler: awaitingDepositCompletion,
801
- state
802
- };
803
- }
804
- }
805
-
806
- return handleUnexpectedMessage(channel, message, state);
807
- }
808
- export function awaitingDepositCompletion(channel, message, state) {
809
- if (message.method === 'channels.on_chain_tx') {
810
- var _state$onOnChainTx2;
811
-
812
- (_state$onOnChainTx2 = state.onOnChainTx) === null || _state$onOnChainTx2 === void 0 ? void 0 : _state$onOnChainTx2.call(state, message.params.data.tx);
813
- return {
814
- handler: awaitingDepositCompletion,
815
- state
816
- };
817
- }
818
-
819
- if (message.method === 'channels.info') {
820
- var _context3;
821
-
822
- if (_includesInstanceProperty(_context3 = ['own_deposit_locked', 'deposit_locked']).call(_context3, message.params.data.event)) {
823
- var _callbacks$message$pa2;
824
-
825
- const callbacks = {
826
- own_deposit_locked: state.onOwnDepositLocked,
827
- deposit_locked: state.onDepositLocked
828
- };
829
- (_callbacks$message$pa2 = callbacks[message.params.data.event]) === null || _callbacks$message$pa2 === void 0 ? void 0 : _callbacks$message$pa2.call(callbacks);
830
- return {
831
- handler: awaitingDepositCompletion,
832
- state
833
- };
834
- }
835
- }
836
-
837
- if (message.method === 'channels.update') {
838
- changeState(channel, message.params.data.state);
839
- state.resolve({
840
- accepted: true,
841
- signedTx: message.params.data.state
842
- });
843
- return {
844
- handler: channelOpen
845
- };
846
- }
847
-
848
- if (message.method === 'channels.conflict') {
849
- state.resolve({
850
- accepted: false,
851
- errorCode: message.params.data.error_code,
852
- errorMessage: message.params.data.error_msg
853
- });
854
- return {
855
- handler: channelOpen
856
- };
857
- }
858
-
859
- if (message.method === 'channels.info') {
860
- if (message.params.data.event === 'aborted_update') {
861
- state.resolve({
862
- accepted: false
863
- });
864
- return {
865
- handler: channelOpen
866
- };
867
- }
868
- }
869
-
870
- return handleUnexpectedMessage(channel, message, state);
871
- }
872
- export async function awaitingNewContractTx(channel, message, state) {
873
- if (message.method === 'channels.sign.update') {
874
- if (message.params.data.tx != null) {
875
- const signedTx = await state.sign(message.params.data.tx);
876
- send(channel, {
877
- jsonrpc: '2.0',
878
- method: 'channels.update',
879
- params: {
880
- tx: signedTx
881
- }
882
- });
883
- return {
884
- handler: awaitingNewContractCompletion,
885
- state
886
- };
887
- }
888
-
889
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => state.sign(tx));
890
-
891
- if (typeof signedTx === 'string') {
892
- send(channel, {
893
- jsonrpc: '2.0',
894
- method: 'channels.update',
895
- params: {
896
- signed_tx: signedTx
897
- }
898
- });
899
- return {
900
- handler: awaitingNewContractCompletion,
901
- state
902
- };
903
- }
904
-
905
- if (typeof signedTx === 'number') {
906
- send(channel, {
907
- jsonrpc: '2.0',
908
- method: 'channels.update',
909
- params: {
910
- error: signedTx
911
- }
912
- });
913
- return {
914
- handler: awaitingNewContractCompletion,
915
- state
916
- };
917
- }
918
- }
919
-
920
- return handleUnexpectedMessage(channel, message, state);
921
- }
922
- export function awaitingNewContractCompletion(channel, message, state) {
923
- const channelOptions = options.get(channel);
924
-
925
- if (message.method === 'channels.update') {
926
- const {
927
- round
928
- } = unpackTx(message.params.data.state, Tag.SignedTx).tx.encodedTx.tx;
929
-
930
- if ((channelOptions === null || channelOptions === void 0 ? void 0 : channelOptions.role) != null) {
931
- let role = null;
932
- if (channelOptions.role === 'initiator') role = 'initiatorId';
933
- if (channelOptions.role === 'responder') role = 'responderId';
934
-
935
- if (role != null) {
936
- const owner = channelOptions === null || channelOptions === void 0 ? void 0 : channelOptions[role];
937
- changeState(channel, message.params.data.state);
938
- state.resolve({
939
- accepted: true,
940
- address: encodeContractAddress(owner, round),
941
- signedTx: message.params.data.state
942
- });
943
- return {
944
- handler: channelOpen
945
- };
946
- }
947
- }
948
- }
949
-
950
- if (message.method === 'channels.conflict') {
951
- state.resolve({
952
- accepted: false,
953
- errorCode: message.params.data.error_code,
954
- errorMessage: message.params.data.error_msg
955
- });
956
- return {
957
- handler: channelOpen
958
- };
959
- }
960
-
961
- if (message.method === 'channels.info') {
962
- if (message.params.data.event === 'aborted_update') {
963
- state.resolve({
964
- accepted: false
965
- });
966
- return {
967
- handler: channelOpen
968
- };
969
- }
970
- }
971
-
972
- return handleUnexpectedMessage(channel, message, state);
973
- }
974
- export async function awaitingCallContractUpdateTx(channel, message, state) {
975
- if (message.method === 'channels.sign.update') {
976
- if (message.params.data.tx != null) {
977
- const signedTx = await state.sign(message.params.data.tx, {
978
- updates: message.params.data.updates
979
- });
980
- send(channel, {
981
- jsonrpc: '2.0',
982
- method: 'channels.update',
983
- params: {
984
- tx: signedTx
985
- }
986
- });
987
- return {
988
- handler: awaitingCallContractCompletion,
989
- state
990
- };
991
- }
992
-
993
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => state.sign(tx, {
994
- updates: message.params.data.updates
995
- }));
996
-
997
- if (typeof signedTx === 'string') {
998
- send(channel, {
999
- jsonrpc: '2.0',
1000
- method: 'channels.update',
1001
- params: {
1002
- signed_tx: signedTx
1003
- }
1004
- });
1005
- return {
1006
- handler: awaitingCallContractCompletion,
1007
- state
1008
- };
1009
- }
1010
-
1011
- if (typeof signedTx === 'number') {
1012
- send(channel, {
1013
- jsonrpc: '2.0',
1014
- method: 'channels.update',
1015
- params: {
1016
- error: signedTx
1017
- }
1018
- });
1019
- return {
1020
- handler: awaitingCallContractCompletion,
1021
- state
1022
- };
1023
- }
1024
- }
1025
-
1026
- return handleUnexpectedMessage(channel, message, state);
1027
- }
1028
- export async function awaitingCallContractForceProgressUpdate(channel, message, state) {
1029
- if (message.method === 'channels.sign.force_progress_tx') {
1030
- const signedTx = await appendSignature(message.params.data.signed_tx, async tx => state.sign(tx, {
1031
- updates: message.params.data.updates
1032
- }));
1033
- send(channel, {
1034
- jsonrpc: '2.0',
1035
- method: 'channels.force_progress_sign',
1036
- params: {
1037
- signed_tx: signedTx
1038
- }
1039
- });
1040
- return {
1041
- handler: awaitingForceProgressCompletion,
1042
- state
1043
- };
1044
- }
1045
-
1046
- return handleUnexpectedMessage(channel, message, state);
1047
- }
1048
- export function awaitingForceProgressCompletion(channel, message, state) {
1049
- if (message.method === 'channels.on_chain_tx') {
1050
- var _state$onOnChainTx3;
1051
-
1052
- (_state$onOnChainTx3 = state.onOnChainTx) === null || _state$onOnChainTx3 === void 0 ? void 0 : _state$onOnChainTx3.call(state, message.params.data.tx);
1053
- emit(channel, 'onChainTx', message.params.data.tx, {
1054
- info: message.params.data.info,
1055
- type: message.params.data.type
1056
- });
1057
- state.resolve({
1058
- accepted: true,
1059
- tx: message.params.data.tx
1060
- });
1061
- }
1062
-
1063
- return handleUnexpectedMessage(channel, message, state);
1064
- }
1065
- export function awaitingCallContractCompletion(channel, message, state) {
1066
- if (message.method === 'channels.update') {
1067
- changeState(channel, message.params.data.state);
1068
- state.resolve({
1069
- accepted: true,
1070
- signedTx: message.params.data.state
1071
- });
1072
- return {
1073
- handler: channelOpen
1074
- };
1075
- }
1076
-
1077
- if (message.method === 'channels.conflict') {
1078
- state.resolve({
1079
- accepted: false,
1080
- errorCode: message.params.data.error_code,
1081
- errorMessage: message.params.data.error_msg
1082
- });
1083
- return {
1084
- handler: channelOpen
1085
- };
1086
- }
1087
-
1088
- if (message.method === 'channels.info') {
1089
- if (message.params.data.event === 'aborted_update') {
1090
- state.resolve({
1091
- accepted: false
1092
- });
1093
- return {
1094
- handler: channelOpen
1095
- };
1096
- }
1097
- }
1098
-
1099
- return handleUnexpectedMessage(channel, message, state);
1100
- }
1101
- export function awaitingCallsPruned(_channels, message, state) {
1102
- if (message.method === 'channels.calls_pruned.reply') {
1103
- state.resolve();
1104
- return {
1105
- handler: channelOpen
1106
- };
1107
- }
1108
-
1109
- state.reject(new UnexpectedChannelMessageError('Unexpected message received'));
1110
- return {
1111
- handler: channelClosed
1112
- };
1113
- }
1114
369
  export function channelClosed(_channel, message, state) {
1115
370
  if (state == null) return {
1116
371
  handler: channelClosed
@@ -1119,7 +374,6 @@ export function channelClosed(_channel, message, state) {
1119
374
  handler: channelClosed,
1120
375
  state
1121
376
  };
1122
-
1123
377
  if (message.params.data.info === 'channel_closed') {
1124
378
  state.closeTx = message.params.data.tx;
1125
379
  return {
@@ -1127,14 +381,12 @@ export function channelClosed(_channel, message, state) {
1127
381
  state
1128
382
  };
1129
383
  }
1130
-
1131
384
  if (message.params.data.event === 'closed_confirmed') {
1132
385
  state.resolve(state.closeTx);
1133
386
  return {
1134
387
  handler: channelClosed
1135
388
  };
1136
389
  }
1137
-
1138
390
  return {
1139
391
  handler: channelClosed,
1140
392
  state