@aeternity/aepp-sdk 11.0.1 → 12.1.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 (444) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20765 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +136 -85
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -198
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -561
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -98
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +55 -43
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +172 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +116 -71
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
@@ -0,0 +1,400 @@
1
+ import { decode as rlpDecode, encode as rlpEncode, NestedUint8Array } from 'rlp';
2
+ import {
3
+ decode, encode, Encoded, Encoding,
4
+ } from '../../utils/encoder';
5
+ import { AE_AMOUNT_FORMATS } from '../../utils/amount-formatter';
6
+ import { hash } from '../../utils/crypto';
7
+ import { Field } from './field-types';
8
+ import {
9
+ FIELD_TYPES,
10
+ RawTxObject,
11
+ TX_SCHEMA,
12
+ TxField,
13
+ TxParamsCommon,
14
+ TxSchema,
15
+ TxTypeSchemas,
16
+ } from './schema';
17
+ import { Tag } from './constants';
18
+ import {
19
+ buildContractId, buildPointers, readInt, readPointers, writeInt,
20
+ } from './helpers';
21
+ import { readId, writeId } from './address';
22
+ import { toBytes } from '../../utils/bytes';
23
+ import MPTree, { MPTreeBinary } from '../../utils/mptree';
24
+ import {
25
+ ArgumentError,
26
+ DecodeError,
27
+ InvalidTxParamsError,
28
+ SchemaNotFoundError,
29
+ } from '../../utils/errors';
30
+ import { isKeyOfObject } from '../../utils/other';
31
+ import { NamePointer } from '../../apis/node';
32
+
33
+ /**
34
+ * JavaScript-based Transaction builder
35
+ */
36
+
37
+ // SERIALIZE AND DESERIALIZE PART
38
+ function deserializeField(
39
+ value: any,
40
+ type: FIELD_TYPES | Field,
41
+ prefix?: Encoding | Encoding[],
42
+ ): any {
43
+ if (value == null) return '';
44
+ switch (type) {
45
+ case FIELD_TYPES.ctVersion: {
46
+ const [vm, , abi] = value;
47
+ return {
48
+ vmVersion: readInt(Buffer.from([vm])),
49
+ abiVersion: readInt(Buffer.from([abi])),
50
+ };
51
+ }
52
+ case FIELD_TYPES.abiVersion:
53
+ case FIELD_TYPES.ttlType:
54
+ return readInt(value);
55
+ case FIELD_TYPES.id:
56
+ return readId(value);
57
+ case FIELD_TYPES.ids:
58
+ return value.map(readId);
59
+ case FIELD_TYPES.bool:
60
+ return value[0] === 1;
61
+ case FIELD_TYPES.binary:
62
+ return encode(value, prefix as Encoding);
63
+ case FIELD_TYPES.stateTree:
64
+ return encode(value, Encoding.StateTrees);
65
+ case FIELD_TYPES.string:
66
+ return value.toString();
67
+ case FIELD_TYPES.payload:
68
+ return encode(value, Encoding.Bytearray);
69
+ case FIELD_TYPES.pointers:
70
+ return readPointers(value);
71
+ case FIELD_TYPES.rlpBinary:
72
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
73
+ return unpackTx(encode(value, Encoding.Transaction));
74
+ case FIELD_TYPES.rlpBinaries:
75
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
76
+ return value.map((v: Buffer) => unpackTx(encode(v, Encoding.Transaction)));
77
+ case FIELD_TYPES.rawBinary:
78
+ return value;
79
+ case FIELD_TYPES.hex:
80
+ return value.toString('hex');
81
+ case FIELD_TYPES.offChainUpdates:
82
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
83
+ return value.map((v: Buffer) => unpackTx(encode(v, Encoding.Transaction)));
84
+ case FIELD_TYPES.callStack:
85
+ // TODO: fix this
86
+ return [readInt(value)];
87
+ case FIELD_TYPES.mptrees:
88
+ return value.map((t: MPTreeBinary) => new MPTree(t));
89
+ case FIELD_TYPES.callReturnType:
90
+ switch (readInt(value)) {
91
+ case '0':
92
+ return 'ok';
93
+ case '1':
94
+ return 'error';
95
+ case '2':
96
+ return 'revert';
97
+ default:
98
+ return value;
99
+ }
100
+ case FIELD_TYPES.sophiaCodeTypeInfo:
101
+ return value.reduce(
102
+ (acc: object, [funHash, fnName, argType, outType]: [
103
+ funHash: Buffer,
104
+ fnName: string,
105
+ argType: string,
106
+ outType: string,
107
+ ]) => ({
108
+ ...acc,
109
+ [fnName.toString()]: { funHash, argType, outType },
110
+ }),
111
+ {},
112
+ );
113
+ default:
114
+ if (typeof type === 'number') return value;
115
+ return type.deserialize(value);
116
+ }
117
+ }
118
+
119
+ function serializeField(value: any, type: FIELD_TYPES | Field, params: any): any {
120
+ switch (type) {
121
+ case FIELD_TYPES.abiVersion:
122
+ case FIELD_TYPES.ttlType:
123
+ return writeInt(value);
124
+ case FIELD_TYPES.id:
125
+ return writeId(value);
126
+ case FIELD_TYPES.ids:
127
+ return value.map(writeId);
128
+ case FIELD_TYPES.bool:
129
+ return Buffer.from([(value === true) ? 1 : 0]);
130
+ case FIELD_TYPES.binary:
131
+ return decode(value);
132
+ case FIELD_TYPES.stateTree:
133
+ return decode(value);
134
+ case FIELD_TYPES.hex:
135
+ return Buffer.from(value, 'hex');
136
+ case FIELD_TYPES.signatures:
137
+ return value.map(Buffer.from);
138
+ case FIELD_TYPES.payload:
139
+ return typeof value === 'string' && value.split('_')[0] === 'ba'
140
+ ? decode(value as Encoded.Bytearray)
141
+ : toBytes(value);
142
+ case FIELD_TYPES.string:
143
+ return toBytes(value);
144
+ case FIELD_TYPES.pointers:
145
+ return buildPointers(value);
146
+ case FIELD_TYPES.rlpBinary:
147
+ return value.rlpEncoded ?? value;
148
+ case FIELD_TYPES.mptrees:
149
+ return value.map((t: MPTree) => t.serialize());
150
+ case FIELD_TYPES.ctVersion:
151
+ return Buffer.from([...toBytes(value.vmVersion), 0, ...toBytes(value.abiVersion)]);
152
+ case FIELD_TYPES.callReturnType:
153
+ switch (value) {
154
+ case 'ok': return writeInt(0);
155
+ case 'error': return writeInt(1);
156
+ case 'revert': return writeInt(2);
157
+ default: return value;
158
+ }
159
+ default:
160
+ if (typeof type === 'number') return value;
161
+ // @ts-expect-error will be solved after removing the whole serializeField function
162
+ return type.serialize(value, params);
163
+ }
164
+ }
165
+
166
+ function validateField(
167
+ value: any,
168
+ type: FIELD_TYPES | Field,
169
+ prefix?: Encoding | Encoding[],
170
+ ): string | undefined {
171
+ // All fields are required
172
+ if (value == null) return 'Field is required';
173
+
174
+ // Validate type of value
175
+ switch (type) {
176
+ case FIELD_TYPES.id: {
177
+ const prefixes = Array.isArray(prefix) ? prefix : [prefix];
178
+ if (!prefixes.includes(value.split('_')[0])) {
179
+ if (prefix == null) { return `'${String(value)}' prefix doesn't exist'`; }
180
+ return `'${String(value)}' prefix doesn't match expected prefix '${prefix.toString()}'`;
181
+ }
182
+ return undefined;
183
+ }
184
+ case FIELD_TYPES.ctVersion:
185
+ if (!(Boolean(value.abiVersion) && Boolean(value.vmVersion))) {
186
+ return 'Value must be an object with "vmVersion" and "abiVersion" fields';
187
+ }
188
+ return undefined;
189
+ case FIELD_TYPES.pointers:
190
+ if (!Array.isArray(value)) return 'Value must be of type Array';
191
+ if (value.some((p: NamePointer) => !(Boolean(p.key) && Boolean(p.id)))) {
192
+ return 'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';
193
+ }
194
+ if (value.length > 32) {
195
+ return `Expected 32 pointers or less, got ${value.length} instead`;
196
+ }
197
+ return undefined;
198
+ default:
199
+ return undefined;
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Validate transaction params
205
+ * @category transaction builder
206
+ * @param params - Object with tx params
207
+ * @param schema - Transaction schema
208
+ * @param excludeKeys - Array of keys to exclude for validation
209
+ * @returns Object with validation errors
210
+ */
211
+ export function validateParams(
212
+ params: any,
213
+ schema: TxField[],
214
+ { excludeKeys = [] }: { excludeKeys: string[] },
215
+ ): object {
216
+ return Object.fromEntries(
217
+ schema
218
+ // TODO: allow optional keys in schema
219
+ .filter(([key]) => !excludeKeys.includes(key)
220
+ && !['payload', 'nameFee', 'deposit', 'gasPrice', 'fee', 'gasLimit'].includes(key))
221
+ .map(([key, type, prefix]) => [key, validateField(params[key], type, prefix)])
222
+ .filter(([, message]) => message),
223
+ );
224
+ }
225
+
226
+ /**
227
+ * Unpack binary transaction
228
+ * @category transaction builder
229
+ * @param binary - Array with binary transaction field's
230
+ * @param schema - Transaction schema
231
+ * @returns Object with transaction field's
232
+ */
233
+ export function unpackRawTx<Tx extends TxSchema>(
234
+ binary: Uint8Array | NestedUint8Array,
235
+ schema: TxField[],
236
+ ): RawTxObject<Tx> {
237
+ return schema
238
+ .reduce<any>(
239
+ (
240
+ acc,
241
+ [key, fieldType, prefix],
242
+ index,
243
+ ) => Object.assign(acc, { [key]: deserializeField(binary[index], fieldType, prefix) }),
244
+ {},
245
+ );
246
+ }
247
+
248
+ /**
249
+ * @category transaction builder
250
+ */
251
+ export interface BuiltTx<Tx extends TxSchema, Prefix extends Encoding> {
252
+ tx: Encoded.Generic<Prefix>;
253
+ rlpEncoded: Uint8Array;
254
+ binary: Uint8Array;
255
+ txObject: RawTxObject<Tx>;
256
+ }
257
+
258
+ /**
259
+ * Build transaction hash
260
+ * @category transaction builder
261
+ * @param _params - Object with tx params
262
+ * @param type - Transaction type
263
+ * @param options - options
264
+ * @param options.excludeKeys - Array of keys to exclude for validation and build
265
+ * @param options.denomination - Denomination of amounts
266
+ * @param options.prefix - Prefix of transaction
267
+ * @throws {@link InvalidTxParamsError}
268
+ * @returns object
269
+ * @returns object.tx Base64Check transaction hash with 'tx_' prefix
270
+ * @returns object.rlpEncoded rlp encoded transaction
271
+ * @returns object.binary binary transaction
272
+ */
273
+ export function buildTx<TxType extends Tag, Prefix>(
274
+ _params: Omit<TxTypeSchemas[TxType], 'tag' | 'VSN'> & { VSN?: number },
275
+ type: TxType,
276
+ {
277
+ excludeKeys = [],
278
+ prefix = Encoding.Transaction,
279
+ vsn,
280
+ denomination = AE_AMOUNT_FORMATS.AETTOS,
281
+ }: {
282
+ excludeKeys?: string[];
283
+ prefix?: Encoding;
284
+ vsn?: number;
285
+ denomination?: AE_AMOUNT_FORMATS;
286
+ } = {},
287
+ ): BuiltTx<TxSchema, Prefix extends Encoding ? Prefix : Encoding.Transaction> {
288
+ const schemas = TX_SCHEMA[type];
289
+
290
+ vsn ??= Math.max(...Object.keys(schemas).map((a) => +a));
291
+ if (!isKeyOfObject(vsn, schemas)) throw new SchemaNotFoundError('serialization', Tag[type], vsn);
292
+
293
+ const schema = schemas[vsn] as unknown as TxField[];
294
+
295
+ const params = _params as TxParamsCommon & { onNode: Node; denomination?: AE_AMOUNT_FORMATS };
296
+ params.VSN = vsn;
297
+ params.tag = type;
298
+ params.denomination = denomination;
299
+ const filteredSchema = schema.filter(([key]) => !excludeKeys.includes(key));
300
+
301
+ // Validation
302
+ const valid = validateParams(params, schema, { excludeKeys });
303
+ if (Object.keys(valid).length > 0) {
304
+ throw new InvalidTxParamsError(`Transaction build error. ${JSON.stringify(valid)}`);
305
+ }
306
+
307
+ const binary = filteredSchema
308
+ .map(([key, fieldType]: [keyof TxSchema, FIELD_TYPES, Encoding]) => (
309
+ serializeField(
310
+ params[key],
311
+ fieldType,
312
+ {
313
+ ...params,
314
+ txType: type,
315
+ rebuildTx: (overrideParams: any) => buildTx(
316
+ { ...params, ...overrideParams },
317
+ type,
318
+ {
319
+ excludeKeys, prefix: Encoding.Transaction, vsn, denomination,
320
+ },
321
+ ),
322
+ },
323
+ )
324
+ ))
325
+ .filter((e) => e !== undefined);
326
+
327
+ const rlpEncoded = rlpEncode(binary);
328
+ const tx = encode(rlpEncoded, prefix);
329
+ return {
330
+ tx,
331
+ rlpEncoded,
332
+ binary,
333
+ txObject: unpackRawTx<TxTypeSchemas[Tag]>(binary, schema),
334
+ } as any;
335
+ }
336
+
337
+ /**
338
+ * @category transaction builder
339
+ */
340
+ export interface TxUnpacked<Tx extends TxSchema> {
341
+ txType: Tag;
342
+ tx: RawTxObject<Tx>;
343
+ rlpEncoded: Uint8Array;
344
+ }
345
+ /**
346
+ * Unpack transaction hash
347
+ * @category transaction builder
348
+ * @param encodedTx - Transaction to unpack
349
+ * @param txType - Expected transaction type
350
+ * @returns object
351
+ * @returns object.tx Object with transaction param's
352
+ * @returns object.txType Transaction type
353
+ */
354
+ export function unpackTx<TxType extends Tag>(
355
+ encodedTx: Encoded.Transaction | Encoded.Poi,
356
+ txType?: TxType,
357
+ ): TxUnpacked<TxTypeSchemas[TxType]> {
358
+ const rlpEncoded = decode(encodedTx);
359
+ const binary = rlpDecode(rlpEncoded);
360
+ const objId = +readInt(binary[0] as Buffer);
361
+ if (!isKeyOfObject(objId, TX_SCHEMA)) throw new DecodeError(`Unknown transaction tag: ${objId}`);
362
+ if (txType != null && txType !== objId) throw new DecodeError(`Expected transaction to have ${Tag[txType]} tag, got ${Tag[objId]} instead`);
363
+ const vsn = +readInt(binary[1] as Buffer);
364
+ if (!isKeyOfObject(vsn, TX_SCHEMA[objId])) throw new SchemaNotFoundError('deserialization', `tag ${objId}`, vsn);
365
+ const schema = TX_SCHEMA[objId][vsn];
366
+ return {
367
+ txType: objId,
368
+ tx: unpackRawTx<TxTypeSchemas[TxType]>(binary, schema),
369
+ rlpEncoded,
370
+ };
371
+ }
372
+
373
+ /**
374
+ * Build a transaction hash
375
+ * @category transaction builder
376
+ * @param rawTx - base64 or rlp encoded transaction
377
+ * @returns Transaction hash
378
+ */
379
+ export function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {
380
+ const data = typeof rawTx === 'string' && rawTx.startsWith('tx_')
381
+ ? decode(rawTx)
382
+ : rawTx;
383
+ return encode(hash(data), Encoding.TxHash);
384
+ }
385
+
386
+ /**
387
+ * Build a contract public key by contractCreateTx or gaAttach
388
+ * @category contract
389
+ * @param contractTx - Transaction
390
+ * @returns Contract public key
391
+ */
392
+ export function buildContractIdByContractTx(
393
+ contractTx: Encoded.Transaction,
394
+ ): Encoded.ContractAddress {
395
+ const { txType, tx } = unpackTx<Tag.ContractCreateTx | Tag.GaAttachTx>(contractTx);
396
+ if (![Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {
397
+ throw new ArgumentError('contractCreateTx', 'a contractCreateTx or gaAttach', txType);
398
+ }
399
+ return buildContractId(tx.ownerId, +tx.nonce);
400
+ }