@aeternity/aepp-sdk 13.0.0-alpha.0 → 13.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/bin/aesophia_cli +0 -0
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +4206 -1127
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdkBase.d.ts +3 -3
  9. package/es/AeSdkBase.mjs +4 -0
  10. package/es/AeSdkBase.mjs.map +1 -1
  11. package/es/AeSdkMethods.d.ts +3 -4
  12. package/es/AeSdkMethods.mjs.map +1 -1
  13. package/es/Node.d.ts +4 -3
  14. package/es/Node.mjs +1 -1
  15. package/es/Node.mjs.map +1 -1
  16. package/es/account/Base.d.ts +2 -2
  17. package/es/account/Base.mjs.map +1 -1
  18. package/es/account/Generalized.mjs +5 -3
  19. package/es/account/Generalized.mjs.map +1 -1
  20. package/es/account/Ledger.mjs +2 -1
  21. package/es/account/Ledger.mjs.map +1 -1
  22. package/es/account/Memory.mjs +2 -1
  23. package/es/account/Memory.mjs.map +1 -1
  24. package/es/aens.d.ts +1 -1
  25. package/es/aens.mjs +5 -1
  26. package/es/aens.mjs.map +1 -1
  27. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  28. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +19 -4
  29. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  30. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +1 -1
  31. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  32. package/es/chain.d.ts +9 -1
  33. package/es/chain.mjs +4 -1
  34. package/es/chain.mjs.map +1 -1
  35. package/es/channel/Base.d.ts +6 -1
  36. package/es/channel/Base.mjs +9 -6
  37. package/es/channel/Base.mjs.map +1 -1
  38. package/es/channel/Contract.d.ts +8 -7
  39. package/es/channel/Contract.mjs +1 -1
  40. package/es/channel/Contract.mjs.map +1 -1
  41. package/es/channel/Spend.d.ts +3 -1
  42. package/es/channel/Spend.mjs +4 -2
  43. package/es/channel/Spend.mjs.map +1 -1
  44. package/es/channel/handlers.mjs +11 -9
  45. package/es/channel/handlers.mjs.map +1 -1
  46. package/es/channel/internal.mjs +3 -1
  47. package/es/channel/internal.mjs.map +1 -1
  48. package/es/contract/Contract.d.ts +21 -46
  49. package/es/contract/Contract.mjs +69 -52
  50. package/es/contract/Contract.mjs.map +1 -1
  51. package/es/contract/compiler/Base.d.ts +81 -0
  52. package/es/contract/compiler/Base.mjs +5 -0
  53. package/es/contract/compiler/Base.mjs.map +1 -0
  54. package/es/contract/compiler/Cli.d.ts +23 -0
  55. package/es/contract/compiler/Cli.mjs +155 -0
  56. package/es/contract/compiler/Cli.mjs.map +1 -0
  57. package/es/contract/compiler/Http.d.ts +32 -0
  58. package/es/contract/{CompilerHttp.mjs → compiler/Http.mjs} +64 -9
  59. package/es/contract/compiler/Http.mjs.map +1 -0
  60. package/es/contract/compiler/HttpNode.d.ts +17 -0
  61. package/es/contract/compiler/HttpNode.mjs +26 -0
  62. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  63. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  64. package/es/contract/compiler/getFileSystem.mjs +40 -0
  65. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  66. package/es/contract/ga.d.ts +5 -4
  67. package/es/contract/ga.mjs +11 -2
  68. package/es/contract/ga.mjs.map +1 -1
  69. package/es/index-browser.d.ts +39 -0
  70. package/es/index-browser.mjs +55 -0
  71. package/es/index-browser.mjs.map +1 -0
  72. package/es/index.d.ts +4 -38
  73. package/es/index.mjs +4 -53
  74. package/es/index.mjs.map +1 -1
  75. package/es/oracle.mjs +1 -1
  76. package/es/oracle.mjs.map +1 -1
  77. package/es/spend.mjs +1 -3
  78. package/es/spend.mjs.map +1 -1
  79. package/es/tx/builder/constants.d.ts +28 -1
  80. package/es/tx/builder/constants.mjs +32 -3
  81. package/es/tx/builder/constants.mjs.map +1 -1
  82. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  83. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  84. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  85. package/es/tx/builder/field-types/address.d.ts +5 -6
  86. package/es/tx/builder/field-types/address.mjs +17 -8
  87. package/es/tx/builder/field-types/address.mjs.map +1 -1
  88. package/es/tx/builder/field-types/array.d.ts +7 -0
  89. package/es/tx/builder/field-types/array.mjs +11 -0
  90. package/es/tx/builder/field-types/array.mjs.map +1 -0
  91. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  92. package/es/tx/builder/field-types/boolean.mjs +13 -0
  93. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  94. package/es/tx/builder/field-types/coin-amount.d.ts +1 -1
  95. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  96. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  97. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  98. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  99. package/es/tx/builder/field-types/deposit.d.ts +1 -1
  100. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  101. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  102. package/es/tx/builder/field-types/encoded.mjs +21 -0
  103. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  104. package/es/tx/builder/field-types/entry.d.ts +11 -0
  105. package/es/tx/builder/field-types/entry.mjs +31 -0
  106. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  107. package/es/tx/builder/field-types/enumeration.d.ts +5 -3
  108. package/es/tx/builder/field-types/enumeration.mjs +11 -2
  109. package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
  110. package/es/tx/builder/field-types/fee.d.ts +10 -7
  111. package/es/tx/builder/field-types/fee.mjs +24 -20
  112. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  113. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  114. package/es/tx/builder/field-types/gas-limit.mjs +9 -6
  115. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  116. package/es/tx/builder/field-types/gas-price.d.ts +1 -1
  117. package/es/tx/builder/field-types/index.d.ts +66 -28
  118. package/es/tx/builder/field-types/index.mjs +30 -12
  119. package/es/tx/builder/field-types/index.mjs.map +1 -1
  120. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  121. package/es/tx/builder/field-types/mptree.mjs +268 -0
  122. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  123. package/es/tx/builder/field-types/name-fee.d.ts +1 -2
  124. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  125. package/es/tx/builder/field-types/name-id.mjs +2 -1
  126. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  127. package/es/tx/builder/field-types/pointers.mjs +2 -2
  128. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  129. package/es/tx/builder/field-types/raw.d.ts +6 -0
  130. package/es/tx/builder/field-types/raw.mjs +13 -0
  131. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  132. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  133. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  134. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  135. package/es/tx/builder/field-types/string.d.ts +6 -0
  136. package/es/tx/builder/field-types/string.mjs +10 -0
  137. package/es/tx/builder/field-types/string.mjs.map +1 -0
  138. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  139. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  140. package/es/tx/builder/index.d.ts +11 -29
  141. package/es/tx/builder/index.mjs +50 -211
  142. package/es/tx/builder/index.mjs.map +1 -1
  143. package/es/tx/builder/schema.d.ts +2111 -571
  144. package/es/tx/builder/schema.mjs +57 -125
  145. package/es/tx/builder/schema.mjs.map +1 -1
  146. package/es/tx/index.d.ts +5 -20
  147. package/es/tx/index.mjs +31 -88
  148. package/es/tx/index.mjs.map +1 -1
  149. package/es/tx/validator.d.ts +3 -5
  150. package/es/tx/validator.mjs +82 -95
  151. package/es/tx/validator.mjs.map +1 -1
  152. package/es/utils/bytes.mjs +1 -1
  153. package/es/utils/bytes.mjs.map +1 -1
  154. package/es/utils/errors.d.ts +3 -8
  155. package/es/utils/errors.mjs +1 -11
  156. package/es/utils/errors.mjs.map +1 -1
  157. package/es/utils/other.d.ts +1 -1
  158. package/package.json +35 -27
  159. package/src/AeSdkBase.ts +6 -3
  160. package/src/AeSdkMethods.ts +3 -4
  161. package/src/Node.ts +6 -3
  162. package/src/account/Base.ts +2 -2
  163. package/src/account/Generalized.ts +2 -2
  164. package/src/account/Ledger.ts +1 -1
  165. package/src/account/Memory.ts +1 -1
  166. package/src/aens.ts +3 -2
  167. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -7
  168. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  169. package/src/chain.ts +5 -3
  170. package/src/channel/Base.ts +13 -5
  171. package/src/channel/Contract.ts +11 -10
  172. package/src/channel/Spend.ts +7 -2
  173. package/src/channel/handlers.ts +10 -9
  174. package/src/channel/internal.ts +1 -1
  175. package/src/contract/Contract.ts +69 -79
  176. package/src/contract/compiler/Base.ts +94 -0
  177. package/src/contract/compiler/Cli.ts +134 -0
  178. package/src/contract/compiler/Http.ts +124 -0
  179. package/src/contract/compiler/HttpNode.ts +26 -0
  180. package/src/contract/compiler/getFileSystem.ts +42 -0
  181. package/src/contract/ga.ts +9 -6
  182. package/src/index-browser.ts +58 -0
  183. package/src/index.ts +4 -56
  184. package/src/oracle.ts +1 -1
  185. package/src/spend.ts +1 -1
  186. package/src/tx/builder/constants.ts +32 -3
  187. package/src/tx/builder/field-types/abi-version.ts +21 -0
  188. package/src/tx/builder/field-types/address.ts +23 -13
  189. package/src/tx/builder/field-types/array.ts +19 -0
  190. package/src/tx/builder/field-types/boolean.ts +9 -0
  191. package/src/tx/builder/field-types/coin-amount.ts +2 -1
  192. package/src/tx/builder/field-types/ct-version.ts +50 -0
  193. package/src/tx/builder/field-types/deposit.ts +1 -1
  194. package/src/tx/builder/field-types/encoded.ts +27 -0
  195. package/src/tx/builder/field-types/entry.ts +31 -0
  196. package/src/tx/builder/field-types/enumeration.ts +15 -4
  197. package/src/tx/builder/field-types/fee.ts +38 -18
  198. package/src/tx/builder/field-types/gas-limit.ts +12 -7
  199. package/src/tx/builder/field-types/index.ts +46 -17
  200. package/src/tx/builder/field-types/mptree.ts +242 -0
  201. package/src/tx/builder/field-types/name-fee.ts +1 -2
  202. package/src/tx/builder/field-types/name-id.ts +1 -1
  203. package/src/tx/builder/field-types/pointers.ts +2 -2
  204. package/src/tx/builder/field-types/raw.ts +9 -0
  205. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  206. package/src/tx/builder/field-types/string.ts +11 -0
  207. package/src/tx/builder/field-types/u-int.ts +1 -3
  208. package/src/tx/builder/index.ts +63 -247
  209. package/src/tx/builder/schema.ts +273 -323
  210. package/src/tx/index.ts +37 -104
  211. package/src/tx/validator.ts +72 -95
  212. package/src/utils/bytes.ts +1 -1
  213. package/src/utils/errors.ts +4 -13
  214. package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
  215. package/types-legacy/ts4.2/AeSdkMethods.d.ts +3 -4
  216. package/types-legacy/ts4.2/Node.d.ts +3 -3
  217. package/types-legacy/ts4.2/account/Base.d.ts +2 -2
  218. package/types-legacy/ts4.2/aens.d.ts +1 -1
  219. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  220. package/types-legacy/ts4.2/chain.d.ts +9 -1
  221. package/types-legacy/ts4.2/channel/Base.d.ts +6 -1
  222. package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
  223. package/types-legacy/ts4.2/channel/Spend.d.ts +3 -1
  224. package/types-legacy/ts4.2/contract/Contract.d.ts +21 -46
  225. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  226. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  227. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  228. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  229. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  230. package/types-legacy/ts4.2/contract/ga.d.ts +5 -4
  231. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  232. package/types-legacy/ts4.2/index.d.ts +4 -38
  233. package/types-legacy/ts4.2/tx/builder/constants.d.ts +28 -1
  234. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  235. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
  236. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  237. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  238. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +1 -1
  239. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  240. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +1 -1
  241. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  242. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  243. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -3
  244. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +10 -7
  245. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +5 -2
  246. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +1 -1
  247. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +72 -28
  248. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  249. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -2
  250. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  251. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  252. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  253. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
  254. package/types-legacy/ts4.2/tx/builder/index.d.ts +11 -29
  255. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2380 -668
  256. package/types-legacy/ts4.2/tx/index.d.ts +5 -20
  257. package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
  258. package/types-legacy/ts4.2/utils/errors.d.ts +3 -8
  259. package/types-legacy/ts4.2/utils/other.d.ts +1 -1
  260. package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
  261. package/types-legacy/ts4.5/AeSdkMethods.d.ts +3 -4
  262. package/types-legacy/ts4.5/Node.d.ts +3 -3
  263. package/types-legacy/ts4.5/account/Base.d.ts +2 -2
  264. package/types-legacy/ts4.5/aens.d.ts +1 -1
  265. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  266. package/types-legacy/ts4.5/chain.d.ts +9 -1
  267. package/types-legacy/ts4.5/channel/Base.d.ts +6 -1
  268. package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
  269. package/types-legacy/ts4.5/channel/Spend.d.ts +3 -1
  270. package/types-legacy/ts4.5/contract/Contract.d.ts +21 -46
  271. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  272. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  273. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  274. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  275. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  276. package/types-legacy/ts4.5/contract/ga.d.ts +5 -4
  277. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  278. package/types-legacy/ts4.5/index.d.ts +4 -38
  279. package/types-legacy/ts4.5/tx/builder/constants.d.ts +28 -1
  280. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  281. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
  282. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  283. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  284. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +1 -1
  285. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  286. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +1 -1
  287. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  288. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  289. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -3
  290. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +10 -7
  291. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +5 -2
  292. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +1 -1
  293. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +72 -28
  294. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  295. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -2
  296. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  297. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  298. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  299. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
  300. package/types-legacy/ts4.5/tx/builder/index.d.ts +11 -29
  301. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2380 -668
  302. package/types-legacy/ts4.5/tx/index.d.ts +5 -20
  303. package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
  304. package/types-legacy/ts4.5/utils/errors.d.ts +3 -8
  305. package/types-legacy/ts4.5/utils/other.d.ts +1 -1
  306. package/es/contract/CompilerHttp.d.ts +0 -18
  307. package/es/contract/CompilerHttp.mjs.map +0 -1
  308. package/es/tx/builder/field-types/addresses.d.ts +0 -6
  309. package/es/tx/builder/field-types/addresses.mjs +0 -13
  310. package/es/tx/builder/field-types/addresses.mjs.map +0 -1
  311. package/es/utils/mptree.d.ts +0 -26
  312. package/es/utils/mptree.mjs +0 -143
  313. package/es/utils/mptree.mjs.map +0 -1
  314. package/src/contract/CompilerHttp.ts +0 -67
  315. package/src/tx/builder/field-types/addresses.ts +0 -18
  316. package/src/utils/mptree.ts +0 -145
  317. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
  318. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
  319. package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
  320. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
  321. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
  322. package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
