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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.map +1 -1
  3. package/dist/aepp-sdk.browser.js +1 -1
  4. package/dist/aepp-sdk.browser.js.map +1 -1
  5. package/dist/aepp-sdk.js +6580 -8859
  6. package/dist/aepp-sdk.js.map +1 -1
  7. package/es/AeSdk.d.ts +7 -3
  8. package/es/AeSdk.mjs +17 -22
  9. package/es/AeSdk.mjs.map +1 -1
  10. package/es/AeSdkAepp.d.ts +6 -5
  11. package/es/AeSdkAepp.mjs +7 -30
  12. package/es/AeSdkAepp.mjs.map +1 -1
  13. package/es/AeSdkBase.d.ts +18 -140
  14. package/es/AeSdkBase.mjs +27 -185
  15. package/es/AeSdkBase.mjs.map +1 -1
  16. package/es/AeSdkMethods.d.ts +124 -0
  17. package/es/AeSdkMethods.mjs +122 -0
  18. package/es/AeSdkMethods.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +7 -21
  20. package/es/AeSdkWallet.mjs +38 -86
  21. package/es/AeSdkWallet.mjs.map +1 -1
  22. package/es/Node.d.ts +7 -12
  23. package/es/Node.mjs +34 -47
  24. package/es/Node.mjs.map +1 -1
  25. package/es/account/Base.d.ts +24 -40
  26. package/es/account/Base.mjs +1 -101
  27. package/es/account/Base.mjs.map +1 -1
  28. package/es/account/Generalized.d.ts +16 -0
  29. package/es/account/Generalized.mjs +111 -0
  30. package/es/account/Generalized.mjs.map +1 -0
  31. package/es/account/Ledger.d.ts +28 -0
  32. package/es/account/Ledger.mjs +101 -0
  33. package/es/account/Ledger.mjs.map +1 -0
  34. package/es/account/LedgerFactory.d.ts +39 -0
  35. package/es/account/LedgerFactory.mjs +81 -0
  36. package/es/account/LedgerFactory.mjs.map +1 -0
  37. package/es/account/Memory.d.ts +13 -17
  38. package/es/account/Memory.mjs +43 -65
  39. package/es/account/Memory.mjs.map +1 -1
  40. package/es/account/Rpc.d.ts +6 -8
  41. package/es/account/Rpc.mjs +14 -32
  42. package/es/account/Rpc.mjs.map +1 -1
  43. package/es/aens.d.ts +3 -3
  44. package/es/aens.mjs +42 -41
  45. package/es/aens.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  47. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +3 -7
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  51. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  53. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  55. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +4 -41
  56. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  58. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/schema.mjs +14 -68
  60. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  62. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  63. package/es/apis/compiler/compiler.d.ts +23 -29
  64. package/es/apis/compiler/compiler.mjs +128 -189
  65. package/es/apis/compiler/compiler.mjs.map +1 -1
  66. package/es/apis/compiler/index.mjs.map +1 -1
  67. package/es/apis/compiler/models/index.d.ts +82 -135
  68. package/es/apis/compiler/models/index.mjs +1 -47
  69. package/es/apis/compiler/models/index.mjs.map +1 -1
  70. package/es/apis/compiler/models/mappers.d.ts +8 -8
  71. package/es/apis/compiler/models/mappers.mjs +165 -183
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  73. package/es/apis/compiler/models/parameters.d.ts +0 -1
  74. package/es/apis/compiler/models/parameters.mjs +5 -9
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  76. package/es/apis/node/index.mjs.map +1 -1
  77. package/es/apis/node/models/index.d.ts +48 -48
  78. package/es/apis/node/models/mappers.mjs +12 -6
  79. package/es/apis/node/models/mappers.mjs.map +1 -1
  80. package/es/apis/node/models/parameters.mjs.map +1 -1
  81. package/es/apis/node/node.mjs +43 -84
  82. package/es/apis/node/node.mjs.map +1 -1
  83. package/es/chain.d.ts +1 -1
  84. package/es/chain.mjs +33 -58
  85. package/es/chain.mjs.map +1 -1
  86. package/es/channel/Base.d.ts +195 -0
  87. package/es/channel/Base.mjs +290 -0
  88. package/es/channel/Base.mjs.map +1 -0
  89. package/es/channel/Contract.d.ts +247 -0
  90. package/es/channel/Contract.mjs +420 -0
  91. package/es/channel/Contract.mjs.map +1 -0
  92. package/es/channel/Spend.d.ts +217 -0
  93. package/es/channel/Spend.mjs +383 -0
  94. package/es/channel/Spend.mjs.map +1 -0
  95. package/es/channel/handlers.d.ts +8 -21
  96. package/es/channel/handlers.mjs +141 -891
  97. package/es/channel/handlers.mjs.map +1 -1
  98. package/es/channel/internal.d.ts +27 -21
  99. package/es/channel/internal.mjs +98 -190
  100. package/es/channel/internal.mjs.map +1 -1
  101. package/es/contract/{Compiler.d.ts → CompilerHttp.d.ts} +3 -3
  102. package/es/contract/{Compiler.mjs → CompilerHttp.mjs} +8 -13
  103. package/es/contract/CompilerHttp.mjs.map +1 -0
  104. package/es/contract/Contract.d.ts +235 -0
  105. package/es/contract/Contract.mjs +534 -0
  106. package/es/contract/Contract.mjs.map +1 -0
  107. package/es/contract/ga.d.ts +7 -33
  108. package/es/contract/ga.mjs +20 -112
  109. package/es/contract/ga.mjs.map +1 -1
  110. package/es/index.d.ts +9 -6
  111. package/es/index.mjs +8 -6
  112. package/es/index.mjs.map +1 -1
  113. package/es/oracle.d.ts +5 -5
  114. package/es/oracle.mjs +33 -39
  115. package/es/oracle.mjs.map +1 -1
  116. package/es/spend.d.ts +3 -3
  117. package/es/spend.mjs +17 -20
  118. package/es/spend.mjs.map +1 -1
  119. package/es/tx/builder/constants.d.ts +2 -1
  120. package/es/tx/builder/constants.mjs +12 -12
  121. package/es/tx/builder/constants.mjs.map +1 -1
  122. package/es/tx/builder/field-types/address.d.ts +15 -0
  123. package/es/tx/builder/field-types/address.mjs +42 -0
  124. package/es/tx/builder/field-types/address.mjs.map +1 -0
  125. package/es/tx/builder/field-types/addresses.d.ts +6 -0
  126. package/es/tx/builder/field-types/addresses.mjs +13 -0
  127. package/es/tx/builder/field-types/addresses.mjs.map +1 -0
  128. package/es/tx/builder/field-types/coin-amount.d.ts +1 -2
  129. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  130. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  131. package/es/tx/builder/field-types/deposit.d.ts +0 -1
  132. package/es/tx/builder/field-types/deposit.mjs +2 -4
  133. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  134. package/es/tx/builder/field-types/enumeration.d.ts +5 -0
  135. package/es/tx/builder/field-types/enumeration.mjs +21 -0
  136. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  137. package/es/tx/builder/field-types/fee.d.ts +1 -9
  138. package/es/tx/builder/field-types/fee.mjs +9 -25
  139. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  140. package/es/tx/builder/field-types/field.mjs +0 -2
  141. package/es/tx/builder/field-types/field.mjs.map +1 -1
  142. package/es/tx/builder/field-types/gas-limit.mjs +4 -9
  143. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  144. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  145. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  146. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  147. package/es/tx/builder/field-types/index.d.ts +23 -11
  148. package/es/tx/builder/field-types/index.mjs +10 -3
  149. package/es/tx/builder/field-types/index.mjs.map +1 -1
  150. package/es/tx/builder/field-types/name-fee.d.ts +0 -1
  151. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  152. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  153. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  154. package/es/tx/builder/field-types/name-id.mjs +4 -10
  155. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  156. package/es/tx/builder/field-types/name.mjs +0 -2
  157. package/es/tx/builder/field-types/name.mjs.map +1 -1
  158. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  159. package/es/tx/builder/field-types/pointers.mjs +36 -0
  160. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  161. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  162. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  163. package/es/tx/builder/field-types/u-int.d.ts +1 -1
  164. package/es/tx/builder/field-types/u-int.mjs +3 -4
  165. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  166. package/es/tx/builder/helpers.d.ts +2 -32
  167. package/es/tx/builder/helpers.mjs +19 -71
  168. package/es/tx/builder/helpers.mjs.map +1 -1
  169. package/es/tx/builder/index.d.ts +1 -21
  170. package/es/tx/builder/index.mjs +29 -148
  171. package/es/tx/builder/index.mjs.map +1 -1
  172. package/es/tx/builder/schema.d.ts +336 -176
  173. package/es/tx/builder/schema.mjs +71 -78
  174. package/es/tx/builder/schema.mjs.map +1 -1
  175. package/es/tx/index.d.ts +3 -33
  176. package/es/tx/index.mjs +26 -43
  177. package/es/tx/index.mjs.map +1 -1
  178. package/es/tx/validator.d.ts +2 -2
  179. package/es/tx/validator.mjs +86 -59
  180. package/es/tx/validator.mjs.map +1 -1
  181. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  182. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  183. package/es/utils/amount-formatter.mjs +4 -10
  184. package/es/utils/amount-formatter.mjs.map +1 -1
  185. package/es/utils/autorest.d.ts +1 -0
  186. package/es/utils/autorest.mjs +17 -19
  187. package/es/utils/autorest.mjs.map +1 -1
  188. package/es/utils/bignumber.mjs +4 -7
  189. package/es/utils/bignumber.mjs.map +1 -1
  190. package/es/utils/bytes.d.ts +0 -17
  191. package/es/utils/bytes.mjs +6 -35
  192. package/es/utils/bytes.mjs.map +1 -1
  193. package/es/utils/crypto.d.ts +15 -8
  194. package/es/utils/crypto.mjs +40 -40
  195. package/es/utils/crypto.mjs.map +1 -1
  196. package/es/utils/encoder-types.d.ts +28 -28
  197. package/es/utils/encoder-types.mjs +0 -1
  198. package/es/utils/encoder-types.mjs.map +1 -1
  199. package/es/utils/encoder.d.ts +0 -1
  200. package/es/utils/encoder.mjs +7 -15
  201. package/es/utils/encoder.mjs.map +1 -1
  202. package/es/utils/errors.d.ts +12 -6
  203. package/es/utils/errors.mjs +87 -163
  204. package/es/utils/errors.mjs.map +1 -1
  205. package/es/utils/hd-wallet.d.ts +27 -19
  206. package/es/utils/hd-wallet.mjs +42 -26
  207. package/es/utils/hd-wallet.mjs.map +1 -1
  208. package/es/utils/json-big.mjs +0 -8
  209. package/es/utils/json-big.mjs.map +1 -1
  210. package/es/utils/keystore.d.ts +2 -0
  211. package/es/utils/keystore.mjs +37 -36
  212. package/es/utils/keystore.mjs.map +1 -1
  213. package/es/utils/mptree.d.ts +1 -1
  214. package/es/utils/mptree.mjs +4 -26
  215. package/es/utils/mptree.mjs.map +1 -1
  216. package/es/utils/other.d.ts +3 -1
  217. package/es/utils/other.mjs +11 -7
  218. package/es/utils/other.mjs.map +1 -1
  219. package/es/utils/semver-satisfies.mjs +0 -3
  220. package/es/utils/semver-satisfies.mjs.map +1 -1
  221. package/es/utils/string.d.ts +0 -12
  222. package/es/utils/string.mjs +1 -21
  223. package/es/utils/string.mjs.map +1 -1
  224. package/package.json +86 -47
  225. package/src/AeSdk.ts +15 -11
  226. package/src/AeSdkAepp.ts +9 -7
  227. package/src/AeSdkBase.ts +28 -202
  228. package/src/AeSdkMethods.ts +170 -0
  229. package/src/AeSdkWallet.ts +16 -47
  230. package/src/Node.ts +11 -15
  231. package/src/account/Base.ts +29 -75
  232. package/src/account/Generalized.ts +98 -0
  233. package/src/account/Ledger.ts +131 -0
  234. package/src/account/LedgerFactory.ts +86 -0
  235. package/src/account/Memory.ts +46 -60
  236. package/src/account/Rpc.ts +17 -26
  237. package/src/aens.ts +10 -9
  238. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +5 -4
  239. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  240. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  241. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  242. package/src/aepp-wallet-communication/schema.ts +18 -18
  243. package/src/apis/compiler/code-model-v4.yaml +681 -888
  244. package/src/apis/compiler/compiler.ts +113 -154
  245. package/src/apis/compiler/models/index.ts +80 -140
  246. package/src/apis/compiler/models/mappers.ts +165 -183
  247. package/src/apis/compiler/models/parameters.ts +6 -12
  248. package/src/chain.ts +6 -3
  249. package/src/channel/Base.ts +327 -0
  250. package/src/channel/Contract.ts +487 -0
  251. package/src/channel/Spend.ts +403 -0
  252. package/src/channel/handlers.ts +154 -573
  253. package/src/channel/internal.ts +113 -142
  254. package/src/contract/{Compiler.ts → CompilerHttp.ts} +5 -5
  255. package/src/contract/Contract.ts +620 -0
  256. package/src/contract/ga.ts +18 -104
  257. package/src/index.ts +9 -8
  258. package/src/oracle.ts +7 -7
  259. package/src/spend.ts +5 -13
  260. package/src/tx/builder/constants.ts +1 -0
  261. package/src/tx/builder/field-types/address.ts +52 -0
  262. package/src/tx/builder/field-types/addresses.ts +18 -0
  263. package/src/tx/builder/field-types/coin-amount.ts +2 -8
  264. package/src/tx/builder/field-types/enumeration.ts +21 -0
  265. package/src/tx/builder/field-types/fee.ts +1 -3
  266. package/src/tx/builder/field-types/gas-limit.ts +2 -2
  267. package/src/tx/builder/field-types/gas-price.ts +0 -2
  268. package/src/tx/builder/field-types/index.ts +16 -6
  269. package/src/tx/builder/field-types/name-fee.ts +1 -1
  270. package/src/tx/builder/field-types/name-id.ts +7 -10
  271. package/src/tx/builder/field-types/pointers.ts +41 -0
  272. package/src/tx/builder/field-types/u-int.ts +3 -2
  273. package/src/tx/builder/helpers.ts +10 -60
  274. package/src/tx/builder/index.ts +6 -65
  275. package/src/tx/builder/schema.ts +89 -100
  276. package/src/tx/index.ts +19 -15
  277. package/src/tx/validator.ts +36 -18
  278. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  279. package/src/utils/autorest.ts +16 -1
  280. package/src/utils/bytes.ts +5 -33
  281. package/src/utils/crypto.ts +23 -16
  282. package/src/utils/encoder.ts +0 -1
  283. package/src/utils/errors.ts +18 -12
  284. package/src/utils/hd-wallet.ts +30 -9
  285. package/src/utils/keystore.ts +24 -21
  286. package/src/utils/other.ts +16 -1
  287. package/src/utils/string.ts +0 -20
  288. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  289. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  290. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  291. package/types-legacy/ts4.2/AeSdkMethods.d.ts +141 -0
  292. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  293. package/types-legacy/ts4.2/Node.d.ts +78 -0
  294. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  295. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  296. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  297. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  298. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  299. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  300. package/types-legacy/ts4.2/aens.d.ts +222 -0
  301. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  302. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  303. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  304. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  305. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  306. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  307. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  308. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  309. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  310. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  311. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  312. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  313. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  314. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  315. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  316. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  317. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  318. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  319. package/types-legacy/ts4.2/chain.d.ts +248 -0
  320. package/types-legacy/ts4.2/channel/Base.d.ts +194 -0
  321. package/types-legacy/ts4.2/channel/Contract.d.ts +247 -0
  322. package/types-legacy/ts4.2/channel/Spend.d.ts +217 -0
  323. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  324. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  325. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +18 -0
  326. package/types-legacy/ts4.2/contract/Contract.d.ts +237 -0
  327. package/types-legacy/ts4.2/contract/ga.d.ts +43 -0
  328. package/types-legacy/ts4.2/globals.d.ts +16 -0
  329. package/types-legacy/ts4.2/index.d.ts +39 -0
  330. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  331. package/types-legacy/ts4.2/spend.d.ts +62 -0
  332. package/types-legacy/ts4.2/tx/builder/constants.d.ts +71 -0
  333. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +22 -0
  334. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +6 -0
  335. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  336. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  337. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -0
  338. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +17 -0
  339. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  340. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +12 -0
  341. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  342. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +85 -0
  343. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +19 -0
  344. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  345. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  346. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  347. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  348. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +8 -0
  349. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  350. package/types-legacy/ts4.2/tx/builder/index.d.ts +68 -0
  351. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2963 -0
  352. package/types-legacy/ts4.2/tx/index.d.ts +34 -0
  353. package/types-legacy/ts4.2/tx/validator.d.ts +20 -0
  354. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  355. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  356. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  357. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  358. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  359. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  360. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  361. package/types-legacy/ts4.2/utils/errors.d.ts +480 -0
  362. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  363. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  364. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  365. package/types-legacy/ts4.2/utils/mptree.d.ts +32 -0
  366. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  367. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  368. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  369. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  370. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  371. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  372. package/types-legacy/ts4.5/AeSdkMethods.d.ts +141 -0
  373. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  374. package/types-legacy/ts4.5/Node.d.ts +78 -0
  375. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  376. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  377. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  378. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  379. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  380. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  381. package/types-legacy/ts4.5/aens.d.ts +222 -0
  382. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  383. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  384. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  385. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  386. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  387. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  388. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  389. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  390. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  391. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  392. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  393. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  394. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  395. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  396. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  397. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  398. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  399. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  400. package/types-legacy/ts4.5/chain.d.ts +248 -0
  401. package/types-legacy/ts4.5/channel/Base.d.ts +194 -0
  402. package/types-legacy/ts4.5/channel/Contract.d.ts +247 -0
  403. package/types-legacy/ts4.5/channel/Spend.d.ts +217 -0
  404. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  405. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  406. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +18 -0
  407. package/types-legacy/ts4.5/contract/Contract.d.ts +237 -0
  408. package/types-legacy/ts4.5/contract/ga.d.ts +43 -0
  409. package/types-legacy/ts4.5/index.d.ts +38 -0
  410. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  411. package/types-legacy/ts4.5/spend.d.ts +62 -0
  412. package/types-legacy/ts4.5/tx/builder/constants.d.ts +71 -0
  413. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +22 -0
  414. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +6 -0
  415. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  416. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  417. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -0
  418. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +17 -0
  419. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  420. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +12 -0
  421. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  422. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +85 -0
  423. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +19 -0
  424. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  425. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  426. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  427. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  428. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +8 -0
  429. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  430. package/types-legacy/ts4.5/tx/builder/index.d.ts +68 -0
  431. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2963 -0
  432. package/types-legacy/ts4.5/tx/index.d.ts +34 -0
  433. package/types-legacy/ts4.5/tx/validator.d.ts +20 -0
  434. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  435. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  436. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  437. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  438. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  439. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  440. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  441. package/types-legacy/ts4.5/utils/errors.d.ts +480 -0
  442. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  443. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  444. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  445. package/types-legacy/ts4.5/utils/mptree.d.ts +32 -0
  446. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  447. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  448. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  449. package/es/channel/index.d.ts +0 -625
  450. package/es/channel/index.mjs +0 -975
  451. package/es/channel/index.mjs.map +0 -1
  452. package/es/contract/Compiler.mjs.map +0 -1
  453. package/es/contract/aci.d.ts +0 -127
  454. package/es/contract/aci.mjs +0 -508
  455. package/es/contract/aci.mjs.map +0 -1
  456. package/es/contract/methods.d.ts +0 -71
  457. package/es/contract/methods.mjs +0 -104
  458. package/es/contract/methods.mjs.map +0 -1
  459. package/es/deprecated/index.d.ts +0 -143
  460. package/es/deprecated/index.mjs +0 -162
  461. package/es/deprecated/index.mjs.map +0 -1
  462. package/es/deprecated/methods.d.ts +0 -18
  463. package/es/deprecated/methods.mjs +0 -26
  464. package/es/deprecated/methods.mjs.map +0 -1
  465. package/es/tx/builder/address.d.ts +0 -25
  466. package/es/tx/builder/address.mjs +0 -45
  467. package/es/tx/builder/address.mjs.map +0 -1
  468. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  469. package/src/channel/index.ts +0 -1025
  470. package/src/contract/aci.ts +0 -537
  471. package/src/contract/methods.ts +0 -123
  472. package/src/deprecated/index.ts +0 -172
  473. package/src/deprecated/methods.ts +0 -25
  474. package/src/tx/builder/address.ts +0 -50
  475. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
