@aeternity/aepp-sdk 11.0.1 → 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 (376) 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 +12 -19
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1 -1
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdk.d.ts +37 -0
  10. package/es/AeSdk.mjs +81 -0
  11. package/es/AeSdk.mjs.map +1 -0
  12. package/es/AeSdkAepp.d.ts +69 -0
  13. package/es/AeSdkAepp.mjs +175 -0
  14. package/es/AeSdkAepp.mjs.map +1 -0
  15. package/es/AeSdkBase.d.ts +212 -0
  16. package/es/AeSdkBase.mjs +310 -0
  17. package/es/AeSdkBase.mjs.map +1 -0
  18. package/es/AeSdkWallet.d.ts +103 -0
  19. package/es/AeSdkWallet.mjs +322 -0
  20. package/es/AeSdkWallet.mjs.map +1 -0
  21. package/es/Node.d.ts +44 -0
  22. package/es/Node.mjs +141 -0
  23. package/es/Node.mjs.map +1 -0
  24. package/es/account/Base.d.ts +65 -0
  25. package/es/account/Base.mjs +123 -0
  26. package/es/account/Base.mjs.map +1 -0
  27. package/es/account/Memory.d.ts +25 -0
  28. package/es/account/Memory.mjs +81 -0
  29. package/es/account/Memory.mjs.map +1 -0
  30. package/es/account/Rpc.d.ts +27 -0
  31. package/es/account/Rpc.mjs +79 -0
  32. package/es/account/Rpc.mjs.map +1 -0
  33. package/es/aens.d.ts +209 -0
  34. package/es/aens.mjs +332 -0
  35. package/es/aens.mjs.map +1 -0
  36. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  37. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  45. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  46. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  47. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  48. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  51. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  52. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  54. package/es/aepp-wallet-communication/schema.d.ts +90 -46
  55. package/es/aepp-wallet-communication/schema.mjs +214 -0
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  60. package/es/apis/compiler/compiler.d.ts +92 -0
  61. package/es/apis/compiler/compiler.mjs +576 -0
  62. package/es/apis/compiler/compiler.mjs.map +1 -0
  63. package/es/apis/compiler/index.d.ts +2 -0
  64. package/es/apis/compiler/index.mjs +3 -0
  65. package/es/apis/compiler/index.mjs.map +1 -0
  66. package/es/apis/compiler/models/index.d.ts +248 -0
  67. package/es/apis/compiler/models/index.mjs +48 -0
  68. package/es/apis/compiler/models/index.mjs.map +1 -0
  69. package/es/apis/compiler/models/mappers.d.ts +23 -0
  70. package/es/apis/compiler/models/mappers.mjs +585 -0
  71. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  72. package/es/apis/compiler/models/parameters.d.ts +13 -0
  73. package/es/apis/compiler/models/parameters.mjs +71 -0
  74. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  75. package/es/apis/node/index.d.ts +2 -0
  76. package/es/apis/node/index.mjs +3 -0
  77. package/es/apis/node/index.mjs.map +1 -0
  78. package/es/apis/node/models/index.d.ts +1061 -0
  79. package/es/apis/node/models/index.mjs +2 -0
  80. package/es/apis/node/models/index.mjs.map +1 -0
  81. package/es/apis/node/models/mappers.d.ts +95 -0
  82. package/es/apis/node/models/mappers.mjs +4164 -0
  83. package/es/apis/node/models/mappers.mjs.map +1 -0
  84. package/es/apis/node/models/parameters.d.ts +17 -0
  85. package/es/apis/node/models/parameters.mjs +165 -0
  86. package/es/apis/node/models/parameters.mjs.map +1 -0
  87. package/es/apis/node/node.d.ts +215 -0
  88. package/es/apis/node/node.mjs +1165 -0
  89. package/es/apis/node/node.mjs.map +1 -0
  90. package/es/chain.d.ts +220 -0
  91. package/es/chain.mjs +524 -0
  92. package/es/chain.mjs.map +1 -0
  93. package/es/channel/handlers.d.ts +34 -0
  94. package/es/channel/handlers.mjs +147 -112
  95. package/es/channel/handlers.mjs.map +1 -1
  96. package/es/channel/index.d.ts +634 -0
  97. package/es/channel/index.mjs +898 -900
  98. package/es/channel/index.mjs.map +1 -1
  99. package/es/channel/internal.d.ts +100 -0
  100. package/es/channel/internal.mjs +97 -51
  101. package/es/channel/internal.mjs.map +1 -1
  102. package/es/contract/Compiler.d.ts +17 -0
  103. package/es/contract/Compiler.mjs +67 -0
  104. package/es/contract/Compiler.mjs.map +1 -0
  105. package/es/contract/aci.d.ts +125 -0
  106. package/es/contract/aci.mjs +199 -180
  107. package/es/contract/aci.mjs.map +1 -1
  108. package/es/contract/ga.d.ts +68 -0
  109. package/es/contract/ga.mjs +190 -0
  110. package/es/contract/ga.mjs.map +1 -0
  111. package/es/contract/methods.d.ts +68 -0
  112. package/es/contract/methods.mjs +101 -0
  113. package/es/contract/methods.mjs.map +1 -0
  114. package/es/index.d.ts +32 -0
  115. package/es/index.mjs +32 -40
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +154 -0
  118. package/es/oracle.mjs +288 -0
  119. package/es/oracle.mjs.map +1 -0
  120. package/es/spend.d.ts +61 -0
  121. package/es/spend.mjs +122 -0
  122. package/es/spend.mjs.map +1 -0
  123. package/es/tx/builder/constants.d.ts +41 -0
  124. package/es/tx/builder/constants.mjs +11 -19
  125. package/es/tx/builder/constants.mjs.map +1 -1
  126. package/es/tx/builder/field-types.d.ts +62 -0
  127. package/es/tx/builder/field-types.mjs +62 -10
  128. package/es/tx/builder/field-types.mjs.map +1 -1
  129. package/es/tx/builder/helpers.d.ts +131 -0
  130. package/es/tx/builder/helpers.mjs +71 -169
  131. package/es/tx/builder/helpers.mjs.map +1 -1
  132. package/es/tx/builder/index.d.ts +75 -0
  133. package/es/tx/builder/index.mjs +141 -323
  134. package/es/tx/builder/index.mjs.map +1 -1
  135. package/es/tx/builder/schema.d.ts +350 -0
  136. package/es/tx/builder/schema.mjs +173 -510
  137. package/es/tx/builder/schema.mjs.map +1 -1
  138. package/es/tx/index.d.ts +63 -0
  139. package/es/tx/index.mjs +171 -265
  140. package/es/tx/index.mjs.map +1 -1
  141. package/es/tx/min-fee.d.ts +20 -0
  142. package/es/tx/min-fee.mjs +148 -0
  143. package/es/tx/min-fee.mjs.map +1 -0
  144. package/es/tx/validator.d.ts +19 -0
  145. package/es/tx/validator.mjs +64 -71
  146. package/es/tx/validator.mjs.map +1 -1
  147. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  149. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  151. package/es/typings/bip32-path/index.d.mjs +2 -0
  152. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  153. package/es/typings/blakejs/index.d.mjs.map +1 -1
  154. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  155. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  156. package/es/utils/amount-formatter.d.ts +42 -0
  157. package/es/utils/amount-formatter.mjs +28 -41
  158. package/es/utils/amount-formatter.mjs.map +1 -1
  159. package/es/utils/autorest.d.ts +6 -0
  160. package/es/utils/autorest.mjs +97 -0
  161. package/es/utils/autorest.mjs.map +1 -0
  162. package/es/utils/bignumber.d.ts +13 -0
  163. package/es/utils/bignumber.mjs +10 -8
  164. package/es/utils/bignumber.mjs.map +1 -1
  165. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  166. package/es/utils/bytes.mjs +10 -14
  167. package/es/utils/bytes.mjs.map +1 -1
  168. package/es/utils/crypto.d.ts +103 -0
  169. package/es/utils/crypto.mjs +60 -68
  170. package/es/utils/crypto.mjs.map +1 -1
  171. package/es/utils/encoder.d.ts +26 -0
  172. package/es/utils/encoder.mjs +47 -51
  173. package/es/utils/encoder.mjs.map +1 -1
  174. package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
  175. package/es/utils/errors.mjs +318 -125
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.d.ts +34 -0
  178. package/es/utils/hd-wallet.mjs +27 -16
  179. package/es/utils/hd-wallet.mjs.map +1 -1
  180. package/es/utils/json-big.d.ts +5 -0
  181. package/es/utils/json-big.mjs +10 -14
  182. package/es/utils/json-big.mjs.map +1 -1
  183. package/es/utils/keystore.d.ts +51 -0
  184. package/es/utils/keystore.mjs +98 -193
  185. package/es/utils/keystore.mjs.map +1 -1
  186. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  187. package/es/utils/mptree.mjs +13 -14
  188. package/es/utils/mptree.mjs.map +1 -1
  189. package/es/utils/other.d.ts +14 -0
  190. package/es/utils/other.mjs +21 -36
  191. package/es/utils/other.mjs.map +1 -1
  192. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  193. package/es/utils/semver-satisfies.mjs.map +1 -1
  194. package/es/utils/string.d.ts +24 -0
  195. package/es/utils/string.mjs +8 -10
  196. package/es/utils/string.mjs.map +1 -1
  197. package/package.json +49 -39
  198. package/src/AeSdk.ts +65 -0
  199. package/src/AeSdkAepp.ts +167 -0
  200. package/src/AeSdkBase.ts +320 -0
  201. package/src/AeSdkWallet.ts +332 -0
  202. package/src/Node.ts +167 -0
  203. package/src/account/Base.ts +114 -0
  204. package/src/account/Memory.ts +83 -0
  205. package/src/account/Rpc.ts +67 -0
  206. package/src/aens.ts +391 -0
  207. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  208. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  209. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  210. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
  211. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  212. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  213. package/src/aepp-wallet-communication/schema.ts +181 -0
  214. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  215. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  216. package/src/apis/compiler/compiler.ts +585 -0
  217. package/src/apis/compiler/index.ts +2 -0
  218. package/src/apis/compiler/models/index.ts +301 -0
  219. package/src/apis/compiler/models/mappers.ts +583 -0
  220. package/src/apis/compiler/models/parameters.ts +93 -0
  221. package/src/apis/node/code-model-v4.yaml +10046 -0
  222. package/src/apis/node/index.ts +2 -0
  223. package/src/apis/node/models/index.ts +1253 -0
  224. package/src/apis/node/models/mappers.ts +4278 -0
  225. package/src/apis/node/models/parameters.ts +188 -0
  226. package/src/apis/node/node.ts +1299 -0
  227. package/src/chain.ts +444 -0
  228. package/src/channel/{handlers.js → handlers.ts} +220 -128
  229. package/src/channel/index.ts +991 -0
  230. package/src/channel/internal.ts +345 -0
  231. package/src/contract/Compiler.ts +66 -0
  232. package/src/contract/aci.ts +529 -0
  233. package/src/contract/ga.ts +178 -0
  234. package/src/contract/methods.ts +118 -0
  235. package/src/index.ts +51 -0
  236. package/src/oracle.ts +342 -0
  237. package/src/spend.ts +152 -0
  238. package/src/tx/builder/{constants.js → constants.ts} +12 -16
  239. package/src/tx/builder/field-types.ts +111 -0
  240. package/src/tx/builder/helpers.ts +253 -0
  241. package/src/tx/builder/index.ts +394 -0
  242. package/src/tx/builder/schema.ts +771 -0
  243. package/src/tx/index.ts +199 -0
  244. package/src/tx/min-fee.ts +136 -0
  245. package/src/tx/validator.ts +226 -0
  246. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  247. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  248. package/src/typings/bip32-path/index.d.ts +33 -0
  249. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  250. package/src/utils/amount-formatter.ts +29 -42
  251. package/src/utils/autorest.ts +90 -0
  252. package/src/utils/bignumber.ts +9 -11
  253. package/src/utils/bytes.ts +12 -14
  254. package/src/utils/crypto.ts +217 -0
  255. package/src/utils/encoder.ts +52 -55
  256. package/src/utils/errors.ts +268 -134
  257. package/src/utils/hd-wallet.ts +134 -0
  258. package/src/utils/json-big.ts +26 -0
  259. package/src/utils/keystore.ts +179 -0
  260. package/src/utils/mptree.ts +14 -14
  261. package/src/utils/other.ts +28 -43
  262. package/src/utils/string.ts +8 -10
  263. package/es/account/base.mjs +0 -179
  264. package/es/account/base.mjs.map +0 -1
  265. package/es/account/memory.mjs +0 -99
  266. package/es/account/memory.mjs.map +0 -1
  267. package/es/account/multiple.mjs +0 -179
  268. package/es/account/multiple.mjs.map +0 -1
  269. package/es/ae/aens.mjs +0 -404
  270. package/es/ae/aens.mjs.map +0 -1
  271. package/es/ae/aepp.mjs +0 -45
  272. package/es/ae/aepp.mjs.map +0 -1
  273. package/es/ae/contract.mjs +0 -159
  274. package/es/ae/contract.mjs.map +0 -1
  275. package/es/ae/index.mjs +0 -207
  276. package/es/ae/index.mjs.map +0 -1
  277. package/es/ae/oracle.mjs +0 -339
  278. package/es/ae/oracle.mjs.map +0 -1
  279. package/es/ae/universal.mjs +0 -45
  280. package/es/ae/universal.mjs.map +0 -1
  281. package/es/ae/wallet.mjs +0 -50
  282. package/es/ae/wallet.mjs.map +0 -1
  283. package/es/amount-formatter.d.ts +0 -58
  284. package/es/bignumber.d.ts +0 -18
  285. package/es/chain/index.mjs +0 -272
  286. package/es/chain/index.mjs.map +0 -1
  287. package/es/chain/node.mjs +0 -442
  288. package/es/chain/node.mjs.map +0 -1
  289. package/es/contract/compiler.mjs +0 -115
  290. package/es/contract/compiler.mjs.map +0 -1
  291. package/es/contract/ga/helpers.mjs +0 -30
  292. package/es/contract/ga/helpers.mjs.map +0 -1
  293. package/es/contract/ga/index.mjs +0 -178
  294. package/es/contract/ga/index.mjs.map +0 -1
  295. package/es/crypto-ts.d.ts +0 -9
  296. package/es/encoder.d.ts +0 -26
  297. package/es/node-pool/index.mjs +0 -188
  298. package/es/node-pool/index.mjs.map +0 -1
  299. package/es/node.mjs +0 -133
  300. package/es/node.mjs.map +0 -1
  301. package/es/other.d.ts +0 -31
  302. package/es/string.d.ts +0 -26
  303. package/es/tx/tx-object.mjs +0 -283
  304. package/es/tx/tx-object.mjs.map +0 -1
  305. package/es/tx/tx.mjs +0 -938
  306. package/es/tx/tx.mjs.map +0 -1
  307. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  308. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  309. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  310. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  311. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  312. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  313. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  314. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  315. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  316. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  317. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  318. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  319. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  320. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  321. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  322. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  323. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  324. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  325. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  326. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  327. package/es/utils/async-init.mjs +0 -64
  328. package/es/utils/async-init.mjs.map +0 -1
  329. package/es/utils/crypto-ts.mjs.map +0 -1
  330. package/es/utils/swagger.mjs +0 -164
  331. package/es/utils/swagger.mjs.map +0 -1
  332. package/src/account/base.js +0 -153
  333. package/src/account/memory.js +0 -83
  334. package/src/account/multiple.js +0 -162
  335. package/src/ae/aens.js +0 -361
  336. package/src/ae/aepp.js +0 -45
  337. package/src/ae/contract.js +0 -148
  338. package/src/ae/index.js +0 -168
  339. package/src/ae/oracle.js +0 -311
  340. package/src/ae/universal.js +0 -47
  341. package/src/ae/wallet.js +0 -50
  342. package/src/chain/index.js +0 -269
  343. package/src/chain/node.js +0 -320
  344. package/src/channel/index.js +0 -903
  345. package/src/channel/internal.js +0 -236
  346. package/src/contract/aci.js +0 -376
  347. package/src/contract/compiler.js +0 -100
  348. package/src/contract/ga/helpers.js +0 -19
  349. package/src/contract/ga/index.js +0 -150
  350. package/src/index.js +0 -89
  351. package/src/node-pool/index.js +0 -172
  352. package/src/node.js +0 -116
  353. package/src/tx/builder/field-types.js +0 -61
  354. package/src/tx/builder/helpers.js +0 -334
  355. package/src/tx/builder/index.js +0 -465
  356. package/src/tx/builder/schema.js +0 -1100
  357. package/src/tx/index.js +0 -301
  358. package/src/tx/tx-object.js +0 -187
  359. package/src/tx/tx.js +0 -631
  360. package/src/tx/validator.js +0 -181
  361. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  362. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  363. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  364. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  365. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  366. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  367. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  368. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  369. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  370. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  371. package/src/utils/async-init.js +0 -45
  372. package/src/utils/crypto.js +0 -219
  373. package/src/utils/hd-wallet.js +0 -100
  374. package/src/utils/json-big.js +0 -26
  375. package/src/utils/keystore.js +0 -219
  376. package/src/utils/swagger.js +0 -156