@@ -1,4 +1,5 @@
1
1
  import BigNumber from 'bignumber.js';
2
+ import { AbiVersion, VmVersion } from '../tx/builder/constants';
2
3
  import { SignTx, ChannelState, ChannelOptions } from './internal';
3
4
  import { Encoded } from '../utils/encoder';
4
5
  import { ContractCallReturnType } from '../apis/node';
@@ -7,7 +8,7 @@ import ChannelSpend from './Spend';
7
8
  interface CallContractOptions {
8
9
  amount?: number | BigNumber;
9
10
  callData?: Encoded.ContractBytearray;
10
- abiVersion?: number;
11
+ abiVersion?: AbiVersion;
11
12
  contract?: Encoded.ContractAddress;
12
13
  returnValue?: any;
13
14
  gasUsed?: number | BigNumber;
@@ -18,13 +19,13 @@ interface CallContractOptions {
18
19
  returnType?: ContractCallReturnType;
19
20
  }
20
21
  interface Contract {
21
- abiVersion: number;
22
+ abiVersion: AbiVersion;
22
23
  active: boolean;
23
24
  deposit: number | BigNumber;
24
25
  id: string;
25
26
  ownerId: string;
26
27
  referrerIds: string[];
27
- vmVersion: number;
28
+ vmVersion: VmVersion;
28
29
  }
29
30
  export default class ChannelContract extends ChannelSpend {
30
31
  static initialize(options: ChannelOptions): Promise<ChannelContract>;
@@ -66,8 +67,8 @@ export default class ChannelContract extends ChannelSpend {
66
67
  code: Encoded.ContractBytearray;
67
68
  callData: Encoded.ContractBytearray;
68
69
  deposit: number | BigNumber;
69
- vmVersion: number;
70
- abiVersion: number;
70
+ vmVersion: VmVersion;
71
+ abiVersion: AbiVersion;
71
72
  }, sign: SignTx): Promise<{
72
73
  accepted: boolean;
73
74
  signedTx: Encoded.Transaction;
@@ -148,7 +149,7 @@ export default class ChannelContract extends ChannelSpend {
148
149
  amount: number;
149
150
  callData: Encoded.ContractBytearray;
150
151
  contract: Encoded.ContractAddress;
151
- abiVersion: number;
152
+ abiVersion: AbiVersion;
152
153
  gasLimit?: number;
153
154
  gasPrice?: number;
154
155
  }, sign: SignTx, { onOnChainTx }?: Pick<ChannelState, 'onOnChainTx'>): Promise<{
@@ -189,7 +190,7 @@ export default class ChannelContract extends ChannelSpend {
189
190
  amount: number;
190
191
  callData: Encoded.ContractBytearray;
191
192
  contract: Encoded.ContractAddress;
192
- abiVersion: number;
193
+ abiVersion: AbiVersion;
193
194
  }): Promise<CallContractOptions>;
194
195
  /**
195
196
  * Get contract call result
@@ -2,6 +2,8 @@ import BigNumber from 'bignumber.js';
2
2
  import { SignTx, ChannelState } from './internal';
3
3
  import { Encoded } from '../utils/encoder';
4
4
  import Channel from './Base';
5
+ import { unpackTx } from '../tx/builder';
6
+ import { Tag } from '../tx/builder/constants';
5
7
  export default class ChannelSpend extends Channel {
6
8
  /**
7
9
  * Trigger a transfer update
@@ -61,7 +63,7 @@ export default class ChannelSpend extends Channel {
61
63
  poi({ accounts, contracts }: {
62
64
  accounts: Encoded.AccountAddress[];
63
65
  contracts?: Encoded.ContractAddress[];
64
- }): Promise<Encoded.Poi>;
66
+ }): Promise<ReturnType<any>>;
65
67
  /**
66
68
  * Get balances
67
69
  *
@@ -8,33 +8,15 @@
8
8
  import { Encoder as Calldata } from '@aeternity/aepp-calldata';
9
9
  import { Tag, AensName } from '../tx/builder/constants';
10
10
  import { unpackTx } from '../tx/builder';
11
- import { send } from '../spend';
11
+ import { BuildTxOptions } from '../tx';
12
+ import { send, SendOptions } from '../spend';
12
13
  import { Encoded } from '../utils/encoder';
13
- import { Aci as BaseAci } from '../apis/compiler';
14
14
  import { ContractCallObject as NodeContractCallObject, ContractCallReturnType, Event as NodeEvent } from '../apis/node';
15
- import CompilerHttp from './CompilerHttp';
15
+ import CompilerBase, { Aci } from './compiler/Base';
16
16
  import Node, { TransformNodeType } from '../Node';
17
+ import { txDryRun } from '../chain';
17
18
  import AccountBase from '../account/Base';
18
- interface FunctionACI {
19
- arguments: any[];
20
- name: string;
21
- payable: boolean;
22
- returns: string;
23
- stateful: boolean;
24
- }
25
- interface Aci extends BaseAci {
26
- encodedAci: {
27
- contract: {
28
- name: string;
29
- event: any;
30
- kind: string;
31
- state: any;
32
- type_defs: any[];
33
- functions: FunctionACI[];
34
- };
35
- };
36
- externalEncodedAci: any[];
37
- }
19
+ type FunctionAci = Aci['encodedAci']['contract']['functions'][0];
38
20
  interface Event extends NodeEvent {
39
21
  address: Encoded.ContractAddress;
40
22
  data: Encoded.ContractBytearray;
@@ -145,7 +127,7 @@ declare class Contract<M extends ContractMethodsBase> {
145
127
  returnType: ContractCallReturnType;
146
128
  returnValue: Encoded.ContractBytearray;
147
129
  }, transaction: string): void;
148
- protected _sendAndProcess(tx: Encoded.Transaction, options: any): Promise<SendAndProcessReturnType>;
130
+ protected _sendAndProcess(tx: Encoded.Transaction, options: SendOptions): Promise<SendAndProcessReturnType>;
149
131
  _estimateGas<Fn extends MethodNames<M>>(name: Fn, params: MethodParameters<M, Fn>, options?: object): Promise<number>;
150
132
  /**
151
133
  * Deploy contract
@@ -153,17 +135,18 @@ declare class Contract<M extends ContractMethodsBase> {
153
135
  * @param options - Options
154
136
  * @returns deploy info
155
137
  */
156
- $deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] & Parameters<Contract<M>['_sendAndProcess']>[1]): Promise<Omit<SendAndProcessReturnType, 'hash'> & {
138
+ $deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] & Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>): Promise<Omit<SendAndProcessReturnType, 'hash'> & {
157
139
  transaction?: Encoded.TxHash;
158
140
  owner?: Encoded.AccountAddress;
159
141
  address?: Encoded.ContractAddress;
142
+ decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
160
143
  }>;