@@ -0,0 +1,131 @@
1
+ import type Transport from '@ledgerhq/hw-transport';
2
+ import AccountBase from './Base';
3
+ import { ArgumentError, NotImplementedError } from '../utils/errors';
4
+ import { decode, Encoded } from '../utils/encoder';
5
+ import { buildTx } from '../tx/builder';
6
+ import { Tag } from '../tx/builder/constants';
7
+
8
+ export const CLA = 0xe0;
9
+ export const GET_ADDRESS = 0x02;
10
+ export const SIGN_TRANSACTION = 0x04;
11
+ export const GET_APP_CONFIGURATION = 0x06;
12
+ export const SIGN_PERSONAL_MESSAGE = 0x08;
13
+
14
+ /**
15
+ * Ledger wallet account class
16
+ */
17
+ export default class AccountLedger extends AccountBase {
18
+ readonly transport: Transport;
19
+
20
+ override readonly address: Encoded.AccountAddress;
21
+
22
+ readonly index: number;
23
+
24
+ /**
25
+ * @param transport - Connection to Ledger to use
26
+ * @param index - Index of account
27
+ * @param address - Address of account
28
+ */
29
+ constructor(transport: Transport, index: number, address: Encoded.AccountAddress) {
30
+ super();
31
+ this.transport = transport;
32
+ this.index = index;
33
+ this.address = address;
34
+ const scrambleKey = 'w0w';
35
+ transport.decorateAppAPIMethods(this, ['signTransaction', 'signMessage'], scrambleKey);
36
+ }
37
+
38
+ // eslint-disable-next-line class-methods-use-this
39
+ override async sign(): Promise<Uint8Array> {
40
+ throw new NotImplementedError('RAW signing using Ledger HW');
41
+ }
42
+
43
+ override async signTransaction(
44
+ tx: Encoded.Transaction,
45
+ { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},
46
+ ): Promise<Encoded.Transaction> {
47
+ if (innerTx != null) throw new NotImplementedError('innerTx option in AccountLedger');
48
+ if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);
49
+
50
+ const rawTx = decode(tx);
51
+ let offset = 0;
52
+ const headerLength = 4 + 1 + 4;
53
+ const networkIdBuffer = Buffer.from(networkId);
54
+ const toSend = [];
55
+ while (offset !== rawTx.length) {
56
+ const maxChunkSize = offset === 0 ? 150 - headerLength - networkIdBuffer.length : 150;
57
+ const chunkSize = offset + maxChunkSize > rawTx.length
58
+ ? rawTx.length - offset : maxChunkSize;
59
+ const buffer = Buffer.alloc(
60
+ offset === 0 ? headerLength + networkIdBuffer.length + chunkSize : chunkSize,
61
+ );
62
+ if (offset === 0) {
63
+ let bufferOffset = buffer.writeUInt32BE(this.index, 0);
64
+ bufferOffset = buffer.writeUInt32BE(rawTx.length, bufferOffset);
65
+ bufferOffset = buffer.writeUInt8(networkIdBuffer.length, bufferOffset);
66
+ bufferOffset += networkIdBuffer.copy(
67
+ buffer,
68
+ bufferOffset,
69
+ 0,
70
+ networkIdBuffer.length,
71
+ );
72
+ rawTx.copy(buffer, bufferOffset, 0, 150 - bufferOffset);
73
+ } else {
74
+ rawTx.copy(buffer, 0, offset, offset + chunkSize);
75
+ }
76
+ toSend.push(buffer);
77
+ offset += chunkSize;
78
+ }
79
+ const response = await toSend.reduce(
80
+ async (previous, data, i) => {
81
+ await previous;
82
+ return this.transport.send(
83
+ CLA,
84
+ SIGN_TRANSACTION,
85
+ i === 0 ? 0x00 : 0x80,
86
+ 0x00,
87
+ data,
88
+ );
89
+ },
90
+ Promise.resolve(Buffer.alloc(0)),
91
+ );
92
+ const signatures = [response.subarray(0, 64)];
93
+
94
+ return buildTx({ encodedTx: rawTx, signatures }, Tag.SignedTx).tx;
95
+ }
96
+
97
+ override async signMessage(messageStr: string): Promise<Uint8Array> {
98
+ let offset = 0;
99
+ const message = Buffer.from(messageStr);
100
+ const toSend = [];
101
+ while (offset !== message.length) {
102
+ const maxChunkSize = offset === 0 ? 150 - 4 - 4 : 150;
103
+ const chunkSize = offset + maxChunkSize > message.length
104
+ ? message.length - offset : maxChunkSize;
105
+ const buffer = Buffer.alloc(offset === 0 ? 4 + 4 + chunkSize : chunkSize);
106
+ if (offset === 0) {
107
+ buffer.writeUInt32BE(this.index, 0);
108
+ buffer.writeUInt32BE(message.length, 4);
109
+ message.copy(buffer, 4 + 4, offset, offset + chunkSize);
110
+ } else {
111
+ message.copy(buffer, 0, offset, offset + chunkSize);
112
+ }
113
+ toSend.push(buffer);
114
+ offset += chunkSize;
115
+ }
116
+ const response = await toSend.reduce(
117
+ async (previous, data, i) => {
118
+ await previous;
119
+ return this.transport.send(
120
+ CLA,
121
+ SIGN_PERSONAL_MESSAGE,
122
+ i === 0 ? 0x00 : 0x80,
123
+ 0x00,
124
+ data,
125
+ );
126
+ },
127
+ Promise.resolve(Buffer.alloc(0)),
128
+ );
129
+ return response.subarray(0, 64);
130
+ }
131
+ }
@@ -0,0 +1,86 @@
1
+ import type Transport from '@ledgerhq/hw-transport';
2
+ import AccountLedger, { CLA, GET_ADDRESS, GET_APP_CONFIGURATION } from './Ledger';
3
+ import { UnsupportedVersionError } from '../utils/errors';
4
+ import { Encoded } from '../utils/encoder';
5
+ import semverSatisfies from '../utils/semver-satisfies';
6
+ import Node from '../Node';
7
+
8
+ /**
9
+ * A factory class that generates instances of AccountLedger based on provided transport.
10
+ */
11
+ export default class AccountLedgerFactory {
12
+ readonly transport: Transport;
13
+
14
+ private readonly versionCheckPromise: Promise<void>;
15
+
16
+ /**
17
+ * @param transport - Connection to Ledger to use
18
+ */
19
+ constructor(transport: Transport) {
20
+ this.transport = transport;
21
+ this.versionCheckPromise = this.getAppConfiguration().then(({ version }) => {
22
+ const args = [version, '0.4.4', '0.5.0'] as const;
23
+ if (!semverSatisfies(...args)) throw new UnsupportedVersionError('app on ledger', ...args);
24
+ });
25
+ const scrambleKey = 'w0w';
26
+ transport.decorateAppAPIMethods(this, ['getAddress', 'getAppConfiguration'], scrambleKey);
27
+ }
28
+
29
+ /**
30
+ * @returns the version of app installed on Ledger wallet
31
+ */
32
+ async getAppConfiguration(): Promise<{ version: string }> {
33
+ await this.versionCheckPromise;
34
+ const response = await this.transport.send(CLA, GET_APP_CONFIGURATION, 0x00, 0x00);
35
+ return {
36
+ version: [response[1], response[2], response[3]].join('.'),
37
+ };
38
+ }
39
+
40
+ /**
41
+ * Get `ak_`-prefixed address for a given account index.
42
+ * @param accountIndex - Index of account
43
+ * @param verify - Ask user to confirm address by showing it on the device screen
44
+ */
45
+ async getAddress(accountIndex: number, verify = false): Promise<Encoded.AccountAddress> {
46
+ await this.versionCheckPromise;
47
+ const buffer = Buffer.alloc(4);
48
+ buffer.writeUInt32BE(accountIndex, 0);
49
+ const response = await this.transport.send(
50
+ CLA,
51
+ GET_ADDRESS,
52
+ verify ? 0x01 : 0x00,
53
+ 0x00,
54
+ buffer,
55
+ );
56
+ const addressLength = response[0];
57
+ return response.subarray(1, 1 + addressLength).toString('ascii') as Encoded.AccountAddress;
58
+ }
59
+
60
+ /**
61
+ * Get an instance of AccountLedger for a given account index.
62
+ * @param accountIndex - Index of account
63
+ */
64
+ async initialize(accountIndex: number): Promise<AccountLedger> {
65
+ await this.versionCheckPromise;
66
+ return new AccountLedger(this.transport, accountIndex, await this.getAddress(accountIndex));
67
+ }
68
+
69
+ /**
70
+ * Discovers accounts on Ledger that already have been used (has any on-chain transactions).
71
+ * It returns an empty array if none of accounts been used.
72
+ * If a used account is preceded by an unused account then it would be ignored.
73
+ * @param node - Instance of Node to get account information from
74
+ */
75
+ async discover(node: Node): Promise<AccountLedger[]> {
76
+ let index = 0;
77
+ const result = [];
78
+ let account;
79
+ do {
80
+ if (account != null) result.push(account);
81
+ account = await this.initialize(index);
82
+ index += 1;
83
+ } while (await node.getAccountByPubkey(account.address).then(() => true, () => false));
84
+ return result;
85
+ }
86
+ }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
3
+ * Copyright (c) 2022 aeternity developers
4
4
  *
