@aeternity/aepp-sdk 10.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +25 -0
  29. package/es/account/Memory.mjs +81 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1061 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4164 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
@@ -0,0 +1,223 @@
1
+ import _buffer from "buffer";
2
+ const {
3
+ Buffer: _Buffer
4
+ } = _buffer;
5
+ import BigNumber from 'bignumber.js';
6
+ import { hash, salt } from "../../utils/crypto.mjs";
7
+ import { encode, decode } from "../../utils/encoder.mjs";
8
+ import { toBytes } from "../../utils/bytes.mjs";
9
+ import { concatBuffers } from "../../utils/other.mjs";
10
+ import { ID_TAG_PREFIX, PREFIX_ID_TAG, NAME_BID_RANGES, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE, POINTER_KEY_BY_PREFIX } from "./constants.mjs";
11
+ import { ceil } from "../../utils/bignumber.mjs";
12
+ import { TagNotFoundError, PrefixNotFoundError, IllegalBidFeeError, ArgumentError } from "../../utils/errors.mjs";
13
+ /**
14
+ * JavaScript-based Transaction builder helper function's
15
+ */
16
+
17
+ export const createSalt = salt;
18
+ export { encode, decode };
19
+
20
+ /**
21
+ * Build a contract public key
22
+ * @param ownerId - The public key of the owner account
23
+ * @param nonce - the nonce of the transaction
24
+ * @returns Contract public key
25
+ */
26
+ export function buildContractId(ownerId, nonce) {
27
+ const ownerIdAndNonce = _Buffer.from([...decode(ownerId), ...toBytes(nonce)]);
28
+
29
+ const b2bHash = hash(ownerIdAndNonce);
30
+ return encode(b2bHash, 'ct');
31
+ }
32
+ /**
33
+ * Build a oracle query id
34
+ * @param senderId - The public key of the sender account
35
+ * @param nonce - the nonce of the transaction
36
+ * @param oracleId - The oracle public key
37
+ * @returns Contract public key
38
+ */
39
+
40
+ export function oracleQueryId(senderId, nonce, oracleId) {
41
+ function _int32(val) {
42
+ const nonceBE = toBytes(val, true);
43
+ return concatBuffers([_Buffer.alloc(32 - nonceBE.length), nonceBE]);
44
+ }
45
+
46
+ const b2bHash = hash(_Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));
47
+ return encode(b2bHash, 'oq');
48
+ }
49
+ /**
50
+ * Format the salt into a 64-byte hex string
51
+ * @param salt - Random number
52
+ * @returns Zero-padded hex string of salt
53
+ */
54
+
55
+ export function formatSalt(salt) {
56
+ return _Buffer.from(salt.toString(16).padStart(64, '0'), 'hex');
57
+ }
58
+ /**
59
+ * Encode an AENS name
60
+ *
61
+ * @param name - Name to encode
62
+ * @returns `nm_` prefixed encoded AENS name
63
+ */
64
+
65
+ export function produceNameId(name) {
66
+ return encode(hash(name.toLowerCase()), 'nm');
67
+ }
68
+ /**
69
+ * Generate the commitment hash by hashing the formatted salt and
70
+ * name, base 58 encoding the result and prepending 'cm_'
71
+ *
72
+ * @param name - Name to be registered
73
+ * @param salt - Random salt
74
+ * @returns Commitment hash
75
+ */
76
+
77
+ export function commitmentHash(name) {
78
+ let salt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createSalt();
79
+ return encode(hash(concatBuffers([_Buffer.from(name.toLowerCase()), formatSalt(salt)])), 'cm');
80
+ }
81
+ /**
82
+ * Utility function to create and _id type
83
+ * @param hashId - Encoded hash
84
+ * @returns Buffer Buffer with ID tag and decoded HASh
85
+ */
86
+
87
+ export function writeId(hashId) {
88
+ if (typeof hashId !== 'string') throw new ArgumentError('hashId', 'a string', hashId);
89
+ const prefix = hashId.slice(0, 2);
90
+ const idTag = PREFIX_ID_TAG[prefix];
91
+ if (idTag == null) throw new TagNotFoundError(prefix);
92
+ return _Buffer.from([...toBytes(idTag), ...decode(hashId)]);
93
+ }
94
+ /**
95
+ * Utility function to read and _id type
96
+ * @param buf - Data
97
+ * @returns Encoided hash string with prefix
98
+ */
99
+
100
+ export function readId(buf) {
101
+ const tag = _Buffer.from(buf).readUIntBE(0, 1);
102
+
103
+ const prefix = ID_TAG_PREFIX[tag];
104
+ if (prefix == null) throw new PrefixNotFoundError(tag);
105
+ return encode(buf.slice(1, buf.length), prefix);
106
+ }
107
+ /**
108
+ * Utility function to convert int to bytes
109
+ * @param val - Value
110
+ * @returns Buffer Buffer from number(BigEndian)
111
+ */
112
+
113
+ export function writeInt(val) {
114
+ return toBytes(val, true);
115
+ }
116
+ /**
117
+ * Utility function to convert bytes to int
118
+ * @param buf - Value
119
+ * @returns Buffer Buffer from number(BigEndian)
120
+ */
121
+
122
+ export function readInt() {
123
+ let buf = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Buffer.from([]);
124
+ return new BigNumber(_Buffer.from(buf).toString('hex'), 16).toString(10);
125
+ }
126
+ /**
127
+ * Helper function to build pointers for name update TX
128
+ * @param pointers - Array of pointers
129
+ * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
130
+ * @returns Serialized pointers array
131
+ */
132
+
133
+ export function buildPointers(pointers) {
134
+ return pointers.map(p => [toBytes(p.key), writeId(p.id)]);
135
+ }
136
+ /**
137
+ * Helper function to read pointers from name update TX
138
+ * @param pointers - Array of pointers
139
+ * @returns Deserialize pointer array
140
+ */
141
+
142
+ export function readPointers(pointers) {
143
+ return pointers.map(_ref => {
144
+ let [key, id] = _ref;
145
+ return Object.assign({
146
+ key: key.toString(),
147
+ id: readId(id)
148
+ });
149
+ });
150
+ }
151
+ const AENS_SUFFIX = '.chain';
152
+ /**
153
+ * Is AENS name valid
154
+ * @param name - AENS name
155
+ */
156
+
157
+ export function isNameValid(name) {
158
+ // TODO: probably there are stronger requirements
159
+ return name.endsWith(AENS_SUFFIX);
160
+ }
161
+ /**
162
+ * @param identifier - account/oracle/contract address, or channel
163
+ * @returns default AENS pointer key
164
+ */
165
+
166
+ export function getDefaultPointerKey(identifier) {
167
+ decode(identifier);
168
+ const prefix = identifier.substring(0, 2);
169
+ return POINTER_KEY_BY_PREFIX[prefix];
170
+ }
171
+ /**
172
+ * Get the minimum AENS name fee
173
+ *
174
+ * @param name - the AENS name to get the fee for
175
+ * @returns the minimum fee for the AENS name auction
176
+ */
177
+
178
+ export function getMinimumNameFee(name) {
179
+ const nameLength = name.length - AENS_SUFFIX.length;
180
+ return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];
181
+ }
182
+ /**
183
+ * Compute bid fee for AENS auction
184
+ *
185
+ * @param name - the AENS name to get the fee for
186
+ * @param options - Options
187
+ * @param options.startFee - Auction start fee
188
+ * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)
189
+ * @returns Bid fee
190
+ */
191
+
192
+ export function computeBidFee(name) {
193
+ let {
194
+ startFee,
195
+ increment = NAME_FEE_BID_INCREMENT
196
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
197
+ if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);
198
+ if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`); // FIXME: increment should be used somehow here
199
+
200
+ return ceil(new BigNumber(startFee !== null && startFee !== void 0 ? startFee : getMinimumNameFee(name)).times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1)));
201
+ }
202
+ /**
203
+ * Compute auction end height
204
+ *
205
+ * @param name - Name to compute auction end for
206
+ * @param claimHeight - Auction starting height
207
+ * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}
208
+ * @returns Auction end height
209
+ */
210
+
211
+ export function computeAuctionEndBlock(name, claimHeight) {
212
+ const length = name.length - AENS_SUFFIX.length;
213
+ const h = length <= 4 && 62 * NAME_BID_TIMEOUT_BLOCKS || length <= 8 && 31 * NAME_BID_TIMEOUT_BLOCKS || length <= 12 && NAME_BID_TIMEOUT_BLOCKS || 0;
214
+ return h + claimHeight;
215
+ }
216
+ /**
217
+ * Is name accept going to auction
218
+ */
219
+
220
+ export function isAuctionName(name) {
221
+ return name.length < 13 + AENS_SUFFIX.length;
222
+ }
223
+ //# sourceMappingURL=helpers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.mjs","names":["BigNumber","hash","salt","encode","decode","toBytes","concatBuffers","ID_TAG_PREFIX","PREFIX_ID_TAG","NAME_BID_RANGES","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","POINTER_KEY_BY_PREFIX","ceil","TagNotFoundError","PrefixNotFoundError","IllegalBidFeeError","ArgumentError","createSalt","buildContractId","ownerId","nonce","ownerIdAndNonce","from","b2bHash","oracleQueryId","senderId","oracleId","_int32","val","nonceBE","alloc","length","formatSalt","toString","padStart","produceNameId","name","toLowerCase","commitmentHash","writeId","hashId","prefix","slice","idTag","readId","buf","tag","readUIntBE","writeInt","readInt","buildPointers","pointers","map","p","key","id","readPointers","Object","assign","AENS_SUFFIX","isNameValid","endsWith","getDefaultPointerKey","identifier","substring","getMinimumNameFee","nameLength","Math","min","computeBidFee","startFee","increment","Number","times","plus","computeAuctionEndBlock","claimHeight","h","isAuctionName"],"sources":["../../../src/tx/builder/helpers.ts"],"sourcesContent":["import BigNumber from 'bignumber.js'\nimport { hash, salt } from '../../utils/crypto'\nimport { encode, decode, EncodedData, EncodingType } from '../../utils/encoder'\nimport { toBytes } from '../../utils/bytes'\nimport { concatBuffers } from '../../utils/other'\nimport {\n ID_TAG_PREFIX,\n PREFIX_ID_TAG,\n NAME_BID_RANGES,\n NAME_FEE_BID_INCREMENT,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_MAX_LENGTH_FEE,\n POINTER_KEY_BY_PREFIX,\n AensName\n} from './constants'\nimport { ceil } from '../../utils/bignumber'\nimport {\n TagNotFoundError,\n PrefixNotFoundError,\n IllegalBidFeeError,\n ArgumentError\n} from '../../utils/errors'\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\nexport const createSalt = salt\n\nexport { encode, decode }\n\nexport interface Pointer {\n key: string\n id: string\n}\n\n/**\n * Build a contract public key\n * @param ownerId - The public key of the owner account\n * @param nonce - the nonce of the transaction\n * @returns Contract public key\n */\nexport function buildContractId (ownerId: EncodedData<'ak'>, nonce: number | BigNumber): EncodedData<'ct'> {\n const ownerIdAndNonce = Buffer.from([...decode(ownerId), ...toBytes(nonce)])\n const b2bHash = hash(ownerIdAndNonce)\n return encode(b2bHash, 'ct')\n}\n\n/**\n * Build a oracle query id\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId (\n senderId: EncodedData<'ak'>,\n nonce: number | BigNumber | string,\n oracleId: EncodedData<'ok'>\n): EncodedData<'oq'> {\n function _int32 (val: number | string | BigNumber): Buffer {\n const nonceBE = toBytes(val, true)\n return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE])\n }\n\n const b2bHash = hash(\n Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]))\n return encode(b2bHash, 'oq')\n}\n\n/**\n * Format the salt into a 64-byte hex string\n * @param salt - Random number\n * @returns Zero-padded hex string of salt\n */\nexport function formatSalt (salt: number): Buffer {\n return Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')\n}\n\n/**\n * Encode an AENS name\n *\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId (name: AensName): EncodedData<'nm'> {\n return encode(hash(name.toLowerCase()), 'nm')\n}\n\n/**\n * Generate the commitment hash by hashing the formatted salt and\n * name, base 58 encoding the result and prepending 'cm_'\n *\n * @param name - Name to be registered\n * @param salt - Random salt\n * @returns Commitment hash\n */\nexport function commitmentHash (name: AensName, salt: number = createSalt()): EncodedData<'cm'> {\n return encode(hash(concatBuffers([Buffer.from(name.toLowerCase()), formatSalt(salt)])), 'cm')\n}\n\n/**\n * Utility function to create and _id type\n * @param hashId - Encoded hash\n * @returns Buffer Buffer with ID tag and decoded HASh\n */\nexport function writeId (hashId: string): Buffer {\n if (typeof hashId !== 'string') throw new ArgumentError('hashId', 'a string', hashId)\n const prefix = hashId.slice(0, 2) as keyof typeof PREFIX_ID_TAG\n const idTag = PREFIX_ID_TAG[prefix]\n if (idTag == null) throw new TagNotFoundError(prefix)\n return Buffer.from([...toBytes(idTag), ...decode(hashId as EncodedData<EncodingType>)])\n}\n\n/**\n * Utility function to read and _id type\n * @param buf - Data\n * @returns Encoided hash string with prefix\n */\nexport function readId (buf: Buffer): string {\n const tag = Buffer.from(buf).readUIntBE(0, 1)\n const prefix = ID_TAG_PREFIX[tag]\n if (prefix == null) throw new PrefixNotFoundError(tag)\n return encode(buf.slice(1, buf.length), prefix)\n}\n\n/**\n * Utility function to convert int to bytes\n * @param val - Value\n * @returns Buffer Buffer from number(BigEndian)\n */\nexport function writeInt (val: number | string | BigNumber): Buffer {\n return toBytes(val, true)\n}\n\n/**\n * Utility function to convert bytes to int\n * @param buf - Value\n * @returns Buffer Buffer from number(BigEndian)\n */\nexport function readInt (buf: Buffer = Buffer.from([])): string {\n return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10)\n}\n\n/**\n * Helper function to build pointers for name update TX\n * @param pointers - Array of pointers\n * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n * @returns Serialized pointers array\n */\nexport function buildPointers (pointers: Pointer[]): Buffer[][] {\n return pointers.map(\n p => [\n toBytes(p.key),\n writeId(p.id)\n ]\n )\n}\n\n/**\n * Helper function to read pointers from name update TX\n * @param pointers - Array of pointers\n * @returns Deserialize pointer array\n */\nexport function readPointers (pointers: Array<[key: string, id: Buffer]>): Pointer[] {\n return pointers.map(\n ([key, id]) => Object.assign({\n key: key.toString(),\n id: readId(id)\n })\n )\n}\n\nconst AENS_SUFFIX = '.chain'\n\n/**\n * Is AENS name valid\n * @param name - AENS name\n */\nexport function isNameValid (name: string): name is AensName {\n // TODO: probably there are stronger requirements\n return name.endsWith(AENS_SUFFIX)\n}\n\n/**\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey (\n identifier: EncodedData<keyof typeof POINTER_KEY_BY_PREFIX>\n): POINTER_KEY_BY_PREFIX {\n decode(identifier)\n const prefix = identifier.substring(0, 2) as keyof typeof POINTER_KEY_BY_PREFIX\n return POINTER_KEY_BY_PREFIX[prefix]\n}\n\n/**\n * Get the minimum AENS name fee\n *\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee (name: AensName): BigNumber {\n const nameLength = name.length - AENS_SUFFIX.length\n return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)]\n}\n\n/**\n * Compute bid fee for AENS auction\n *\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee (\n name: AensName,\n { startFee, increment = NAME_FEE_BID_INCREMENT }:\n { startFee?: number | string | BigNumber, increment?: number } = {}\n): BigNumber {\n if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`)\n if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`)\n // FIXME: increment should be used somehow here\n return ceil(\n new BigNumber(startFee ?? getMinimumNameFee(name))\n .times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1))\n )\n}\n\n/**\n * Compute auction end height\n *\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock (name: AensName, claimHeight: number): number {\n const length = name.length - AENS_SUFFIX.length\n const h = (length <= 4 && 62 * NAME_BID_TIMEOUT_BLOCKS) ||\n (length <= 8 && 31 * NAME_BID_TIMEOUT_BLOCKS) ||\n (length <= 12 && NAME_BID_TIMEOUT_BLOCKS) ||\n 0\n return h + claimHeight\n}\n\n/**\n * Is name accept going to auction\n */\nexport function isAuctionName (name: AensName): boolean {\n return name.length < 13 + AENS_SUFFIX.length\n}\n"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { EncodedData, EncodingType } from './../../utils/encoder';
2
+ import { NestedUint8Array } from 'rlp';
3
+ import { AE_AMOUNT_FORMATS } from '../../utils/amount-formatter';
4
+ import { RawTxObject, TxField, TxTypeSchemas, TX_TYPE, TxSchema } from './schema';
5
+ /**
6
+ * Validate transaction params
7
+ * @param params - Object with tx params
8
+ * @param schema - Transaction schema
9
+ * @param excludeKeys - Array of keys to exclude for validation
10
+ * @returns Object with validation errors
11
+ */
12
+ export declare function validateParams(params: any, schema: TxField[], { excludeKeys }: {
13
+ excludeKeys: string[];
14
+ }): object;
15
+ /**
16
+ * Unpack binary transaction
17
+ * @param binary - Array with binary transaction field's
18
+ * @param schema - Transaction schema
19
+ * @returns Object with transaction field's
20
+ */
21
+ export declare function unpackRawTx<Tx extends TxSchema>(binary: Uint8Array | NestedUint8Array, schema: TxField[]): RawTxObject<Tx>;
22
+ export interface BuiltTx<Tx extends TxSchema, Prefix extends EncodingType> {
23
+ tx: EncodedData<Prefix>;
24
+ rlpEncoded: Uint8Array;
25
+ binary: Uint8Array;
26
+ txObject: RawTxObject<Tx>;
27
+ }
28
+ /**
29
+ * Build transaction hash
30
+ * @param _params - Object with tx params
31
+ * @param type - Transaction type
32
+ * @param options - options
33
+ * @param options.excludeKeys - Array of keys to exclude for validation and build
34
+ * @param options.denomination - Denomination of amounts
35
+ * @param options.prefix - Prefix of transaction
36
+ * @throws {@link InvalidTxParamsError}
37
+ * @returns object
38
+ * @returns object.tx Base64Check transaction hash with 'tx_' prefix
39
+ * @returns object.rlpEncoded rlp encoded transaction
40
+ * @returns object.binary binary transaction
41
+ */
42
+ export declare function buildTx<TxType extends TX_TYPE, Prefix>(_params: Omit<TxTypeSchemas[TxType], 'tag' | 'VSN'> & {
43
+ VSN?: number;
44
+ }, type: TxType, { excludeKeys, prefix, vsn, denomination }?: {
45
+ excludeKeys?: string[];
46
+ prefix?: EncodingType;
47
+ vsn?: number;
48
+ denomination?: AE_AMOUNT_FORMATS;
49
+ }): BuiltTx<TxSchema, Prefix extends EncodingType ? Prefix : 'tx'>;
50
+ export interface TxUnpacked<Tx extends TxSchema> {
51
+ txType: TX_TYPE;
52
+ tx: RawTxObject<Tx>;
53
+ rlpEncoded: Uint8Array;
54
+ }
55
+ /**
56
+ * Unpack transaction hash
57
+ * @param encodedTx - Transaction to unpack
58
+ * @param txType - Expected transaction type
59
+ * @returns object
60
+ * @returns object.tx Object with transaction param's
61
+ * @returns object.txType Transaction type
62
+ */
63
+ export declare function unpackTx<TxType extends TX_TYPE>(encodedTx: EncodedData<'tx' | 'pi'>, txType?: TxType): TxUnpacked<TxTypeSchemas[TxType]>;
64
+ /**
65
+ * Build a transaction hash
66
+ * @param rawTx - base64 or rlp encoded transaction
67
+ * @returns Transaction hash
68
+ */
69
+ export declare function buildTxHash(rawTx: EncodedData<'tx'> | Uint8Array): EncodedData<'th'>;
70
+ /**
71
+ * Build a contract public key by contractCreateTx or gaAttach
72
+ * @param contractTx - Transaction
73
+ * @returns Contract public key
74
+ */
75
+ export declare function buildContractIdByContractTx(contractTx: EncodedData<'tx'>): EncodedData<'ct'>;