package/es/tx/tx.mjs DELETED
@@ -1,938 +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
- import ChainNode from "../chain/node.mjs";
25
- import Tx from "./index.mjs";
26
- import { buildTx, calculateFee, unpackTx } from "./builder/index.mjs";
27
- import { ABI_VERSIONS, MIN_GAS_PRICE, PROTOCOL_VM_ABI, TX_TYPE, TX_TTL } from "./builder/schema.mjs";
28
- import { buildContractId, encode } from "./builder/helpers.mjs";
29
- import { TxObject } from "./tx-object.mjs";
30
- import { ArgumentError, UnsupportedABIversionError, UnsupportedVMversionError, UnsupportedProtocolError, UnknownTxError } from "../utils/errors.mjs";
31
-
32
- async function spendTx(_ref) {
33
- let {
34
- senderId,
35
- recipientId,
36
- amount,
37
- payload = ''
38
- } = _ref;
39
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
40
- const {
41
- fee,
42
- ttl,
43
- nonce
44
- } = await this.prepareTxParams(TX_TYPE.spend, {
45
- senderId,
46
- ...arguments[0],
47
- payload
48
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
49
-
50
- const {
51
- tx
52
- } = this.nativeMode ? {
53
- tx: TxObject({
54
- params: { ...arguments[0],
55
- recipientId,
56
- senderId,
57
- nonce,
58
- ttl,
59
- payload
60
- },
61
- type: TX_TYPE.spend
62
- }).encodedTx
63
- } : await this.api.postSpend({ ...arguments[0],
64
- amount: parseInt(amount),
65
- recipientId,
66
- senderId,
67
- nonce,
68
- ttl,
69
- fee: parseInt(fee),
70
- payload
71
- });
72
- return tx;
73
- }
74
-
75
- async function namePreclaimTx(_ref2) {
76
- let {
77
- accountId,
78
- commitmentId
79
- } = _ref2;
80
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
81
- const {
82
- fee,
83
- ttl,
84
- nonce
85
- } = await this.prepareTxParams(TX_TYPE.namePreClaim, {
86
- senderId: accountId,
87
- ...arguments[0]
88
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
89
-
90
- const {
91
- tx
92
- } = this.nativeMode ? {
93
- tx: TxObject({
94
- params: { ...arguments[0],
95
- nonce,
96
- ttl,
97
- fee
98
- },
99
- type: TX_TYPE.namePreClaim
100
- }).encodedTx
101
- } : await this.api.postNamePreclaim({ ...arguments[0],
102
- nonce,
103
- ttl,
104
- fee: parseInt(fee)
105
- });
106
- return tx;
107
- }
108
-
109
- async function nameClaimTx(_ref3) {
110
- let {
111
- accountId,
112
- name,
113
- nameSalt,
114
- vsn = 2
115
- } = _ref3;
116
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
117
- const {
118
- fee,
119
- ttl,
120
- nonce
121
- } = await this.prepareTxParams(TX_TYPE.nameClaim, {
122
- senderId: accountId,
123
- ...arguments[0],
124
- vsn
125
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
126
-
127
- const {
128
- tx
129
- } = this.nativeMode ? {
130
- tx: TxObject({
131
- params: { ...arguments[0],
132
- nonce,
133
- ttl,
134
- fee,
135
- vsn
136
- },
137
- type: TX_TYPE.nameClaim
138
- }).encodedTx
139
- } : await this.api.postNameClaim({ ...arguments[0],
140
- nonce,
141
- ttl,
142
- fee: parseInt(fee),
143
- name: encode(name, 'nm')
144
- });
145
- return tx;
146
- }
147
-
148
- async function nameTransferTx(_ref4) {
149
- let {
150
- accountId,
151
- nameId,
152
- recipientId
153
- } = _ref4;
154
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
155
- const {
156
- fee,
157
- ttl,
158
- nonce
159
- } = await this.prepareTxParams(TX_TYPE.nameTransfer, {
160
- senderId: accountId,
161
- ...arguments[0]
162
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
163
-
164
- const {
165
- tx
166
- } = this.nativeMode ? {
167
- tx: TxObject({
168
- params: { ...arguments[0],
169
- recipientId,
170
- nonce,
171
- ttl,
172
- fee
173
- },
174
- type: TX_TYPE.nameTransfer
175
- }).encodedTx
176
- } : await this.api.postNameTransfer({ ...arguments[0],
177
- recipientId,
178
- nonce,
179
- ttl,
180
- fee: parseInt(fee)
181
- });
182
- return tx;
183
- }
184
-
185
- async function nameUpdateTx(_ref5) {
186
- let {
187
- accountId,
188
- nameId,
189
- nameTtl,
190
- pointers,
191
- clientTtl
192
- } = _ref5;
193
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
194
- const {
195
- fee,
196
- ttl,
197
- nonce
198
- } = await this.prepareTxParams(TX_TYPE.nameUpdate, {
199
- senderId: accountId,
200
- ...arguments[0]
201
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
202
-
203
- const {
204
- tx
205
- } = this.nativeMode ? {
206
- tx: TxObject({
207
- params: { ...arguments[0],
208
- nonce,
209
- ttl,
210
- fee
211
- },
212
- type: TX_TYPE.nameUpdate
213
- }).encodedTx
214
- } : await this.api.postNameUpdate({ ...arguments[0],
215
- nonce,
216
- ttl,
217
- fee: parseInt(fee)
218
- });
219
- return tx;
220
- }
221
-
222
- async function nameRevokeTx(_ref6) {
223
- let {
224
- accountId,
225
- nameId
226
- } = _ref6;
227
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
228
- const {
229
- fee,
230
- ttl,
231
- nonce
232
- } = await this.prepareTxParams(TX_TYPE.nameRevoke, {
233
- senderId: accountId,
234
- ...arguments[0]
235
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
236
-
237
- const {
238
- tx
239
- } = this.nativeMode ? {
240
- tx: TxObject({
241
- params: { ...arguments[0],
242
- nonce,
243
- ttl,
244
- fee
245
- },
246
- type: TX_TYPE.nameRevoke
247
- }).encodedTx
248
- } : await this.api.postNameRevoke({ ...arguments[0],
249
- nonce,
250
- ttl,
251
- fee: parseInt(fee)
252
- });
253
- return tx;
254
- }
255
-
256
- async function contractCreateTx(_ref7) {
257
- let {
258
- ownerId,
259
- code,
260
- vmVersion,
261
- abiVersion,
262
- amount,
263
- gas,
264
- gasPrice = MIN_GAS_PRICE,
265
- callData
266
- } = _ref7;
267
- // Get VM_ABI version
268
- const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0]); // Calculate fee, get absolute ttl (ttl + height), get account nonce
269
-
270
- const {
271
- fee,
272
- ttl,
273
- nonce
274
- } = await this.prepareTxParams(TX_TYPE.contractCreate, {
275
- senderId: ownerId,
276
- ...arguments[0],
277
- ctVersion,
278
- gasPrice
279
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
280
-
281
- return this.nativeMode ? {
282
- tx: TxObject({
283
- params: { ...arguments[0],
284
- nonce,
285
- ttl,
286
- fee,
287
- ctVersion,
288
- gasPrice
289
- },
290
- type: TX_TYPE.contractCreate
291
- }).encodedTx,
292
- contractId: buildContractId(ownerId, nonce)
293
- } : this.api.postContractCreate({ ...arguments[0],
294
- nonce,
295
- ttl,
296
- fee: parseInt(fee),
297
- gas: parseInt(gas),
298
- gasPrice,
299
- vmVersion: ctVersion.vmVersion,
300
- abiVersion: ctVersion.abiVersion
301
- });
302
- }
303
-
304
- async function contractCallTx(_ref8) {
305
- let {
306
- callerId,
307
- contractId,
308
- abiVersion,
309
- amount,
310
- gas,
311
- gasPrice = MIN_GAS_PRICE,
312
- callData
313
- } = _ref8;
314
- const ctVersion = this.getVmVersion(TX_TYPE.contractCall, arguments[0]); // Calculate fee, get absolute ttl (ttl + height), get account nonce
315
-
316
- const {
317
- fee,
318
- ttl,
319
- nonce
320
- } = await this.prepareTxParams(TX_TYPE.contractCall, {
321
- senderId: callerId,
322
- ...arguments[0],
323
- gasPrice,
324
- abiVersion: ctVersion.abiVersion
325
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
326
-
327
- const {
328
- tx
329
- } = this.nativeMode ? {
330
- tx: TxObject({
331
- params: { ...arguments[0],
332
- nonce,
333
- ttl,
334
- fee,
335
- abiVersion: ctVersion.abiVersion,
336
- gasPrice
337
- },
338
- type: TX_TYPE.contractCall
339
- }).encodedTx
340
- } : await this.api.postContractCall({ ...arguments[0],
341
- nonce,
342
- ttl,
343
- fee: parseInt(fee),
344
- gas: parseInt(gas),
345
- gasPrice,
346
- abiVersion: ctVersion.abiVersion
347
- });
348
- return tx;
349
- }
350
-
351
- async function oracleRegisterTx(_ref9) {
352
- let {
353
- accountId,
354
- queryFormat,
355
- responseFormat,
356
- queryFee,
357
- oracleTtl,
358
- abiVersion = ABI_VERSIONS.NO_ABI
359
- } = _ref9;
360
- // const { abiVersion: abi } = this.getVmVersion(TX_TYPE.oracleRegister, arguments[0])
361
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
362
- const {
363
- fee,
364
- ttl,
365
- nonce
366
- } = await this.prepareTxParams(TX_TYPE.oracleRegister, {
367
- senderId: accountId,
368
- ...arguments[0],
369
- abiVersion
370
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
371
-
372
- const {
373
- tx
374
- } = this.nativeMode ? {
375
- tx: TxObject({
376
- params: {
377
- accountId,
378
- queryFee,
379
- abiVersion,
380
- fee,
381
- oracleTtl,
382
- nonce,
383
- ttl,
384
- queryFormat,
385
- responseFormat
386
- },
387
- type: TX_TYPE.oracleRegister
388
- }).encodedTx
389
- } : await this.api.postOracleRegister({
390
- accountId,
391
- queryFee,
392
- abiVersion,
393
- fee: parseInt(fee),
394
- oracleTtl,
395
- nonce,
396
- ttl,
397
- queryFormat,
398
- responseFormat
399
- });
400
- return tx;
401
- }
402
-
403
- async function oracleExtendTx(_ref10) {
404
- let {
405
- oracleId,
406
- callerId,
407
- oracleTtl
408
- } = _ref10;
409
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
410
- const {
411
- fee,
412
- ttl,
413
- nonce
414
- } = await this.prepareTxParams(TX_TYPE.oracleExtend, {
415
- senderId: callerId,
416
- ...arguments[0]
417
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
418
-
419
- const {
420
- tx
421
- } = this.nativeMode ? {
422
- tx: TxObject({
423
- params: {
424
- oracleId,
425
- fee,
426
- oracleTtl,
427
- nonce,
428
- ttl
429
- },
430
- type: TX_TYPE.oracleExtend
431
- }).encodedTx
432
- } : await this.api.postOracleExtend({
433
- oracleId,
434
- fee: parseInt(fee),
435
- oracleTtl,
436
- nonce,
437
- ttl
438
- });
439
- return tx;
440
- }
441
-
442
- async function oraclePostQueryTx(_ref11) {
443
- let {
444
- oracleId,
445
- responseTtl,
446
- query,
447
- queryTtl,
448
- queryFee,
449
- senderId
450
- } = _ref11;
451
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
452
- const {
453
- fee,
454
- ttl,
455
- nonce
456
- } = await this.prepareTxParams(TX_TYPE.oracleQuery, {
457
- senderId,
458
- ...arguments[0]
459
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
460
-
461
- const {
462
- tx
463
- } = this.nativeMode ? {
464
- tx: TxObject({
465
- params: {
466
- oracleId,
467
- responseTtl,
468
- query,
469
- queryTtl,
470
- fee,
471
- queryFee,
472
- ttl,
473
- nonce,
474
- senderId
475
- },
476
- type: TX_TYPE.oracleQuery
477
- }).encodedTx
478
- } : await this.api.postOracleQuery({
479
- oracleId,
480
- responseTtl,
481
- query,
482
- queryTtl,
483
- fee: parseInt(fee),
484
- queryFee,
485
- ttl,
486
- nonce,
487
- senderId
488
- });
489
- return tx;
490
- }
491
-
492
- async function oracleRespondTx(_ref12) {
493
- let {
494
- oracleId,
495
- callerId,
496
- responseTtl,
497
- queryId,
498
- response
499
- } = _ref12;
500
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
501
- const {
502
- fee,
503
- ttl,
504
- nonce
505
- } = await this.prepareTxParams(TX_TYPE.oracleResponse, {
506
- senderId: callerId,
507
- ...arguments[0]
508
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
509
-
510
- const {
511
- tx
512
- } = this.nativeMode ? {
513
- tx: TxObject({
514
- params: {
515
- oracleId,
516
- responseTtl,
517
- queryId,
518
- response,
519
- fee,
520
- ttl,
521
- nonce
522
- },
523
- type: TX_TYPE.oracleResponse
524
- }).encodedTx
525
- } : await this.api.postOracleRespond({
526
- oracleId,
527
- responseTtl,
528
- queryId,
529
- response,
530
- fee: parseInt(fee),
531
- ttl,
532
- nonce
533
- });
534
- return tx;
535
- }
536
-
537
- async function channelCloseSoloTx(_ref13) {
538
- let {
539
- channelId,
540
- fromId,
541
- payload,
542
- poi
543
- } = _ref13;
544
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
545
- const {
546
- fee,
547
- ttl,
548
- nonce
549
- } = await this.prepareTxParams(TX_TYPE.channelCloseSolo, {
550
- senderId: fromId,
551
- ...arguments[0],
552
- payload
553
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
554
-
555
- const {
556
- tx
557
- } = this.nativeMode ? buildTx({ ...arguments[0],
558
- channelId,
559
- fromId,
560
- payload,
561
- poi,
562
- ttl,
563
- fee,
564
- nonce
565
- }, TX_TYPE.channelCloseSolo) : await this.api.postChannelCloseSolo({ ...arguments[0],
566
- channelId,
567
- fromId,
568
- payload,
569
- poi,
570
- ttl,
571
- fee: parseInt(fee),
572
- nonce
573
- });
574
- return tx;
575
- }
576
-
577
- async function channelSlashTx(_ref14) {
578
- let {
579
- channelId,
580
- fromId,
581
- payload,
582
- poi
583
- } = _ref14;
584
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
585
- const {
586
- fee,
587
- ttl,
588
- nonce
589
- } = await this.prepareTxParams(TX_TYPE.channelSlash, {
590
- senderId: fromId,
591
- ...arguments[0],
592
- payload
593
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
594
-
595
- const {
596
- tx
597
- } = this.nativeMode ? buildTx({ ...arguments[0],
598
- channelId,
599
- fromId,
600
- payload,
601
- poi,
602
- ttl,
603
- fee,
604
- nonce
605
- }, TX_TYPE.channelSlash) : await this.api.postChannelSlash({ ...arguments[0],
606
- channelId,
607
- fromId,
608
- payload,
609
- poi,
610
- ttl,
611
- fee: parseInt(fee),
612
- nonce
613
- });
614
- return tx;
615
- }
616
-
617
- async function channelSettleTx(_ref15) {
618
- let {
619
- channelId,
620
- fromId,
621
- initiatorAmountFinal,
622
- responderAmountFinal
623
- } = _ref15;
624
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
625
- const {
626
- fee,
627
- ttl,
628
- nonce
629
- } = await this.prepareTxParams(TX_TYPE.channelSettle, {
630
- senderId: fromId,
631
- ...arguments[0]
632
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
633
-
634
- const {
635
- tx
636
- } = this.nativeMode ? buildTx({ ...arguments[0],
637
- channelId,
638
- fromId,
639
- initiatorAmountFinal,
640
- responderAmountFinal,
641
- ttl,
642
- fee,
643
- nonce
644
- }, TX_TYPE.channelSettle) : await this.api.postChannelSettle({ ...arguments[0],
645
- channelId,
646
- fromId,
647
- initiatorAmountFinal: parseInt(initiatorAmountFinal),
648
- responderAmountFinal: parseInt(responderAmountFinal),
649
- ttl,
650
- fee: parseInt(fee),
651
- nonce
652
- });
653
- return tx;
654
- }
655
-
656
- async function channelSnapshotSoloTx(_ref16) {
657
- let {
658
- channelId,
659
- fromId,
660
- payload
661
- } = _ref16;
662
- // Calculate fee, get absolute ttl (ttl + height), get account nonce
663
- const {
664
- fee,
665
- ttl,
666
- nonce
667
- } = await this.prepareTxParams(TX_TYPE.channelSnapshotSolo, {
668
- senderId: fromId,
669
- ...arguments[0],
670
- payload
671
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
672
-
673
- const {
674
- tx
675
- } = this.nativeMode ? buildTx({ ...arguments[0],
676
- channelId,
677
- fromId,
678
- payload,
679
- ttl,
680
- fee,
681
- nonce
682
- }, TX_TYPE.channelSnapshotSolo) : await this.api.postChannelSnapshotSolo({ ...arguments[0],
683
- channelId,
684
- fromId,
685
- payload,
686
- ttl,
687
- fee: parseInt(fee),
688
- nonce
689
- });
690
- return tx;
691
- }
692
-
693
- async function gaAttachTx(_ref17) {
694
- let {
695
- ownerId,
696
- code,
697
- vmVersion,
698
- abiVersion,
699
- authFun,
700
- gas,
701
- gasPrice = MIN_GAS_PRICE,
702
- callData
703
- } = _ref17;
704
- // Get VM_ABI version
705
- const ctVersion = this.getVmVersion(TX_TYPE.contractCreate, arguments[0]); // Calculate fee, get absolute ttl (ttl + height), get account nonce
706
-
707
- const {
708
- fee,
709
- ttl,
710
- nonce
711
- } = await this.prepareTxParams(TX_TYPE.gaAttach, {
712
- senderId: ownerId,
713
- ...arguments[0],
714
- ctVersion,
715
- gasPrice
716
- }); // Build transaction using sdk (if nativeMode) or build on `AETERNITY NODE` side
717
-
718
- return {
719
- tx: TxObject({
720
- params: { ...arguments[0],
721
- nonce,
722
- ttl,
723
- fee,
724
- ctVersion,
725
- gasPrice
726
- },
727
- type: TX_TYPE.gaAttach
728
- }).encodedTx,
729
- contractId: buildContractId(ownerId, nonce)
730
- };
731
- }
732
-
733
- async function payingForTx(_ref18) {
734
- let {
735
- tx,
736
- payerId,
737
- ...args
738
- } = _ref18;
739
- const params = {
740
- tx: unpackTx(tx),
741
- payerId
742
- };
743
- const {
744
- fee,
745
- nonce
746
- } = await this.prepareTxParams(TX_TYPE.payingFor, { ...params,
747
- ...args,
748
- senderId: payerId
749
- });
750
- return buildTx({ ...params,
751
- ...args,
752
- fee,
753
- nonce
754
- }, TX_TYPE.payingFor).tx;
755
- }
756
- /**
757
- * Validated vm/abi version or get default based on transaction type and NODE version
758
- *
759
- * @param {string} txType Type of transaction
760
- * @param {object} vmAbi Object with vm and abi version fields
761
- * @return {object} Object with vm/abi version ({ vmVersion: number, abiVersion: number })
762
- */
763
-
764
-
765
- function getVmVersion(txType) {
766
- let {
767
- vmVersion,
768
- abiVersion
769
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
770
- const {
771
- consensusProtocolVersion
772
- } = this.getNodeInfo();
773
- const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
774
- if (!supportedProtocol) throw new UnsupportedProtocolError('Not supported consensus protocol version');
775
- const protocolForTX = supportedProtocol[txType];
776
- if (!protocolForTX) throw new UnknownTxError('Not supported tx type');
777
- abiVersion = abiVersion || protocolForTX.abiVersion[0];
778
- vmVersion = vmVersion || protocolForTX.vmVersion[0];
779
-
780
- if (!protocolForTX.vmVersion.includes(vmVersion)) {
781
- throw new UnsupportedVMversionError(`VM VERSION ${vmVersion} do not support by this node. Supported: [${protocolForTX.vmVersion}]`);
782
- }
783
-
784
- if (!protocolForTX.abiVersion.includes(abiVersion)) {
785
- throw new UnsupportedABIversionError(`ABI VERSION ${abiVersion} do not support by this node. Supported: [${protocolForTX.abiVersion}]`);
786
- }
787
-
788
- return {
789
- vmVersion,
790
- abiVersion
791
- };
792
- }
793
- /**
794
- * Compute the absolute ttl by adding the ttl to the current height of the chain
795
- *
796
- * @param {number} ttl
797
- * @param {boolean} relative ttl is absolute or relative(default: true(relative))
798
- * @return {number} Absolute Ttl
799
- */
800
-
801
-
802
- async function calculateTtl() {
803
- let ttl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : TX_TTL;
804
- let relative = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
805
- if (ttl === 0) return 0;
806
- if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
807
-
808
- if (relative) {
809
- const {
810
- height
811
- } = await this.api.getCurrentKeyBlock();
812
- return +height + ttl;
813
- }
814
-
815
- return ttl;
816
- }
817
- /**
818
- * Get the next nonce to be used for a transaction for an account
819
- *
820
- * @param {string} accountId
821
- * @param {number} nonce
822
- * @return {number} Next Nonce
823
- */
824
-
825
-
826
- async function getAccountNonce(accountId, nonce) {
827
- if (nonce) return nonce;
828
- const {
829
- nonce: accountNonce
830
- } = await this.api.getAccountByPubkey(accountId).catch(() => ({
831
- nonce: 0
832
- }));
833
- return accountNonce + 1;
834
- }
835
- /**
836
- * Calculate fee, get absolute ttl (ttl + height), get account nonce
837
- *
838
- * @param {String} txType Type of transaction
839
- * @param {Object} params Object which contains all tx data
840
- * @return {Object} { ttl, nonce, fee } Object with account nonce, absolute ttl and transaction fee
841
- */
842
-
843
-
844
- async function prepareTxParams(txType, _ref19) {
845
- let {
846
- senderId,
847
- nonce: n,
848
- ttl: t,
849
- fee: f,
850
- gas,
851
- absoluteTtl,
852
- vsn,
853
- strategy
854
- } = _ref19;
855
- n = n || (await this.api.getAccountNextNonce(senderId, {
856
- strategy
857
- }).catch(e => ({
858
- nextNonce: 1
859
- }))).nextNonce;
860
- const ttl = await calculateTtl.call(this, t, !absoluteTtl);
861
- const fee = calculateFee(f, txType, {
862
- showWarning: this.showWarning,
863
- gas,
864
- params: { ...arguments[1],
865
- nonce: n,
866
- ttl
867
- },
868
- vsn
869
- });
870
- return {
871
- fee,
872
- ttl,
873
- nonce: n
874
- };
875
- }
876
- /**
877
- * Transaction Stamp
878
- *
879
- * This is implementation of [Tx](api/tx.md) relays
880
- * the creation of transactions to {@link module:@aeternity/aepp-sdk/es/Node}.
881
- * This stamp provide ability to create native transaction's,
882
- * or transaction's using Node API.
883
- * As there is no built-in security between Node and client communication,
884
- * creating transaction using {@link module:@aeternity/aepp-sdk/es/Node} API
885
- * must never be used for production but can be very useful to verify other
886
- * implementations.
887
- * @function
888
- * @alias module:@aeternity/aepp-sdk/es/tx/tx
889
- * @rtype Stamp
890
- * @param {Object} [options={}] - Initializer object
891
- * @param {Boolean} [options.nativeMode=true] options.nativeMode - Use Native build of transaction's
892
- * @param {String} options.url - Node url
893
- * @param {String} options.internalUrl - Node internal url
894
- * @return {Object} Transaction instance
895
- * @example Transaction({url: 'https://testnet.aeternity.io/'})
896
- */
897
-
898
-
899
- const Transaction = ChainNode.compose(Tx, {
900
- init(_ref20) {
901
- let {
902
- nativeMode = true,
903
- showWarning = false
904
- } = _ref20;
905
- this.nativeMode = nativeMode;
906
- this.showWarning = showWarning;
907
- },
908
-
909
- props: {
910
- nativeMode: true,
911
- showWarning: false
912
- },
913
- methods: {
914
- spendTx,
915
- namePreclaimTx,
916
- nameClaimTx,
917
- nameTransferTx,
918
- nameUpdateTx,
919
- nameRevokeTx,
920
- contractCreateTx,
921
- contractCallTx,
922
- prepareTxParams,
923
- oracleRegisterTx,
924
- oracleExtendTx,
925
- oraclePostQueryTx,
926
- oracleRespondTx,
927
- channelCloseSoloTx,
928
- channelSlashTx,
929
- channelSettleTx,
930
- channelSnapshotSoloTx,
931
- gaAttachTx,
932
- payingForTx,
933
- getAccountNonce,
934
- getVmVersion
935
- }
936
- });
937
- export default Transaction;
938
- //# sourceMappingURL=tx.mjs.map