@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
@@ -0,0 +1,96 @@
1
+ import { EncodingType } from './../../utils/encoder'
2
+ import BigNumber from 'bignumber.js'
3
+ import { mapObject } from '../../utils/other'
4
+
5
+ // # AENS
6
+ export type AensName = `${string}.chain`
7
+ export const NAME_TTL = 180000
8
+ // # max number of block into the future that the name is going to be available
9
+ // # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update
10
+ // # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry
11
+ export const NAME_MAX_TTL = 36000
12
+ export const NAME_MAX_CLIENT_TTL = 84600
13
+ export const CLIENT_TTL = NAME_MAX_CLIENT_TTL
14
+ export const MIN_GAS_PRICE = 1e9
15
+ // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67
16
+ export const NAME_FEE_MULTIPLIER = 1e14 // 100000000000000
17
+ export const NAME_FEE_BID_INCREMENT = 0.05 // # the increment is in percentage
18
+ // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272
19
+ export const NAME_BID_TIMEOUT_BLOCKS = 480 // # ~1 day
20
+ // # this is the max length for a domain that requires a base fee to be paid
21
+ export const NAME_MAX_LENGTH_FEE = 31
22
+ export const NAME_BID_MAX_LENGTH = 12 // # this is the max length for a domain to be part of a bid
23
+ export enum POINTER_KEY_BY_PREFIX {
24
+ ak = 'account_pubkey',
25
+ ok = 'oracle_pubkey',
26
+ ct = 'contract_pubkey',
27
+ ch = 'channel'
28
+ }
29
+ // # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290
30
+ // # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times
31
+ // # bid ranges:
32
+ export const NAME_BID_RANGES = mapObject({
33
+ 31: 3,
34
+ 30: 5,
35
+ 29: 8,
36
+ 28: 13,
37
+ 27: 21,
38
+ 26: 34,
39
+ 25: 55,
40
+ 24: 89,
41
+ 23: 144,
42
+ 22: 233,
43
+ 21: 377,
44
+ 20: 610,
45
+ 19: 987,
46
+ 18: 1597,
47
+ 17: 2584,
48
+ 16: 4181,
49
+ 15: 6765,
50
+ 14: 10946,
51
+ 13: 17711,
52
+ 12: 28657,
53
+ 11: 46368,
54
+ 10: 75025,
55
+ 9: 121393,
56
+ 8: 196418,
57
+ 7: 317811,
58
+ 6: 514229,
59
+ 5: 832040,
60
+ 4: 1346269,
61
+ 3: 2178309,
62
+ 2: 3524578,
63
+ 1: 5702887
64
+ }, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)])
65
+
66
+ // # Tag constant for ids (type uint8)
67
+ // # see https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type
68
+ // # <<Tag:1/unsigned-integer-unit:8, Hash:32/binary-unit:8>>
69
+ const ID_TAG_ACCOUNT = 1
70
+ const ID_TAG_NAME = 2
71
+ const ID_TAG_COMMITMENT = 3
72
+ const ID_TAG_ORACLE = 4
73
+ const ID_TAG_CONTRACT = 5
74
+ const ID_TAG_CHANNEL = 6
75
+
76
+ export const ID_TAG = {
77
+ account: ID_TAG_ACCOUNT,
78
+ name: ID_TAG_NAME,
79
+ commitment: ID_TAG_COMMITMENT,
80
+ oracle: ID_TAG_ORACLE,
81
+ contract: ID_TAG_CONTRACT,
82
+ channel: ID_TAG_CHANNEL
83
+ }
84
+
85
+ export const PREFIX_ID_TAG = {
86
+ ak: ID_TAG.account,
87
+ nm: ID_TAG.name,
88
+ cm: ID_TAG.commitment,
89
+ ok: ID_TAG.oracle,
90
+ ct: ID_TAG.contract,
91
+ ch: ID_TAG.channel
92
+ } as const
93
+
94
+ export const ID_TAG_PREFIX = mapObject(
95
+ PREFIX_ID_TAG, ([key, value]: [EncodingType, number]) => [value, key]
96
+ )
@@ -0,0 +1,111 @@
1
+ import {
2
+ writeId, readId, produceNameId, getMinimumNameFee, readInt, writeInt, isNameValid
3
+ } from './helpers'
4
+ import { InsufficientNameFeeError, IllegalArgumentError } from '../../utils/errors'
5
+ import BigNumber from 'bignumber.js'
6
+ import { MIN_GAS_PRICE, AensName } from './constants'
7
+ import { EncodedData } from '../../utils/encoder'
8
+
9
+ type Int = number | string | BigNumber
10
+
11
+ // todo: update me
12
+ // ? This is a TS workaround because this has to be a class with only static methods
13
+ export class Field {
14
+ public prototype: any
15
+
16
+ static serialize (value: any, _txFields: object = {}): Buffer {
17
+ return Buffer.from(value)
18
+ }
19
+
20
+ static deserialize (value: Buffer): any {
21
+ return value.toString()
22
+ }
23
+ }
24
+
25
+ export class Name extends Field {
26
+ /**
27
+ * @param value - AENS name
28
+ */
29
+ static serialize (value: AensName): Buffer {
30
+ return Buffer.from(value)
31
+ }
32
+
33
+ /**
34
+ * @param value - AENS name
35
+ */
36
+ static deserialize (value: Buffer): string {
37
+ return value.toString()
38
+ }
39
+ }
40
+
41
+ export class NameId extends Field {
42
+ /**
43
+ * @param value - AENS name ID
44
+ */
45
+ static serialize (value: AensName | EncodedData<'nm'>): Buffer {
46
+ return writeId(isNameValid(value) ? produceNameId(value) : value)
47
+ }
48
+
49
+ /**
50
+ * @param value - AENS name ID Buffer
51
+ */
52
+ static deserialize (value: Buffer): string {
53
+ return readId(value)
54
+ }
55
+ }
56
+
57
+ export class NameFee extends Field {
58
+ /**
59
+ * @param value - AENS name fee Buffer
60
+ * @param txFields - Transaction fields
61
+ * @param txFields.name - AENS Name in transaction
62
+ */
63
+ static serialize (value: Int | undefined, { name }: { name: AensName }): Buffer {
64
+ const minNameFee = getMinimumNameFee(name)
65
+ value ??= minNameFee
66
+ if (minNameFee.gt(value)) {
67
+ throw new InsufficientNameFeeError(new BigNumber(value), minNameFee)
68
+ }
69
+ return writeInt(value)
70
+ }
71
+
72
+ /**
73
+ * @param value - AENS name fee Buffer
74
+ * @returns AENS name fee
75
+ */
76
+ static deserialize (value: Buffer): string {
77
+ return readInt(value)
78
+ }
79
+ }
80
+
81
+ export class Deposit extends Field {
82
+ /**
83
+ * @param value - Deposit value in string format. Should be equal to '0'.
84
+ * @returns Deposit value Buffer.
85
+ */
86
+ static serialize (value: string = '0'): Buffer {
87
+ if (parseInt(value) !== 0) throw new IllegalArgumentError(`Contract deposit is not refundable, so it should be equal 0, got ${value.toString()} instead`)
88
+ return writeInt(0)
89
+ }
90
+
91
+ /**
92
+ * @param value - Deposit value Buffer.
93
+ * @returns Deposit value.
94
+ */
95
+ static deserialize (value: Buffer): string {
96
+ return readInt(value)
97
+ }
98
+ }
99
+
100
+ export class GasPrice extends Field {
101
+ static serialize (value: Int = MIN_GAS_PRICE): Buffer {
102
+ if (+value < MIN_GAS_PRICE) {
103
+ throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger then ${MIN_GAS_PRICE}`)
104
+ }
105
+ return writeInt(value)
106
+ }
107
+
108
+ static deserialize (value: Buffer): string {
109
+ return readInt(value)
110
+ }
111
+ }
@@ -0,0 +1,253 @@
1
+ import BigNumber from 'bignumber.js'
2
+ import { hash, salt } from '../../utils/crypto'
3
+ import { encode, decode, EncodedData, EncodingType } from '../../utils/encoder'
4
+ import { toBytes } from '../../utils/bytes'
5
+ import { concatBuffers } from '../../utils/other'
6
+ import {
7
+ ID_TAG_PREFIX,
8
+ PREFIX_ID_TAG,
9
+ NAME_BID_RANGES,
10
+ NAME_FEE_BID_INCREMENT,
11
+ NAME_BID_TIMEOUT_BLOCKS,
12
+ NAME_MAX_LENGTH_FEE,
13
+ POINTER_KEY_BY_PREFIX,
14
+ AensName
15
+ } from './constants'
16
+ import { ceil } from '../../utils/bignumber'
17
+ import {
18
+ TagNotFoundError,
19
+ PrefixNotFoundError,
20
+ IllegalBidFeeError,
21
+ ArgumentError
22
+ } from '../../utils/errors'
23
+
24
+ /**
25
+ * JavaScript-based Transaction builder helper function's
26
+ */
27
+
28
+ export const createSalt = salt
29
+
30
+ export { encode, decode }
31
+
32
+ export interface Pointer {
33
+ key: string
34
+ id: string
35
+ }
36
+
37
+ /**
38
+ * Build a contract public key
39
+ * @param ownerId - The public key of the owner account
40
+ * @param nonce - the nonce of the transaction
41
+ * @returns Contract public key
42
+ */
43
+ export function buildContractId (ownerId: EncodedData<'ak'>, nonce: number | BigNumber): EncodedData<'ct'> {
44
+ const ownerIdAndNonce = Buffer.from([...decode(ownerId), ...toBytes(nonce)])
45
+ const b2bHash = hash(ownerIdAndNonce)
46
+ return encode(b2bHash, 'ct')
47
+ }
48
+
49
+ /**
50
+ * Build a oracle query id
51
+ * @param senderId - The public key of the sender account
52
+ * @param nonce - the nonce of the transaction
53
+ * @param oracleId - The oracle public key
54
+ * @returns Contract public key
55
+ */
56
+ export function oracleQueryId (
57
+ senderId: EncodedData<'ak'>,
58
+ nonce: number | BigNumber | string,
59
+ oracleId: EncodedData<'ok'>
60
+ ): EncodedData<'oq'> {
61
+ function _int32 (val: number | string | BigNumber): Buffer {
62
+ const nonceBE = toBytes(val, true)
63
+ return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE])
64
+ }
65
+
66
+ const b2bHash = hash(
67
+ Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]))
68
+ return encode(b2bHash, 'oq')
69
+ }
70
+
71
+ /**
72
+ * Format the salt into a 64-byte hex string
73
+ * @param salt - Random number
74
+ * @returns Zero-padded hex string of salt
75
+ */
76
+ export function formatSalt (salt: number): Buffer {
77
+ return Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')
78
+ }
79
+
80
+ /**
81
+ * Encode an AENS name
82
+ *
83
+ * @param name - Name to encode
84
+ * @returns `nm_` prefixed encoded AENS name
85
+ */
86
+ export function produceNameId (name: AensName): EncodedData<'nm'> {
87
+ return encode(hash(name.toLowerCase()), 'nm')
88
+ }
89
+
90
+ /**
91
+ * Generate the commitment hash by hashing the formatted salt and
92
+ * name, base 58 encoding the result and prepending 'cm_'
93
+ *
94
+ * @param name - Name to be registered
95
+ * @param salt - Random salt
96
+ * @returns Commitment hash
97
+ */
98
+ export function commitmentHash (name: AensName, salt: number = createSalt()): EncodedData<'cm'> {
99
+ return encode(hash(concatBuffers([Buffer.from(name.toLowerCase()), formatSalt(salt)])), 'cm')
100
+ }
101
+
102
+ /**
103
+ * Utility function to create and _id type
104
+ * @param hashId - Encoded hash
105
+ * @returns Buffer Buffer with ID tag and decoded HASh
106
+ */
107
+ export function writeId (hashId: string): Buffer {
108
+ if (typeof hashId !== 'string') throw new ArgumentError('hashId', 'a string', hashId)
109
+ const prefix = hashId.slice(0, 2) as keyof typeof PREFIX_ID_TAG
110
+ const idTag = PREFIX_ID_TAG[prefix]
111
+ if (idTag == null) throw new TagNotFoundError(prefix)
112
+ return Buffer.from([...toBytes(idTag), ...decode(hashId as EncodedData<EncodingType>)])
113
+ }
114
+
115
+ /**
116
+ * Utility function to read and _id type
117
+ * @param buf - Data
118
+ * @returns Encoided hash string with prefix
119
+ */
120
+ export function readId (buf: Buffer): string {
121
+ const tag = Buffer.from(buf).readUIntBE(0, 1)
122
+ const prefix = ID_TAG_PREFIX[tag]
123
+ if (prefix == null) throw new PrefixNotFoundError(tag)
124
+ return encode(buf.slice(1, buf.length), prefix)
125
+ }
126
+
127
+ /**
128
+ * Utility function to convert int to bytes
129
+ * @param val - Value
130
+ * @returns Buffer Buffer from number(BigEndian)
131
+ */
132
+ export function writeInt (val: number | string | BigNumber): Buffer {
133
+ return toBytes(val, true)
134
+ }
135
+
136
+ /**
137
+ * Utility function to convert bytes to int
138
+ * @param buf - Value
139
+ * @returns Buffer Buffer from number(BigEndian)
140
+ */
141
+ export function readInt (buf: Buffer = Buffer.from([])): string {
142
+ return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10)
143
+ }
144
+
145
+ /**
146
+ * Helper function to build pointers for name update TX
147
+ * @param pointers - Array of pointers
148
+ * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
149
+ * @returns Serialized pointers array
150
+ */
151
+ export function buildPointers (pointers: Pointer[]): Buffer[][] {
152
+ return pointers.map(
153
+ p => [
154
+ toBytes(p.key),
155
+ writeId(p.id)
156
+ ]
157
+ )
158
+ }
159
+
160
+ /**
161
+ * Helper function to read pointers from name update TX
162
+ * @param pointers - Array of pointers
163
+ * @returns Deserialize pointer array
164
+ */
165
+ export function readPointers (pointers: Array<[key: string, id: Buffer]>): Pointer[] {
166
+ return pointers.map(
167
+ ([key, id]) => Object.assign({
168
+ key: key.toString(),
169
+ id: readId(id)
170
+ })
171
+ )
172
+ }
173
+
174
+ const AENS_SUFFIX = '.chain'
175
+
176
+ /**
177
+ * Is AENS name valid
178
+ * @param name - AENS name
179
+ */
180
+ export function isNameValid (name: string): name is AensName {
181
+ // TODO: probably there are stronger requirements
182
+ return name.endsWith(AENS_SUFFIX)
183
+ }
184
+
185
+ /**
186
+ * @param identifier - account/oracle/contract address, or channel
187
+ * @returns default AENS pointer key
188
+ */
189
+ export function getDefaultPointerKey (
190
+ identifier: EncodedData<keyof typeof POINTER_KEY_BY_PREFIX>
191
+ ): POINTER_KEY_BY_PREFIX {
192
+ decode(identifier)
193
+ const prefix = identifier.substring(0, 2) as keyof typeof POINTER_KEY_BY_PREFIX
194
+ return POINTER_KEY_BY_PREFIX[prefix]
195
+ }
196
+
197
+ /**
198
+ * Get the minimum AENS name fee
199
+ *
200
+ * @param name - the AENS name to get the fee for
201
+ * @returns the minimum fee for the AENS name auction
202
+ */
203
+ export function getMinimumNameFee (name: AensName): BigNumber {
204
+ const nameLength = name.length - AENS_SUFFIX.length
205
+ return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)]
206
+ }
207
+
208
+ /**
209
+ * Compute bid fee for AENS auction
210
+ *
211
+ * @param name - the AENS name to get the fee for
212
+ * @param options - Options
213
+ * @param options.startFee - Auction start fee
214
+ * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)
215
+ * @returns Bid fee
216
+ */
217
+ export function computeBidFee (
218
+ name: AensName,
219
+ { startFee, increment = NAME_FEE_BID_INCREMENT }:
220
+ { startFee?: number | string | BigNumber, increment?: number } = {}
221
+ ): BigNumber {
222
+ if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`)
223
+ if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`)
224
+ // FIXME: increment should be used somehow here
225
+ return ceil(
226
+ new BigNumber(startFee ?? getMinimumNameFee(name))
227
+ .times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1))
228
+ )
229
+ }
230
+
231
+ /**
232
+ * Compute auction end height
233
+ *
234
+ * @param name - Name to compute auction end for
235
+ * @param claimHeight - Auction starting height
236
+ * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}
237
+ * @returns Auction end height
238
+ */
239
+ export function computeAuctionEndBlock (name: AensName, claimHeight: number): number {
240
+ const length = name.length - AENS_SUFFIX.length
241
+ const h = (length <= 4 && 62 * NAME_BID_TIMEOUT_BLOCKS) ||
242
+ (length <= 8 && 31 * NAME_BID_TIMEOUT_BLOCKS) ||
243
+ (length <= 12 && NAME_BID_TIMEOUT_BLOCKS) ||
244
+ 0
245
+ return h + claimHeight
246
+ }
247
+
248
+ /**
249
+ * Is name accept going to auction
250
+ */
251
+ export function isAuctionName (name: AensName): boolean {
252
+ return name.length < 13 + AENS_SUFFIX.length
253
+ }