@aeternity/aepp-sdk 11.0.1 → 12.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20765 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +136 -85
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -198
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -561
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -98
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +55 -43
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +172 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +116 -71
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
package/src/tx/tx.js DELETED
@@ -1,631 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2018 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
- * Transaction module
20
- * @module @aeternity/aepp-sdk/es/tx/tx
21
- * @export Transaction
22
- * @example import { Transaction } from '@aeternity/aepp-sdk'
23
- */
24
-
25
- import ChainNode from '../chain/node'
26
- import Tx from './'
27
- import { buildTx, calculateFee, unpackTx } from './builder'
28
- import { ABI_VERSIONS, MIN_GAS_PRICE, PROTOCOL_VM_ABI, TX_TYPE, TX_TTL } from './builder/schema'
29
- import { buildContractId, encode } from './builder/helpers'
30
- import { TxObject } from './tx-object'
31
- import {
32
- ArgumentError,
33
- UnsupportedABIversionError,
34
- UnsupportedVMversionError,
35
- UnsupportedProtocolError,
36
- UnknownTxError
37
- } from '../utils/errors'
38
-
39
- async function spendTx ({ senderId, recipientId, amount, payload = '' }) {
40
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
41
- const { fee, ttl, nonce } = await this.prepareTxParams(
42
- TX_TYPE.spend, { senderId, ...arguments[0], payload }
43
- )
44
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
45
- const { tx } = this.nativeMode
46
- ? {
47
- tx: TxObject({
48
- params: {
49
- ...arguments[0],
50
- recipientId,
51
- senderId,
52
- nonce,
53
- ttl,
54
- payload
55
- },
56
- type: TX_TYPE.spend
57
- }).encodedTx
58
- }
59
- : await this.api.postSpend({
60
- ...arguments[0],
61
- amount: parseInt(amount),
62
- recipientId,
63
- senderId,
64
- nonce,
65
- ttl,
66
- fee: parseInt(fee),
67
- payload
68
- })
69
-
70
- return tx
71
- }
72
-
73
- async function namePreclaimTx ({ accountId, commitmentId }) {
74
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
75
- const { fee, ttl, nonce } = await this.prepareTxParams(
76
- TX_TYPE.namePreClaim, { senderId: accountId, ...arguments[0] }
77
- )
78
-
79
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
80
- const { tx } = this.nativeMode
81
- ? {
82
- tx: TxObject({
83
- params: { ...arguments[0], nonce, ttl, fee },
84
- type: TX_TYPE.namePreClaim
85
- }).encodedTx
86
- }
87
- : await this.api.postNamePreclaim({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })
88
-
89
- return tx
90
- }
91
-
92
- async function nameClaimTx ({ accountId, name, nameSalt, vsn = 2 }) {
93
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
94
- const { fee, ttl, nonce } = await this.prepareTxParams(
95
- TX_TYPE.nameClaim, { senderId: accountId, ...arguments[0], vsn }
96
- )
97
-
98
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
99
- const { tx } = this.nativeMode
100
- ? {
101
- tx: TxObject({
102
- params: { ...arguments[0], nonce, ttl, fee, vsn },
103
- type: TX_TYPE.nameClaim
104
- }).encodedTx
105
- }
106
- : await this.api.postNameClaim({
107
- ...arguments[0], nonce, ttl, fee: parseInt(fee), name: encode(name, 'nm')
108
- })
109
-
110
- return tx
111
- }
112
-
113
- async function nameTransferTx ({ accountId, nameId, recipientId }) {
114
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
115
- const { fee, ttl, nonce } = await this.prepareTxParams(
116
- TX_TYPE.nameTransfer, { senderId: accountId, ...arguments[0] }
117
- )
118
-
119
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
120
- const { tx } = this.nativeMode
121
- ? {
122
- tx: TxObject({
123
- params: { ...arguments[0], recipientId, nonce, ttl, fee },
124
- type: TX_TYPE.nameTransfer
125
- }).encodedTx
126
- }
127
- : await this.api.postNameTransfer({
128
- ...arguments[0], recipientId, nonce, ttl, fee: parseInt(fee)
129
- })
130
-
131
- return tx
132
- }
133
-
134
- async function nameUpdateTx ({ accountId, nameId, nameTtl, pointers, clientTtl }) {
135
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
136
- const { fee, ttl, nonce } = await this.prepareTxParams(
137
- TX_TYPE.nameUpdate, { senderId: accountId, ...arguments[0] }
138
- )
139
-
140
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
141
- const { tx } = this.nativeMode
142
- ? {
143
- tx: TxObject({
144
- params: { ...arguments[0], nonce, ttl, fee },
145
- type: TX_TYPE.nameUpdate
146
- }).encodedTx
147
- }
148
- : await this.api.postNameUpdate({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })
149
-
150
- return tx
151
- }
152
-
153
- async function nameRevokeTx ({ accountId, nameId }) {
154
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
155
- const { fee, ttl, nonce } = await this.prepareTxParams(
156
- TX_TYPE.nameRevoke, { senderId: accountId, ...arguments[0] }
157
- )
158
-
159
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
160
- const { tx } = this.nativeMode
161
- ? {
162
- tx: TxObject({
163
- params: { ...arguments[0], nonce, ttl, fee },
164
- type: TX_TYPE.nameRevoke
165
- }).encodedTx
166
- }
167
- : await this.api.postNameRevoke({ ...arguments[0], nonce, ttl, fee: parseInt(fee) })
168
-
169
- return tx
170
- }
171
-
172
- async function contractCreateTx ({
173
- ownerId, code, vmVersion, abiVersion, amount, gas, gasPrice = MIN_GAS_PRICE, callData
174
- }) {
175
- // Get VM_ABI version
176
- const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0])
177
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
178
- const { fee, ttl, nonce } = await this.prepareTxParams(
179
- TX_TYPE.contractCreate, { senderId: ownerId, ...arguments[0], ctVersion, gasPrice }
180
- )
181
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
182
- return this.nativeMode
183
- ? {
184
- tx: TxObject({
185
- params: { ...arguments[0], nonce, ttl, fee, ctVersion, gasPrice },
186
- type: TX_TYPE.contractCreate
187
- }).encodedTx,
188
- contractId: buildContractId(ownerId, nonce)
189
- }
190
- : this.api.postContractCreate({
191
- ...arguments[0],
192
- nonce,
193
- ttl,
194
- fee: parseInt(fee),
195
- gas: parseInt(gas),
196
- gasPrice,
197
- vmVersion: ctVersion.vmVersion,
198
- abiVersion: ctVersion.abiVersion
199
- })
200
- }
201
-
202
- async function contractCallTx ({
203
- callerId, contractId, abiVersion, amount, gas, gasPrice = MIN_GAS_PRICE, callData
204
- }) {
205
- const ctVersion = this.getVmVersion(TX_TYPE.contractCall, arguments[0])
206
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
207
- const { fee, ttl, nonce } = await this.prepareTxParams(
208
- TX_TYPE.contractCall,
209
- { senderId: callerId, ...arguments[0], gasPrice, abiVersion: ctVersion.abiVersion }
210
- )
211
-
212
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
213
- const { tx } = this.nativeMode
214
- ? {
215
- tx: TxObject({
216
- params: { ...arguments[0], nonce, ttl, fee, abiVersion: ctVersion.abiVersion, gasPrice },
217
- type: TX_TYPE.contractCall
218
- }).encodedTx
219
- }
220
- : await this.api.postContractCall({
221
- ...arguments[0],
222
- nonce,
223
- ttl,
224
- fee: parseInt(fee),
225
- gas: parseInt(gas),
226
- gasPrice,
227
- abiVersion: ctVersion.abiVersion
228
- })
229
-
230
- return tx
231
- }
232
-
233
- async function oracleRegisterTx ({
234
- accountId, queryFormat, responseFormat, queryFee, oracleTtl, abiVersion = ABI_VERSIONS.NO_ABI
235
- }) {
236
- // const { abiVersion: abi } = this.getVmVersion(TX_TYPE.oracleRegister, arguments[0])
237
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
238
- const { fee, ttl, nonce } = await this.prepareTxParams(
239
- TX_TYPE.oracleRegister, { senderId: accountId, ...arguments[0], abiVersion }
240
- )
241
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
242
- const { tx } = this.nativeMode
243
- ? {
244
- tx: TxObject({
245
- params: {
246
- accountId,
247
- queryFee,
248
- abiVersion,
249
- fee,
250
- oracleTtl,
251
- nonce,
252
- ttl,
253
- queryFormat,
254
- responseFormat
255
- },
256
- type: TX_TYPE.oracleRegister
257
- }).encodedTx
258
- }
259
- : await this.api.postOracleRegister({
260
- accountId,
261
- queryFee,
262
- abiVersion,
263
- fee: parseInt(fee),
264
- oracleTtl,
265
- nonce,
266
- ttl,
267
- queryFormat,
268
- responseFormat
269
- })
270
-
271
- return tx
272
- }
273
-
274
- async function oracleExtendTx ({ oracleId, callerId, oracleTtl }) {
275
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
276
- const { fee, ttl, nonce } = await this.prepareTxParams(
277
- TX_TYPE.oracleExtend, { senderId: callerId, ...arguments[0] }
278
- )
279
-
280
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
281
- const { tx } = this.nativeMode
282
- ? {
283
- tx: TxObject({
284
- params: { oracleId, fee, oracleTtl, nonce, ttl },
285
- type: TX_TYPE.oracleExtend
286
- }).encodedTx
287
- }
288
- : await this.api.postOracleExtend({ oracleId, fee: parseInt(fee), oracleTtl, nonce, ttl })
289
-
290
- return tx
291
- }
292
-
293
- async function oraclePostQueryTx ({ oracleId, responseTtl, query, queryTtl, queryFee, senderId }) {
294
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
295
- const { fee, ttl, nonce } = await this.prepareTxParams(
296
- TX_TYPE.oracleQuery, { senderId, ...arguments[0] }
297
- )
298
-
299
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
300
- const { tx } = this.nativeMode
301
- ? {
302
- tx: TxObject({
303
- params: { oracleId, responseTtl, query, queryTtl, fee, queryFee, ttl, nonce, senderId },
304
- type: TX_TYPE.oracleQuery
305
- }).encodedTx
306
- }
307
- : await this.api.postOracleQuery({
308
- oracleId,
309
- responseTtl,
310
- query,
311
- queryTtl,
312
- fee: parseInt(fee),
313
- queryFee,
314
- ttl,
315
- nonce,
316
- senderId
317
- })
318
-
319
- return tx
320
- }
321
-
322
- async function oracleRespondTx ({ oracleId, callerId, responseTtl, queryId, response }) {
323
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
324
- const { fee, ttl, nonce } = await this.prepareTxParams(
325
- TX_TYPE.oracleResponse, { senderId: callerId, ...arguments[0] }
326
- )
327
-
328
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
329
- const { tx } = this.nativeMode
330
- ? {
331
- tx: TxObject({
332
- params: { oracleId, responseTtl, queryId, response, fee, ttl, nonce },
333
- type: TX_TYPE.oracleResponse
334
- }).encodedTx
335
- }
336
- : await this.api.postOracleRespond({
337
- oracleId, responseTtl, queryId, response, fee: parseInt(fee), ttl, nonce
338
- })
339
- return tx
340
- }
341
-
342
- async function channelCloseSoloTx ({ channelId, fromId, payload, poi }) {
343
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
344
- const { fee, ttl, nonce } = await this.prepareTxParams(
345
- TX_TYPE.channelCloseSolo, { senderId: fromId, ...arguments[0], payload }
346
- )
347
-
348
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
349
- const { tx } = this.nativeMode
350
- ? buildTx({
351
- ...arguments[0],
352
- channelId,
353
- fromId,
354
- payload,
355
- poi,
356
- ttl,
357
- fee,
358
- nonce
359
- }, TX_TYPE.channelCloseSolo)
360
- : await this.api.postChannelCloseSolo({
361
- ...arguments[0],
362
- channelId,
363
- fromId,
364
- payload,
365
- poi,
366
- ttl,
367
- fee: parseInt(fee),
368
- nonce
369
- })
370
-
371
- return tx
372
- }
373
-
374
- async function channelSlashTx ({ channelId, fromId, payload, poi }) {
375
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
376
- const { fee, ttl, nonce } = await this.prepareTxParams(
377
- TX_TYPE.channelSlash, { senderId: fromId, ...arguments[0], payload }
378
- )
379
-
380
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
381
- const { tx } = this.nativeMode
382
- ? buildTx({
383
- ...arguments[0],
384
- channelId,
385
- fromId,
386
- payload,
387
- poi,
388
- ttl,
389
- fee,
390
- nonce
391
- }, TX_TYPE.channelSlash)
392
- : await this.api.postChannelSlash({
393
- ...arguments[0],
394
- channelId,
395
- fromId,
396
- payload,
397
- poi,
398
- ttl,
399
- fee: parseInt(fee),
400
- nonce
401
- })
402
-
403
- return tx
404
- }
405
-
406
- async function channelSettleTx ({ channelId, fromId, initiatorAmountFinal, responderAmountFinal }) {
407
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
408
- const { fee, ttl, nonce } = await this.prepareTxParams(
409
- TX_TYPE.channelSettle, { senderId: fromId, ...arguments[0] }
410
- )
411
-
412
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
413
- const { tx } = this.nativeMode
414
- ? buildTx({
415
- ...arguments[0],
416
- channelId,
417
- fromId,
418
- initiatorAmountFinal,
419
- responderAmountFinal,
420
- ttl,
421
- fee,
422
- nonce
423
- }, TX_TYPE.channelSettle)
424
- : await this.api.postChannelSettle({
425
- ...arguments[0],
426
- channelId,
427
- fromId,
428
- initiatorAmountFinal: parseInt(initiatorAmountFinal),
429
- responderAmountFinal: parseInt(responderAmountFinal),
430
- ttl,
431
- fee: parseInt(fee),
432
- nonce
433
- })
434
-
435
- return tx
436
- }
437
-
438
- async function channelSnapshotSoloTx ({ channelId, fromId, payload }) {
439
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
440
- const { fee, ttl, nonce } = await this.prepareTxParams(
441
- TX_TYPE.channelSnapshotSolo, { senderId: fromId, ...arguments[0], payload }
442
- )
443
-
444
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
445
- const { tx } = this.nativeMode
446
- ? buildTx({
447
- ...arguments[0],
448
- channelId,
449
- fromId,
450
- payload,
451
- ttl,
452
- fee,
453
- nonce
454
- }, TX_TYPE.channelSnapshotSolo)
455
- : await this.api.postChannelSnapshotSolo({
456
- ...arguments[0],
457
- channelId,
458
- fromId,
459
- payload,
460
- ttl,
461
- fee: parseInt(fee),
462
- nonce
463
- })
464
-
465
- return tx
466
- }
467
-
468
- async function gaAttachTx ({
469
- ownerId, code, vmVersion, abiVersion, authFun, gas, gasPrice = MIN_GAS_PRICE, callData
470
- }) {
471
- // Get VM_ABI version
472
- const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0])
473
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
474
- const { fee, ttl, nonce } = await this.prepareTxParams(
475
- TX_TYPE.gaAttach, { senderId: ownerId, ...arguments[0], ctVersion, gasPrice }
476
- )
477
- // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
478
- return {
479
- tx: TxObject({
480
- params: { ...arguments[0], nonce, ttl, fee, ctVersion, gasPrice },
481
- type: TX_TYPE.gaAttach
482
- }).encodedTx,
483
- contractId: buildContractId(ownerId, nonce)
484
- }
485
- }
486
-
487
- async function payingForTx ({ tx, payerId, ...args }) {
488
- const params = { tx: unpackTx(tx), payerId }
489
- const { fee, nonce } = await this.prepareTxParams(TX_TYPE.payingFor, {
490
- ...params, ...args, senderId: payerId
491
- })
492
- return buildTx({ ...params, ...args, fee, nonce }, TX_TYPE.payingFor).tx
493
- }
494
-
495
- /**
496
- * Validated vm/abi version or get default based on transaction type and NODE version
497
- *
498
- * @param {string} txType Type of transaction
499
- * @param {object} vmAbi Object with vm and abi version fields
500
- * @return {object} Object with vm/abi version ({ vmVersion: number, abiVersion: number })
501
- */
502
- function getVmVersion (txType, { vmVersion, abiVersion } = {}) {
503
- const { consensusProtocolVersion } = this.getNodeInfo()
504
- const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion]
505
- if (!supportedProtocol) throw new UnsupportedProtocolError('Not supported consensus protocol version')
506
- const protocolForTX = supportedProtocol[txType]
507
- if (!protocolForTX) throw new UnknownTxError('Not supported tx type')
508
-
509
- abiVersion = abiVersion || protocolForTX.abiVersion[0]
510
- vmVersion = vmVersion || protocolForTX.vmVersion[0]
511
- if (!protocolForTX.vmVersion.includes(vmVersion)) {
512
- throw new UnsupportedVMversionError(`VM VERSION ${vmVersion} do not support by this node. Supported: [${protocolForTX.vmVersion}]`)
513
- }
514
- if (!protocolForTX.abiVersion.includes(abiVersion)) {
515
- throw new UnsupportedABIversionError(`ABI VERSION ${abiVersion} do not support by this node. Supported: [${protocolForTX.abiVersion}]`)
516
- }
517
-
518
- return { vmVersion, abiVersion }
519
- }
520
-
521
- /**
522
- * Compute the absolute ttl by adding the ttl to the current height of the chain
523
- *
524
- * @param {number} ttl
525
- * @param {boolean} relative ttl is absolute or relative(default: true(relative))
526
- * @return {number} Absolute Ttl
527
- */
528
- async function calculateTtl (ttl = TX_TTL, relative = true) {
529
- if (ttl === 0) return 0
530
- if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl)
531
-
532
- if (relative) {
533
- const { height } = await this.api.getCurrentKeyBlock()
534
- return +(height) + ttl
535
- }
536
- return ttl
537
- }
538
-
539
- /**
540
- * Get the next nonce to be used for a transaction for an account
541
- *
542
- * @param {string} accountId
543
- * @param {number} nonce
544
- * @return {number} Next Nonce
545
- */
546
- async function getAccountNonce (accountId, nonce) {
547
- if (nonce) return nonce
548
- const { nonce: accountNonce } = await this.api.getAccountByPubkey(accountId)
549
- .catch(() => ({ nonce: 0 }))
550
- return accountNonce + 1
551
- }
552
-
553
- /**
554
- * Calculate fee, get absolute ttl (ttl + height), get account nonce
555
- *
556
- * @param {String} txType Type of transaction
557
- * @param {Object} params Object which contains all tx data
558
- * @return {Object} { ttl, nonce, fee } Object with account nonce, absolute ttl and transaction fee
559
- */
560
- async function prepareTxParams (
561
- txType,
562
- { senderId, nonce: n, ttl: t, fee: f, gas, absoluteTtl, vsn, strategy }
563
- ) {
564
- n = n || (
565
- await this.api.getAccountNextNonce(senderId, { strategy }).catch(e => ({ nextNonce: 1 }))
566
- ).nextNonce
567
- const ttl = await calculateTtl.call(this, t, !absoluteTtl)
568
- const fee = calculateFee(
569
- f,
570
- txType,
571
- { showWarning: this.showWarning, gas, params: { ...arguments[1], nonce: n, ttl }, vsn }
572
- )
573
- return { fee, ttl, nonce: n }
574
- }
575
-
576
- /**
577
- * Transaction Stamp
578
- *
579
- * This is implementation of [Tx](api/tx.md) relays
580
- * the creation of transactions to {@link module:@aeternity/aepp-sdk/es/Node}.
581
- * This stamp provide ability to create native transaction's,
582
- * or transaction's using Node API.
583
- * As there is no built-in security between Node and client communication,
584
- * creating transaction using {@link module:@aeternity/aepp-sdk/es/Node} API
585
- * must never be used for production but can be very useful to verify other
586
- * implementations.
587
- * @function
588
- * @alias module:@aeternity/aepp-sdk/es/tx/tx
589
- * @rtype Stamp
590
- * @param {Object} [options={}] - Initializer object
591
- * @param {Boolean} [options.nativeMode=true] options.nativeMode - Use Native build of transaction's
592
- * @param {String} options.url - Node url
593
- * @param {String} options.internalUrl - Node internal url
594
- * @return {Object} Transaction instance
595
- * @example Transaction({url: 'https://testnet.aeternity.io/'})
596
- */
597
- const Transaction = ChainNode.compose(Tx, {
598
- init ({ nativeMode = true, showWarning = false }) {
599
- this.nativeMode = nativeMode
600
- this.showWarning = showWarning
601
- },
602
- props: {
603
- nativeMode: true,
604
- showWarning: false
605
- },
606
- methods: {
607
- spendTx,
608
- namePreclaimTx,
609
- nameClaimTx,
610
- nameTransferTx,
611
- nameUpdateTx,
612
- nameRevokeTx,
613
- contractCreateTx,
614
- contractCallTx,
615
- prepareTxParams,
616
- oracleRegisterTx,
617
- oracleExtendTx,
618
- oraclePostQueryTx,
619
- oracleRespondTx,
620
- channelCloseSoloTx,
621
- channelSlashTx,
622
- channelSettleTx,
623
- channelSnapshotSoloTx,
624
- gaAttachTx,
625
- payingForTx,
626
- getAccountNonce,
627
- getVmVersion
628
- }
629
- })
630
-
631
- export default Transaction