@aeternity/aepp-sdk 13.0.0-alpha.0 → 13.0.0-beta.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 (481) 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 +5595 -2249
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.mjs.map +1 -1
  9. package/es/AeSdkAepp.mjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +3 -3
  11. package/es/AeSdkBase.mjs +4 -0
  12. package/es/AeSdkBase.mjs.map +1 -1
  13. package/es/AeSdkMethods.d.ts +12 -14
  14. package/es/AeSdkMethods.mjs +6 -8
  15. package/es/AeSdkMethods.mjs.map +1 -1
  16. package/es/AeSdkWallet.mjs +1 -1
  17. package/es/AeSdkWallet.mjs.map +1 -1
  18. package/es/Node.d.ts +9 -4
  19. package/es/Node.mjs +12 -6
  20. package/es/Node.mjs.map +1 -1
  21. package/es/account/Base.d.ts +13 -8
  22. package/es/account/Base.mjs +0 -17
  23. package/es/account/Base.mjs.map +1 -1
  24. package/es/account/Generalized.mjs +14 -25
  25. package/es/account/Generalized.mjs.map +1 -1
  26. package/es/account/Ledger.mjs +2 -1
  27. package/es/account/Ledger.mjs.map +1 -1
  28. package/es/account/LedgerFactory.mjs.map +1 -1
  29. package/es/account/Memory.d.ts +2 -1
  30. package/es/account/Memory.mjs +11 -22
  31. package/es/account/Memory.mjs.map +1 -1
  32. package/es/account/Rpc.mjs.map +1 -1
  33. package/es/aens.d.ts +12 -14
  34. package/es/aens.mjs +22 -32
  35. package/es/aens.mjs.map +1 -1
  36. package/es/aepp-wallet-communication/connection/Browser.mjs +0 -16
  37. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  38. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +19 -20
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  41. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -16
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  43. package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
  44. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  45. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -6
  46. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/rpc/types.d.ts +6 -2
  48. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -16
  51. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  52. package/es/apis/compiler/compiler.d.ts +1 -1
  53. package/es/apis/compiler/compiler.mjs +4 -20
  54. package/es/apis/compiler/compiler.mjs.map +1 -1
  55. package/es/apis/compiler/models/index.d.ts +3 -2
  56. package/es/apis/compiler/models/index.mjs.map +1 -1
  57. package/es/apis/compiler/models/mappers.d.ts +1 -1
  58. package/es/apis/compiler/models/mappers.mjs +19 -2
  59. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  60. package/es/apis/node/models/index.d.ts +15 -15
  61. package/es/apis/node/models/index.mjs.map +1 -1
  62. package/es/apis/node/models/mappers.d.ts +1 -1
  63. package/es/apis/node/models/mappers.mjs +2 -1
  64. package/es/apis/node/models/mappers.mjs.map +1 -1
  65. package/es/apis/node/models/parameters.d.ts +2 -2
  66. package/es/apis/node/models/parameters.mjs +2 -2
  67. package/es/apis/node/models/parameters.mjs.map +1 -1
  68. package/es/apis/node/node.mjs +3 -19
  69. package/es/apis/node/node.mjs.map +1 -1
  70. package/es/chain.d.ts +17 -9
  71. package/es/chain.mjs +23 -23
  72. package/es/chain.mjs.map +1 -1
  73. package/es/channel/Base.d.ts +27 -9
  74. package/es/channel/Base.mjs +27 -27
  75. package/es/channel/Base.mjs.map +1 -1
  76. package/es/channel/Contract.d.ts +8 -7
  77. package/es/channel/Contract.mjs +8 -21
  78. package/es/channel/Contract.mjs.map +1 -1
  79. package/es/channel/Spend.d.ts +5 -1
  80. package/es/channel/Spend.mjs +4 -18
  81. package/es/channel/Spend.mjs.map +1 -1
  82. package/es/channel/handlers.mjs +16 -26
  83. package/es/channel/handlers.mjs.map +1 -1
  84. package/es/channel/internal.d.ts +19 -2
  85. package/es/channel/internal.mjs +22 -20
  86. package/es/channel/internal.mjs.map +1 -1
  87. package/es/contract/Contract.d.ts +43 -123
  88. package/es/contract/Contract.mjs +230 -250
  89. package/es/contract/Contract.mjs.map +1 -1
  90. package/es/contract/compiler/Base.d.ts +74 -0
  91. package/es/contract/compiler/Base.mjs +5 -0
  92. package/es/contract/compiler/Base.mjs.map +1 -0
  93. package/es/contract/compiler/Cli.d.ts +23 -0
  94. package/es/contract/compiler/Cli.mjs +149 -0
  95. package/es/contract/compiler/Cli.mjs.map +1 -0
  96. package/es/contract/compiler/Http.d.ts +32 -0
  97. package/es/contract/compiler/Http.mjs +94 -0
  98. package/es/contract/compiler/Http.mjs.map +1 -0
  99. package/es/contract/compiler/HttpNode.d.ts +17 -0
  100. package/es/contract/compiler/HttpNode.mjs +26 -0
  101. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  102. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  103. package/es/contract/compiler/getFileSystem.mjs +40 -0
  104. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  105. package/es/contract/delegation-signature.d.ts +43 -0
  106. package/es/contract/delegation-signature.mjs +45 -0
  107. package/es/contract/delegation-signature.mjs.map +1 -0
  108. package/es/contract/ga.d.ts +27 -10
  109. package/es/contract/ga.mjs +63 -29
  110. package/es/contract/ga.mjs.map +1 -1
  111. package/es/index-browser.d.ts +40 -0
  112. package/es/index-browser.mjs +41 -0
  113. package/es/index-browser.mjs.map +1 -0
  114. package/es/index.d.ts +4 -38
  115. package/es/index.mjs +4 -53
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +12 -17
  118. package/es/oracle.mjs +29 -49
  119. package/es/oracle.mjs.map +1 -1
  120. package/es/spend.d.ts +19 -27
  121. package/es/spend.mjs +21 -46
  122. package/es/spend.mjs.map +1 -1
  123. package/es/tx/builder/SchemaTypes.d.ts +37 -0
  124. package/es/tx/builder/SchemaTypes.mjs +2 -0
  125. package/es/tx/builder/SchemaTypes.mjs.map +1 -0
  126. package/es/tx/builder/constants.d.ts +31 -2
  127. package/es/tx/builder/constants.mjs +34 -3
  128. package/es/tx/builder/constants.mjs.map +1 -1
  129. package/es/tx/builder/field-types/abi-version.d.ts +19 -0
  130. package/es/tx/builder/field-types/abi-version.mjs +40 -0
  131. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  132. package/es/tx/builder/field-types/address.d.ts +5 -6
  133. package/es/tx/builder/field-types/address.mjs +17 -8
  134. package/es/tx/builder/field-types/address.mjs.map +1 -1
  135. package/es/tx/builder/field-types/array.d.ts +7 -0
  136. package/es/tx/builder/field-types/array.mjs +11 -0
  137. package/es/tx/builder/field-types/array.mjs.map +1 -0
  138. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  139. package/es/tx/builder/field-types/boolean.mjs +13 -0
  140. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  141. package/es/tx/builder/field-types/coin-amount.d.ts +4 -5
  142. package/es/tx/builder/field-types/coin-amount.mjs +4 -5
  143. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  144. package/es/tx/builder/field-types/ct-version.d.ts +49 -0
  145. package/es/tx/builder/field-types/ct-version.mjs +76 -0
  146. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  147. package/es/tx/builder/field-types/deposit.d.ts +3 -2
  148. package/es/tx/builder/field-types/deposit.mjs +3 -2
  149. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  150. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  151. package/es/tx/builder/field-types/encoded.mjs +21 -0
  152. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  153. package/es/tx/builder/field-types/entry.d.ts +11 -0
  154. package/es/tx/builder/field-types/entry.mjs +34 -0
  155. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  156. package/es/tx/builder/field-types/enumeration.d.ts +5 -3
  157. package/es/tx/builder/field-types/enumeration.mjs +11 -2
  158. package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
  159. package/es/tx/builder/field-types/fee.d.ts +12 -7
  160. package/es/tx/builder/field-types/fee.mjs +28 -20
  161. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  162. package/es/tx/builder/field-types/field.mjs.map +1 -1
  163. package/es/tx/builder/field-types/gas-limit.d.ts +7 -3
  164. package/es/tx/builder/field-types/gas-limit.mjs +13 -8
  165. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  166. package/es/tx/builder/field-types/gas-price.d.ts +3 -1
  167. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  168. package/es/tx/builder/field-types/index.d.ts +107 -30
  169. package/es/tx/builder/field-types/index.mjs +38 -12
  170. package/es/tx/builder/field-types/index.mjs.map +1 -1
  171. package/es/tx/builder/field-types/map.d.ts +13 -0
  172. package/es/tx/builder/field-types/map.mjs +49 -0
  173. package/es/tx/builder/field-types/map.mjs.map +1 -0
  174. package/es/tx/builder/field-types/mptree.d.ts +42 -0
  175. package/es/tx/builder/field-types/mptree.mjs +266 -0
  176. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  177. package/es/tx/builder/field-types/name-fee.d.ts +2 -3
  178. package/es/tx/builder/field-types/name-fee.mjs +2 -2
  179. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  180. package/es/tx/builder/field-types/name-id.mjs +2 -1
  181. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  182. package/es/tx/builder/field-types/name.mjs.map +1 -1
  183. package/es/tx/builder/field-types/nonce.d.ts +14 -0
  184. package/es/tx/builder/field-types/nonce.mjs +29 -0
  185. package/es/tx/builder/field-types/nonce.mjs.map +1 -0
  186. package/es/tx/builder/field-types/pointers.mjs +2 -2
  187. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  188. package/es/tx/builder/field-types/raw.d.ts +6 -0
  189. package/es/tx/builder/field-types/raw.mjs +13 -0
  190. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  191. package/es/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  192. package/es/tx/builder/field-types/short-u-int-const.mjs +20 -0
  193. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  194. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  195. package/es/tx/builder/field-types/string.d.ts +6 -0
  196. package/es/tx/builder/field-types/string.mjs +10 -0
  197. package/es/tx/builder/field-types/string.mjs.map +1 -0
  198. package/es/tx/builder/field-types/ttl.d.ts +11 -0
  199. package/es/tx/builder/field-types/ttl.mjs +21 -0
  200. package/es/tx/builder/field-types/ttl.mjs.map +1 -0
  201. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  202. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  203. package/es/tx/builder/field-types/wrapped.d.ts +14 -0
  204. package/es/tx/builder/field-types/wrapped.mjs +22 -0
  205. package/es/tx/builder/field-types/wrapped.mjs.map +1 -0
  206. package/es/tx/builder/helpers.mjs.map +1 -1
  207. package/es/tx/builder/index.d.ts +18 -36
  208. package/es/tx/builder/index.mjs +65 -236
  209. package/es/tx/builder/index.mjs.map +1 -1
  210. package/es/tx/builder/schema.d.ts +2734 -1324
  211. package/es/tx/builder/schema.generated.d.ts +2011 -0
  212. package/es/tx/builder/schema.generated.mjs +2 -0
  213. package/es/tx/builder/schema.generated.mjs.map +1 -0
  214. package/es/tx/builder/schema.mjs +459 -223
  215. package/es/tx/builder/schema.mjs.map +1 -1
  216. package/es/tx/execution-cost.d.ts +35 -0
  217. package/es/tx/execution-cost.mjs +123 -0
  218. package/es/tx/execution-cost.mjs.map +1 -0
  219. package/es/tx/transaction-signer.d.ts +6 -0
  220. package/es/tx/transaction-signer.mjs +27 -0
  221. package/es/tx/transaction-signer.mjs.map +1 -0
  222. package/es/tx/validator.d.ts +3 -5
  223. package/es/tx/validator.mjs +91 -153
  224. package/es/tx/validator.mjs.map +1 -1
  225. package/es/utils/amount-formatter.mjs +0 -16
  226. package/es/utils/amount-formatter.mjs.map +1 -1
  227. package/es/utils/autorest.d.ts +3 -2
  228. package/es/utils/autorest.mjs +43 -11
  229. package/es/utils/autorest.mjs.map +1 -1
  230. package/es/utils/bytes.mjs +1 -17
  231. package/es/utils/bytes.mjs.map +1 -1
  232. package/es/utils/crypto.mjs +0 -16
  233. package/es/utils/crypto.mjs.map +1 -1
  234. package/es/utils/encoder.mjs.map +1 -1
  235. package/es/utils/errors.d.ts +16 -38
  236. package/es/utils/errors.mjs +3 -43
  237. package/es/utils/errors.mjs.map +1 -1
  238. package/es/utils/hd-wallet.mjs.map +1 -1
  239. package/es/utils/json-big.mjs.map +1 -1
  240. package/es/utils/keystore.mjs.map +1 -1
  241. package/es/utils/other.mjs.map +1 -1
  242. package/es/utils/semver-satisfies.mjs.map +1 -1
  243. package/es/utils/string.mjs +0 -17
  244. package/es/utils/string.mjs.map +1 -1
  245. package/package.json +52 -40
  246. package/src/AeSdkBase.ts +6 -3
  247. package/src/AeSdkMethods.ts +12 -18
  248. package/src/AeSdkWallet.ts +1 -1
  249. package/src/Node.ts +23 -9
  250. package/src/account/Base.ts +13 -24
  251. package/src/account/Generalized.ts +9 -24
  252. package/src/account/Ledger.ts +1 -1
  253. package/src/account/Memory.ts +15 -22
  254. package/src/aens.ts +34 -49
  255. package/src/aepp-wallet-communication/connection/Browser.ts +0 -17
  256. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -24
  257. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -17
  258. package/src/aepp-wallet-communication/connection-proxy.ts +0 -17
  259. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  260. package/src/aepp-wallet-communication/rpc/types.ts +6 -2
  261. package/src/aepp-wallet-communication/wallet-detector.ts +0 -17
  262. package/src/apis/compiler/compiler.ts +3 -27
  263. package/src/apis/compiler/models/index.ts +3 -2
  264. package/src/apis/compiler/models/mappers.ts +15 -2
  265. package/src/apis/node/models/index.ts +16 -15
  266. package/src/apis/node/models/mappers.ts +2 -1
  267. package/src/apis/node/models/parameters.ts +2 -2
  268. package/src/apis/node/node.ts +3 -27
  269. package/src/chain.ts +33 -30
  270. package/src/channel/Base.ts +39 -31
  271. package/src/channel/Contract.ts +18 -32
  272. package/src/channel/Spend.ts +8 -18
  273. package/src/channel/handlers.ts +14 -26
  274. package/src/channel/internal.ts +41 -23
  275. package/src/contract/Contract.ts +188 -228
  276. package/src/contract/compiler/Base.ts +87 -0
  277. package/src/contract/compiler/Cli.ts +128 -0
  278. package/src/contract/compiler/Http.ts +105 -0
  279. package/src/contract/compiler/HttpNode.ts +26 -0
  280. package/src/contract/compiler/getFileSystem.ts +42 -0
  281. package/src/contract/delegation-signature.ts +56 -0
  282. package/src/contract/ga.ts +61 -37
  283. package/src/index-browser.ts +50 -0
  284. package/src/index.ts +4 -56
  285. package/src/oracle.ts +47 -57
  286. package/src/spend.ts +34 -68
  287. package/src/tx/builder/SchemaTypes.ts +79 -0
  288. package/src/tx/builder/constants.ts +34 -3
  289. package/src/tx/builder/field-types/abi-version.ts +44 -0
  290. package/src/tx/builder/field-types/address.ts +23 -13
  291. package/src/tx/builder/field-types/array.ts +19 -0
  292. package/src/tx/builder/field-types/boolean.ts +9 -0
  293. package/src/tx/builder/field-types/coin-amount.ts +8 -5
  294. package/src/tx/builder/field-types/ct-version.ts +83 -0
  295. package/src/tx/builder/field-types/deposit.ts +4 -2
  296. package/src/tx/builder/field-types/encoded.ts +27 -0
  297. package/src/tx/builder/field-types/entry.ts +36 -0
  298. package/src/tx/builder/field-types/enumeration.ts +15 -4
  299. package/src/tx/builder/field-types/fee.ts +41 -19
  300. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  301. package/src/tx/builder/field-types/index.ts +60 -17
  302. package/src/tx/builder/field-types/map.ts +45 -0
  303. package/src/tx/builder/field-types/mptree.ts +243 -0
  304. package/src/tx/builder/field-types/name-fee.ts +3 -3
  305. package/src/tx/builder/field-types/name-id.ts +1 -1
  306. package/src/tx/builder/field-types/nonce.ts +40 -0
  307. package/src/tx/builder/field-types/pointers.ts +2 -2
  308. package/src/tx/builder/field-types/raw.ts +9 -0
  309. package/src/tx/builder/field-types/short-u-int-const.ts +30 -0
  310. package/src/tx/builder/field-types/string.ts +11 -0
  311. package/src/tx/builder/field-types/ttl.ts +24 -0
  312. package/src/tx/builder/field-types/u-int.ts +1 -3
  313. package/src/tx/builder/field-types/wrapped.ts +32 -0
  314. package/src/tx/builder/index.ts +82 -280
  315. package/src/tx/builder/schema.generated.ts +2013 -0
  316. package/src/tx/builder/schema.ts +536 -666
  317. package/src/tx/execution-cost.ts +146 -0
  318. package/src/tx/transaction-signer.ts +27 -0
  319. package/src/tx/validator.ts +100 -154
  320. package/src/utils/amount-formatter.ts +0 -16
  321. package/src/utils/autorest.ts +52 -11
  322. package/src/utils/bytes.ts +1 -17
  323. package/src/utils/crypto.ts +0 -16
  324. package/src/utils/errors.ts +18 -56
  325. package/src/utils/string.ts +0 -17
  326. package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
  327. package/types-legacy/ts4.2/AeSdkMethods.d.ts +12 -14
  328. package/types-legacy/ts4.2/Node.d.ts +8 -4
  329. package/types-legacy/ts4.2/account/Base.d.ts +13 -8
  330. package/types-legacy/ts4.2/account/Memory.d.ts +2 -1
  331. package/types-legacy/ts4.2/aens.d.ts +12 -14
  332. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  333. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +6 -2
  334. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +1 -1
  335. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +3 -2
  336. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +1 -1
  337. package/types-legacy/ts4.2/apis/node/models/index.d.ts +15 -15
  338. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +1 -1
  339. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
  340. package/types-legacy/ts4.2/chain.d.ts +17 -9
  341. package/types-legacy/ts4.2/channel/Base.d.ts +27 -9
  342. package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
  343. package/types-legacy/ts4.2/channel/Spend.d.ts +5 -1
  344. package/types-legacy/ts4.2/channel/internal.d.ts +22 -2
  345. package/types-legacy/ts4.2/contract/Contract.d.ts +42 -122
  346. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +74 -0
  347. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  348. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  349. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  350. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  351. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +43 -0
  352. package/types-legacy/ts4.2/contract/ga.d.ts +27 -10
  353. package/types-legacy/ts4.2/index-browser.d.ts +40 -0
  354. package/types-legacy/ts4.2/index.d.ts +4 -38
  355. package/types-legacy/ts4.2/oracle.d.ts +12 -17
  356. package/types-legacy/ts4.2/spend.d.ts +19 -27
  357. package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +37 -0
  358. package/types-legacy/ts4.2/tx/builder/constants.d.ts +31 -2
  359. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +19 -0
  360. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
  361. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  362. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  363. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +4 -5
  364. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +72 -0
  365. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +3 -2
  366. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  367. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  368. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -3
  369. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +12 -7
  370. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +7 -3
  371. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +3 -1
  372. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +113 -30
  373. package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +13 -0
  374. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +48 -0
  375. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +2 -3
  376. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +14 -0
  377. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  378. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  379. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  380. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +11 -0
  381. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
  382. package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +14 -0
  383. package/types-legacy/ts4.2/tx/builder/index.d.ts +21 -36
  384. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2971 -2926
  385. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +2011 -0
  386. package/types-legacy/ts4.2/tx/execution-cost.d.ts +35 -0
  387. package/types-legacy/ts4.2/tx/transaction-signer.d.ts +6 -0
  388. package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
  389. package/types-legacy/ts4.2/utils/autorest.d.ts +3 -2
  390. package/types-legacy/ts4.2/utils/errors.d.ts +16 -38
  391. package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
  392. package/types-legacy/ts4.5/AeSdkMethods.d.ts +12 -14
  393. package/types-legacy/ts4.5/Node.d.ts +8 -4
  394. package/types-legacy/ts4.5/account/Base.d.ts +13 -8
  395. package/types-legacy/ts4.5/account/Memory.d.ts +2 -1
  396. package/types-legacy/ts4.5/aens.d.ts +12 -14
  397. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  398. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +6 -2
  399. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +1 -1
  400. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +3 -2
  401. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +1 -1
  402. package/types-legacy/ts4.5/apis/node/models/index.d.ts +15 -15
  403. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +1 -1
  404. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
  405. package/types-legacy/ts4.5/chain.d.ts +17 -9
  406. package/types-legacy/ts4.5/channel/Base.d.ts +27 -9
  407. package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
  408. package/types-legacy/ts4.5/channel/Spend.d.ts +5 -1
  409. package/types-legacy/ts4.5/channel/internal.d.ts +22 -2
  410. package/types-legacy/ts4.5/contract/Contract.d.ts +42 -122
  411. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +74 -0
  412. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  413. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  414. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  415. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  416. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +43 -0
  417. package/types-legacy/ts4.5/contract/ga.d.ts +27 -10
  418. package/types-legacy/ts4.5/index-browser.d.ts +40 -0
  419. package/types-legacy/ts4.5/index.d.ts +4 -38
  420. package/types-legacy/ts4.5/oracle.d.ts +12 -17
  421. package/types-legacy/ts4.5/spend.d.ts +19 -27
  422. package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +37 -0
  423. package/types-legacy/ts4.5/tx/builder/constants.d.ts +31 -2
  424. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +19 -0
  425. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
  426. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  427. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  428. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +4 -5
  429. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +72 -0
  430. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +3 -2
  431. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  432. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  433. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -3
  434. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +12 -7
  435. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +7 -3
  436. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +3 -1
  437. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +113 -30
  438. package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +13 -0
  439. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +48 -0
  440. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +2 -3
  441. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +14 -0
  442. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  443. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  444. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  445. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +11 -0
  446. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
  447. package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +14 -0
  448. package/types-legacy/ts4.5/tx/builder/index.d.ts +21 -36
  449. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2971 -2926
  450. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +2011 -0
  451. package/types-legacy/ts4.5/tx/execution-cost.d.ts +35 -0
  452. package/types-legacy/ts4.5/tx/transaction-signer.d.ts +6 -0
  453. package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
  454. package/types-legacy/ts4.5/utils/autorest.d.ts +3 -2
  455. package/types-legacy/ts4.5/utils/errors.d.ts +16 -38
  456. package/es/contract/CompilerHttp.d.ts +0 -18
  457. package/es/contract/CompilerHttp.mjs +0 -63
  458. package/es/contract/CompilerHttp.mjs.map +0 -1
  459. package/es/tx/builder/field-types/addresses.d.ts +0 -6
  460. package/es/tx/builder/field-types/addresses.mjs +0 -13
  461. package/es/tx/builder/field-types/addresses.mjs.map +0 -1
  462. package/es/tx/index.d.ts +0 -34
  463. package/es/tx/index.mjs +0 -172
  464. package/es/tx/index.mjs.map +0 -1
  465. package/es/utils/mptree.d.ts +0 -26
  466. package/es/utils/mptree.mjs +0 -143
  467. package/es/utils/mptree.mjs.map +0 -1
  468. package/src/apis/compiler/code-model-v4.yaml +0 -2442
  469. package/src/apis/node/code-model-v4.yaml +0 -10080
  470. package/src/contract/CompilerHttp.ts +0 -67
  471. package/src/tx/builder/field-types/addresses.ts +0 -18
  472. package/src/tx/index.ts +0 -196
  473. package/src/utils/mptree.ts +0 -145
  474. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
  475. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
  476. package/types-legacy/ts4.2/tx/index.d.ts +0 -34
  477. package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
  478. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
  479. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
  480. package/types-legacy/ts4.5/tx/index.d.ts +0 -34
  481. package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