5
5
  * Permission to use, copy, modify, and/or distribute this software for any
6
6
  * purpose with or without fee is hereby granted, provided that the above
@@ -15,84 +15,70 @@
15
15
  * PERFORMANCE OF THIS SOFTWARE.
16
16
  */
17
17
  import AccountBase from './Base';
18
- import { sign, isValidKeypair } from '../utils/crypto';
19
- import { isHex } from '../utils/string';
20
- import { ArgumentError, InvalidKeypairError, MissingParamError } from '../utils/errors';
21
- import { decode, Encoded } from '../utils/encoder';
22
- import { createMetaTx } from '../contract/ga';
18
+ import {
19
+ generateKeyPairFromSecret, sign, generateKeyPair, hash, messageToHash,
20
+ } from '../utils/crypto';
21
+ import { ArgumentError } from '../utils/errors';
22
+ import {
23
+ decode, encode, Encoded, Encoding,
24
+ } from '../utils/encoder';
25
+ import { concatBuffers } from '../utils/other';
26
+ import { buildTx } from '../tx/builder';
27
+ import { Tag } from '../tx/builder/constants';
23
28
 
24
- const secrets = new WeakMap();
25
-
26
- export interface Keypair {
27
- publicKey: Encoded.AccountAddress;
28
- secretKey: string | Uint8Array;
29
- }
29
+ const secretKeys = new WeakMap();
30
30
 
