@aeternity/aepp-sdk 10.0.0 → 12.0.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 (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -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 +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -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 +25 -0
  29. package/es/account/Memory.mjs +81 -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 +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -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 +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -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 +1061 -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 +4164 -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 +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
@@ -1,460 +0,0 @@
1
- import BigNumber from 'bignumber.js'
2
- import { decode as rlpDecode, encode as rlpEncode } from 'rlp'
3
- import { AE_AMOUNT_FORMATS, formatAmount } from '../../utils/amount-formatter'
4
- import { hash } from '../../utils/crypto'
5
-
6
- import {
7
- DEFAULT_FEE,
8
- FIELD_TYPES,
9
- OBJECT_ID_TX_TYPE,
10
- PREFIX_ID_TAG,
11
- TX_DESERIALIZATION_SCHEMA,
12
- TX_FEE_BASE_GAS,
13
- TX_FEE_OTHER_GAS,
14
- TX_SERIALIZATION_SCHEMA,
15
- TX_TYPE,
16
- VALIDATION_MESSAGE,
17
- VSN
18
- } from './schema'
19
- import {
20
- readInt,
21
- readId,
22
- readPointers,
23
- writeId,
24
- writeInt,
25
- buildPointers,
26
- encode,
27
- decode
28
- } from './helpers'
29
- import { toBytes } from '../../utils/bytes'
30
- import MPTree from '../../utils/mptree'
31
-
32
- /**
33
- * JavaScript-based Transaction builder
34
- * @module @aeternity/aepp-sdk/es/tx/builder
35
- * @export TxBuilder
36
- * @example import { TxBuilder } from '@aeternity/aepp-sdk'
37
- */
38
-
39
- const ORACLE_TTL_TYPES = {
40
- delta: 'delta',
41
- block: 'block'
42
- }
43
-
44
- // SERIALIZE AND DESERIALIZE PART
45
- function deserializeField (value, type, prefix) {
46
- if (!value) return ''
47
- switch (type) {
48
- case FIELD_TYPES.ctVersion: {
49
- const [vm, , abi] = value
50
- return { vmVersion: readInt(Buffer.from([vm])), abiVersion: readInt(Buffer.from([abi])) }
51
- }
52
- case FIELD_TYPES.amount:
53
- return readInt(value)
54
- case FIELD_TYPES.int:
55
- return readInt(value)
56
- case FIELD_TYPES.id:
57
- return readId(value)
58
- case FIELD_TYPES.ids:
59
- return value.map(readId)
60
- case FIELD_TYPES.bool:
61
- return value[0] === 1
62
- case FIELD_TYPES.binary:
63
- return encode(value, prefix)
64
- case FIELD_TYPES.stateTree:
65
- return encode(value, 'ss')
66
- case FIELD_TYPES.string:
67
- return value.toString()
68
- case FIELD_TYPES.payload:
69
- return encode(value, 'ba')
70
- case FIELD_TYPES.pointers:
71
- return readPointers(value)
72
- case FIELD_TYPES.rlpBinary:
73
- return unpackTx(value, true)
74
- case FIELD_TYPES.rlpBinaries:
75
- return value.map(v => unpackTx(v, true))
76
- case FIELD_TYPES.rawBinary:
77
- return value
78
- case FIELD_TYPES.hex:
79
- return value.toString('hex')
80
- case FIELD_TYPES.offChainUpdates:
81
- return value.map(v => unpackTx(v, true))
82
- case FIELD_TYPES.callStack:
83
- // TODO: fix this
84
- return [readInt(value)]
85
- case FIELD_TYPES.mptrees:
86
- return value.map(t => new MPTree(t))
87
- case FIELD_TYPES.callReturnType:
88
- switch (readInt(value)) {
89
- case '0': return 'ok'
90
- case '1': return 'error'
91
- case '2': return 'revert'
92
- default: return value
93
- }
94
- case FIELD_TYPES.sophiaCodeTypeInfo:
95
- return value
96
- .reduce(
97
- (acc, [funHash, fnName, argType, outType]) =>
98
- ({ ...acc, [fnName.toString()]: { funHash, argType, outType } }),
99
- {}
100
- )
101
- default:
102
- return value
103
- }
104
- }
105
-
106
- function serializeField (value, type, prefix) {
107
- switch (type) {
108
- case FIELD_TYPES.amount:
109
- case FIELD_TYPES.int:
110
- return writeInt(value)
111
- case FIELD_TYPES.id:
112
- return writeId(value)
113
- case FIELD_TYPES.ids:
114
- return value.map(writeId)
115
- case FIELD_TYPES.bool:
116
- return Buffer.from([value ? 1 : 0])
117
- case FIELD_TYPES.binary:
118
- return decode(value, prefix)
119
- case FIELD_TYPES.stateTree:
120
- return decode(value, 'ss')
121
- case FIELD_TYPES.hex:
122
- return Buffer.from(value, 'hex')
123
- case FIELD_TYPES.signatures:
124
- return value.map(Buffer.from)
125
- case FIELD_TYPES.payload:
126
- return typeof value === 'string' && value.split('_')[0] === 'ba'
127
- ? decode(value, 'ba')
128
- : toBytes(value)
129
- case FIELD_TYPES.string:
130
- return toBytes(value)
131
- case FIELD_TYPES.pointers:
132
- return buildPointers(value)
133
- case FIELD_TYPES.rlpBinary:
134
- return value.rlpEncoded ?? value
135
- case FIELD_TYPES.mptrees:
136
- return value.map(t => t.serialize())
137
- case FIELD_TYPES.ctVersion:
138
- return Buffer.from([...toBytes(value.vmVersion), 0, ...toBytes(value.abiVersion)])
139
- case FIELD_TYPES.callReturnType:
140
- switch (value) {
141
- case 'ok': return writeInt(0)
142
- case 'error': return writeInt(1)
143
- case 'revert': return writeInt(2)
144
- default: return value
145
- }
146
- default:
147
- return value
148
- }
149
- }
150
-
151
- function validateField (value, key, type, prefix) {
152
- const assert = (valid, params) => valid ? {} : { [key]: VALIDATION_MESSAGE[type](params) }
153
- // All fields are required
154
- if (value === undefined || value === null) return { [key]: 'Field is required' }
155
-
156
- // Validate type of value
157
- switch (type) {
158
- case FIELD_TYPES.amount:
159
- case FIELD_TYPES.int: {
160
- const isMinusValue = (!isNaN(value) || BigNumber.isBigNumber(value)) && BigNumber(value).lt(0)
161
- return assert(
162
- (!isNaN(value) || BigNumber.isBigNumber(value)) && BigNumber(value).gte(0),
163
- { value, isMinusValue }
164
- )
165
- }
166
- case FIELD_TYPES.id: {
167
- const prefixes = Array.isArray(prefix) ? prefix : [prefix]
168
- const p = prefixes.find(p => p === value.split('_')[0])
169
- return assert(p && PREFIX_ID_TAG[value.split('_')[0]], { value, prefix })
170
- }
171
- case FIELD_TYPES.binary:
172
- return assert(value.split('_')[0] === prefix, { prefix, value })
173
- case FIELD_TYPES.string:
174
- return assert(true)
175
- case FIELD_TYPES.ctVersion:
176
- return assert(typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, 'abiVersion') && Object.prototype.hasOwnProperty.call(value, 'vmVersion'))
177
- case FIELD_TYPES.pointers:
178
- return assert(Array.isArray(value) && !value.find(e => e !== Object(e)), { value })
179
- default:
180
- return {}
181
- }
182
- }
183
-
184
- function transformParams (params, schema, { denomination } = {}) {
185
- params = schema
186
- .filter(([_, t]) => t === FIELD_TYPES.amount)
187
- .reduce(
188
- (acc, [key]) => ({ ...params, [key]: formatAmount(params[key], { denomination }) }),
189
- params
190
- )
191
- const schemaKeys = schema.map(([k]) => k)
192
- return Object
193
- .entries(params)
194
- .reduce(
195
- (acc, [key, value]) => {
196
- if (schemaKeys.includes(key)) acc[key] = value
197
- if (['oracleTtl', 'queryTtl', 'responseTtl'].includes(key)) {
198
- acc[`${key}Type`] = value.type === ORACLE_TTL_TYPES.delta ? 0 : 1
199
- acc[`${key}Value`] = value.value
200
- }
201
- return acc
202
- },
203
- {}
204
- )
205
- }
206
-
207
- // INTERFACE
208
-
209
- function getOracleRelativeTtl (params, txType) {
210
- const ttlKey = {
211
- [TX_TYPE.oracleRegister]: 'oracleTtl',
212
- [TX_TYPE.oracleExtend]: 'oracleTtl',
213
- [TX_TYPE.oracleQuery]: 'queryTtl',
214
- [TX_TYPE.oracleResponse]: 'responseTtl'
215
- }[txType]
216
-
217
- if (params[ttlKey] || params[`${ttlKey}Value`]) {
218
- return params[`${ttlKey}Value`] || params[ttlKey].value
219
- }
220
- return 1
221
- }
222
-
223
- /**
224
- * Calculate min fee
225
- * @function
226
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/index
227
- * @rtype (txType, { gas = 0, params }) => String
228
- * @param {String} txType - Transaction type
229
- * @param {Options} options - Options object
230
- * @param {String|Number} options.gas - Gas amount
231
- * @param {Object} options.params - Tx params
232
- * @return {String|Number}
233
- * @example calculateMinFee('spendTx', { gas, params })
234
- */
235
- export function calculateMinFee (txType, { gas = 0, params, vsn }) {
236
- const multiplier = BigNumber(1e9) // 10^9 GAS_PRICE
237
- if (!params) return BigNumber(DEFAULT_FEE).times(multiplier).toString(10)
238
-
239
- let actualFee = buildFee(txType, { params: { ...params, fee: 0 }, multiplier, gas, vsn })
240
- let expected = BigNumber(0)
241
-
242
- while (!actualFee.eq(expected)) {
243
- actualFee = buildFee(txType, { params: { ...params, fee: actualFee }, multiplier, gas, vsn })
244
- expected = actualFee
245
- }
246
- return expected.toString(10)
247
- }
248
-
249
- /**
250
- * Calculate fee based on tx type and params
251
- * @param txType
252
- * @param params
253
- * @param gas
254
- * @param multiplier
255
- * @param vsn
256
- * @return {BigNumber}
257
- */
258
- function buildFee (txType, { params, gas = 0, multiplier, vsn }) {
259
- const { rlpEncoded: txWithOutFee } = buildTx({ ...params }, txType, { vsn })
260
- const txSize = txWithOutFee.length
261
- return TX_FEE_BASE_GAS(txType)
262
- .plus(TX_FEE_OTHER_GAS(txType, txSize, {
263
- relativeTtl: getOracleRelativeTtl(params, txType),
264
- innerTxSize: [TX_TYPE.gaMeta, TX_TYPE.payingFor].includes(txType)
265
- ? params.tx.tx.encodedTx.rlpEncoded.length
266
- : 0
267
- }))
268
- .times(multiplier)
269
- }
270
-
271
- /**
272
- * Calculate fee
273
- * @function
274
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
275
- * @rtype (fee, txType, gas = 0) => String
276
- * @param {String|Number} fee - fee
277
- * @param {String} txType - Transaction type
278
- * @param {Options} options - Options object
279
- * @param {String|Number} options.gas - Gas amount
280
- * @param {Object} options.params - Tx params
281
- * @return {String|Number}
282
- * @example calculateFee(null, 'spendTx', { gas, params })
283
- */
284
- export function calculateFee (fee = 0, txType, { gas = 0, params, showWarning = true, vsn } = {}) {
285
- if (!params && showWarning) console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${DEFAULT_FEE})`)
286
-
287
- return fee || calculateMinFee(txType, { params, gas, vsn })
288
- }
289
-
290
- /**
291
- * Validate transaction params
292
- * @function
293
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
294
- * @param {Object} params Object with tx params
295
- * @param {Array} schema Transaction schema
296
- * @param {Array} excludeKeys Array of keys to exclude for validation
297
- * @return {Object} Object with validation errors
298
- */
299
- export function validateParams (params, schema, { excludeKeys = [] }) {
300
- return schema
301
- .filter(([key]) => !excludeKeys.includes(key) && key !== 'payload')
302
- .reduce(
303
- (acc, [key, type, prefix]) => Object.assign(
304
- acc, validateField(params[key], key, type, prefix)
305
- ),
306
- {}
307
- )
308
- }
309
-
310
- /**
311
- * Build binary transaction
312
- * @function
313
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
314
- * @param {Object} params Object with tx params
315
- * @param {Array} schema Transaction schema
316
- * @param {Object} [options={}] options
317
- * @param {String[]} [options.excludeKeys=[]] Array of keys to exclude for validation and build
318
- * @param {String} [options.denomination='aettos'] Denomination of amounts
319
- * @throws {Error} Validation error
320
- * @return {Array} Array with binary fields of transaction
321
- */
322
- export function buildRawTx (
323
- params,
324
- schema,
325
- { excludeKeys = [], denomination = AE_AMOUNT_FORMATS.AETTOS } = {}
326
- ) {
327
- const filteredSchema = schema.filter(([key]) => !excludeKeys.includes(key))
328
-
329
- // Transform `amount` type fields to `aettos`
330
- params = transformParams(params, filteredSchema, { denomination })
331
- // Validation
332
- const valid = validateParams(params, schema, { excludeKeys })
333
- if (Object.keys(valid).length) {
334
- throw new Error('Transaction build error. ' + JSON.stringify(valid))
335
- }
336
-
337
- return filteredSchema
338
- .map(([key, fieldType, prefix]) => serializeField(params[key], fieldType, prefix))
339
- }
340
-
341
- /**
342
- * Unpack binary transaction
343
- * @function
344
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
345
- * @param {Array} binary Array with binary transaction field's
346
- * @param {Array} schema Transaction schema
347
- * @return {Object} Object with transaction field's
348
- */
349
- export function unpackRawTx (binary, schema) {
350
- return schema
351
- .reduce(
352
- (
353
- acc,
354
- [key, fieldType, prefix],
355
- index
356
- ) => Object.assign(acc, { [key]: deserializeField(binary[index], fieldType, prefix) }),
357
- {}
358
- )
359
- }
360
-
361
- /**
362
- * Get transaction serialization/deserialization schema
363
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
364
- * @param {{ vsn: String, objId: Number, type: String }}
365
- * @throws {Error} Schema not found error
366
- * @return {Object} Schema
367
- */
368
- const getSchema = ({ vsn, objId, type }) => {
369
- const isDeserialize = !!objId
370
- const firstKey = isDeserialize ? objId : type
371
- const schema = isDeserialize ? TX_DESERIALIZATION_SCHEMA : TX_SERIALIZATION_SCHEMA
372
-
373
- if (!schema[firstKey]) {
374
- throw new Error(`Transaction ${isDeserialize ? 'deserialization' : 'serialization'} not implemented for ${isDeserialize ? 'tag ' + objId : type}`)
375
- }
376
- if (!schema[firstKey][vsn]) {
377
- throw new Error(`Transaction ${isDeserialize ? 'deserialization' : 'serialization'} not implemented for ${isDeserialize ? 'tag ' + objId : type} version ${vsn}`)
378
- }
379
- return schema[firstKey][vsn]
380
- }
381
-
382
- /**
383
- * Build transaction hash
384
- * @function
385
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
386
- * @param {Object} params Object with tx params
387
- * @param {String} type Transaction type
388
- * @param {Object} [options={}] options
389
- * @param {String[]} [options.excludeKeys] Array of keys to exclude for validation and build
390
- * @param {String} [options.prefix] Prefix of transaction
391
- * @throws {Error} Validation error
392
- * @returns {Object} object
393
- * @returns {String} object.tx Base64Check transaction hash with 'tx_' prefix
394
- * @returns {Buffer} object.rlpEncoded rlp encoded transaction
395
- * @returns {Array<Buffer>} object.binary binary transaction
396
- */
397
- export function buildTx (
398
- params,
399
- type,
400
- { excludeKeys = [], prefix = 'tx', vsn = VSN, denomination = AE_AMOUNT_FORMATS.AETTOS } = {}
401
- ) {
402
- const [schema, tag] = getSchema({ type, vsn })
403
- const binary = buildRawTx(
404
- { ...params, VSN: vsn, tag },
405
- schema,
406
- { excludeKeys, denomination: params.denomination || denomination }
407
- ).filter(e => e !== undefined)
408
-
409
- const rlpEncoded = rlpEncode(binary)
410
- const tx = encode(rlpEncoded, prefix)
411
-
412
- return { tx, rlpEncoded, binary, txObject: unpackRawTx(binary, schema) }
413
- }
414
-
415
- /**
416
- * Unpack transaction hash
417
- * @function
418
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
419
- * @param {String|Buffer} encodedTx String or RLP encoded transaction array
420
- * (if fromRlpBinary flag is true)
421
- * @param {Boolean} fromRlpBinary Unpack from RLP encoded transaction (default: false)
422
- * @param {String} prefix - Prefix of data
423
- * @returns {Object} object
424
- * @returns {Object} object.tx Object with transaction param's
425
- * @returns {Buffer} object.rlpEncoded rlp encoded transaction
426
- * @returns {Array<Buffer>} object.binary binary transaction
427
- */
428
- export function unpackTx (encodedTx, fromRlpBinary = false, prefix = 'tx') {
429
- const rlpEncoded = fromRlpBinary ? encodedTx : decode(encodedTx, prefix)
430
- const binary = rlpDecode(rlpEncoded)
431
-
432
- const objId = readInt(binary[0])
433
- const vsn = readInt(binary[1])
434
- const [schema] = getSchema({ objId, vsn })
435
-
436
- return { txType: OBJECT_ID_TX_TYPE[objId], tx: unpackRawTx(binary, schema), rlpEncoded, binary }
437
- }
438
-
439
- /**
440
- * Build a transaction hash
441
- * @function
442
- * @alias module:@aeternity/aepp-sdk/es/tx/builder
443
- * @param {String | Buffer} rawTx base64 or rlp encoded transaction
444
- * @return {String} Transaction hash
445
- */
446
- export function buildTxHash (rawTx) {
447
- const data = typeof rawTx === 'string' && rawTx.startsWith('tx_') ? decode(rawTx, 'tx') : rawTx
448
- return encode(hash(data), 'th')
449
- }
450
-
451
- export default {
452
- calculateMinFee,
453
- calculateFee,
454
- unpackTx,
455
- unpackRawTx,
456
- buildTx,
457
- buildRawTx,
458
- validateParams,
459
- buildTxHash
460
- }