161
144
  /**
162
145
  * Get function schema from contract ACI object
163
146
  * @param name - Function name
164
147
  * @returns function ACI
165
148
  */
166
- protected _getFunctionACI(name: string): Partial<FunctionACI>;
149
+ protected _getFunctionACI(name: string): Partial<FunctionAci>;
167
150
  /**
168
151
  * Call contract function
169
152
  * @param fn - Function name
@@ -171,7 +154,11 @@ declare class Contract<M extends ContractMethodsBase> {
171
154
  * @param options - Array of function arguments
172
155
  * @returns CallResult
173
156
  */
174
- $call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?: object): Promise<{
157
+ $call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> & Parameters<Contract<M>['$decodeEvents']>[1] & Omit<Parameters<Contract<M>['_sendAndProcess']>[1], 'onAccount' | 'onNode'> & Omit<Parameters<typeof txDryRun>[2], 'onNode'> & {
158
+ onAccount?: AccountBase;
159
+ onNode?: Node;
160
+ callStatic?: boolean;
161
+ }): Promise<{
175
162
  decodedResult?: any;
176
163
  decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
177
164
  } & SendAndProcessReturnType>;
@@ -197,7 +184,7 @@ declare class Contract<M extends ContractMethodsBase> {
197
184
  $decodeEvents(events: Event[], { omitUnknown, ...opt }?: {
198
185
  omitUnknown?: boolean;
199
186
  } & Parameters<Contract<M>['_getContractNameByEvent']>[2]): DecodedEvent[];
200
- static initialize<M extends ContractMethodsBase>({ onCompiler, onNode, sourceCode, bytecode, aci, address, fileSystem, validateBytecode, ...otherOptions }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {
187
+ static initialize<M extends ContractMethodsBase>({ onCompiler, onNode, bytecode, aci, address, sourceCodePath, sourceCode, fileSystem, validateBytecode, ...otherOptions }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {
201
188
  validateBytecode?: boolean;
202
189
  aci?: Aci;
203
190
  address?: Encoded.ContractAddress | AensName;
@@ -205,29 +192,17 @@ declare class Contract<M extends ContractMethodsBase> {
205
192
  _aci: Aci;
206
193
  _name: string;
207
194
  _calldata: Calldata;
208
- $options: {
209
- sourceCode?: string;
210
- bytecode?: Encoded.ContractBytearray;
211
- address?: Encoded.ContractAddress;
212
- onCompiler: CompilerHttp;
213
- onNode: Node;
214
- omitUnknown?: boolean;
215
- contractAddressToName?: {
216
- [key: string]: string;
217
- };
218
- [key: string]: any;
219
- };
195
+ $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;
220
196
  constructor({ aci, ...otherOptions }: {
221
- onAccount?: AccountBase;
222
- onCompiler: CompilerHttp;
197
+ onCompiler?: CompilerBase;
223
198
  onNode: Node;
224
- sourceCode?: string;
225
199
  bytecode?: Encoded.ContractBytearray;
226
200
  aci: Aci;
227
201
  address?: Encoded.ContractAddress;
228
- fileSystem?: Record<string, string>;
229
- [key: string]: any;
230
- });
202
+ sourceCodePath?: Parameters<CompilerBase['compile']>[0];
203
+ sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];
204
+ fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];
205
+ } & Parameters<Contract<M>['$deploy']>[1]);
231
206
  }
232
207
  interface ContractWithMethodsClass {
233
208
  new <M extends ContractMethodsBase>(options: ConstructorParameters<typeof Contract>[0]): ContractWithMethods<M>;
@@ -0,0 +1,81 @@
1
+ import { Encoded } from '../../utils/encoder';
2
+ import { Aci as BaseAci } from '../../apis/compiler';
3
+ interface FunctionAci {
4
+ arguments: any[];
5
+ name: string;
6
+ payable: boolean;
7
+ returns: string;
8
+ stateful: boolean;
9
+ }
10
+ export interface Aci extends BaseAci {
11
+ encodedAci: {
12
+ contract: {
13
+ name: string;
14
+ event: any;
15
+ kind: string;
16
+ state: any;
17
+ type_defs: any[];
18
+ functions: FunctionAci[];
19
+ };
20
+ };
21
+ externalEncodedAci: any[];
22
+ }
23
+ /**
24
+ * A base class for all compiler implementations
25
+ */
26
+ export default abstract class CompilerBase {
27
+ /**
28
+ * Compile contract by contract's path
29
+ * Available only in Node.js
30
+ * @param path - Path to contract source code
31
+ * @returns ACI and bytecode
32
+ */
33
+ abstract compile(path: string): Promise<{
34
+ bytecode: Encoded.ContractBytearray;
35
+ aci: Aci;
36
+ }>;
37
+ /**
38
+ * Compile contract by contract's source code
39
+ * @param sourceCode - Contract source code as string
40
+ * @param fileSystem - A map of contract filename to the corresponding contract source code to
41
+ * include into the main contract
42
+ * @example
43
+ * ```js
44
+ * {
45
+ * 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
46
+ * }
47
+ * ```
48
+ * @returns ACI and bytecode
49
+ */
50
+ abstract compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
51
+ bytecode: Encoded.ContractBytearray;
52
+ aci: Aci;
53
+ }>;
54
+ /**
55
+ * Verify that a contract bytecode is the result of compiling the given source code
56
+ * Available only in Node.js
57
+ * @param bytecode - Contract bytecode to verify
58
+ * @param path - Path to contract source code
59
+ * @returns ACI and bytecode
60
+ */
61
+ abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
62
+ /**
63
+ * Verify that a contract bytecode is the result of compiling the given source code
64
+ * @param bytecode - Contract bytecode to verify
65
+ * @param sourceCode - Contract source code as string
66
+ * @param fileSystem - A map of contract filename to the corresponding contract source code to
67
+ * include into the main contract
68
+ * @example
69
+ * ```js
70
+ * {
71
+ * 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
72
+ * }
73
+ * ```
74
+ */
75
+ abstract validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
76
+ /**
77
+ * @returns Compiler version
78
+ */
79
+ abstract version(): Promise<string>;
80
+ }
81
+ export {};
@@ -0,0 +1,23 @@
1
+ import CompilerBase, { Aci } from './Base';
2
+ import { Encoded } from '../../utils/encoder';
3
+ /**
4
+ * A wrapper around aesophia_cli, available only in Node.js
5
+ * Assumes that `escript` is available in PATH.
6
+ */
7
+ export default class CompilerCli extends CompilerBase {
8
+ #private;
9
+ constructor(compilerPath?: string, { ignoreVersion }?: {
10
+ ignoreVersion?: boolean;
11
+ });
12
+ compile(path: string): Promise<{
13
+ bytecode: Encoded.ContractBytearray;
14
+ aci: Aci;
15
+ }>;
16
+ compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
17
+ bytecode: Encoded.ContractBytearray;
18
+ aci: Aci;
19
+ }>;
20
+ validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
21
+ validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
22
+ version(): Promise<string>;
23
+ }
@@ -0,0 +1,32 @@
1
+ import { Compiler as CompilerApi } from '../../apis/compiler';
2
+ import CompilerBase, { Aci } from './Base';
3
+ import { Encoded } from '../../utils/encoder';
4
+ /**
5
+ * Contract Compiler over HTTP
6
+ *
7
+ * This class include api call's related to contract compiler functionality.
8
+ * @category contract
9
+ * @example CompilerHttp('COMPILER_URL')
10
+ */
11
+ export default class CompilerHttp extends CompilerBase {
12
+ readonly api: CompilerApi;
13
+ /**
14
+ * @param compilerUrl - Url for compiler API
15
+ * @param options - Options
16
+ * @param options.ignoreVersion - Don't check compiler version
17
+ */
18
+ constructor(compilerUrl: string, { ignoreVersion }?: {
19
+ ignoreVersion?: boolean;
20
+ });
21
+ compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
22
+ bytecode: Encoded.ContractBytearray;
23
+ aci: Aci;
24
+ }>;
25
+ compile(path: string): Promise<{
26
+ bytecode: Encoded.ContractBytearray;
27
+ aci: Aci;
28
+ }>;
29
+ validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
30
+ validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
31
+ version(): Promise<string>;
32
+ }
@@ -0,0 +1,17 @@
1
+ import HttpBrowser from './Http';
2
+ import { Aci } from './Base';
3
+ import { Encoded } from '../../utils/encoder';
4
+ /**
5
+ * Contract Compiler over HTTP for Nodejs
6
+ *
7
+ * Inherits CompilerHttp and implements `compile`, `validate` methods
8
+ * @category contract
9
+ * @example CompilerHttpNode('COMPILER_URL')
10
+ */
11
+ export default class CompilerHttpNode extends HttpBrowser {
12
+ compile(path: string): Promise<{
13
+ bytecode: Encoded.ContractBytearray;
14
+ aci: Aci;
15
+ }>;
16
+ validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
17
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Reads all files included in the provided contract
3
+ * Available only in Node.js
4
+ * @param path - a path to the main contract source code
5
+ */
6
+ export default function getFileSystem(path: string): Promise<Record<string, string>>;
@@ -5,9 +5,10 @@ import { Tag } from '../tx/builder/constants';
5
5
  import { BuildTxOptions } from '../tx';
6
6
  import { Encoded } from '../utils/encoder';
7
7
  import AccountBase from '../account/Base';
8
+ import Contract from './Contract';
8
9
  import { SendOptions } from '../spend';
9
10
  import Node from '../Node';
10
- import CompilerHttp from './CompilerHttp';
11
+ import CompilerBase from './compiler/Base';
11
12
  /**
12
13
  * Convert current account to GA
13
14
  * @category contract
@@ -17,15 +18,15 @@ import CompilerHttp from './CompilerHttp';
17
18
  * @param options - Options
18
19
  * @returns General Account Object
19
20
  */
20
- export declare function createGeneralizedAccount(authFnName: string, sourceCode: string, args: any[], { onAccount, onCompiler, onNode, ...options }: CreateGeneralizedAccountOptions): Promise<Readonly<{
21
+ export declare function createGeneralizedAccount(authFnName: string, args: any[], { onAccount, onCompiler, onNode, bytecode, aci, sourceCodePath, sourceCode, fileSystem, ...options }: CreateGeneralizedAccountOptions): Promise<Readonly<{
21
22
  owner: Encoded.AccountAddress;
22
23
  transaction: Encoded.TxHash;
23
24
  rawTx: Encoded.Transaction;
24
25
  gaContractId: Encoded.ContractAddress;
25
26
  }>>;
26
- interface CreateGeneralizedAccountOptions extends BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit'>, SendOptions {
27
+ interface CreateGeneralizedAccountOptions extends BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit'>, SendOptions, Pick<Parameters<typeof Contract.initialize>[0], 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'> {
27
28
  onAccount: AccountBase;
28
- onCompiler: CompilerHttp;
29
+ onCompiler: CompilerBase;
29
30
  onNode: Node;
30
31
  gasLimit?: number;
31
32
  }
@@ -0,0 +1,39 @@
1
+ export * from './chain';
2
+ export * from './utils/crypto';
3
+ export * from './utils/keystore';
4
+ export * from './utils/bytes';
5
+ export * from './tx';
6
+ export * from './tx/builder';
7
+ export * from './tx/builder/helpers';
8
+ export * from './tx/builder/constants';
9
+ export * from './tx/builder/schema';
10
+ export * from './utils/amount-formatter';
11
+ export * from './utils/hd-wallet';
12
+ export { encode, decode, Encoding } from './utils/encoder';
13
+ export * from './aens';
14
+ export { default as Contract } from './contract/Contract';
15
+ export type { ContractMethodsBase } from './contract/Contract';
16
+ export * from './oracle';
17
+ export * from './spend';
18
+ export * from './contract/ga';
19
+ export { default as AeSdkMethods } from './AeSdkMethods';
20
+ export { default as AeSdkBase } from './AeSdkBase';
21
+ export { default as AeSdk } from './AeSdk';
22
+ export { default as AeSdkAepp } from './AeSdkAepp';
23
+ export { default as AeSdkWallet } from './AeSdkWallet';
24
+ export { default as Node } from './Node';
25
+ export { default as verifyTransaction } from './tx/validator';
26
+ export { default as AccountBase } from './account/Base';
27
+ export { default as MemoryAccount } from './account/Memory';
28
+ export { default as AccountGeneralized } from './account/Generalized';
29
+ export { default as AccountLedger } from './account/Ledger';
30
+ export { default as AccountLedgerFactory } from './account/LedgerFactory';
31
+ export { default as CompilerBase } from './contract/compiler/Base';
32
+ export { default as CompilerHttp } from './contract/compiler/Http';
33
+ export { default as Channel } from './channel/Contract';
34
+ export { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';
35
+ export * from './aepp-wallet-communication/schema';
36
+ export { default as walletDetector } from './aepp-wallet-communication/wallet-detector';
37
+ export { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';
38
+ export { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';
39
+ export * from './utils/errors';
@@ -1,39 +1,5 @@
1
- export * from './chain';
2
- export * from './utils/crypto';
3
- export * from './utils/keystore';
4
- export * from './utils/bytes';
5
- export * from './tx';
6
- export * from './tx/builder';
7
- export * from './tx/builder/helpers';
8
- export * from './tx/builder/constants';
9
- export * from './tx/builder/schema';
10
- export * from './utils/amount-formatter';
11
- export * from './utils/hd-wallet';
12
- export { encode, decode, Encoding } from './utils/encoder';
13
- export * from './aens';
14
- export { default as Contract } from './contract/Contract';
15
- export type { ContractMethodsBase } from './contract/Contract';
16
- export * from './oracle';
17
- export * from './spend';
18
- export * from './contract/ga';
19
- export { default as AeSdkMethods } from './AeSdkMethods';
20
- export { default as AeSdkBase } from './AeSdkBase';
21
- export { default as AeSdk } from './AeSdk';
22
- export { default as AeSdkAepp } from './AeSdkAepp';
23
- export { default as AeSdkWallet } from './AeSdkWallet';
24
- export { default as Node } from './Node';
25
- export { default as verifyTransaction } from './tx/validator';
26
- export { default as AccountBase } from './account/Base';
27
- export { default as MemoryAccount } from './account/Memory';
28
- export { default as AccountGeneralized } from './account/Generalized';
29
- export { default as AccountLedger } from './account/Ledger';
30
- export { default as AccountLedgerFactory } from './account/LedgerFactory';
31
- export { default as CompilerHttp } from './contract/CompilerHttp';
32
- export { default as Channel } from './channel/Contract';
33
- export { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';
34
- export * from './aepp-wallet-communication/schema';
35
- export { default as walletDetector } from './aepp-wallet-communication/wallet-detector';
36
- export { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';
37
- export { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';
38
- export * from './utils/errors';
1
+ export * from './index-browser';
2
+ export { default as CompilerCli } from './contract/compiler/Cli';
3
+ export { default as getFileSystem } from './contract/compiler/getFileSystem';
4
+ export { default as CompilerHttpNode } from './contract/compiler/HttpNode';
39
5
  import './globals';
@@ -1,5 +1,6 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  export declare const MAX_AUTH_FUN_GAS = 50000;
3
+ export type Int = number | string | BigNumber;
3
4
  export type AensName = `${string}.chain`;
4
5
  export declare const NAME_TTL = 180000;
5
6
  export declare const NAME_MAX_TTL = 36000;
@@ -14,6 +15,31 @@ export declare const NAME_BID_MAX_LENGTH = 12;
14
15
  export declare const NAME_BID_RANGES: {
15
16
  [k: string]: BigNumber;
16
17
  };
18
+ export declare enum ConsensusProtocolVersion {
19
+ Iris = 5
20
+ }
21
+ /**
22
+ * @category transaction builder
23
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
24
+ */
25
+ export declare enum VmVersion {
26
+ NoVm = 0,
27
+ Sophia = 1,
28
+ SophiaImprovementsMinerva = 3,
29
+ SophiaImprovementsFortuna = 4,
30
+ Fate = 5,
31
+ SophiaImprovementsLima = 6,
32
+ Fate2 = 7
33
+ }
34
+ /**
35
+ * @category transaction builder
36
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
37
+ */
38
+ export declare enum AbiVersion {
39
+ NoAbi = 0,
40
+ Sophia = 1,
41
+ Fate = 3
42
+ }
17
43
  /**
18
44
  * Enum with tag types
19
45
  * @category transaction builder
@@ -24,10 +50,12 @@ export declare enum Tag {
24
50
  Account = 10,
25
51
  SignedTx = 11,
26
52
  SpendTx = 12,
53
+ Oracle = 20,
27
54
  OracleRegisterTx = 22,
28
55
  OracleQueryTx = 23,
29
56
  OracleResponseTx = 24,
30
57
  OracleExtendTx = 25,
58
+ Name = 30,
31
59
  NameClaimTx = 32,
32
60
  NamePreclaimTx = 33,
33
61
  NameUpdateTx = 34,
@@ -64,7 +92,6 @@ export declare enum Tag {
64
92
  NameserviceMtree = 624,
65
93
  OraclesMtree = 625,
66
94
  AccountsMtree = 626,
67
- CompilerSophia = 70,
68
95
  GaAttachTx = 80,
69
96
  GaMetaTx = 81,
70
97
  PayingForTx = 82
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants';
3
+ declare const _default: {
4
+ serialize(value: AbiVersion | undefined, { tag, consensusProtocolVersion }: {
5
+ tag: Tag;
6
+ consensusProtocolVersion: ConsensusProtocolVersion;
7
+ }): Buffer;
8
+ deserialize(buffer: Buffer): AbiVersion;
9
+ };
10
+ export default _default;
@@ -1,22 +1,21 @@
1
1
  /// <reference types="node" />
2
- import { Encoding } from '../../../utils/encoder';
2
+ import { Encoded } from '../../../utils/encoder';
3
3
  /**
4
4
  * Map of prefix to ID tag constant
5
5
  * @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}
6
6
  * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}
7
7
  * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}
8
8
  */
9
- declare const idTagToEncoding: readonly [
10
- Encoding.AccountAddress,
11
- Encoding.Name,
12
- Encoding.Commitment,
13
- Encoding.OracleAddress,
14
- Encoding.ContractAddress,
15
- Encoding.Channel
9
+ export declare const idTagToEncoding: readonly [
10
+ Encoded.Encoding.AccountAddress,
11
+ Encoded.Encoding.Name,
12
+ Encoded.Encoding.Commitment,
13
+ Encoded.Encoding.OracleAddress,
14
+ Encoded.Encoding.ContractAddress,
15
+ Encoded.Encoding.Channel
16
16
  ];
17
17
  export type AddressEncodings = typeof idTagToEncoding[number];
18
- export default function genAddressField<Encoding extends AddressEncodings>(): {
19
- serialize: (value: `${Encoding}_${string}`) => Buffer;
20
- deserialize: (value: Buffer) => `${Encoding}_${string}`;
18
+ export default function genAddressField<Encoding extends AddressEncodings>(...encodings: Encoding[]): {
19
+ serialize: (value: Encoded.Generic<Encoding>) => Buffer;
20
+ deserialize: (value: Buffer) => Encoded.Generic<Encoding>;
21
21
  };
22
- export {};
@@ -0,0 +1,7 @@
1
+ export default function genArrayField<Input, Output, Binary>(itemHandler: {
2
+ serialize: (value: Input, params: unknown) => Binary;
3
+ deserialize: (value: Binary, params: unknown) => Output;
4
+ }): {
5
+ serialize: (value: Input[], params: unknown) => Binary[];
6
+ deserialize: (value: Binary[], params: unknown) => Output[];
7
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ declare const _default: {
3
+ serialize(value: boolean): Buffer;
4
+ deserialize(buffer: Buffer): boolean;
5
+ };
6
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { Int } from './u-int';
2
+ import { Int } from '../constants';
3
3
  import { AE_AMOUNT_FORMATS } from '../../../utils/amount-formatter';
4
4
  export interface Options {
5
5
  denomination?: AE_AMOUNT_FORMATS;
@@ -0,0 +1,42 @@
1
+ /// <reference types="node" />
2
+ import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants';
3
+ export declare const ProtocolToVmAbi: {
4
+ readonly 5: {
5
+ readonly 'contract-create': {
6
+ readonly vmVersion: readonly [
7
+ VmVersion.Fate2
8
+ ];
9
+ readonly abiVersion: readonly [
10
+ AbiVersion.Fate
11
+ ];
12
+ };
13
+ readonly 'contract-call': {
14
+ readonly vmVersion: readonly [
15
+ ];
16
+ readonly abiVersion: readonly [
17
+ AbiVersion.Fate,
18
+ AbiVersion.Sophia
19
+ ];
20
+ };
21
+ readonly 'oracle-call': {
22
+ readonly vmVersion: readonly [
23
+ ];
24
+ readonly abiVersion: readonly [
25
+ AbiVersion.NoAbi,
26
+ AbiVersion.Sophia
27
+ ];
28
+ };
29
+ };
30
+ };
31
+ export interface CtVersion {
32
+ vmVersion: VmVersion;
33
+ abiVersion: AbiVersion;
34
+ }
35
+ export declare function getProtocolDetails(protocolVersion: ConsensusProtocolVersion, type: 'contract-create' | 'contract-call' | 'oracle-call'): CtVersion;
36
+ declare const _default: {
37
+ serialize(value: CtVersion | undefined, { consensusProtocolVersion }: {
38
+ consensusProtocolVersion: ConsensusProtocolVersion;
39
+ }): Buffer;
40
+ deserialize(buffer: Buffer): CtVersion;
41
+ };
42
+ export default _default;