@@ -1,67 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
- import { Compiler as CompilerApi, ErrorModel, CompilerError } from '../apis/compiler';
18
- import { genErrorFormatterPolicy, genVersionCheckPolicy } from '../utils/autorest';
19
-
20
- type GeneralCompilerError = ErrorModel & {
21
- info?: object;
22
- parameter?: string;
23
- };
24
-
25
- /**
26
- * Contract Compiler over HTTP
27
- *
28
- * This class include api call's related to contract compiler functionality.
29
- * @category contract
30
- * @example CompilerHttp('COMPILER_URL')
31
- */
32
- export default class CompilerHttp extends CompilerApi {
33
- /**
34
- * @param compilerUrl - Url for compiler API
35
- * @param options - Options
36
- * @param options.ignoreVersion - Don't check compiler version
37
- */
38
- constructor(compilerUrl: string, { ignoreVersion }: { ignoreVersion?: boolean } = {}) {
39
- super(compilerUrl, {
40
- allowInsecureConnection: true,
41
- additionalPolicies: [
42
- genErrorFormatterPolicy((body: GeneralCompilerError | CompilerError[]) => {
43
- let message = '';
44
- if ('reason' in body) {
45
- message += ` ${body.reason
46
- }${body.parameter != null ? ` in ${body.parameter}` : ''
47
- // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78
48
- }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;
49
- }
50
- if (Array.isArray(body)) {
51
- message += `\n${body
52
- .map((e) => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? `(${e.context})` : ''}`)
53
- .map((e) => e.trim()) // TODO: remove after fixing https://github.com/aeternity/aesophia_http/issues/80
54
- .join('\n')}`;
55
- }
56
- return message;
57
- }),
58
- ],
59
- });
60
- if (ignoreVersion !== true) {
61
- const versionPromise = this.apiVersion().then(({ apiVersion }) => apiVersion);
62
- this.pipeline.addPolicy(
63
- genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.0.1', '8.0.0'),
64
- );
65
- }
66
- }
67
- }
@@ -1,18 +0,0 @@
1
- import genAddressField, { AddressEncodings } from './address';
2
-
3
- export default function genAddressesField<Encoding extends AddressEncodings>(): {
4
- serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
5
- deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
6
- } {
7
- const address = genAddressField<Encoding>();
8
-
9
- return {
10
- serialize(addresses) {
11
- return addresses.map(address.serialize);
12
- },
13
-
14
- deserialize(addresses) {
15
- return addresses.map(address.deserialize);
16
- },
17
- };
18
- }
package/src/tx/index.ts DELETED
@@ -1,196 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * Transaction methods
20
- *
21
- * This is implementation of [Tx](api/tx.md) relays
22
- * the creation of transactions to {@link Node}.
23
- * These methods provide ability to create native transactions.
24
- */
25
- import BigNumber from 'bignumber.js';
26
- import {
27
- ABI_VERSIONS, CtVersion, PROTOCOL_VM_ABI, TX_TTL, TxParamsCommon,
28
- } from './builder/schema';
29
- import { Tag } from './builder/constants';
30
- import {
31
- ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError,
32
- } from '../utils/errors';
33
- import Node from '../Node';
34
- import { Encoded } from '../utils/encoder';
35
- import { buildTx as syncBuildTx, unpackTx } from './builder/index';
36
- import { isAccountNotFoundError, isKeyOfObject } from '../utils/other';
37
- import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
38
-
39
- type Int = number | string | BigNumber;
40
-
41
- export type BuildTxOptions <TxType extends Tag, OmitFields extends string> =
42
- Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
43
-
44
- /**
45
- * Validated vm/abi version or get default based on transaction type and NODE version
46
- * @category transaction builder
47
- * @param txType - Type of transaction
48
- * @param ctVersion - Object with vm and abi version fields
49
- * @returns Object with vm/abi version
50
- */
51
- async function getVmVersion(
52
- txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & { onNode: Node }
53
- ): Promise<CtVersion>;
54
- async function getVmVersion(
55
- txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & { onNode: Node }
56
- ): Promise<Pick<CtVersion, 'abiVersion'>>;
57
- async function getVmVersion(
58
- txType: Tag,
59
- { vmVersion, abiVersion, onNode }: Partial<CtVersion> & { onNode: Node },
60
- ): Promise<Partial<CtVersion>> {
61
- const { consensusProtocolVersion } = await onNode.getNodeInfo();
62
- if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
63
- throw new UnsupportedProtocolError('Not supported consensus protocol version');
64
- }
65
- const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
66
- if (!isKeyOfObject(txType, supportedProtocol)) {
67
- throw new UnknownTxError('Not supported tx type');
68
- }
69
- const protocolForTX = supportedProtocol[txType];
70
- abiVersion ??= protocolForTX.abiVersion[0];
71
- vmVersion ??= protocolForTX.vmVersion[0];
72
- return { vmVersion, abiVersion };
73
- }
74
-
75
- /**
76
- * Calculate fee, get absolute ttl (ttl + height), get account nonce
77
- * @category transaction builder
78
- * @param txType - Type of transaction
79
- * @param params - Object which contains all tx data
80
- * @returns Object with account nonce, absolute ttl and transaction fee
81
- */
82
- async function prepareTxParams(
83
- txType: Tag,
84
- {
85
- senderId,
86
- nonce,
87
- ttl = TX_TTL,
88
- absoluteTtl,
89
- strategy,
90
- onNode,
91
- }: {
92
- senderId: Encoded.AccountAddress;
93
- absoluteTtl?: boolean;
94
- strategy?: 'continuity' | 'max';
95
- onNode: Node;
96
- } & Pick<TxParamsCommon, 'nonce' | 'ttl'>,
97
- ): Promise<{ ttl: number; nonce: number }> {
98
- nonce ??= (
99
- await onNode.getAccountNextNonce(senderId, { strategy }).catch((error) => {
100
- if (!isAccountNotFoundError(error)) throw error;
101
- return { nextNonce: 1 };
102
- })
103
- ).nextNonce;
104
-
105
- if (ttl !== 0) {
106
- if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
107
- ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
108
- }
109
-
110
- return { ttl, nonce };
111
- }
112
-
113
- // TODO: find a better name or rearrange methods
114
- /**
115
- * @category transaction builder
116
- */
117
- export async function _buildTx<TxType extends Tag>(
118
- txType: TxType,
119
- { denomination, absoluteTtl, ..._params }:
120
- Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'>
121
- & {
122
- onNode: Node;
123
- fee?: Int;
124
- nonce?: number;
125
- ttl?: number;
126
- denomination?: AE_AMOUNT_FORMATS;
127
- absoluteTtl?: boolean;
128
- }
129
- & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx
130
- ? { callerId: Encoded.AccountAddress } : {})
131
- & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? { ctVersion?: CtVersion } : {})
132
- & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx
133
- ? { abiVersion?: ABI_VERSIONS } : {}),
134
- ): Promise<Encoded.Transaction> {
135
- // TODO: avoid this assertion
136
- const params = _params as unknown as TxParamsCommon & { onNode: Node };
137
- let senderKey: keyof TxParamsCommon | '<absent>';
138
- switch (txType) {
139
- case Tag.SpendTx:
140
- case Tag.OracleQueryTx:
141
- senderKey = 'senderId';
142
- break;
143
- case Tag.NameClaimTx:
144
- case Tag.NameUpdateTx:
145
- case Tag.NameRevokeTx:
146
- case Tag.NameTransferTx:
147
- case Tag.NamePreclaimTx:
148
- case Tag.OracleRegisterTx:
149
- senderKey = 'accountId';
150
- break;
151
- case Tag.ContractCreateTx:
152
- case Tag.GaAttachTx:
153
- senderKey = 'ownerId';
154
- break;
155
- case Tag.GaMetaTx:
156
- senderKey = 'gaId';
157
- break;
158
- case Tag.ContractCallTx:
159
- case Tag.OracleExtendTx:
160
- case Tag.OracleResponseTx:
161
- senderKey = 'callerId';
162
- break;
163
- case Tag.ChannelCloseSoloTx:
164
- case Tag.ChannelSlashTx:
165
- case Tag.ChannelSettleTx:
166
- case Tag.ChannelSnapshotSoloTx:
167
- senderKey = 'fromId';
168
- break;
169
- case Tag.PayingForTx:
170
- senderKey = 'payerId';
171
- break;
172
- default:
173
- throw new ArgumentError('txType', 'valid transaction type', txType);
174
- }
175
- // TODO: move specific cases to field-types
176
- if ([Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {
177
- params.ctVersion = await getVmVersion(
178
- Tag.ContractCreateTx,
179
- { ...params, ...params.ctVersion },
180
- );
181
- }
182
- if ([Tag.ContractCallTx, Tag.GaMetaTx].includes(txType)) {
183
- params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;
184
- }
185
- if (txType === Tag.OracleRegisterTx) {
186
- params.abiVersion ??= ABI_VERSIONS.NO_ABI;
187
- }
188
- if (txType === Tag.PayingForTx) {
189
- params.tx = unpackTx(params.tx);
190
- }
191
- const senderId = params[senderKey];
192
- // TODO: do this check on TypeScript level
193
- if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);
194
- const extraParams = await prepareTxParams(txType, { ...params, senderId, absoluteTtl });
195
- return syncBuildTx({ ...params, ...extraParams } as any, txType, { denomination }).tx;
196
- }
@@ -1,145 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2021 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /* eslint-disable default-case */
19
- import { encode as rlpEncode } from 'rlp';
20
- import type { Input } from 'rlp';
21
- import { hash } from './crypto';
22
- import {
23
- MerkleTreeHashMismatchError,
24
- MissingNodeInTreeError,
25
- UnknownPathNibbleError,
26
- UnknownNodeLengthError,
27
- } from './errors';
28
-
29
- enum NodeType {
30
- Branch,
31
- Extension,
32
- Leaf,
33
- }
34
-
35
- export type MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];
36
-
37
- export default class MPTree {
38
- private readonly rootHash: string;
39
-
40
- private readonly nodes: { [key: string]: Buffer[] };
41
-
42
- private static nodeHash(node: Input): string {
43
- return Buffer.from(hash(rlpEncode(node))).toString('hex');
44
- }
45
-
46
- /**
47
- * Deserialize Merkle Patricia Tree
48
- * @param binary - Binary
49
- * @returns Merkle Patricia Tree
50
- */
51
- constructor(binary: MPTreeBinary) {
52
- this.rootHash = binary[0].toString('hex');
53
- this.nodes = Object.fromEntries(
54
- binary[1].map((node) => [node[0].toString('hex'), node[1]]),
55
- );
56
-
57
- if (this.nodes[this.rootHash] === undefined) throw new MissingNodeInTreeError('Can\'t find a node by root hash');
58
- Object.entries(this.nodes).forEach(([key, node]) => {
59
- if (MPTree.nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();
60
- const { type, payload } = MPTree.parseNode(node);
61
- switch (type) {
62
- case NodeType.Branch:
63
- payload
64
- .slice(0, 16)
65
- .filter((n) => n.length)
66
- .forEach((n) => {
67
- if (this.nodes[n.toString('hex')] === undefined) {
68
- throw new MissingNodeInTreeError('Can\'t find a node by hash in branch node');
69
- }
70
- });
71
- break;
72
- case NodeType.Extension:
73
- if (this.nodes[payload[0].toString('hex')] === undefined) {
74
- throw new MissingNodeInTreeError('Can\'t find a node by hash in extension node');
75
- }
76
- }
77
- });
78
- }
79
-
80
- isEqual(tree: MPTree): boolean {
81
- return this.rootHash === tree.rootHash;
82
- }
83
-
84
- private static parseNode(node: Buffer[]): {
85
- type: NodeType;
86
- payload: Buffer[];
87
- path: string | null;
88
- } {
89
- switch (node.length) {
90
- case 17:
91
- return { type: NodeType.Branch, payload: node, path: null };
92
- case 2: {
93
- const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise
94
- if (nibble > 3) throw new UnknownPathNibbleError(nibble);
95
- const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;
96
- const slice = [0, 2].includes(nibble) ? 2 : 1;
97
- return { type, payload: [node[1]], path: node[0].toString('hex').slice(slice) };
98
- }
99
- default:
100
- throw new UnknownNodeLengthError(node.length);
101
- }
102
- }
103
-
104
- /**
105
- * Serialize Merkle Patricia Tree
106
- * @returns Binary
107
- */
108
- serialize(): MPTreeBinary {
109
- return [
110
- Buffer.from(this.rootHash, 'hex'),
111
- Object.entries(this.nodes).map(([mptHash, value]) => ([
112
- Buffer.from(mptHash, 'hex'),
113
- value,
114
- ])),
115
- ];
116
- }
117
-
118
- /**
119
- * Retrieve value from Merkle Patricia Tree
120
- * @param _key - The key of the element to retrieve
121
- * @returns Value associated to the specified key
122
- */
123
- get(_key: string): Buffer | undefined {
124
- let searchFrom = this.rootHash;
125
- let key = _key;
126
- while (true) { // eslint-disable-line no-constant-condition
127
- const { type, payload, path } = MPTree.parseNode(this.nodes[searchFrom]);
128
- switch (type) {
129
- case NodeType.Branch:
130
- if (key.length === 0) return payload[16];
131
- searchFrom = payload[+`0x${key[0]}`].toString('hex');
132
- key = key.substring(1);
133
- break;
134
- case NodeType.Extension:
135
- if (key.substring(0, path?.length) !== path) return undefined;
136
- searchFrom = payload[0].toString('hex');
137
- key = key.substring(path.length);
138
- break;
139
- case NodeType.Leaf:
140
- if (path !== key) return undefined;
141
- return payload[0];
142
- }
143
- }
144
- }
145
- }
@@ -1,18 +0,0 @@
1
- import { Compiler as CompilerApi } from '../apis/compiler';
2
- /**
3
- * Contract Compiler over HTTP
4
- *
5
- * This class include api call's related to contract compiler functionality.
6
- * @category contract
7
- * @example CompilerHttp('COMPILER_URL')
8
- */
9
- export default class CompilerHttp extends CompilerApi {
10
- /**
11
- * @param compilerUrl - Url for compiler API
12
- * @param options - Options
13
- * @param options.ignoreVersion - Don't check compiler version
14
- */
15
- constructor(compilerUrl: string, { ignoreVersion }?: {
16
- ignoreVersion?: boolean;
17
- });
18
- }
@@ -1,6 +0,0 @@
1
- /// <reference types="node" />
2
- import { AddressEncodings } from './address';
3
- export default function genAddressesField<Encoding extends AddressEncodings>(): {
4
- serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
5
- deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
6
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * Transaction methods
3
- *
4
- * This is implementation of [Tx](api/tx.md) relays
5
- * the creation of transactions to {@link Node}.
6
- * These methods provide ability to create native transactions.
7
- */
8
- import BigNumber from 'bignumber.js';
9
- import { ABI_VERSIONS, CtVersion } from './builder/schema';
10
- import { Tag } from './builder/constants';
11
- import Node from '../Node';
12
- import { Encoded } from '../utils/encoder';
13
- import { buildTx as syncBuildTx } from './builder/index';
14
- import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
15
- type Int = number | string | BigNumber;
16
- export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<any>[1], OmitFields>;
17
- /**
18
- * @category transaction builder
19
- */
20
- export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<any>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
21
- onNode: Node;
22
- fee?: Int;
23
- nonce?: number;
24
- ttl?: number;
25
- denomination?: AE_AMOUNT_FORMATS;
26
- absoluteTtl?: boolean;
27
- } & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
28
- callerId: Encoded.AccountAddress;
29
- } : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
30
- ctVersion?: CtVersion;
31
- } : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
32
- abiVersion?: ABI_VERSIONS;
33
- } : {})): Promise<Encoded.Transaction>;
34
- export {};
@@ -1,32 +0,0 @@
1
- /// <reference types="node" />
2
- export type MPTreeBinary = [
3
- Buffer,
4
- Array<[
5
- Buffer,
6
- Buffer[]
7
- ]>
8
- ];
9
- export default class MPTree {
10
- private readonly rootHash;
11
- private readonly nodes;
12
- private static nodeHash;
13
- /**
14
- * Deserialize Merkle Patricia Tree
15
- * @param binary - Binary
16
- * @returns Merkle Patricia Tree
17
- */
18
- constructor(binary: MPTreeBinary);
19
- isEqual(tree: MPTree): boolean;
20
- private static parseNode;
21
- /**
22
- * Serialize Merkle Patricia Tree
23
- * @returns Binary
24
- */
25
- serialize(): MPTreeBinary;
26
- /**
27
- * Retrieve value from Merkle Patricia Tree
28
- * @param _key - The key of the element to retrieve
29
- * @returns Value associated to the specified key
30
- */
31
- get(_key: string): Buffer | undefined;
32
- }
@@ -1,18 +0,0 @@
1
- import { Compiler as CompilerApi } from '../apis/compiler';
2
- /**
3
- * Contract Compiler over HTTP
4
- *
5
- * This class include api call's related to contract compiler functionality.
6
- * @category contract
7
- * @example CompilerHttp('COMPILER_URL')
8
- */
9
- export default class CompilerHttp extends CompilerApi {
10
- /**
11
- * @param compilerUrl - Url for compiler API
12
- * @param options - Options
13
- * @param options.ignoreVersion - Don't check compiler version
14
- */
15
- constructor(compilerUrl: string, { ignoreVersion }?: {
16
- ignoreVersion?: boolean;
17
- });
18
- }
@@ -1,6 +0,0 @@
1
- /// <reference types="node" />
2
- import { AddressEncodings } from './address';
3
- export default function genAddressesField<Encoding extends AddressEncodings>(): {
4
- serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
5
- deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
6
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * Transaction methods
3
- *
4
- * This is implementation of [Tx](api/tx.md) relays
5
- * the creation of transactions to {@link Node}.
6
- * These methods provide ability to create native transactions.
7
- */
8
- import BigNumber from 'bignumber.js';
9
- import { ABI_VERSIONS, CtVersion } from './builder/schema';
10
- import { Tag } from './builder/constants';
11
- import Node from '../Node';
12
- import { Encoded } from '../utils/encoder';
13
- import { buildTx as syncBuildTx } from './builder/index';
14
- import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
15
- type Int = number | string | BigNumber;
16
- export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<any>[1], OmitFields>;
17
- /**
18
- * @category transaction builder
19
- */
20
- export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<any>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
21
- onNode: Node;
22
- fee?: Int;
23
- nonce?: number;
24
- ttl?: number;
25
- denomination?: AE_AMOUNT_FORMATS;
26
- absoluteTtl?: boolean;
27
- } & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
28
- callerId: Encoded.AccountAddress;
29
- } : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
30
- ctVersion?: CtVersion;
31
- } : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
32
- abiVersion?: ABI_VERSIONS;
33
- } : {})): Promise<Encoded.Transaction>;
34
- export {};
@@ -1,32 +0,0 @@
1
- /// <reference types="node" />
2
- export type MPTreeBinary = [
3
- Buffer,
4
- Array<[
5
- Buffer,
6
- Buffer[]
7
- ]>
8
- ];
9
- export default class MPTree {
10
- private readonly rootHash;
11
- private readonly nodes;
12
- private static nodeHash;
13
- /**
14
- * Deserialize Merkle Patricia Tree
15
- * @param binary - Binary
16
- * @returns Merkle Patricia Tree
17
- */
18
- constructor(binary: MPTreeBinary);
19
- isEqual(tree: MPTree): boolean;
20
- private static parseNode;
21
- /**
22
- * Serialize Merkle Patricia Tree
23
- * @returns Binary
24
- */
25
- serialize(): MPTreeBinary;
26
- /**
27
- * Retrieve value from Merkle Patricia Tree
28
- * @param _key - The key of the element to retrieve
29
- * @returns Value associated to the specified key
30
- */
31
- get(_key: string): Buffer | undefined;
32
- }