@aeternity/aepp-sdk 11.0.0 → 12.1.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 (442) 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 +20764 -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 +138 -88
  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 +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  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 -240
  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 -664
  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 -108
  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 +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  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 +56 -42
  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 +170 -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 +146 -0
  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/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. 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
+ }