@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 +1 @@
1
- {"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","deposit","gasLimit","gasPrice","fee","address","addresses","pointers","enumeration","Encoding","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","VM_VERSIONS","ABI_VERSIONS","CallReturnType","PROTOCOL_VERSIONS","PROTOCOL_VM_ABI","IRIS","ContractCreateTx","vmVersion","FATE_2","abiVersion","FATE","ContractCallTx","SOPHIA","OracleRegisterTx","NO_ABI","FIELD_TYPES","BASE_TX","TX_SCHEMA","Account","binary","ContractBytearray","SignedTx","signatures","rlpBinary","SpendTx","payload","NamePreclaimTx","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","Contract","ctVersion","bool","ContractCall","rawBinary","string","OracleExtendTx","OracleQueryTx","OracleResponseTx","OracleQueryId","ChannelCreateTx","State","ChannelCloseMutualTx","ChannelCloseSoloTx","Transaction","Poi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","ChannelSettleTx","ChannelForceProgressTx","stateTree","ChannelOffChainTx","Channel","hex","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","callStack","ChannelClientReconnectTx","TreesPoi","mptrees","StateTrees","Mtree","rlpBinaries","MtreeValue","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaAttachTx","GaMetaTx","PayingForTx","CompilerSophia","sophiaCodeTypeInfo"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js';\nimport { Tag } from './constants';\nimport {\n Field, uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,\n address, addresses, pointers, enumeration,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport MPTree from '../../utils/mptree';\nimport { UnionToIntersection } from '../../utils/other';\nimport { AddressEncodings } from './field-types/address';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0;\n// # ORACLE\nexport const QUERY_FEE = 30000;\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\n// # CONTRACT\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport type TxField = [\n name: string,\n type: FIELD_TYPES | Field,\n prefix?: Encoding | Encoding[],\n];\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VM_VERSIONS {\n NO_VM = 0,\n SOPHIA = 1,\n SOPHIA_IMPROVEMENTS_MINERVA = 3,\n SOPHIA_IMPROVEMENTS_FORTUNA = 4,\n FATE = 5,\n SOPHIA_IMPROVEMENTS_LIMA = 6,\n FATE_2 = 7,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum ABI_VERSIONS {\n NO_ABI = 0,\n SOPHIA = 1,\n FATE = 3,\n}\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n/**\n * @category transaction builder\n */\nexport enum PROTOCOL_VERSIONS {\n IRIS = 5,\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [Tag.ContractCreateTx]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE],\n },\n // TODO: Ensure that AEVM (SOPHIA?) is still available here\n [Tag.ContractCallTx]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA],\n },\n [Tag.OracleRegisterTx]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA],\n },\n },\n} as const;\n\ntype PrefixType<Prefix> = Prefix extends Encoding\n ? Encoded.Generic<Prefix>\n : Prefix extends readonly Encoding[]\n ? Encoded.Generic<Prefix[number]>\n : Encoded.Generic<any>;\n\n/**\n * @category transaction builder\n */\nexport interface CtVersion {\n vmVersion: VM_VERSIONS;\n abiVersion: ABI_VERSIONS;\n}\n\n/**\n * @category transaction builder\n */\nexport enum FIELD_TYPES {\n string,\n binary,\n bool,\n hex,\n rlpBinary,\n rlpBinaries,\n rawBinary,\n signatures,\n offChainUpdates,\n callStack,\n proofOfInclusion,\n mptrees,\n ctVersion,\n sophiaCodeTypeInfo,\n payload,\n stateTree,\n}\n\ninterface BuildFieldTypes<Prefix extends undefined | Encoding | readonly Encoding[]> {\n [FIELD_TYPES.string]: string;\n [FIELD_TYPES.binary]: PrefixType<Prefix>;\n [FIELD_TYPES.bool]: Boolean;\n [FIELD_TYPES.hex]: string;\n [FIELD_TYPES.rlpBinary]: any;\n [FIELD_TYPES.rlpBinaries]: any[];\n [FIELD_TYPES.rawBinary]: Uint8Array;\n [FIELD_TYPES.signatures]: Uint8Array[];\n [FIELD_TYPES.offChainUpdates]: any;\n [FIELD_TYPES.callStack]: any;\n [FIELD_TYPES.proofOfInclusion]: any;\n [FIELD_TYPES.mptrees]: MPTree[];\n [FIELD_TYPES.ctVersion]: CtVersion;\n [FIELD_TYPES.sophiaCodeTypeInfo]: any;\n [FIELD_TYPES.payload]: string | undefined;\n [FIELD_TYPES.stateTree]: any;\n}\n\ntype TxElem = readonly [string, FIELD_TYPES | Field]\n| readonly [string, FIELD_TYPES, Encoding | readonly Encoding[]];\n\ntype BuildTxArgBySchemaType<\n Type extends FIELD_TYPES | Field,\n Prefix extends undefined | Encoding | readonly Encoding[],\n> =\n Type extends Field\n ? Parameters<Type['serialize']>[0]\n : Type extends FIELD_TYPES\n ? BuildFieldTypes<Prefix>[Type]\n : never;\n\ntype NullablePartial<\n T,\n NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T],\n> = Partial<Pick<T, NK>> & Omit<T, NK>;\n\ntype BuildTxArgBySchema<SchemaLine> =\n UnionToIntersection<\n SchemaLine extends ReadonlyArray<infer Elem>\n ? Elem extends TxElem\n ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1], Elem[2]> }>\n : never\n : never\n >;\n\nexport type RawTxObject<Tx extends TxSchema> = {\n [k in keyof Tx]-?: Tx[k] extends BigNumber ? string : Tx[k]\n};\n\nconst BASE_TX = [\n ['tag', shortUInt],\n ['VSN', shortUInt],\n] as const;\n\nexport const TX_SCHEMA = {\n [Tag.Account]: {\n 1: [\n ...BASE_TX,\n ['nonce', shortUInt],\n ['balance', uInt],\n ],\n 2: [\n ...BASE_TX,\n ['flags', uInt],\n ['nonce', shortUInt],\n ['balance', uInt],\n ['gaContract', address<Encoding.ContractAddress | Encoding.Name>()],\n ['gaAuthFun', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.SignedTx]: {\n 1: [\n ...BASE_TX,\n ['signatures', FIELD_TYPES.signatures],\n ['encodedTx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.SpendTx]: {\n 1: [\n ...BASE_TX,\n ['senderId', address<Encoding.AccountAddress>()],\n ['recipientId', address<Encoding.AccountAddress | Encoding.Name>()],\n ['amount', coinAmount],\n ['fee', fee],\n ['ttl', shortUInt],\n ['nonce', shortUInt],\n ['payload', FIELD_TYPES.payload],\n ],\n },\n [Tag.NamePreclaimTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['commitmentId', address<Encoding.Commitment>()],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameClaimTx]: {\n 2: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['name', name],\n ['nameSalt', uInt],\n ['nameFee', nameFee],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameUpdateTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['nameTtl', shortUInt],\n ['pointers', pointers],\n ['clientTtl', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameTransferTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['recipientId', address<Encoding.AccountAddress | Encoding.Name>()],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameRevokeTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.Contract]: {\n 1: [\n ...BASE_TX,\n ['owner', address<Encoding.AccountAddress>()],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['log', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['active', FIELD_TYPES.bool],\n ['referers', addresses<Encoding.AccountAddress>()],\n ['deposit', deposit],\n ],\n },\n [Tag.ContractCreateTx]: {\n 1: [\n ...BASE_TX,\n ['ownerId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['deposit', deposit],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ContractCallTx]: {\n 1: [\n ...BASE_TX,\n ['callerId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['contractId', address<Encoding.ContractAddress | Encoding.Name>()],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\n ['fee', fee],\n ['ttl', shortUInt],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ContractCall]: {\n 1: [\n ...BASE_TX,\n ['callerId', address<Encoding.AccountAddress>()],\n ['callerNonce', shortUInt],\n ['height', shortUInt],\n ['contractId', address<Encoding.ContractAddress>()],\n ['gasPrice', gasPrice],\n ['gasUsed', shortUInt],\n ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['returnType', enumeration<CallReturnType>()],\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n ['log', FIELD_TYPES.rawBinary],\n ],\n },\n [Tag.OracleRegisterTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['queryFormat', FIELD_TYPES.string],\n ['responseFormat', FIELD_TYPES.string],\n ['queryFee', coinAmount],\n ['oracleTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\n ],\n },\n [Tag.OracleExtendTx]: {\n 1: [\n ...BASE_TX,\n ['oracleId', address<Encoding.OracleAddress | Encoding.Name>()],\n ['nonce', shortUInt],\n ['oracleTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleQueryTx]: {\n 1: [\n ...BASE_TX,\n ['senderId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['oracleId', address<Encoding.OracleAddress | Encoding.Name>()],\n ['query', FIELD_TYPES.string],\n ['queryFee', coinAmount],\n ['queryTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['queryTtlValue', shortUInt],\n ['responseTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleResponseTx]: {\n 1: [\n ...BASE_TX,\n ['oracleId', address<Encoding.OracleAddress>()],\n ['nonce', shortUInt],\n ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId],\n ['response', FIELD_TYPES.string],\n ['responseTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.ChannelCreateTx]: {\n 2: [\n ...BASE_TX,\n ['initiator', address<Encoding.AccountAddress>()],\n ['initiatorAmount', uInt],\n ['responder', address<Encoding.AccountAddress>()],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['lockPeriod', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['initiatorDelegateIds', FIELD_TYPES.string],\n ['responderDelegateIds', FIELD_TYPES.string],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseMutualTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseSoloTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['poi', FIELD_TYPES.binary, Encoding.Poi],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSlashTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['poi', FIELD_TYPES.binary, Encoding.Poi],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelDepositTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelWithdrawTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['toId', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSettleTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelForceProgressTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['round', shortUInt],\n ['update', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['offChainTrees', FIELD_TYPES.stateTree],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainTx]: {\n 2: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['round', shortUInt],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ],\n },\n [Tag.Channel]: {\n 3: [\n ...BASE_TX,\n ['initiator', address<Encoding.AccountAddress>()],\n ['responder', address<Encoding.AccountAddress>()],\n ['channelAmount', uInt],\n ['initiatorAmount', uInt],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['initiatorDelegateIds', addresses<AddressEncodings>()],\n ['responderDelegateIds', addresses<AddressEncodings>()],\n ['stateHash', FIELD_TYPES.hex],\n ['round', shortUInt],\n ['soloRound', uInt],\n ['lockPeriod', uInt],\n ['lockedUntil', uInt],\n ['initiatorAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['responderAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ChannelSnapshotSoloTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainUpdateTransfer]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['to', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateDeposit]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateWithdraw]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateCreateContract]: {\n 1: [\n ...BASE_TX,\n ['owner', address<Encoding.AccountAddress>()],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['deposit', uInt],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ChannelOffChainUpdateCallContract]: {\n 1: [\n ...BASE_TX,\n ['caller', address<Encoding.AccountAddress>()],\n ['contract', address<Encoding.ContractAddress>()],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\n ['amount', uInt],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['callStack', FIELD_TYPES.callStack],\n ['gasPrice', gasPrice],\n ['gasLimit', gasLimit],\n ],\n },\n [Tag.ChannelClientReconnectTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['round', shortUInt],\n ['role', FIELD_TYPES.string],\n ['pubkey', address<Encoding.AccountAddress>()],\n ],\n },\n [Tag.TreesPoi]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.mptrees],\n ['calls', FIELD_TYPES.mptrees],\n ['channels', FIELD_TYPES.mptrees],\n ['contracts', FIELD_TYPES.mptrees],\n ['ns', FIELD_TYPES.mptrees],\n ['oracles', FIELD_TYPES.mptrees],\n ],\n },\n [Tag.StateTrees]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ['calls', FIELD_TYPES.rlpBinary],\n ['channels', FIELD_TYPES.rlpBinary],\n ['ns', FIELD_TYPES.rlpBinary],\n ['oracles', FIELD_TYPES.rlpBinary],\n ['accounts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.Mtree]: {\n 1: [\n ...BASE_TX,\n ['values', FIELD_TYPES.rlpBinaries],\n ],\n },\n [Tag.MtreeValue]: {\n 1: [\n ...BASE_TX,\n ['key', FIELD_TYPES.hex],\n ['value', FIELD_TYPES.rawBinary],\n ],\n },\n [Tag.ContractsMtree]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.CallsMtree]: {\n 1: [\n ...BASE_TX,\n ['calls', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.ChannelsMtree]: {\n 1: [\n ...BASE_TX,\n ['channels', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.NameserviceMtree]: {\n 1: [\n ...BASE_TX,\n ['mtree', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.OraclesMtree]: {\n 1: [\n ...BASE_TX,\n ['otree', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.AccountsMtree]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.GaAttachTx]: {\n 1: [\n ...BASE_TX,\n ['ownerId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['authFun', FIELD_TYPES.rawBinary],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.GaMetaTx]: {\n 2: [\n ...BASE_TX,\n ['gaId', address<Encoding.AccountAddress>()],\n ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\n ['fee', fee],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['tx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.PayingForTx]: {\n 1: [\n ...BASE_TX,\n ['payerId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['fee', fee],\n ['tx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.CompilerSophia]: {\n 3: [\n ...BASE_TX,\n ['sourceCodeHash', FIELD_TYPES.rawBinary],\n ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo],\n ['byteCode', FIELD_TYPES.rawBinary],\n ['compilerVersion', FIELD_TYPES.string],\n ['payable', FIELD_TYPES.bool],\n ],\n },\n} as const;\n\nexport type TxTypeSchemas = {\n [key in Tag]: BuildTxArgBySchema<\n typeof TX_SCHEMA[key][keyof typeof TX_SCHEMA[key]]\n >\n};\n\nexport type TxSchema = TxTypeSchemas[Tag];\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","deposit","gasLimit","gasPrice","fee","address","pointers","entry","enumeration","mptree","shortUIntConst","string","encoded","raw","array","boolean","ctVersion","abiVersion","ttl","nonce","map","wrapped","Encoding","idTagToEncoding","ORACLE_TTL_TYPES","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","CallReturnType","entryAny","entrySignedTx","SignedTx","entryMtreeValueArray","MtreeValue","entryTreesPoi","TreesPoi","mapContracts","ContractAddress","Contract","mapAccounts","AccountAddress","Account","mapCalls","Bytearray","ContractCall","mapChannels","Channel","mapNames","Name","mapOracles","OracleAddress","Oracle","txSchema","tag","version","balance","flags","gaContract","gaAuthFun","ContractBytearray","signatures","encodedTx","SpendTx","senderId","recipientId","payload","accountId","nameTtl","status","clientTtl","NamePreclaimTx","commitmentId","Commitment","NameClaimTx","nameSalt","NameUpdateTx","NameTransferTx","NameRevokeTx","owner","code","log","active","referers","ContractCreateTx","ownerId","callData","ContractCallTx","callerId","contractId","callerNonce","height","gasUsed","returnValue","returnType","queryFormat","responseFormat","queryFee","oracleTtlValue","OracleRegisterTx","oracleTtlType","OracleExtendTx","oracleId","OracleQueryTx","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","OracleResponseTx","queryId","OracleQueryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","State","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","Transaction","poi","ChannelSlashTx","ChannelDepositTx","round","ChannelWithdrawTx","toId","ChannelSettleTx","ChannelForceProgressTx","update","offChainTrees","StateTrees","ChannelOffChainTx","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","from","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","ChannelClientReconnectTx","role","pubkey","accounts","calls","channels","contracts","ns","oracles","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","Mtree","values","key","GaAttachTx","authFun","GaMetaTx","gaId","authData","tx","PayingForTx","payerId","GaMetaTxAuthData","txHash","TxHash"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport { Tag } from './constants';\nimport SchemaTypes from './SchemaTypes';\nimport {\n uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,\n address, pointers, entry, enumeration, mptree, shortUIntConst, string, encoded, raw,\n array, boolean, ctVersion, abiVersion, ttl, nonce, map, wrapped,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport { idTagToEncoding } from './field-types/address';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// # ORACLE\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\n// # CONTRACT\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface EntryAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst entryAny = entry() as unknown as EntryAny;\n\ninterface EntrySignedTx {\n serialize: (value: TxParams & { tag: Tag.SignedTx } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst entrySignedTx = entry(Tag.SignedTx) as unknown as EntrySignedTx;\n\ninterface EntryMtreeValueArray {\n serialize: (\n value: Array<TxParams & { tag: Tag.MtreeValue } | Uint8Array | Encoded.Transaction>,\n ) => Buffer[];\n deserialize: (value: Buffer[]) => Array<TxUnpacked & { tag: Tag.MtreeValue }>;\n recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(Tag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface EntryTreesPoi {\n serialize: (value: TxParams & { tag: Tag.TreesPoi } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(Tag.TreesPoi) as unknown as EntryTreesPoi;\n\ninterface MapContracts {\n serialize: (\n value: Record<Encoded.ContractAddress, TxParams & { tag: Tag.Contract }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.ContractAddress, TxUnpacked & { tag: Tag.Contract }>;\n recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, Tag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n serialize: (\n value: Record<Encoded.AccountAddress, TxParams & { tag: Tag.Account }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.AccountAddress, TxUnpacked & { tag: Tag.Account }>;\n recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, Tag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n serialize: (\n value: Record<Encoded.Bytearray, TxParams & { tag: Tag.ContractCall }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Bytearray, TxUnpacked & { tag: Tag.ContractCall }>;\n recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, Tag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n serialize: (\n value: Record<Encoded.Channel, TxParams & { tag: Tag.Channel }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Channel, TxUnpacked & { tag: Tag.Channel }>;\n recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, Tag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n serialize: (\n value: Record<Encoded.Name, TxParams & { tag: Tag.Name }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Name, TxUnpacked & { tag: Tag.Name }>;\n recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, Tag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n serialize: (\n value: Record<Encoded.OracleAddress, TxParams & { tag: Tag.Oracle }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.OracleAddress, TxUnpacked & { tag: Tag.Oracle }>;\n recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, Tag.Oracle) as unknown as MapOracles;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [{\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(1),\n nonce: shortUInt,\n balance: uInt,\n}, {\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(2, true),\n flags: uInt,\n nonce: shortUInt,\n balance: uInt,\n gaContract: address(Encoding.ContractAddress, Encoding.Name),\n gaAuthFun: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw),\n encodedTx: entryAny,\n}, {\n tag: shortUIntConst(Tag.SpendTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n amount: coinAmount,\n fee,\n ttl,\n nonce: nonce('senderId'),\n payload: encoded(Encoding.Bytearray, true),\n}, {\n tag: shortUIntConst(Tag.Name),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nameTtl: shortUInt,\n status: raw,\n clientTtl: shortUInt,\n pointers,\n}, {\n tag: shortUIntConst(Tag.NamePreclaimTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n commitmentId: address(Encoding.Commitment),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: uInt,\n nameFee,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl: shortUInt,\n pointers,\n clientTtl: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameTransferTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameRevokeTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.Contract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n log: encoded(Encoding.ContractBytearray),\n active: boolean,\n referers: array(address(Encoding.AccountAddress)),\n deposit,\n}, {\n tag: shortUIntConst(Tag.ContractCreateTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n ctVersion,\n fee,\n ttl,\n deposit,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCallTx),\n version: shortUIntConst(1, true),\n callerId: address(Encoding.AccountAddress),\n nonce: nonce('callerId'),\n contractId: address(Encoding.ContractAddress, Encoding.Name),\n abiVersion,\n fee,\n ttl,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCall),\n version: shortUIntConst(2, true),\n callerId: address(Encoding.AccountAddress),\n callerNonce: shortUInt,\n height: shortUInt,\n contractId: address(Encoding.ContractAddress),\n // TODO: rename after resolving https://github.com/aeternity/protocol/issues/506\n gasPrice: uInt,\n gasUsed: shortUInt,\n returnValue: encoded(Encoding.ContractBytearray),\n returnType: enumeration(CallReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() }, <data> :: binary() } ]\n log: array(raw),\n}, {\n tag: shortUIntConst(Tag.Oracle),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlValue: shortUInt,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleRegisterTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlType: enumeration(ORACLE_TTL_TYPES),\n oracleTtlValue: shortUInt,\n fee,\n ttl,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleExtendTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n nonce: nonce('oracleId'),\n oracleTtlType: enumeration(ORACLE_TTL_TYPES),\n oracleTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleQueryTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n nonce: nonce('senderId'),\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n query: string,\n queryFee: coinAmount,\n queryTtlType: enumeration(ORACLE_TTL_TYPES),\n queryTtlValue: shortUInt,\n responseTtlType: enumeration(ORACLE_TTL_TYPES),\n responseTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleResponseTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress),\n nonce: nonce('oracleId'),\n queryId: encoded(Encoding.OracleQueryId),\n response: string,\n responseTtlType: enumeration(ORACLE_TTL_TYPES),\n responseTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.ChannelCreateTx),\n version: shortUIntConst(2, true),\n initiator: address(Encoding.AccountAddress),\n initiatorAmount: uInt,\n responder: address(Encoding.AccountAddress),\n responderAmount: uInt,\n channelReserve: uInt,\n lockPeriod: uInt,\n ttl,\n fee,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n nonce: nonce('initiator'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSlashTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelDepositTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelWithdrawTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n toId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSettleTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelForceProgressTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n round: shortUInt,\n update: encoded(Encoding.ContractBytearray),\n stateHash: encoded(Encoding.State),\n offChainTrees: encoded(Encoding.StateTrees),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainTx),\n version: shortUIntConst(2, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n stateHash: encoded(Encoding.State),\n}, {\n tag: shortUIntConst(Tag.Channel),\n version: shortUIntConst(3, true),\n initiator: address(Encoding.AccountAddress),\n responder: address(Encoding.AccountAddress),\n channelAmount: uInt,\n initiatorAmount: uInt,\n responderAmount: uInt,\n channelReserve: uInt,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n soloRound: uInt,\n lockPeriod: uInt,\n lockedUntil: uInt,\n initiatorAuth: encoded(Encoding.ContractBytearray),\n responderAuth: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateTransfer),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n to: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateDeposit),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateWithdraw),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCreateContract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n deposit: uInt,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCallContract),\n version: shortUIntConst(1, true),\n caller: address(Encoding.AccountAddress),\n contract: address(Encoding.ContractAddress),\n abiVersion,\n amount: uInt,\n callData: encoded(Encoding.ContractBytearray),\n callStack: raw,\n gasPrice,\n gasLimit,\n}, {\n tag: shortUIntConst(Tag.ChannelClientReconnectTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n role: string,\n pubkey: address(Encoding.AccountAddress),\n}, {\n tag: shortUIntConst(Tag.TreesPoi),\n version: shortUIntConst(1, true),\n // TODO: inline an extra wrapping array after resolving https://github.com/aeternity/protocol/issues/505\n accounts: array(mptree(Encoding.AccountAddress, Tag.Account)),\n calls: array(mptree(Encoding.Bytearray, Tag.ContractCall)),\n channels: array(mptree(Encoding.Channel, Tag.Channel)),\n contracts: array(mptree(Encoding.ContractAddress, Tag.Contract)),\n ns: array(mptree(Encoding.Name, Tag.Name)),\n oracles: array(mptree(Encoding.OracleAddress, Tag.Oracle)),\n}, {\n tag: shortUIntConst(Tag.StateTrees),\n version: shortUIntConst(0, true),\n contracts: wrapped(Tag.ContractsMtree) as unknown as MapContracts,\n calls: wrapped(Tag.CallsMtree) as unknown as MapCalls,\n channels: wrapped(Tag.ChannelsMtree) as unknown as MapChannels,\n ns: wrapped(Tag.NameserviceMtree) as unknown as MapNames,\n oracles: wrapped(Tag.OraclesMtree) as unknown as MapOracles,\n accounts: wrapped(Tag.AccountsMtree) as unknown as MapAccounts,\n}, {\n tag: shortUIntConst(Tag.Mtree),\n version: shortUIntConst(1, true),\n values: entryMtreeValueArray,\n}, {\n tag: shortUIntConst(Tag.MtreeValue),\n version: shortUIntConst(1, true),\n key: raw,\n value: raw,\n}, {\n tag: shortUIntConst(Tag.ContractsMtree),\n version: shortUIntConst(1, true),\n payload: mapContracts,\n}, {\n tag: shortUIntConst(Tag.CallsMtree),\n version: shortUIntConst(1, true),\n payload: mapCalls,\n}, {\n tag: shortUIntConst(Tag.ChannelsMtree),\n version: shortUIntConst(1, true),\n payload: mapChannels,\n}, {\n tag: shortUIntConst(Tag.NameserviceMtree),\n version: shortUIntConst(1, true),\n payload: mapNames,\n}, {\n tag: shortUIntConst(Tag.OraclesMtree),\n version: shortUIntConst(1, true),\n payload: mapOracles,\n}, {\n tag: shortUIntConst(Tag.AccountsMtree),\n version: shortUIntConst(1, true),\n payload: mapAccounts,\n}, {\n tag: shortUIntConst(Tag.GaAttachTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n authFun: raw,\n ctVersion,\n fee,\n ttl,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.GaMetaTx),\n version: shortUIntConst(2, true),\n gaId: address(Encoding.AccountAddress),\n authData: encoded(Encoding.ContractBytearray),\n abiVersion,\n fee,\n gasLimit,\n gasPrice,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.GaMetaTxAuthData),\n version: shortUIntConst(1, true),\n fee: coinAmount,\n gasPrice,\n txHash: encoded(Encoding.TxHash),\n}] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Encoded } from '../utils/encoder';
2
+ import Node from '../Node';
3
+ /**
4
+ * Calculates the cost of transaction execution
5
+ * Provides an upper cost of contract-call-related transactions because of `gasLimit`.
6
+ * Also assumes that oracle query fee is 0 unless it is provided in options.
7
+ * @param transaction - Transaction to calculate the cost of
8
+ * @param innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
9
+ * @param gasUsed - Amount of gas actually used to make calculation more accurate
10
+ * @param queryFee - Oracle query fee
11
+ * @param isInitiator - Is transaction signer an initiator of state channel
12
+ */
13
+ export declare function getExecutionCost(transaction: Encoded.Transaction, { innerTx, gasUsed, queryFee, isInitiator, }?: {
14
+ innerTx?: 'fee-payer' | 'freeloader';
15
+ gasUsed?: number;
16
+ queryFee?: string;
17
+ isInitiator?: boolean;
18
+ }): bigint;
19
+ /**
20
+ * Calculates the cost of signed transaction execution
21
+ * @param transaction - Transaction to calculate the cost of
22
+ * @param networkId - Network id used to sign the transaction
23
+ * @param options - Options
24
+ */
25
+ export declare function getExecutionCostBySignedTx(transaction: Encoded.Transaction, networkId: string, options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>): bigint;
26
+ /**
27
+ * Calculates the cost of signed and not signed transaction execution using node
28
+ * @param transaction - Transaction to calculate the cost of
29
+ * @param node - Node to use
30
+ * @param isMined - Is transaction already mined or not
31
+ * @param options - Options
32
+ */
33
+ export declare function getExecutionCostUsingNode(transaction: Encoded.Transaction, node: Node, { isMined, ...options }?: {
34
+ isMined?: boolean;
35
+ } & Parameters<typeof getExecutionCost>[1]): Promise<bigint>;
@@ -0,0 +1,123 @@
1
+ import { buildTx, buildTxHash, unpackTx } from "./builder/index.mjs";
2
+ import { Tag } from "./builder/constants.mjs";
3
+ import { verify } from "../utils/crypto.mjs";
4
+ import { getBufferToSign } from "../account/Memory.mjs";
5
+ import { IllegalArgumentError, InternalError, TransactionError } from "../utils/errors.mjs";
6
+ import getTransactionSignerAddress from "./transaction-signer.mjs";
7
+ /**
8
+ * Calculates the cost of transaction execution
9
+ * Provides an upper cost of contract-call-related transactions because of `gasLimit`.
10
+ * Also assumes that oracle query fee is 0 unless it is provided in options.
11
+ * @param transaction - Transaction to calculate the cost of
12
+ * @param innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
13
+ * @param gasUsed - Amount of gas actually used to make calculation more accurate
14
+ * @param queryFee - Oracle query fee
15
+ * @param isInitiator - Is transaction signer an initiator of state channel
16
+ */
17
+ export function getExecutionCost(transaction) {
18
+ let {
19
+ innerTx,
20
+ gasUsed,
21
+ queryFee,
22
+ isInitiator
23
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
+ const params = unpackTx(transaction);
25
+ if (params.tag === Tag.SignedTx) {
26
+ throw new IllegalArgumentError('Transaction shouldn\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');
27
+ }
28
+ let res = 0n;
29
+ if ('fee' in params && innerTx !== 'freeloader') {
30
+ res += BigInt(params.fee);
31
+ }
32
+ if (params.tag === Tag.NameClaimTx) {
33
+ res += BigInt(params.nameFee);
34
+ }
35
+ if (params.tag === Tag.OracleQueryTx) {
36
+ res += BigInt(params.queryFee);
37
+ }
38
+ if (params.tag === Tag.OracleResponseTx) {
39
+ res -= BigInt(queryFee !== null && queryFee !== void 0 ? queryFee : 0);
40
+ }
41
+ if (params.tag === Tag.ChannelSettleTx) {
42
+ if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);
43
+ if (isInitiator === false) res -= BigInt(params.responderAmountFinal);
44
+ }
45
+ if ((params.tag === Tag.SpendTx && params.senderId !== params.recipientId || params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx || params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer') {
46
+ res += BigInt(params.amount);
47
+ }
48
+ if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);
49
+ if ((params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx || params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx) && innerTx !== 'freeloader') {
50
+ res += BigInt(params.gasPrice) * BigInt(gasUsed !== null && gasUsed !== void 0 ? gasUsed : params.gasLimit);
51
+ }
52
+ if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {
53
+ res += getExecutionCost(buildTx(params.tx.encodedTx), params.tag === Tag.PayingForTx ? {
54
+ innerTx: 'fee-payer'
55
+ } : {});
56
+ }
57
+ return res;
58
+ }
59
+
60
+ /**
61
+ * Calculates the cost of signed transaction execution
62
+ * @param transaction - Transaction to calculate the cost of
63
+ * @param networkId - Network id used to sign the transaction
64
+ * @param options - Options
65
+ */
66
+ export function getExecutionCostBySignedTx(transaction, networkId, options) {
67
+ const params = unpackTx(transaction, Tag.SignedTx);
68
+ if (params.encodedTx.tag === Tag.GaMetaTx) {
69
+ return getExecutionCost(buildTx(params.encodedTx), options);
70
+ }
71
+ const tx = buildTx(params.encodedTx);
72
+ const address = getTransactionSignerAddress(tx);
73
+ const [isInnerTx, isNotInnerTx] = [true, false].map(f => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));
74
+ if (!isInnerTx && !isNotInnerTx) throw new TransactionError('Can\'t verify signature');
75
+ return getExecutionCost(buildTx(params.encodedTx), {
76
+ ...(isInnerTx && {
77
+ innerTx: 'freeloader'
78
+ }),
79
+ ...options
80
+ });
81
+ }
82
+
83
+ /**
84
+ * Calculates the cost of signed and not signed transaction execution using node
85
+ * @param transaction - Transaction to calculate the cost of
86
+ * @param node - Node to use
87
+ * @param isMined - Is transaction already mined or not
88
+ * @param options - Options
89
+ */
90
+ export async function getExecutionCostUsingNode(transaction, node) {
91
+ let {
92
+ isMined,
93
+ ...options
94
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
95
+ let params = unpackTx(transaction);
96
+ const isSignedTx = params.tag === Tag.SignedTx;
97
+ const txHash = isSignedTx && isMined === true && buildTxHash(transaction);
98
+ if (params.tag === Tag.SignedTx) params = params.encodedTx;
99
+
100
+ // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087
101
+ if (options.gasUsed == null && txHash !== false && [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)) {
102
+ const {
103
+ callInfo,
104
+ gaInfo
105
+ } = await node.getTransactionInfoByHash(txHash);
106
+ const combinedInfo = callInfo !== null && callInfo !== void 0 ? callInfo : gaInfo;
107
+ if (combinedInfo == null) {
108
+ throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);
109
+ }
110
+ options.gasUsed = combinedInfo.gasUsed;
111
+ }
112
+ if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {
113
+ options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();
114
+ }
115
+ if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {
116
+ const {
117
+ initiatorId
118
+ } = await node.getChannelByPubkey(params.channelId);
119
+ options.isInitiator = params.fromId === initiatorId;
120
+ }
121
+ return isSignedTx ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options) : getExecutionCost(transaction, options);
122
+ }
123
+ //# sourceMappingURL=execution-cost.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-cost.mjs","names":["buildTx","buildTxHash","unpackTx","Tag","verify","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","arguments","length","undefined","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleResponseTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","senderId","recipientId","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder';\nimport { buildTx, buildTxHash, unpackTx } from './builder';\nimport { Tag } from './builder/constants';\nimport { verify } from '../utils/crypto';\nimport { getBufferToSign } from '../account/Memory';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors';\nimport Node from '../Node';\nimport getTransactionSignerAddress from './transaction-signer';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n * @param transaction - Transaction to calculate the cost of\n * @param innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param gasUsed - Amount of gas actually used to make calculation more accurate\n * @param queryFee - Oracle query fee\n * @param isInitiator - Is transaction signer an initiator of state channel\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx, gasUsed, queryFee, isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError('Transaction shouldn\\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleResponseTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n ((params.tag === Tag.SpendTx && params.senderId !== params.recipientId)\n || params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx)\n && innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false]\n .map((f) => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError('Can\\'t verify signature');\n return getExecutionCost(\n buildTx(params.encodedTx),\n { ...isInnerTx && { innerTx: 'freeloader' }, ...options },\n );\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param isMined - Is transaction already mined or not\n * @param options - Options\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null && txHash !== false\n && [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Encoded } from '../utils/encoder';
2
+ /**
3
+ * Returns account address that signed a transaction
4
+ * @param transaction - transaction to get a signer of
5
+ */
6
+ export default function getTransactionSignerAddress(transaction: Encoded.Transaction): Encoded.AccountAddress;
@@ -0,0 +1,27 @@
1
+ import { buildTx, getSchema, unpackTx } from "./builder/index.mjs";
2
+ import { Tag } from "./builder/constants.mjs";
3
+ import { TransactionError, UnexpectedTsError } from "../utils/errors.mjs";
4
+ /**
5
+ * Returns account address that signed a transaction
6
+ * @param transaction - transaction to get a signer of
7
+ */
8
+ export default function getTransactionSignerAddress(transaction) {
9
+ var _getSchema$find;
10
+ const params = unpackTx(transaction);
11
+ switch (params.tag) {
12
+ case Tag.SignedTx:
13
+ return getTransactionSignerAddress(buildTx(params.encodedTx));
14
+ case Tag.GaMetaTx:
15
+ return params.gaId;
16
+ default:
17
+ }
18
+ const nonce = (_getSchema$find = getSchema(params.tag, params.version).find(_ref => {
19
+ let [name] = _ref;
20
+ return name === 'nonce';
21
+ })) === null || _getSchema$find === void 0 ? void 0 : _getSchema$find[1];
22
+ if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);
23
+ if (!('senderKey' in nonce)) throw new UnexpectedTsError();
24
+ const address = params[nonce.senderKey];
25
+ return address.replace(/^ok_/, 'ak_');
26
+ }
27
+ //# sourceMappingURL=transaction-signer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-signer.mjs","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","_getSchema$find","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","_ref","name","address","senderKey","replace"],"sources":["../../src/tx/transaction-signer.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder';\nimport { buildTx, getSchema, unpackTx } from './builder';\nimport { Tag } from './builder/constants';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n */\nexport default function getTransactionSignerAddress(\n transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n const params = unpackTx(transaction);\n switch (params.tag) {\n case Tag.SignedTx:\n return getTransactionSignerAddress(buildTx(params.encodedTx));\n case Tag.GaMetaTx:\n return params.gaId;\n default:\n }\n\n const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n"],"mappings":"SACSA,OAAO,EAAEC,SAAS,EAAEC,QAAQ;AAAA,SAC5BC,GAAG;AAAA,SACHC,gBAAgB,EAAEC,iBAAiB;AAE5C;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CACjDC,WAAgC,EACR;EAAA,IAAAC,eAAA;EACxB,MAAMC,MAAM,GAAGP,QAAQ,CAACK,WAAW,CAAC;EACpC,QAAQE,MAAM,CAACC,GAAG;IAChB,KAAKP,GAAG,CAACQ,QAAQ;MACf,OAAOL,2BAA2B,CAACN,OAAO,CAACS,MAAM,CAACG,SAAS,CAAC,CAAC;IAC/D,KAAKT,GAAG,CAACU,QAAQ;MACf,OAAOJ,MAAM,CAACK,IAAI;IACpB;EAAQ;EAGV,MAAMC,KAAK,IAAAP,eAAA,GAAGP,SAAS,CAACQ,MAAM,CAACC,GAAG,EAAED,MAAM,CAACO,OAAO,CAAC,CAACC,IAAI,CAACC,IAAA;IAAA,IAAC,CAACC,IAAI,CAAC,GAAAD,IAAA;IAAA,OAAKC,IAAI,KAAK,OAAO;EAAA,EAAC,cAAAX,eAAA,uBAAxEA,eAAA,CAA2E,CAAC,CAAC;EAC3F,IAAIO,KAAK,IAAI,IAAI,EAAE,MAAM,IAAIX,gBAAgB,CAAE,mCAAkCD,GAAG,CAACM,MAAM,CAACC,GAAG,CAAE,EAAC,CAAC;EACnG,IAAI,EAAE,WAAW,IAAIK,KAAK,CAAC,EAAE,MAAM,IAAIV,iBAAiB,EAAE;EAC1D,MAAMe,OAAO,GAAGX,MAAM,CAACM,KAAK,CAACM,SAAS,CAA6C;EACnF,OAAOD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC"}
@@ -1,5 +1,4 @@
1
- import { Tag } from './builder/constants';
2
- import { Encoded } from '../utils/encoder';
1
+ import { unpackTx } from './builder';
3
2
  import Node from '../Node';
4
3
  export interface ValidatorResult {
5
4
  message: string;
@@ -8,13 +7,12 @@ export interface ValidatorResult {
8
7
  }
9
8
  /**
10
9
  * Transaction Validator
11
- * This function validates some of transaction properties,
10
+ * This function validates some transaction properties,
12
11
  * to make sure it can be posted it to the chain
13
12
  * @category transaction builder
14
13
  * @param transaction - Base64Check-encoded transaction
15
14
  * @param nodeNotCached - Node to validate transaction against
16
- * @param parentTxTypes - Types of parent transactions
17
15
  * @returns Array with verification errors
18
16
  * @example const errors = await verifyTransaction(transaction, node)
19
17
  */
20
- export default function verifyTransaction(transaction: Encoded.Transaction | Encoded.Poi, nodeNotCached: Node, parentTxTypes?: Tag[]): Promise<ValidatorResult[]>;
18
+ export default function verifyTransaction(transaction: Parameters<typeof unpackTx>[0], nodeNotCached: Node): Promise<ValidatorResult[]>;