@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,171 +0,0 @@
1
- /**
2
- * NodePool module
3
- * @module @aeternity/aepp-sdk/es/node-pool
4
- * @export NodePool
5
- * @example import { NodePool } from '@aeternity/aepp-sdk'
6
- */
7
- import stampit from '@stamp/it'
8
- import { getNetworkId } from '../node'
9
-
10
- /**
11
- * Node Pool Stamp
12
- * This stamp allow you to make basic manipulation(add, remove, select) on list of nodes
13
- * @function
14
- * @alias module:@aeternity/aepp-sdk/es/node-pool
15
- * @rtype Stamp
16
- * @param {Object} [options={}] - Initializer object
17
- * @param {Array} [options.nodes] - Array with Node instances
18
- * @return {Object} NodePool instance
19
- */
20
- export default stampit({
21
- init ({ nodes = [] } = {}) {
22
- this.pool = new Map()
23
- this.validateNodes(nodes)
24
-
25
- nodes.forEach((node, i) => {
26
- const { name, instance } = node
27
- this.addNode(name, instance, i === 0)
28
- })
29
- if (nodes.length) this.selectNode(nodes[0].name)
30
- },
31
- propertyDescriptors: {
32
- api: {
33
- enumerable: true,
34
- configurable: false,
35
- get () {
36
- if (!this.selectedNode || !this.selectedNode.instance) {
37
- throw new Error('You can\'t use Node API. Node is not connected or not defined!')
38
- }
39
- return this.selectedNode.instance.api
40
- }
41
- }
42
- },
43
- methods: {
44
- /**
45
- * Add Node
46
- * @function
47
- * @alias module:@aeternity/aepp-sdk/es/node-pool
48
- * @rtype (name: String, nodeInstance: Object, select: Boolean) => void
49
- * @param {String} name - Node name
50
- * @param {Object} node - Node instance
51
- * @param {Boolean} select - Select this node as current
52
- * @return {void}
53
- * @example
54
- * // add and select new node with name 'testNode'
55
- * nodePool.addNode('testNode', awaitNode({ url, internalUrl }), true)
56
- */
57
- addNode (name, node, select = false) {
58
- if (this.pool.has(name)) throw new Error(`Node with name ${name} already exist`)
59
-
60
- this.validateNodes([{ name, instance: node }])
61
-
62
- this.pool.set(name, {
63
- name,
64
- instance: node,
65
- url: node.url,
66
- internalUrl: node.internalUrl,
67
- networkId: node.nodeNetworkId,
68
- version: node.version,
69
- consensusProtocolVersion: node.consensusProtocolVersion
70
- })
71
- if (select || !this.selectedNode) {
72
- this.selectNode(name)
73
- }
74
- },
75
- /**
76
- * Select Node
77
- * @function
78
- * @alias module:@aeternity/aepp-sdk/es/node-pool
79
- * @rtype (name: String) => void
80
- * @param {String} name - Node name
81
- * @return {void}
82
- * @example
83
- * nodePool.selectNode('testNode')
84
- */
85
- selectNode (name) {
86
- if (!this.pool.has(name)) throw new Error(`Node with name ${name} not in pool`)
87
-
88
- this.selectedNode = this.pool.get(name)
89
- },
90
- /**
91
- * Get NetworkId of current Node
92
- * @function
93
- * @alias module:@aeternity/aepp-sdk/es/node-pool
94
- * @rtype () => String
95
- * @return {String}
96
- * @example
97
- * nodePool.getNetworkId()
98
- */
99
- getNetworkId,
100
- /**
101
- * Check if you have selected node
102
- * @function
103
- * @alias module:@aeternity/aepp-sdk/es/node-pool
104
- * @rtype () => Boolean
105
- * @return {Boolean}
106
- * @example
107
- * nodePool.isNodeConnected()
108
- */
109
- isNodeConnected () {
110
- return !!this.selectedNode.instance
111
- },
112
- /**
113
- * Get information about node
114
- * @function
115
- * @alias module:@aeternity/aepp-sdk/es/node-pool
116
- * @rtype () => Object
117
- * @return {Object}
118
- * @example
119
- * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }
120
- */
121
- getNodeInfo () {
122
- if (!this.isNodeConnected()) throw new Error('Can not get node info. Node is not connected')
123
- return {
124
- name: this.selectedNode.name,
125
- ...this.selectedNode.instance.getNodeInfo()
126
- }
127
- },
128
- /**
129
- * Get array of available nodes
130
- * @function
131
- * @alias module:@aeternity/aepp-sdk/es/node-pool
132
- * @rtype () => Object[]
133
- * @return {Object[]}
134
- * @example
135
- * nodePool.getNodesInPool()
136
- */
137
- getNodesInPool () {
138
- return Array.from(this.pool.entries()).map(([name, node]) => ({
139
- name,
140
- ...node.instance.getNodeInfo()
141
- }))
142
- },
143
- validateNodes (nodes) {
144
- // TODO: validate it on TypeScript level instead
145
- // (to speedup development, save runtime resources)
146
- if (!Array.isArray(nodes)) throw new Error('"nodes" should be an array')
147
- const notObject = nodes.map(n => typeof n).find(t => t !== 'object')
148
- if (notObject) throw new Error(`Each node should be an object, got ${notObject} instead`)
149
- const wrongFields = nodes.find(n => typeof n.name !== 'string' || typeof n.instance !== 'object')
150
- if (notObject) {
151
- throw new Error(
152
- 'Each node should have name (string), instance (object) ' +
153
- `fields, got ${JSON.stringify(wrongFields)} instead`
154
- )
155
- }
156
- const wrongInstanceFields = nodes
157
- .map(n => n.instance)
158
- .find(i => typeof i.api !== 'object' || typeof i.genesisHash !== 'string' ||
159
- typeof i.consensusProtocolVersion !== 'number')
160
- if (wrongInstanceFields) {
161
- throw new Error(
162
- 'Each node instance should have api (object), consensusProtocolVersion (number), ' +
163
- `genesisHash (string) fields, got ${JSON.stringify(wrongInstanceFields)} instead`
164
- )
165
- }
166
- }
167
- },
168
- props: {
169
- selectedNode: {}
170
- }
171
- })
package/src/node.js DELETED
@@ -1,118 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2021 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * Node module
20
- * @module @aeternity/aepp-sdk/es/node
21
- * @export Node
22
- * @example import { Node } from '@aeternity/aepp-sdk'
23
- */
24
-
25
- import AsyncInit from './utils/async-init'
26
- import genSwaggerClient from './utils/swagger'
27
- import semverSatisfies from './utils/semver-satisfies'
28
-
29
- /**
30
- * Obtain networkId from account or node
31
- * @instance
32
- * @category async
33
- * @rtype () => networkId: String
34
- * @return {String} NetworkId
35
- */
36
- export function getNetworkId ({ networkId, force = false } = {}) {
37
- const res = networkId || this.networkId || this.selectedNode?.networkId
38
- if (!force && !res) throw new Error('networkId is not provided')
39
- if (force && !res) return null
40
- return res
41
- }
42
-
43
- /**
44
- * {@link genSwaggerClient} based Node remote API Stamp
45
- * @function
46
- * @alias module:@aeternity/aepp-sdk/es/node
47
- * @rtype Stamp
48
- * @param {Object} [options={}] - Options
49
- * @param {String} options.url - Base URL for Node
50
- * @param {String} options.internalUrl - Base URL for internal requests
51
- * @param {Object} options.axiosConfig - Object with axios configuration
52
- * @param {Object} options.axiosConfig.config
53
- * @param {Function} options.axiosConfig.errorHandler - (err) => throw err
54
- * @return {Object} Node client
55
- * @example Node({url: 'https://testnet.aeternity.io'})
56
- */
57
- const Node = AsyncInit.compose({
58
- async init ({ url, internalUrl, ignoreVersion }) {
59
- if (!url) throw new Error('"url" required')
60
- this.url = url.replace(/\/$/, '')
61
- this.internalUrl = internalUrl ? internalUrl.replace(/\/$/, '') : this.url
62
- const client = await genSwaggerClient(`${this.url}/api?oas3`, {
63
- internalUrl: this.internalUrl,
64
- responseInterceptor: response => {
65
- if (response.ok) return
66
- return Object.assign(response, {
67
- statusText: `${new URL(response.url).pathname.slice(1)} error: ` + response.body.reason
68
- })
69
- }
70
- })
71
- this.version = client.spec.info.version
72
- if (
73
- !semverSatisfies(this.version, NODE_GE_VERSION, NODE_LT_VERSION) &&
74
- !ignoreVersion
75
- ) {
76
- throw new Error(
77
- `Unsupported node version ${this.version}. ` +
78
- `Supported: >= ${NODE_GE_VERSION} < ${NODE_LT_VERSION}`
79
- )
80
- }
81
- this.api = client.api
82
-
83
- const {
84
- nodeRevision: revision, genesisKeyBlockHash: genesisHash, networkId,
85
- protocols, topBlockHeight
86
- } = await this.api.getStatus()
87
- this.consensusProtocolVersion = protocols
88
- .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)
89
- .reduce(
90
- (acc, p) => p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc,
91
- { effectiveAtHeight: -1, version: 0 }
92
- )
93
- .version
94
- this.nodeNetworkId = networkId
95
- return Object.assign(this, { revision, genesisHash })
96
- },
97
- methods: {
98
- getNodeInfo () {
99
- return {
100
- url: this.url,
101
- internalUrl: this.internalUrl,
102
- nodeNetworkId: this.nodeNetworkId,
103
- version: this.version,
104
- consensusProtocolVersion: this.consensusProtocolVersion
105
- }
106
- }
107
- },
108
- props: {
109
- version: null,
110
- consensusProtocolVersion: null,
111
- nodeNetworkId: null
112
- }
113
- })
114
-
115
- const NODE_GE_VERSION = '6.2.0'
116
- const NODE_LT_VERSION = '7.0.0'
117
-
118
- export default Node
@@ -1,325 +0,0 @@
1
- import * as R from 'ramda'
2
- import BigNumber from 'bignumber.js'
3
-
4
- import {
5
- decodeBase58Check,
6
- decodeBase64Check,
7
- encodeBase58Check, encodeBase64Check,
8
- hash,
9
- salt
10
- } from '../../utils/crypto'
11
- import { toBytes } from '../../utils/bytes'
12
- import {
13
- ID_TAG_PREFIX,
14
- PREFIX_ID_TAG,
15
- NAME_BID_RANGES,
16
- NAME_BID_MAX_LENGTH,
17
- NAME_FEE,
18
- NAME_FEE_BID_INCREMENT,
19
- NAME_BID_TIMEOUTS,
20
- NAME_MAX_LENGTH_FEE,
21
- POINTER_KEY_BY_PREFIX
22
- } from './schema'
23
- import { ceil } from '../../utils/bignumber'
24
-
25
- /**
26
- * JavaScript-based Transaction builder helper function's
27
- * @module @aeternity/aepp-sdk/es/tx/builder/helpers
28
- * @export TxBuilderHelper
29
- * @example import { TxBuilderHelper } from '@aeternity/aepp-sdk'
30
- */
31
-
32
- export const createSalt = salt
33
-
34
- const base64Types = ['tx', 'st', 'ss', 'pi', 'ov', 'or', 'cb', 'cs', 'ba']
35
-
36
- /**
37
- * Build a contract public key
38
- * @function
39
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
40
- * @param {string} ownerId The public key of the owner account
41
- * @param {number} nonce the nonce of the transaction
42
- * @return {string} Contract public key
43
- */
44
- export function buildContractId (ownerId, nonce) {
45
- const ownerIdAndNonce = Buffer.from([...decode(ownerId, 'ak'), ...toBytes(nonce)])
46
- const b2bHash = hash(ownerIdAndNonce)
47
- return encode(b2bHash, 'ct')
48
- }
49
-
50
- /**
51
- * Build a oracle query id
52
- * @function
53
- * @function* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
54
- * @param {String} senderId The public key of the sender account
55
- * @param {Number} nonce the nonce of the transaction
56
- * @param {Number} oracleId The oracle public key
57
- * @return {string} Contract public key
58
- */
59
- export function oracleQueryId (senderId, nonce, oracleId) {
60
- function _int32 (val) {
61
- const nonceBE = toBytes(val, true)
62
- return Buffer.concat([Buffer.alloc(32 - nonceBE.length), nonceBE])
63
- }
64
-
65
- const b2bHash = hash(Buffer.from([...decode(senderId, 'ak'), ..._int32(nonce), ...decode(oracleId, 'ok')]))
66
- return encode(b2bHash, 'oq')
67
- }
68
-
69
- /**
70
- * Format the salt into a 64-byte hex string
71
- * @function
72
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
73
- * @param {number} salt
74
- * @return {string} Zero-padded hex string of salt
75
- */
76
- export function formatSalt (salt) {
77
- return Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')
78
- }
79
-
80
- /**
81
- * Encode a domain name
82
- * @function
83
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
84
- * @param {String} name Name to encode
85
- * @return {String} `nm_` prefixed encoded domain name
86
- */
87
- export function produceNameId (name) {
88
- ensureNameValid(name)
89
- return encode(hash(name.toLowerCase()), 'nm')
90
- }
91
-
92
- /**
93
- * Generate the commitment hash by hashing the formatted salt and
94
- * name, base 58 encoding the result and prepending 'cm_'
95
- *
96
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
97
- * @function commitmentHash
98
- * @category async
99
- * @rtype (name: String, salt?: String) => hash: Promise[String]
100
- * @param {String} name - Name to be registered
101
- * @param {Number} salt Random salt
102
- * @return {String} Commitment hash
103
- */
104
- export function commitmentHash (name, salt = createSalt()) {
105
- ensureNameValid(name)
106
- return `cm_${encodeBase58Check(hash(Buffer.concat([Buffer.from(name.toLowerCase()), formatSalt(salt)])))}`
107
- }
108
-
109
- /**
110
- * Decode data using the default encoding/decoding algorithm
111
- * @function
112
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
113
- * @param {string} data An Base58/64check encoded and prefixed string (ex tx_..., sg_..., ak_....)
114
- * @param {string} [requiredPrefix] Ensure that data have this prefix
115
- * @return {Buffer} Decoded data
116
- */
117
- export function decode (data, requiredPrefix) {
118
- const [prefix, payload, extra] = data.split('_')
119
- if (!payload) throw new Error(`Encoded string missing payload: ${data}`)
120
- if (extra) throw new Error(`Encoded string have extra parts: ${data}`)
121
- if (requiredPrefix && requiredPrefix !== prefix) {
122
- throw new Error(`Encoded string have a wrong type: ${prefix} (expected: ${requiredPrefix})`)
123
- }
124
- return (base64Types.includes(prefix) ? decodeBase64Check : decodeBase58Check)(payload)
125
- }
126
-
127
- /**
128
- * Encode data using the default encoding/decoding algorithm
129
- * @function
130
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
131
- * @param {Buffer|String} data An decoded data
132
- * @param {string} type Prefix of Transaction
133
- * @return {String} Encoded string Base58check or Base64check data
134
- */
135
- export function encode (data, type) {
136
- return `${type}_${base64Types.includes(type)
137
- ? encodeBase64Check(data)
138
- : encodeBase58Check(data)}`
139
- }
140
-
141
- /**
142
- * Utility function to create and _id type
143
- * @function
144
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
145
- * @param {string} hashId Encoded hash
146
- * @return {Buffer} Buffer Buffer with ID tag and decoded HASh
147
- */
148
- export function writeId (hashId) {
149
- if (typeof hashId !== 'string') {
150
- throw new Error(`Address should be a string, got ${hashId} instead`)
151
- }
152
- const prefix = hashId.slice(0, 2)
153
- const idTag = PREFIX_ID_TAG[prefix]
154
- if (!idTag) throw new Error(`Id tag for prefix ${prefix} not found.`)
155
- return Buffer.from([...toBytes(idTag), ...decode(hashId, prefix)])
156
- }
157
-
158
- /**
159
- * Utility function to read and _id type
160
- * @function
161
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
162
- * @param {Buffer} buf Data
163
- * @return {String} Encoided hash string with prefix
164
- */
165
- export function readId (buf) {
166
- const tag = buf.readUIntBE(0, 1)
167
- const prefix = ID_TAG_PREFIX[tag]
168
- if (!prefix) throw new Error(`Prefix for id-tag ${tag} not found.`)
169
- return encode(buf.slice(1, buf.length), prefix)
170
- }
171
-
172
- /**
173
- * Utility function to convert int to bytes
174
- * @function
175
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
176
- * @param {Number|String|BigNumber} val Value
177
- * @return {Buffer} Buffer Buffer from number(BigEndian)
178
- */
179
- export function writeInt (val) {
180
- return toBytes(val, true)
181
- }
182
-
183
- /**
184
- * Utility function to convert bytes to int
185
- * @function
186
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
187
- * @param {Buffer} buf Value
188
- * @return {String} Buffer Buffer from number(BigEndian)
189
- */
190
- export function readInt (buf = Buffer.from([])) {
191
- return BigNumber(buf.toString('hex'), 16).toString(10)
192
- }
193
-
194
- /**
195
- * Helper function to build pointers for name update TX
196
- * @function
197
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
198
- * @param {Array} pointers - Array of pointers
199
- * ([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])
200
- * @return {Array} Serialized pointers array
201
- */
202
- export function buildPointers (pointers) {
203
- return pointers.map(
204
- p => [
205
- toBytes(p.key),
206
- writeId(p.id)
207
- ]
208
- )
209
- }
210
-
211
- /**
212
- * Helper function to read pointers from name update TX
213
- * @function
214
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
215
- * @param {Array} pointers - Array of pointers
216
- * ([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])
217
- * @return {Array} Deserialize pointer array
218
- */
219
- export function readPointers (pointers) {
220
- return pointers.map(
221
- ([key, id]) => Object.assign({
222
- key: key.toString(),
223
- id: readId(id)
224
- })
225
- )
226
- }
227
-
228
- /**
229
- * Ensure that name is valid
230
- * @function
231
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
232
- * @param {string} name
233
- * @return void
234
- * @throws Error
235
- */
236
- export function ensureNameValid (name) {
237
- if (!name || typeof name !== 'string') throw new Error('Name must be a string')
238
- if (!name.endsWith('.chain')) throw new Error(`Name should end with .chain: ${name}`)
239
- }
240
-
241
- /**
242
- * Is name valid
243
- * @function
244
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
245
- * @param {string} name
246
- * @return Boolean
247
- */
248
- export function isNameValid (name) {
249
- try {
250
- ensureNameValid(name)
251
- return true
252
- } catch (error) {
253
- return false
254
- }
255
- }
256
-
257
- /**
258
- * @param identifier - account/oracle/contract address, or channel
259
- * @returns {String} default AENS pointer key
260
- * @throws exception when default key not defined
261
- */
262
- export function getDefaultPointerKey (identifier) {
263
- decode(identifier)
264
- const prefix = identifier.substr(0, 2)
265
- return POINTER_KEY_BY_PREFIX[prefix] ||
266
- (() => { throw new Error(`Default AENS pointer key is not defined for ${prefix} prefix`) })()
267
- }
268
-
269
- /**
270
- * Get the minimum name fee for a domain
271
- * @function
272
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
273
- * @param {String} domain the domain name to get the fee for
274
- * @return {String} the minimum fee for the domain auction
275
- */
276
- export function getMinimumNameFee (domain) {
277
- const nameLength = domain.replace('.chain', '').length
278
- return NAME_BID_RANGES[nameLength >= NAME_MAX_LENGTH_FEE ? NAME_MAX_LENGTH_FEE : nameLength]
279
- }
280
-
281
- /**
282
- * Compute bid fee for AENS auction
283
- * @function
284
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
285
- * @param {String} domain the domain name to get the fee for
286
- * @param {Number|String} startFee Auction start fee
287
- * @param {Number} [increment=0.5] Bid multiplier(In percentage, must be between 0 and 1)
288
- * @return {String} Bid fee
289
- */
290
- export function computeBidFee (domain, startFee = NAME_FEE, increment = NAME_FEE_BID_INCREMENT) {
291
- if (!(Number(increment) === increment && increment % 1 !== 0)) throw new Error(`Increment must be float. Current increment ${increment}`)
292
- if (increment < NAME_FEE_BID_INCREMENT) throw new Error(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`)
293
- return ceil(
294
- BigNumber(BigNumber(startFee).eq(NAME_FEE) ? getMinimumNameFee(domain) : startFee)
295
- .times(BigNumber(NAME_FEE_BID_INCREMENT).plus(1))
296
- )
297
- }
298
-
299
- /**
300
- * Compute auction end height
301
- * @function
302
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
303
- * @param {String} domain the domain name to get the fee for
304
- * @param {Number|String} claimHeight Auction starting height
305
- * @return {String} Auction end height
306
- */
307
- export function computeAuctionEndBlock (domain, claimHeight) {
308
- return R.cond([
309
- [R.lt(5), R.always(NAME_BID_TIMEOUTS[4].plus(claimHeight))],
310
- [R.lt(9), R.always(NAME_BID_TIMEOUTS[8].plus(claimHeight))],
311
- [R.lte(NAME_BID_MAX_LENGTH), R.always(NAME_BID_TIMEOUTS[12].plus(claimHeight))],
312
- [R.T, R.always(BigNumber(claimHeight))]
313
- ])(domain.replace('.chain', '').length).toString(10)
314
- }
315
-
316
- /**
317
- * Is name accept going to auction
318
- * @function
319
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
320
- * @param {String} name Transaction abiVersion
321
- * @return {Boolean}
322
- */
323
- export function isAuctionName (name) {
324
- return name.replace('.chain', '').length < 13
325
- }