@aeternity/aepp-sdk 11.0.0 → 12.1.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 (442) 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 +20764 -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 +138 -88
  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 +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  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 -240
  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 -664
  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 -108
  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 +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  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 +56 -42
  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 +170 -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 +146 -0
  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/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. package/src/utils/swagger.js +0 -156
@@ -1,74 +0,0 @@
1
- import _buffer from "buffer";
2
- const {
3
- Buffer: _Buffer
4
- } = _buffer;
5
- import { writeId, readId, isNameValid, produceNameId, ensureNameValid, getMinimumNameFee, readInt, writeInt } from "./helpers.mjs";
6
- import { InsufficientNameFeeError, IllegalArgumentError } from "../../utils/errors.mjs";
7
- export class Field {
8
- static serialize(value) {
9
- return value;
10
- }
11
-
12
- static deserialize(value) {
13
- return value;
14
- }
15
-
16
- }
17
- export class Name extends Field {
18
- static serialize(value) {
19
- ensureNameValid(value);
20
- return _Buffer.from(value);
21
- }
22
-
23
- static deserialize(value) {
24
- return value.toString();
25
- }
26
-
27
- }
28
- export class NameId extends Field {
29
- static serialize(value) {
30
- return writeId(isNameValid(value) ? produceNameId(value) : value);
31
- }
32
-
33
- static deserialize(value) {
34
- return readId(value);
35
- }
36
-
37
- }
38
- export class NameFee extends Field {
39
- static serialize(value, _ref) {
40
- var _value;
41
-
42
- let {
43
- name
44
- } = _ref;
45
- const minNameFee = getMinimumNameFee(name);
46
- (_value = value) !== null && _value !== void 0 ? _value : value = minNameFee;
47
-
48
- if (minNameFee.gt(value)) {
49
- throw new InsufficientNameFeeError(value, minNameFee);
50
- }
51
-
52
- return writeInt(value);
53
- }
54
-
55
- static deserialize(value) {
56
- return readInt(value);
57
- }
58
-
59
- }
60
- export class Deposit extends Field {
61
- static serialize(value, _ref2) {
62
- let {
63
- name
64
- } = _ref2;
65
- if (+value) throw new IllegalArgumentError(`Contract deposit is not refundable, so it should be equal 0, got ${value} instead`);
66
- return writeInt(0);
67
- }
68
-
69
- static deserialize(value) {
70
- return readInt(value);
71
- }
72
-
73
- }
74
- //# sourceMappingURL=field-types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tx/builder/field-types.js"],"names":["writeId","readId","isNameValid","produceNameId","ensureNameValid","getMinimumNameFee","readInt","writeInt","InsufficientNameFeeError","IllegalArgumentError","Field","serialize","value","deserialize","Name","from","toString","NameId","NameFee","name","minNameFee","gt","Deposit"],"mappings":";;;;SACEA,O,EAASC,M,EAAQC,W,EAAaC,a,EAAeC,e,EAAiBC,iB,EAAmBC,O,EAASC,Q;SAEnFC,wB,EAA0BC,oB;AAEnC,OAAO,MAAMC,KAAN,CAAY;AACD,SAATC,SAAS,CAAEC,KAAF,EAAS;AACvB,WAAOA,KAAP;AACD;;AAEiB,SAAXC,WAAW,CAAED,KAAF,EAAS;AACzB,WAAOA,KAAP;AACD;;AAPgB;AAUnB,OAAO,MAAME,IAAN,SAAmBJ,KAAnB,CAAyB;AACd,SAATC,SAAS,CAAEC,KAAF,EAAS;AACvBR,IAAAA,eAAe,CAACQ,KAAD,CAAf;AACA,WAAO,QAAOG,IAAP,CAAYH,KAAZ,CAAP;AACD;;AAEiB,SAAXC,WAAW,CAAED,KAAF,EAAS;AACzB,WAAOA,KAAK,CAACI,QAAN,EAAP;AACD;;AAR6B;AAWhC,OAAO,MAAMC,MAAN,SAAqBP,KAArB,CAA2B;AAChB,SAATC,SAAS,CAAEC,KAAF,EAAS;AACvB,WAAOZ,OAAO,CAACE,WAAW,CAACU,KAAD,CAAX,GAAqBT,aAAa,CAACS,KAAD,CAAlC,GAA4CA,KAA7C,CAAd;AACD;;AAEiB,SAAXC,WAAW,CAAED,KAAF,EAAS;AACzB,WAAOX,MAAM,CAACW,KAAD,CAAb;AACD;;AAP+B;AAUlC,OAAO,MAAMM,OAAN,SAAsBR,KAAtB,CAA4B;AACjB,SAATC,SAAS,CAAEC,KAAF,QAAmB;AAAA;;AAAA,QAAV;AAAEO,MAAAA;AAAF,KAAU;AACjC,UAAMC,UAAU,GAAGf,iBAAiB,CAACc,IAAD,CAApC;AACA,cAAAP,KAAK,UAAL,iCAAAA,KAAK,GAAKQ,UAAV;;AACA,QAAIA,UAAU,CAACC,EAAX,CAAcT,KAAd,CAAJ,EAA0B;AACxB,YAAM,IAAIJ,wBAAJ,CAA6BI,KAA7B,EAAoCQ,UAApC,CAAN;AACD;;AACD,WAAOb,QAAQ,CAACK,KAAD,CAAf;AACD;;AAEiB,SAAXC,WAAW,CAAED,KAAF,EAAS;AACzB,WAAON,OAAO,CAACM,KAAD,CAAd;AACD;;AAZgC;AAenC,OAAO,MAAMU,OAAN,SAAsBZ,KAAtB,CAA4B;AACjB,SAATC,SAAS,CAAEC,KAAF,SAAmB;AAAA,QAAV;AAAEO,MAAAA;AAAF,KAAU;AACjC,QAAI,CAACP,KAAL,EAAY,MAAM,IAAIH,oBAAJ,CAA0B,oEAAmEG,KAAM,UAAnG,CAAN;AACZ,WAAOL,QAAQ,CAAC,CAAD,CAAf;AACD;;AAEiB,SAAXM,WAAW,CAAED,KAAF,EAAS;AACzB,WAAON,OAAO,CAACM,KAAD,CAAd;AACD;;AARgC","sourcesContent":["import {\n writeId, readId, isNameValid, produceNameId, ensureNameValid, getMinimumNameFee, readInt, writeInt\n} from './helpers'\nimport { InsufficientNameFeeError, IllegalArgumentError } from '../../utils/errors'\n\nexport class Field {\n static serialize (value) {\n return value\n }\n\n static deserialize (value) {\n return value\n }\n}\n\nexport class Name extends Field {\n static serialize (value) {\n ensureNameValid(value)\n return Buffer.from(value)\n }\n\n static deserialize (value) {\n return value.toString()\n }\n}\n\nexport class NameId extends Field {\n static serialize (value) {\n return writeId(isNameValid(value) ? produceNameId(value) : value)\n }\n\n static deserialize (value) {\n return readId(value)\n }\n}\n\nexport class NameFee extends Field {\n static serialize (value, { name }) {\n const minNameFee = getMinimumNameFee(name)\n value ??= minNameFee\n if (minNameFee.gt(value)) {\n throw new InsufficientNameFeeError(value, minNameFee)\n }\n return writeInt(value)\n }\n\n static deserialize (value) {\n return readInt(value)\n }\n}\n\nexport class Deposit extends Field {\n static serialize (value, { name }) {\n if (+value) throw new IllegalArgumentError(`Contract deposit is not refundable, so it should be equal 0, got ${value} instead`)\n return writeInt(0)\n }\n\n static deserialize (value) {\n return readInt(value)\n }\n}\n"],"file":"field-types.mjs"}
@@ -1,283 +0,0 @@
1
- import _buffer from "buffer";
2
- const {
3
- Buffer: _Buffer
4
- } = _buffer;
5
-
6
- /**
7
- * TxObject module
8
- * @module @aeternity/aepp-sdk/es/tx/tx-object
9
- * @export TxObject
10
- * @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'
11
- */
12
- import stampit from '@stamp/it';
13
- import { buildTx, calculateFee, unpackTx } from "./builder/index.mjs";
14
- import { TX_TYPE } from "./builder/schema.mjs";
15
- import { encode } from "./builder/helpers.mjs";
16
- import { isHex } from "../utils/string.mjs";
17
- import { InvalidTxError, TypeError, UnknownTxError, InvalidSignatureError } from "../utils/errors.mjs";
18
- /**
19
- * Build transaction from object
20
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
21
- * @param {String} type Transaction type
22
- * @param {Object} params Transaction params
23
- * @param {Object} [options={}] Options
24
- * @throws {Error} Arguments validation error's
25
- * @return {{
26
- * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String
27
- * }}
28
- */
29
-
30
- const buildTransaction = function (type, params) {
31
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
32
- if (typeof params !== 'object') throw new TypeError('tx "params" should be an object');
33
- if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new UnknownTxError(`Unknown transaction type ${type}`);
34
- const fee = calculateFee(params.fee, type, {
35
- gas: params.gas,
36
- params,
37
- vsn: params.vsn
38
- });
39
- const {
40
- rlpEncoded,
41
- binary,
42
- tx: encodedTx,
43
- txObject
44
- } = buildTx({ ...params,
45
- fee
46
- }, type, {
47
- vsn: params.vsn,
48
- ...options
49
- });
50
- return {
51
- rlpEncoded,
52
- binary,
53
- encodedTx,
54
- params: txObject,
55
- type
56
- };
57
- };
58
- /**
59
- * Unpack transaction from RLP encoded binary or base64c string
60
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
61
- * @param {Uint8Array|String} tx RLP encoded binary or base64c(rlpBinary) string
62
- * @throws {Error} Arguments validation error's
63
- * @return {{
64
- * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object
65
- * }}
66
- */
67
-
68
-
69
- const unpackTransaction = tx => {
70
- if (!tx) throw new InvalidTxError(`Invalid transaction: ${tx}`);
71
-
72
- if (typeof tx === 'string') {
73
- const {
74
- txType: type,
75
- tx: params,
76
- rlpEncoded,
77
- binary
78
- } = unpackTx(tx);
79
- return {
80
- encodedTx: tx,
81
- type,
82
- params,
83
- rlpEncoded,
84
- binary
85
- };
86
- }
87
-
88
- if (tx instanceof Uint8Array) {
89
- const {
90
- txType: type,
91
- tx: params,
92
- rlpEncoded,
93
- binary
94
- } = unpackTx(tx, true);
95
- return {
96
- encodedTx: encode(tx, 'tx'),
97
- type,
98
- params,
99
- rlpEncoded,
100
- binary
101
- };
102
- }
103
-
104
- throw new InvalidTxError(`"tx" should be a string or Uint8Array, got ${tx} instead`);
105
- };
106
- /**
107
- * Helper which build or unpack transaction base on constructor arguments
108
- * Need to provide one of arguments: [tx] -> unpack flow or [params, type] -> build flow
109
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
110
- * @param {Buffer|String} [tx] Transaction rlp binary or vase64c string
111
- * @param {Object} params Transaction params
112
- * @param {String} type Transaction type
113
- * @param {Object} [options={}] Options
114
- * @throws {Error} Arguments validation error's
115
- * @return {{
116
- * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object
117
- * }}
118
- */
119
-
120
-
121
- const initTransaction = function () {
122
- let {
123
- tx,
124
- params,
125
- type,
126
- options = {}
127
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
128
- if (params && type) return buildTransaction(type, params, options);
129
- if (tx) return unpackTransaction(tx);
130
- throw new InvalidTxError('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }');
131
- };
132
- /**
133
- * Transaction Validator Stamp
134
- * This stamp give us possibility to unpack and validate some of transaction properties,
135
- * to make sure we can post it to the chain
136
- * @function
137
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
138
- * @rtype Stamp
139
- * @param {Object} [options={}] - Initializer object
140
- * @param {Buffer|String} [options.tx] - Rlp binary or base64c transaction
141
- * @param {Object} [options.params] - Transaction params
142
- * @param {String} [options.type] - Transaction type
143
- * @param {Object} [options.options] - Build options
144
- * @return {Object} TxObject instance
145
- * @example TxObject({ params: {...}, type: 'spendTx' })
146
- */
147
-
148
-
149
- export const TxObject = stampit({
150
- init() {
151
- let {
152
- tx,
153
- params,
154
- type,
155
- options = {}
156
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
157
- this.options = options;
158
- this.signatures = [];
159
- Object.assign(this, initTransaction({
160
- tx,
161
- params,
162
- type,
163
- options
164
- }));
165
-
166
- if (this.type === TX_TYPE.signed) {
167
- const {
168
- signatures,
169
- encodedTx: {
170
- txType,
171
- tx
172
- }
173
- } = this.params;
174
- this.signatures = signatures;
175
- this.params = tx;
176
- this.type = txType;
177
- this.isSigned = true;
178
- }
179
- },
180
-
181
- statics: {
182
- /**
183
- * Create txObject from base64c RLP encoded transaction string with 'tx_' prefix
184
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
185
- * @static
186
- * @param {String} tx Transaction string (tx_23fsdgsdfg...)
187
- * @return {TxObject}
188
- */
189
- fromString: tx => TxObject({
190
- tx
191
- }),
192
-
193
- /**
194
- * Create txObject from transaction RLP binary
195
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
196
- * @static
197
- * @param {Buffer} tx Transaction RLP binary
198
- * @return {TxObject}
199
- */
200
- fromRlp: tx => TxObject({
201
- tx
202
- })
203
- },
204
- methods: {
205
- /**
206
- * Rebuild transaction with new params and recalculate fee
207
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
208
- * @param {Object} props Transaction properties for update
209
- * @param options
210
- * @return {TxObject}
211
- */
212
- setProp() {
213
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
214
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
215
- if (typeof props !== 'object') throw new TypeError('Props should be an object');
216
- this.isSigned = false;
217
- this.signatures = [];
218
- Object.assign(this, buildTransaction(this.type, { ...this.params,
219
- ...props,
220
- fee: null
221
- }, { ...this.options,
222
- ...options
223
- }));
224
- return this;
225
- },
226
-
227
- /**
228
- * Get signatures
229
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
230
- * @return {Array} Array of signatures
231
- */
232
- getSignatures() {
233
- return this.signatures;
234
- },
235
-
236
- /**
237
- * Add signature
238
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
239
- * @param {Buffer|String} signature Signature to add ( Can be: Buffer | Uint8Array | HexString )
240
- * @return {void}
241
- */
242
- addSignature(signature) {
243
- signature = isHex(signature) ? _Buffer.from(signature, 'hex') : signature;
244
- if (!_Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new InvalidSignatureError('Invalid signature, signature must be of type Buffer or Uint8Array');
245
- Object.assign(this, buildTransaction(TX_TYPE.signed, {
246
- encodedTx: this.rlpEncoded,
247
- signatures: [[...this.signatures, signature]]
248
- }));
249
- const {
250
- signatures,
251
- encodedTx: {
252
- txType,
253
- tx
254
- }
255
- } = this.params;
256
- this.signatures = signatures;
257
- this.params = tx;
258
- this.type = txType;
259
- this.isSigned = true;
260
- },
261
-
262
- /**
263
- * Calculate fee
264
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
265
- * @param {Object} props
266
- * @return {String} fee
267
- */
268
- calculateMinFee() {
269
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
270
- const params = { ...this.params,
271
- ...props
272
- };
273
- return calculateFee(0, this.type, {
274
- gas: params.gas,
275
- params,
276
- vsn: params.vsn
277
- });
278
- }
279
-
280
- }
281
- });
282
- export default TxObject;
283
- //# sourceMappingURL=tx-object.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tx/tx-object.js"],"names":["stampit","buildTx","calculateFee","unpackTx","TX_TYPE","encode","isHex","InvalidTxError","TypeError","UnknownTxError","InvalidSignatureError","buildTransaction","type","params","options","Object","values","includes","fee","gas","vsn","rlpEncoded","binary","tx","encodedTx","txObject","unpackTransaction","txType","Uint8Array","initTransaction","TxObject","init","signatures","assign","signed","isSigned","statics","fromString","fromRlp","methods","setProp","props","getSignatures","addSignature","signature","from","isBuffer","calculateMinFee"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,WAApB;SACSC,O,EAASC,Y,EAAcC,Q;SACvBC,O;SACAC,M;SACAC,K;SACAC,c,EAAgBC,S,EAAWC,c,EAAgBC,qB;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,gBAAgB,GAAG,UAACC,IAAD,EAAOC,MAAP,EAAgC;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACvD,MAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC,MAAM,IAAIL,SAAJ,CAAc,iCAAd,CAAN;AAChC,MAAI,OAAOI,IAAP,KAAgB,QAAhB,IAA4B,CAACG,MAAM,CAACC,MAAP,CAAcZ,OAAd,EAAuBa,QAAvB,CAAgCL,IAAhC,CAAjC,EAAwE,MAAM,IAAIH,cAAJ,CAAoB,4BAA2BG,IAAK,EAApD,CAAN;AACxE,QAAMM,GAAG,GAAGhB,YAAY,CAACW,MAAM,CAACK,GAAR,EAAaN,IAAb,EAAmB;AAAEO,IAAAA,GAAG,EAAEN,MAAM,CAACM,GAAd;AAAmBN,IAAAA,MAAnB;AAA2BO,IAAAA,GAAG,EAAEP,MAAM,CAACO;AAAvC,GAAnB,CAAxB;AACA,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,MAAd;AAAsBC,IAAAA,EAAE,EAAEC,SAA1B;AAAqCC,IAAAA;AAArC,MAAkDxB,OAAO,CAC7D,EAAE,GAAGY,MAAL;AAAaK,IAAAA;AAAb,GAD6D,EACzCN,IADyC,EACnC;AAAEQ,IAAAA,GAAG,EAAEP,MAAM,CAACO,GAAd;AAAmB,OAAGN;AAAtB,GADmC,CAA/D;AAGA,SAAO;AAAEO,IAAAA,UAAF;AAAcC,IAAAA,MAAd;AAAsBE,IAAAA,SAAtB;AAAiCX,IAAAA,MAAM,EAAEY,QAAzC;AAAmDb,IAAAA;AAAnD,GAAP;AACD,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMc,iBAAiB,GAAIH,EAAD,IAAQ;AAChC,MAAI,CAACA,EAAL,EAAS,MAAM,IAAIhB,cAAJ,CAAoB,wBAAuBgB,EAAG,EAA9C,CAAN;;AACT,MAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1B,UAAM;AAAEI,MAAAA,MAAM,EAAEf,IAAV;AAAgBW,MAAAA,EAAE,EAAEV,MAApB;AAA4BQ,MAAAA,UAA5B;AAAwCC,MAAAA;AAAxC,QAAmDnB,QAAQ,CAACoB,EAAD,CAAjE;AACA,WAAO;AAAEC,MAAAA,SAAS,EAAED,EAAb;AAAiBX,MAAAA,IAAjB;AAAuBC,MAAAA,MAAvB;AAA+BQ,MAAAA,UAA/B;AAA2CC,MAAAA;AAA3C,KAAP;AACD;;AACD,MAAIC,EAAE,YAAYK,UAAlB,EAA8B;AAC5B,UAAM;AAAED,MAAAA,MAAM,EAAEf,IAAV;AAAgBW,MAAAA,EAAE,EAAEV,MAApB;AAA4BQ,MAAAA,UAA5B;AAAwCC,MAAAA;AAAxC,QAAmDnB,QAAQ,CAACoB,EAAD,EAAK,IAAL,CAAjE;AACA,WAAO;AAAEC,MAAAA,SAAS,EAAEnB,MAAM,CAACkB,EAAD,EAAK,IAAL,CAAnB;AAA+BX,MAAAA,IAA/B;AAAqCC,MAAAA,MAArC;AAA6CQ,MAAAA,UAA7C;AAAyDC,MAAAA;AAAzD,KAAP;AACD;;AACD,QAAM,IAAIf,cAAJ,CAAoB,8CAA6CgB,EAAG,UAApE,CAAN;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMM,eAAe,GAAG,YAA6C;AAAA,MAA5C;AAAEN,IAAAA,EAAF;AAAMV,IAAAA,MAAN;AAAcD,IAAAA,IAAd;AAAoBE,IAAAA,OAAO,GAAG;AAA9B,GAA4C,uEAAP,EAAO;AACnE,MAAID,MAAM,IAAID,IAAd,EAAoB,OAAOD,gBAAgB,CAACC,IAAD,EAAOC,MAAP,EAAeC,OAAf,CAAvB;AACpB,MAAIS,EAAJ,EAAQ,OAAOG,iBAAiB,CAACH,EAAD,CAAxB;AACR,QAAM,IAAIhB,cAAJ,CAAmB,kHAAnB,CAAN;AACD,CAJD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMuB,QAAQ,GAAG9B,OAAO,CAAC;AAC9B+B,EAAAA,IAAI,GAA2C;AAAA,QAAzC;AAAER,MAAAA,EAAF;AAAMV,MAAAA,MAAN;AAAcD,MAAAA,IAAd;AAAoBE,MAAAA,OAAO,GAAG;AAA9B,KAAyC,uEAAJ,EAAI;AAC7C,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKkB,UAAL,GAAkB,EAAlB;AACAjB,IAAAA,MAAM,CAACkB,MAAP,CAAc,IAAd,EAAoBJ,eAAe,CAAC;AAAEN,MAAAA,EAAF;AAAMV,MAAAA,MAAN;AAAcD,MAAAA,IAAd;AAAoBE,MAAAA;AAApB,KAAD,CAAnC;;AAEA,QAAI,KAAKF,IAAL,KAAcR,OAAO,CAAC8B,MAA1B,EAAkC;AAChC,YAAM;AAAEF,QAAAA,UAAF;AAAcR,QAAAA,SAAS,EAAE;AAAEG,UAAAA,MAAF;AAAUJ,UAAAA;AAAV;AAAzB,UAA4C,KAAKV,MAAvD;AACA,WAAKmB,UAAL,GAAkBA,UAAlB;AACA,WAAKnB,MAAL,GAAcU,EAAd;AACA,WAAKX,IAAL,GAAYe,MAAZ;AACA,WAAKQ,QAAL,GAAgB,IAAhB;AACD;AACF,GAb6B;;AAc9BC,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,UAAU,EAAGd,EAAD,IAAQO,QAAQ,CAAC;AAAEP,MAAAA;AAAF,KAAD,CARrB;;AASP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIe,IAAAA,OAAO,EAAGf,EAAD,IAAQO,QAAQ,CAAC;AAAEP,MAAAA;AAAF,KAAD;AAhBlB,GAdqB;AAgC9BgB,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,OAAO,GAA4B;AAAA,UAA1BC,KAA0B,uEAAlB,EAAkB;AAAA,UAAd3B,OAAc,uEAAJ,EAAI;AACjC,UAAI,OAAO2B,KAAP,KAAiB,QAArB,EAA+B,MAAM,IAAIjC,SAAJ,CAAc,2BAAd,CAAN;AAC/B,WAAK2B,QAAL,GAAgB,KAAhB;AACA,WAAKH,UAAL,GAAkB,EAAlB;AACAjB,MAAAA,MAAM,CAACkB,MAAP,CACE,IADF,EAEEtB,gBAAgB,CACd,KAAKC,IADS,EACH,EAAE,GAAG,KAAKC,MAAV;AAAkB,WAAG4B,KAArB;AAA4BvB,QAAAA,GAAG,EAAE;AAAjC,OADG,EACsC,EAAE,GAAG,KAAKJ,OAAV;AAAmB,WAAGA;AAAtB,OADtC,CAFlB;AAMA,aAAO,IAAP;AACD,KAnBM;;AAoBP;AACJ;AACA;AACA;AACA;AACI4B,IAAAA,aAAa,GAAI;AACf,aAAO,KAAKV,UAAZ;AACD,KA3BM;;AA4BP;AACJ;AACA;AACA;AACA;AACA;AACIW,IAAAA,YAAY,CAAEC,SAAF,EAAa;AACvBA,MAAAA,SAAS,GAAGtC,KAAK,CAACsC,SAAD,CAAL,GAAmB,QAAOC,IAAP,CAAYD,SAAZ,EAAuB,KAAvB,CAAnB,GAAmDA,SAA/D;AACA,UAAI,CAAC,QAAOE,QAAP,CAAgBF,SAAhB,CAAD,IAA+B,EAAEA,SAAS,YAAYhB,UAAvB,CAAnC,EAAuE,MAAM,IAAIlB,qBAAJ,CAA0B,mEAA1B,CAAN;AACvEK,MAAAA,MAAM,CAACkB,MAAP,CACE,IADF,EAEEtB,gBAAgB,CACdP,OAAO,CAAC8B,MADM,EAEd;AAAEV,QAAAA,SAAS,EAAE,KAAKH,UAAlB;AAA8BW,QAAAA,UAAU,EAAE,CAAC,CAAC,GAAG,KAAKA,UAAT,EAAqBY,SAArB,CAAD;AAA1C,OAFc,CAFlB;AAQA,YAAM;AAAEZ,QAAAA,UAAF;AAAcR,QAAAA,SAAS,EAAE;AAAEG,UAAAA,MAAF;AAAUJ,UAAAA;AAAV;AAAzB,UAA4C,KAAKV,MAAvD;AACA,WAAKmB,UAAL,GAAkBA,UAAlB;AACA,WAAKnB,MAAL,GAAcU,EAAd;AACA,WAAKX,IAAL,GAAYe,MAAZ;AACA,WAAKQ,QAAL,GAAgB,IAAhB;AACD,KAlDM;;AAmDP;AACJ;AACA;AACA;AACA;AACA;AACIY,IAAAA,eAAe,GAAc;AAAA,UAAZN,KAAY,uEAAJ,EAAI;AAC3B,YAAM5B,MAAM,GAAG,EAAE,GAAG,KAAKA,MAAV;AAAkB,WAAG4B;AAArB,OAAf;AACA,aAAOvC,YAAY,CAAC,CAAD,EAAI,KAAKU,IAAT,EAAe;AAAEO,QAAAA,GAAG,EAAEN,MAAM,CAACM,GAAd;AAAmBN,QAAAA,MAAnB;AAA2BO,QAAAA,GAAG,EAAEP,MAAM,CAACO;AAAvC,OAAf,CAAnB;AACD;;AA5DM;AAhCqB,CAAD,CAAxB;AAgGP,eAAeU,QAAf","sourcesContent":["/**\n * TxObject module\n * @module @aeternity/aepp-sdk/es/tx/tx-object\n * @export TxObject\n * @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'\n */\nimport stampit from '@stamp/it'\nimport { buildTx, calculateFee, unpackTx } from './builder'\nimport { TX_TYPE } from './builder/schema'\nimport { encode } from './builder/helpers'\nimport { isHex } from '../utils/string'\nimport { InvalidTxError, TypeError, UnknownTxError, InvalidSignatureError } from '../utils/errors'\n\n/**\n * Build transaction from object\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {String} type Transaction type\n * @param {Object} params Transaction params\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String\n * }}\n */\nconst buildTransaction = (type, params, options = {}) => {\n if (typeof params !== 'object') throw new TypeError('tx \"params\" should be an object')\n if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new UnknownTxError(`Unknown transaction type ${type}`)\n const fee = calculateFee(params.fee, type, { gas: params.gas, params, vsn: params.vsn })\n const { rlpEncoded, binary, tx: encodedTx, txObject } = buildTx(\n { ...params, fee }, type, { vsn: params.vsn, ...options }\n )\n return { rlpEncoded, binary, encodedTx, params: txObject, type }\n}\n\n/**\n * Unpack transaction from RLP encoded binary or base64c string\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Uint8Array|String} tx RLP encoded binary or base64c(rlpBinary) string\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object\n * }}\n */\nconst unpackTransaction = (tx) => {\n if (!tx) throw new InvalidTxError(`Invalid transaction: ${tx}`)\n if (typeof tx === 'string') {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx)\n return { encodedTx: tx, type, params, rlpEncoded, binary }\n }\n if (tx instanceof Uint8Array) {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx, true)\n return { encodedTx: encode(tx, 'tx'), type, params, rlpEncoded, binary }\n }\n throw new InvalidTxError(`\"tx\" should be a string or Uint8Array, got ${tx} instead`)\n}\n\n/**\n * Helper which build or unpack transaction base on constructor arguments\n * Need to provide one of arguments: [tx] -> unpack flow or [params, type] -> build flow\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} [tx] Transaction rlp binary or vase64c string\n * @param {Object} params Transaction params\n * @param {String} type Transaction type\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{\n * encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object\n * }}\n */\nconst initTransaction = ({ tx, params, type, options = {} } = {}) => {\n if (params && type) return buildTransaction(type, params, options)\n if (tx) return unpackTransaction(tx)\n throw new InvalidTxError('Invalid TxObject arguments. Please provide one of { tx: \"tx_asdasd23...\" } or { type: \"spendTx\", params: {...} }')\n}\n\n/**\n * Transaction Validator Stamp\n * This stamp give us possibility to unpack and validate some of transaction properties,\n * to make sure we can post it to the chain\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {Buffer|String} [options.tx] - Rlp binary or base64c transaction\n * @param {Object} [options.params] - Transaction params\n * @param {String} [options.type] - Transaction type\n * @param {Object} [options.options] - Build options\n * @return {Object} TxObject instance\n * @example TxObject({ params: {...}, type: 'spendTx' })\n */\nexport const TxObject = stampit({\n init ({ tx, params, type, options = {} } = {}) {\n this.options = options\n this.signatures = []\n Object.assign(this, initTransaction({ tx, params, type, options }))\n\n if (this.type === TX_TYPE.signed) {\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n }\n },\n statics: {\n /**\n * Create txObject from base64c RLP encoded transaction string with 'tx_' prefix\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {String} tx Transaction string (tx_23fsdgsdfg...)\n * @return {TxObject}\n */\n fromString: (tx) => TxObject({ tx }),\n /**\n * Create txObject from transaction RLP binary\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {Buffer} tx Transaction RLP binary\n * @return {TxObject}\n */\n fromRlp: (tx) => TxObject({ tx })\n },\n methods: {\n /**\n * Rebuild transaction with new params and recalculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props Transaction properties for update\n * @param options\n * @return {TxObject}\n */\n setProp (props = {}, options = {}) {\n if (typeof props !== 'object') throw new TypeError('Props should be an object')\n this.isSigned = false\n this.signatures = []\n Object.assign(\n this,\n buildTransaction(\n this.type, { ...this.params, ...props, fee: null }, { ...this.options, ...options }\n )\n )\n return this\n },\n /**\n * Get signatures\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @return {Array} Array of signatures\n */\n getSignatures () {\n return this.signatures\n },\n /**\n * Add signature\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} signature Signature to add ( Can be: Buffer | Uint8Array | HexString )\n * @return {void}\n */\n addSignature (signature) {\n signature = isHex(signature) ? Buffer.from(signature, 'hex') : signature\n if (!Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new InvalidSignatureError('Invalid signature, signature must be of type Buffer or Uint8Array')\n Object.assign(\n this,\n buildTransaction(\n TX_TYPE.signed,\n { encodedTx: this.rlpEncoded, signatures: [[...this.signatures, signature]] }\n )\n )\n\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n },\n /**\n * Calculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props\n * @return {String} fee\n */\n calculateMinFee (props = {}) {\n const params = { ...this.params, ...props }\n return calculateFee(0, this.type, { gas: params.gas, params, vsn: params.vsn })\n }\n }\n})\n\nexport default TxObject\n"],"file":"tx-object.mjs"}