31
31
  /**
32
32
  * In-memory account class
33
33
  */
34
34
  export default class AccountMemory extends AccountBase {
35
- isGa: boolean;
35
+ override readonly address: Encoded.AccountAddress;
36
36
 
37
37
  /**
38
- * @param options - Options
39
- * @param options.keypair - Key pair to use
40
- * @param options.keypair.publicKey - Public key
41
- * @param options.keypair.secretKey - Private key
42
- * @param options.gaId - Address of generalized account
38
+ * @param secretKey - Secret key
43
39
  */
44
- constructor(
45
- { keypair, gaId, ...options }: { keypair?: Keypair; gaId?: Encoded.AccountAddress }
46
- & ConstructorParameters<typeof AccountBase>[0],
47
- ) {
48
- super(options);
49
-
50
- this.isGa = gaId != null;
51
- if (this.isGa && gaId != null) {
52
- decode(gaId);
53
- secrets.set(this, { publicKey: gaId });
54
- return;
55
- }
56
-
57
- if (keypair == null) throw new MissingParamError('Either gaId or keypair is required');
58
-
59
- if (
60
- !Buffer.isBuffer(keypair.secretKey)
61
- && typeof keypair.secretKey === 'string' && !isHex(keypair.secretKey)
62
- ) throw new InvalidKeypairError('Secret key must be hex string or Buffer');
63
- const secretKey = typeof keypair.secretKey === 'string'
64
- ? Buffer.from(keypair.secretKey, 'hex')
65
- : keypair.secretKey;
66
- if (!isValidKeypair(secretKey, decode(keypair.publicKey))) {
67
- throw new InvalidKeypairError('Invalid Key Pair');
40
+ constructor(secretKey: string | Uint8Array) {
41
+ super();
42
+ secretKey = typeof secretKey === 'string' ? Buffer.from(secretKey, 'hex') : secretKey;
43
+ if (secretKey.length !== 64) {
44
+ throw new ArgumentError('secretKey', '64 bytes', secretKey.length);
68
45
  }
46
+ secretKeys.set(this, secretKey);
47
+ this.address = encode(
48
+ generateKeyPairFromSecret(secretKeys.get(this)).publicKey,
49
+ Encoding.AccountAddress,
50
+ );
51
+ }
69
52
 
70
- secrets.set(this, {
71
- secretKey,
72
- publicKey: keypair.publicKey,
73
- });
53
+ /**
54
+ * Generates a new AccountMemory using a random secret key
55
+ */
56
+ static generate(): AccountMemory {
57
+ return new AccountMemory(generateKeyPair().secretKey);
74
58
  }
75
59
 
76
- async sign(data: string | Uint8Array): Promise<Uint8Array> {
77
- if (this.isGa) throw new InvalidKeypairError('You are trying to sign data using generalized account without keypair');
78
- return sign(data, secrets.get(this).secretKey);
60
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
61
+ override async sign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {
62
+ return sign(data, secretKeys.get(this));
79
63
  }
80
64
 
81
- async signTransaction(
65
+ override async signTransaction(
82
66
  tx: Encoded.Transaction,
83
- options: Parameters<AccountBase['signTransaction']>[1] = {},
67
+ { innerTx, networkId, ...options }: { innerTx?: boolean; networkId?: string } = {},
84
68
  ): Promise<Encoded.Transaction> {
85
- if (!this.isGa || options.innerTx === true) return super.signTransaction(tx, options);
86
- const {
87
- authData, authFun, onCompiler, onNode,
88
- } = options;
89
- if (authFun == null || authData == null || onCompiler == null || onNode == null) {
90
- throw new ArgumentError('authData, authFun, onCompiler, onNode', 'provided', null);
69
+ if (networkId == null) {
70
+ throw new ArgumentError('networkId', 'provided', networkId);
91
71
  }
92
- return createMetaTx(tx, authData, authFun, { onCompiler, onNode, onAccount: this });
72
+ const prefixes = [networkId];
73
+ if (innerTx === true) prefixes.push('inner_tx');
74
+ const rlpBinaryTx = decode(tx);
75
+ const txWithNetworkId = concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);
76
+
77
+ const signatures = [await this.sign(txWithNetworkId, options)];
78
+ return buildTx({ encodedTx: rlpBinaryTx, signatures }, Tag.SignedTx).tx;
93
79
  }
94
80
 
95
- async address(): Promise<Encoded.AccountAddress> {
96
- return secrets.get(this).publicKey;
81
+ override async signMessage(message: string, options?: any): Promise<Uint8Array> {
82
+ return this.sign(messageToHash(message), options);
97
83
  }
98
84
  }
@@ -1,7 +1,9 @@
1
1
  import AccountBase from './Base';
2
2
  import { METHODS } from '../aepp-wallet-communication/schema';
3
- import { NotImplementedError } from '../utils/errors';
3
+ import { ArgumentError, NotImplementedError, UnsupportedProtocolError } from '../utils/errors';
4
4
  import { Encoded } from '../utils/encoder';
5
+ import RpcClient from '../aepp-wallet-communication/rpc/RpcClient';
6
+ import { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types';
5
7
 
6
8
  /**
7
9
  * Account provided by wallet
@@ -11,17 +13,14 @@ import { Encoded } from '../utils/encoder';
11
13
  * @returns AccountRpc instance
12
14
  */
13
15
  export default class AccountRpc extends AccountBase {
14
- _rpcClient: any;
16
+ _rpcClient: RpcClient<WalletApi, AeppApi>;
15
17
 
16
- _address: Encoded.AccountAddress;
18
+ override readonly address: Encoded.AccountAddress;
17
19
 
18
- constructor(
19
- { rpcClient, address, ...options }: { rpcClient: any; address: Encoded.AccountAddress }
20
- & ConstructorParameters<typeof AccountBase>[0],
21
- ) {
22
- super(options);
20
+ constructor(rpcClient: RpcClient<WalletApi, AeppApi>, address: Encoded.AccountAddress) {
21
+ super();
23
22
  this._rpcClient = rpcClient;
24
- this._address = address;
23
+ this.address = address;
25
24
  }
26
25
 
27
26
  // eslint-disable-next-line class-methods-use-this
@@ -29,41 +28,33 @@ export default class AccountRpc extends AccountBase {
29
28
  throw new NotImplementedError('RAW signing using wallet');
30
29
  }
31
30
 
32
- async address(): Promise<Encoded.AccountAddress> {
33
- return this._address;
34
- }
35
-
36
31
  /**
37
32
  * @returns Signed transaction
38
33
  */
39
- async signTransaction(
34
+ override async signTransaction(
40
35
  tx: Encoded.Transaction,
41
36
  { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},
42
37
  ): Promise<Encoded.Transaction> {
43
38
  if (innerTx != null) throw new NotImplementedError('innerTx option in AccountRpc');
39
+ if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);
44
40
  const res = await this._rpcClient.request(METHODS.sign, {
45
- onAccount: this._address,
41
+ onAccount: this.address,
46
42
  tx,
47
43
  returnSigned: true,
48
- /**
49
- * @deprecated Wallet provided networkId will be used (current network)
50
- * required to maintain backward compatibility with wallets using SDK v11.0.1 and below
51
- * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}
52
- */
53
44
  networkId,
54
45
  });
46
+ if (res.signedTransaction == null) {
47
+ throw new UnsupportedProtocolError('signedTransaction is missed in wallet response');
48
+ }
55
49
  return res.signedTransaction;
56
50
  }
57
51
 
58
52
  /**
59
53
  * @returns Signed message
60
54
  */
61
- async signMessage(
62
- message: string,
63
- { returnHex = false }: Parameters<AccountBase['signMessage']>[1] = {},
64
- ): Promise<string | Uint8Array> {
55
+ override async signMessage(message: string): Promise<Uint8Array> {
65
56
  const { signature } = await this._rpcClient
66
- .request(METHODS.signMessage, { onAccount: this._address, message });
67
- return returnHex ? signature : Buffer.from(signature, 'hex');
57
+ .request(METHODS.signMessage, { onAccount: this.address, message });
58
+ return Buffer.from(signature, 'hex');
68
59
  }
69
60
  }
package/src/aens.ts CHANGED
@@ -37,9 +37,10 @@ import { _buildTx, BuildTxOptions } from './tx';
37
37
  import { TransformNodeType } from './Node';
38
38
  import { NameEntry, NamePointer } from './apis/node';
39
39
  import AccountBase from './account/Base';
40
+ import { AddressEncodings } from './tx/builder/field-types/address';
40
41
 
41
42
  interface KeyPointers {
42
- [key: string]: string | Buffer;
43
+ [key: string]: Encoded.Generic<AddressEncodings>;
43
44
  }
44
45
 
45
46
  /**
@@ -70,7 +71,7 @@ export async function aensRevoke(
70
71
  const nameRevokeTx = await _buildTx(Tag.NameRevokeTx, {
71
72
  ...options,
72
73
  nameId: name,
73
- accountId: await options.onAccount.address(options),
74
+ accountId: options.onAccount.address,
74
75
  });
75
76
  return send(nameRevokeTx, options);
76
77
  }
@@ -115,8 +116,7 @@ export async function aensUpdate(
115
116
  ): ReturnType<typeof send> {
116
117
  const allPointers = {
117
118
  ...extendPointers === true && Object.fromEntries(
118
- (await getName(name, options)).pointers
119
- .map(({ key, id }: { key: string; id: string }) => [key, id]),
119
+ (await getName(name, options)).pointers.map(({ key, id }) => [key, id]),
120
120
  ),
121
121
  ...pointers,
122
122
  };
@@ -126,8 +126,9 @@ export async function aensUpdate(
126
126
  nameTtl: NAME_TTL,
127
127
  ...options,
128
128
  nameId: name,
129
- accountId: await options.onAccount.address(options),
130
- pointers: Object.entries(allPointers).map(([key, id]) => ({ key, id: id.toString() })),
129
+ accountId: options.onAccount.address,
130
+ pointers: Object.entries(allPointers)
131
+ .map(([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id })),
131
132
  });
132
133
 
133
134
  return send(nameUpdateTx, options);
@@ -172,7 +173,7 @@ export async function aensTransfer(
172
173
  const nameTransferTx = await _buildTx(Tag.NameTransferTx, {
173
174
  ...options,
174
175
  nameId: name,
175
- accountId: await options.onAccount.address(options),
176
+ accountId: options.onAccount.address,
176
177
  recipientId: account,
177
178
  });
178
179
 
@@ -298,7 +299,7 @@ export async function aensClaim(
298
299
  ): Promise<AensClaimReturnType> {
299
300
  const claimTx = await _buildTx(Tag.NameClaimTx, {
300
301
  ...options,
301
- accountId: await options.onAccount.address(options),
302
+ accountId: options.onAccount.address,
302
303
  nameSalt: salt,
303
304
  name,
304
305
  });
@@ -358,7 +359,7 @@ Awaited<ReturnType<typeof send>> & {
358
359
 
359
360
  const preclaimTx = await _buildTx(Tag.NamePreclaimTx, {
360
361
  ...options,
361
- accountId: await options.onAccount.address(options),
362
+ accountId: options.onAccount.address,
362
363
  commitmentId,
363
364
  });
364
365
 
@@ -31,24 +31,25 @@ export default class BrowserRuntimeConnection extends BrowserConnection {
31
31
  this.port = port;
32
32
  }
33
33
 
34
- disconnect(): void {
34
+ override disconnect(): void {
35
35
  super.disconnect();
36
36
  this.port.disconnect();
37
37
  }
38
38
 
39
- connect(
39
+ override connect(
40
40
  onMessage: (message: any, origin: string, source: Runtime.Port) => void,
41
41
  onDisconnect: () => void,
42
42
  ): void {
43
43
  super.connect(onMessage, onDisconnect);
44
44
  this.port.onMessage.addListener((message, port) => {
45
45
  this.receiveMessage(message);
46
- onMessage(message, port.name, port);
46
+ // TODO: make `origin` optional because sender url is not available on aepp side
47
+ onMessage(message, port.sender?.url ?? '', port);
47
48
  });
48
49
  this.port.onDisconnect.addListener(onDisconnect);
49
50
  }
50
51
 
51
- sendMessage(message: any): void {
52
+ override sendMessage(message: any): void {
52
53
  super.sendMessage(message);
53
54
  this.port.postMessage(message);
54
55
  }
@@ -77,7 +77,7 @@ export default class BrowserWindowMessageConnection extends BrowserConnection {
77
77
  return this.listener != null;
78
78
  }
79
79
 
80
- connect(
80
+ override connect(
81
81
  onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,
82
82
  onDisconnect: () => void,
83
83
  ): void {
@@ -102,7 +102,7 @@ export default class BrowserWindowMessageConnection extends BrowserConnection {
102
102
  this.#onDisconnect = onDisconnect;
103
103
  }
104
104
 
105
- disconnect(): void {
105
+ override disconnect(): void {
106
106
  super.disconnect();
107
107
  if (this.listener == null || this.#onDisconnect == null) {
108
108
  throw new InternalError('Expected to not happen, required for TS');
@@ -113,7 +113,7 @@ export default class BrowserWindowMessageConnection extends BrowserConnection {
113
113
  this.#onDisconnect = undefined;
114
114
  }
115
115
 
116
- sendMessage(msg: any): void {
116
+ override sendMessage(msg: any): void {
117
117
  if (this.#target == null) throw new RpcConnectionError('Can\'t send messages without target');
118
118
  const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;
119
119
  super.sendMessage(message);
@@ -63,8 +63,8 @@ export default class RpcClient <
63
63
  }
64
64
 
65
65
  const request = msg as JsonRpcRequest;
66
- let result; let
67
- error;
66
+ let result;
67
+ let error;
68
68
  try {
69
69
  if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();
70
70
  const methodName = request.method as keyof LocalApi;
@@ -43,7 +43,17 @@ export interface WalletApi {
43
43
  [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;
44
44
 
45
45
  [METHODS.sign]: ((
46
- p: { tx: Encoded.Transaction; onAccount: Encoded.AccountAddress; returnSigned: boolean }
46
+ p: {
47
+ tx: Encoded.Transaction;
48
+ onAccount: Encoded.AccountAddress;
49
+ returnSigned: boolean;
50
+ /**
51
+ * @deprecated Wallet provided networkId will be used (current network)
52
+ * required to maintain backward compatibility with wallets using SDK v11.0.1 and below
53
+ * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}
54
+ */
55
+ networkId: string;
56
+ }
47
57
  ) => Promise<{
48
58
  /**
49
59
  * @deprecated this is not a hash at all, will be removed later at the same time