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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +1 -1
  2. package/bin/aesophia_cli +0 -0
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1833 -1543
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdk.mjs.map +1 -1
  10. package/es/AeSdkAepp.d.ts +5 -4
  11. package/es/AeSdkAepp.mjs +13 -17
  12. package/es/AeSdkAepp.mjs.map +1 -1
  13. package/es/AeSdkBase.mjs.map +1 -1
  14. package/es/AeSdkMethods.d.ts +11 -12
  15. package/es/AeSdkMethods.mjs +6 -8
  16. package/es/AeSdkMethods.mjs.map +1 -1
  17. package/es/AeSdkWallet.mjs +1 -1
  18. package/es/AeSdkWallet.mjs.map +1 -1
  19. package/es/Node.d.ts +5 -1
  20. package/es/Node.mjs +11 -5
  21. package/es/Node.mjs.map +1 -1
  22. package/es/account/Base.d.ts +11 -6
  23. package/es/account/Base.mjs +0 -17
  24. package/es/account/Base.mjs.map +1 -1
  25. package/es/account/Generalized.mjs +12 -25
  26. package/es/account/Generalized.mjs.map +1 -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 +9 -21
  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 +17 -31
  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.mjs +0 -16
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  40. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -16
  41. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  42. package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
  43. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  44. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +4 -5
  45. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/rpc/types.d.ts +6 -2
  47. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -16
  50. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  51. package/es/apis/compiler/compiler.d.ts +1 -1
  52. package/es/apis/compiler/compiler.mjs +4 -20
  53. package/es/apis/compiler/compiler.mjs.map +1 -1
  54. package/es/apis/compiler/models/index.d.ts +3 -2
  55. package/es/apis/compiler/models/index.mjs.map +1 -1
  56. package/es/apis/compiler/models/mappers.d.ts +1 -1
  57. package/es/apis/compiler/models/mappers.mjs +19 -2
  58. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  59. package/es/apis/node/models/index.d.ts +15 -15
  60. package/es/apis/node/models/index.mjs.map +1 -1
  61. package/es/apis/node/models/mappers.d.ts +1 -1
  62. package/es/apis/node/models/mappers.mjs +2 -1
  63. package/es/apis/node/models/mappers.mjs.map +1 -1
  64. package/es/apis/node/models/parameters.d.ts +2 -2
  65. package/es/apis/node/models/parameters.mjs +2 -2
  66. package/es/apis/node/models/parameters.mjs.map +1 -1
  67. package/es/apis/node/node.mjs +3 -19
  68. package/es/apis/node/node.mjs.map +1 -1
  69. package/es/chain.d.ts +8 -8
  70. package/es/chain.mjs +20 -23
  71. package/es/chain.mjs.map +1 -1
  72. package/es/channel/Base.d.ts +25 -12
  73. package/es/channel/Base.mjs +23 -26
  74. package/es/channel/Base.mjs.map +1 -1
  75. package/es/channel/Contract.mjs +8 -21
  76. package/es/channel/Contract.mjs.map +1 -1
  77. package/es/channel/Spend.d.ts +4 -2
  78. package/es/channel/Spend.mjs +0 -16
  79. package/es/channel/Spend.mjs.map +1 -1
  80. package/es/channel/handlers.mjs +6 -18
  81. package/es/channel/handlers.mjs.map +1 -1
  82. package/es/channel/internal.d.ts +19 -2
  83. package/es/channel/internal.mjs +19 -19
  84. package/es/channel/internal.mjs.map +1 -1
  85. package/es/contract/Contract.d.ts +30 -85
  86. package/es/contract/Contract.mjs +197 -215
  87. package/es/contract/Contract.mjs.map +1 -1
  88. package/es/contract/compiler/Base.d.ts +10 -14
  89. package/es/contract/compiler/Base.mjs.map +1 -1
  90. package/es/contract/compiler/Cli.mjs +5 -11
  91. package/es/contract/compiler/Cli.mjs.map +1 -1
  92. package/es/contract/compiler/Http.mjs +6 -30
  93. package/es/contract/compiler/Http.mjs.map +1 -1
  94. package/es/contract/compiler/HttpNode.mjs.map +1 -1
  95. package/es/contract/compiler/getFileSystem.mjs.map +1 -1
  96. package/es/contract/delegation-signature.d.ts +43 -0
  97. package/es/contract/delegation-signature.mjs +45 -0
  98. package/es/contract/delegation-signature.mjs.map +1 -0
  99. package/es/contract/ga.d.ts +23 -7
  100. package/es/contract/ga.mjs +52 -27
  101. package/es/contract/ga.mjs.map +1 -1
  102. package/es/index-browser.d.ts +5 -4
  103. package/es/index-browser.mjs +7 -21
  104. package/es/index-browser.mjs.map +1 -1
  105. package/es/oracle.d.ts +12 -17
  106. package/es/oracle.mjs +28 -48
  107. package/es/oracle.mjs.map +1 -1
  108. package/es/spend.d.ts +19 -27
  109. package/es/spend.mjs +20 -43
  110. package/es/spend.mjs.map +1 -1
  111. package/es/tx/builder/SchemaTypes.d.ts +37 -0
  112. package/es/tx/builder/SchemaTypes.mjs +2 -0
  113. package/es/tx/builder/SchemaTypes.mjs.map +1 -0
  114. package/es/tx/builder/constants.d.ts +4 -2
  115. package/es/tx/builder/constants.mjs +2 -0
  116. package/es/tx/builder/constants.mjs.map +1 -1
  117. package/es/tx/builder/field-types/abi-version.d.ts +11 -2
  118. package/es/tx/builder/field-types/abi-version.mjs +24 -4
  119. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  120. package/es/tx/builder/field-types/address.mjs.map +1 -1
  121. package/es/tx/builder/field-types/array.d.ts +1 -1
  122. package/es/tx/builder/field-types/array.mjs.map +1 -1
  123. package/es/tx/builder/field-types/boolean.mjs.map +1 -1
  124. package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
  125. package/es/tx/builder/field-types/coin-amount.mjs +4 -5
  126. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  127. package/es/tx/builder/field-types/ct-version.d.ts +22 -3
  128. package/es/tx/builder/field-types/ct-version.mjs +32 -4
  129. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  130. package/es/tx/builder/field-types/deposit.d.ts +2 -1
  131. package/es/tx/builder/field-types/deposit.mjs +3 -2
  132. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  133. package/es/tx/builder/field-types/encoded.d.ts +1 -1
  134. package/es/tx/builder/field-types/encoded.mjs.map +1 -1
  135. package/es/tx/builder/field-types/entry.mjs +3 -0
  136. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  137. package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
  138. package/es/tx/builder/field-types/fee.d.ts +3 -1
  139. package/es/tx/builder/field-types/fee.mjs +5 -1
  140. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  141. package/es/tx/builder/field-types/field.mjs.map +1 -1
  142. package/es/tx/builder/field-types/gas-limit.d.ts +3 -2
  143. package/es/tx/builder/field-types/gas-limit.mjs +4 -2
  144. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  145. package/es/tx/builder/field-types/gas-price.d.ts +3 -1
  146. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  147. package/es/tx/builder/field-types/index.d.ts +52 -13
  148. package/es/tx/builder/field-types/index.mjs +10 -2
  149. package/es/tx/builder/field-types/index.mjs.map +1 -1
  150. package/es/tx/builder/field-types/map.d.ts +13 -0
  151. package/es/tx/builder/field-types/map.mjs +49 -0
  152. package/es/tx/builder/field-types/map.mjs.map +1 -0
  153. package/es/tx/builder/field-types/mptree.d.ts +7 -2
  154. package/es/tx/builder/field-types/mptree.mjs +5 -7
  155. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  156. package/es/tx/builder/field-types/name-fee.d.ts +1 -1
  157. package/es/tx/builder/field-types/name-fee.mjs +2 -2
  158. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  159. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  160. package/es/tx/builder/field-types/name.mjs.map +1 -1
  161. package/es/tx/builder/field-types/nonce.d.ts +14 -0
  162. package/es/tx/builder/field-types/nonce.mjs +29 -0
  163. package/es/tx/builder/field-types/nonce.mjs.map +1 -0
  164. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  165. package/es/tx/builder/field-types/raw.mjs.map +1 -1
  166. package/es/tx/builder/field-types/short-u-int-const.d.ts +4 -2
  167. package/es/tx/builder/field-types/short-u-int-const.mjs +12 -8
  168. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -1
  169. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  170. package/es/tx/builder/field-types/string.mjs.map +1 -1
  171. package/es/tx/builder/field-types/ttl.d.ts +11 -0
  172. package/es/tx/builder/field-types/ttl.mjs +21 -0
  173. package/es/tx/builder/field-types/ttl.mjs.map +1 -0
  174. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  175. package/es/tx/builder/field-types/wrapped.d.ts +14 -0
  176. package/es/tx/builder/field-types/wrapped.mjs +22 -0
  177. package/es/tx/builder/field-types/wrapped.mjs.map +1 -0
  178. package/es/tx/builder/helpers.mjs.map +1 -1
  179. package/es/tx/builder/index.d.ts +20 -20
  180. package/es/tx/builder/index.mjs +54 -64
  181. package/es/tx/builder/index.mjs.map +1 -1
  182. package/es/tx/builder/schema.d.ts +2735 -2865
  183. package/es/tx/builder/schema.generated.d.ts +2011 -0
  184. package/es/tx/builder/schema.generated.mjs +2 -0
  185. package/es/tx/builder/schema.generated.mjs.map +1 -0
  186. package/es/tx/builder/schema.mjs +459 -155
  187. package/es/tx/builder/schema.mjs.map +1 -1
  188. package/es/tx/execution-cost.d.ts +35 -0
  189. package/es/tx/execution-cost.mjs +123 -0
  190. package/es/tx/execution-cost.mjs.map +1 -0
  191. package/es/tx/transaction-signer.d.ts +6 -0
  192. package/es/tx/transaction-signer.mjs +27 -0
  193. package/es/tx/transaction-signer.mjs.map +1 -0
  194. package/es/tx/validator.mjs +60 -109
  195. package/es/tx/validator.mjs.map +1 -1
  196. package/es/utils/amount-formatter.mjs +0 -16
  197. package/es/utils/amount-formatter.mjs.map +1 -1
  198. package/es/utils/autorest.d.ts +3 -2
  199. package/es/utils/autorest.mjs +43 -11
  200. package/es/utils/autorest.mjs.map +1 -1
  201. package/es/utils/bytes.mjs +0 -16
  202. package/es/utils/bytes.mjs.map +1 -1
  203. package/es/utils/crypto.mjs +0 -16
  204. package/es/utils/crypto.mjs.map +1 -1
  205. package/es/utils/encoder.mjs.map +1 -1
  206. package/es/utils/errors.d.ts +14 -31
  207. package/es/utils/errors.mjs +3 -33
  208. package/es/utils/errors.mjs.map +1 -1
  209. package/es/utils/hd-wallet.mjs.map +1 -1
  210. package/es/utils/json-big.mjs.map +1 -1
  211. package/es/utils/keystore.mjs.map +1 -1
  212. package/es/utils/other.d.ts +1 -1
  213. package/es/utils/other.mjs.map +1 -1
  214. package/es/utils/semver-satisfies.mjs.map +1 -1
  215. package/es/utils/string.mjs +0 -17
  216. package/es/utils/string.mjs.map +1 -1
  217. package/package.json +34 -30
  218. package/src/AeSdkAepp.ts +16 -14
  219. package/src/AeSdkMethods.ts +11 -16
  220. package/src/AeSdkWallet.ts +1 -1
  221. package/src/Node.ts +17 -6
  222. package/src/account/Base.ts +11 -22
  223. package/src/account/Generalized.ts +9 -24
  224. package/src/account/Memory.ts +14 -21
  225. package/src/aens.ts +31 -47
  226. package/src/aepp-wallet-communication/connection/Browser.ts +0 -17
  227. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -17
  228. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -17
  229. package/src/aepp-wallet-communication/connection-proxy.ts +0 -17
  230. package/src/aepp-wallet-communication/rpc/types.ts +7 -2
  231. package/src/aepp-wallet-communication/wallet-detector.ts +0 -17
  232. package/src/apis/compiler/compiler.ts +3 -27
  233. package/src/apis/compiler/models/index.ts +3 -2
  234. package/src/apis/compiler/models/mappers.ts +15 -2
  235. package/src/apis/node/models/index.ts +16 -15
  236. package/src/apis/node/models/mappers.ts +2 -1
  237. package/src/apis/node/models/parameters.ts +2 -2
  238. package/src/apis/node/node.ts +3 -27
  239. package/src/chain.ts +29 -28
  240. package/src/channel/Base.ts +33 -33
  241. package/src/channel/Contract.ts +8 -23
  242. package/src/channel/Spend.ts +2 -17
  243. package/src/channel/handlers.ts +5 -18
  244. package/src/channel/internal.ts +40 -22
  245. package/src/contract/Contract.ts +161 -170
  246. package/src/contract/compiler/Base.ts +10 -14
  247. package/src/contract/compiler/Cli.ts +5 -11
  248. package/src/contract/compiler/Http.ts +6 -25
  249. package/src/contract/delegation-signature.ts +56 -0
  250. package/src/contract/ga.ts +53 -32
  251. package/src/index-browser.ts +15 -21
  252. package/src/oracle.ts +46 -56
  253. package/src/spend.ts +33 -67
  254. package/src/tx/builder/SchemaTypes.ts +79 -0
  255. package/src/tx/builder/constants.ts +2 -0
  256. package/src/tx/builder/field-types/abi-version.ts +29 -6
  257. package/src/tx/builder/field-types/array.ts +1 -1
  258. package/src/tx/builder/field-types/coin-amount.ts +6 -4
  259. package/src/tx/builder/field-types/ct-version.ts +37 -4
  260. package/src/tx/builder/field-types/deposit.ts +3 -1
  261. package/src/tx/builder/field-types/encoded.ts +1 -1
  262. package/src/tx/builder/field-types/entry.ts +8 -3
  263. package/src/tx/builder/field-types/fee.ts +6 -4
  264. package/src/tx/builder/field-types/gas-limit.ts +2 -2
  265. package/src/tx/builder/field-types/index.ts +15 -1
  266. package/src/tx/builder/field-types/map.ts +45 -0
  267. package/src/tx/builder/field-types/mptree.ts +4 -3
  268. package/src/tx/builder/field-types/name-fee.ts +2 -1
  269. package/src/tx/builder/field-types/nonce.ts +40 -0
  270. package/src/tx/builder/field-types/short-u-int-const.ts +18 -8
  271. package/src/tx/builder/field-types/ttl.ts +24 -0
  272. package/src/tx/builder/field-types/wrapped.ts +32 -0
  273. package/src/tx/builder/index.ts +57 -71
  274. package/src/tx/builder/schema.generated.ts +2013 -0
  275. package/src/tx/builder/schema.ts +544 -624
  276. package/src/tx/execution-cost.ts +146 -0
  277. package/src/tx/transaction-signer.ts +27 -0
  278. package/src/tx/validator.ts +60 -91
  279. package/src/utils/amount-formatter.ts +0 -16
  280. package/src/utils/autorest.ts +52 -11
  281. package/src/utils/bytes.ts +0 -16
  282. package/src/utils/crypto.ts +0 -16
  283. package/src/utils/errors.ts +16 -45
  284. package/src/utils/string.ts +0 -17
  285. package/types-legacy/ts4.2/AeSdkAepp.d.ts +5 -4
  286. package/types-legacy/ts4.2/AeSdkMethods.d.ts +11 -12
  287. package/types-legacy/ts4.2/Node.d.ts +5 -1
  288. package/types-legacy/ts4.2/account/Base.d.ts +11 -6
  289. package/types-legacy/ts4.2/account/Memory.d.ts +2 -1
  290. package/types-legacy/ts4.2/aens.d.ts +12 -14
  291. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +6 -2
  292. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +1 -1
  293. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +3 -2
  294. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +1 -1
  295. package/types-legacy/ts4.2/apis/node/models/index.d.ts +15 -15
  296. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +1 -1
  297. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
  298. package/types-legacy/ts4.2/chain.d.ts +8 -8
  299. package/types-legacy/ts4.2/channel/Base.d.ts +25 -12
  300. package/types-legacy/ts4.2/channel/Spend.d.ts +4 -2
  301. package/types-legacy/ts4.2/channel/internal.d.ts +22 -2
  302. package/types-legacy/ts4.2/contract/Contract.d.ts +29 -84
  303. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +10 -14
  304. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +43 -0
  305. package/types-legacy/ts4.2/contract/ga.d.ts +23 -7
  306. package/types-legacy/ts4.2/index-browser.d.ts +5 -4
  307. package/types-legacy/ts4.2/oracle.d.ts +12 -17
  308. package/types-legacy/ts4.2/spend.d.ts +19 -27
  309. package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +37 -0
  310. package/types-legacy/ts4.2/tx/builder/constants.d.ts +4 -2
  311. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +11 -2
  312. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +1 -1
  313. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +3 -4
  314. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +33 -3
  315. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +2 -1
  316. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +1 -1
  317. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +3 -1
  318. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +3 -2
  319. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +3 -1
  320. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +52 -13
  321. package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +13 -0
  322. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +7 -2
  323. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
  324. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +14 -0
  325. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +4 -2
  326. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +11 -0
  327. package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +14 -0
  328. package/types-legacy/ts4.2/tx/builder/index.d.ts +23 -20
  329. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2962 -4629
  330. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +2011 -0
  331. package/types-legacy/ts4.2/tx/execution-cost.d.ts +35 -0
  332. package/types-legacy/ts4.2/tx/transaction-signer.d.ts +6 -0
  333. package/types-legacy/ts4.2/utils/autorest.d.ts +3 -2
  334. package/types-legacy/ts4.2/utils/errors.d.ts +14 -31
  335. package/types-legacy/ts4.2/utils/other.d.ts +1 -1
  336. package/types-legacy/ts4.5/AeSdkAepp.d.ts +5 -4
  337. package/types-legacy/ts4.5/AeSdkMethods.d.ts +11 -12
  338. package/types-legacy/ts4.5/Node.d.ts +5 -1
  339. package/types-legacy/ts4.5/account/Base.d.ts +11 -6
  340. package/types-legacy/ts4.5/account/Memory.d.ts +2 -1
  341. package/types-legacy/ts4.5/aens.d.ts +12 -14
  342. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +6 -2
  343. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +1 -1
  344. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +3 -2
  345. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +1 -1
  346. package/types-legacy/ts4.5/apis/node/models/index.d.ts +15 -15
  347. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +1 -1
  348. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
  349. package/types-legacy/ts4.5/chain.d.ts +8 -8
  350. package/types-legacy/ts4.5/channel/Base.d.ts +25 -12
  351. package/types-legacy/ts4.5/channel/Spend.d.ts +4 -2
  352. package/types-legacy/ts4.5/channel/internal.d.ts +22 -2
  353. package/types-legacy/ts4.5/contract/Contract.d.ts +29 -84
  354. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +10 -14
  355. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +43 -0
  356. package/types-legacy/ts4.5/contract/ga.d.ts +23 -7
  357. package/types-legacy/ts4.5/index-browser.d.ts +5 -4
  358. package/types-legacy/ts4.5/oracle.d.ts +12 -17
  359. package/types-legacy/ts4.5/spend.d.ts +19 -27
  360. package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +37 -0
  361. package/types-legacy/ts4.5/tx/builder/constants.d.ts +4 -2
  362. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +11 -2
  363. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +1 -1
  364. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +3 -4
  365. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +33 -3
  366. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +2 -1
  367. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +1 -1
  368. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +3 -1
  369. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +3 -2
  370. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +3 -1
  371. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +52 -13
  372. package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +13 -0
  373. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +7 -2
  374. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
  375. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +14 -0
  376. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +4 -2
  377. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +11 -0
  378. package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +14 -0
  379. package/types-legacy/ts4.5/tx/builder/index.d.ts +23 -20
  380. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2962 -4629
  381. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +2011 -0
  382. package/types-legacy/ts4.5/tx/execution-cost.d.ts +35 -0
  383. package/types-legacy/ts4.5/tx/transaction-signer.d.ts +6 -0
  384. package/types-legacy/ts4.5/utils/autorest.d.ts +3 -2
  385. package/types-legacy/ts4.5/utils/errors.d.ts +14 -31
  386. package/types-legacy/ts4.5/utils/other.d.ts +1 -1
  387. package/es/tx/index.d.ts +0 -19
  388. package/es/tx/index.mjs +0 -115
  389. package/es/tx/index.mjs.map +0 -1
  390. package/src/apis/compiler/code-model-v4.yaml +0 -2442
  391. package/src/apis/node/code-model-v4.yaml +0 -10080
  392. package/src/tx/index.ts +0 -129
  393. package/types-legacy/ts4.2/tx/index.d.ts +0 -19
  394. package/types-legacy/ts4.5/tx/index.d.ts +0 -19
@@ -1 +1 @@
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","Encoding","idTagToEncoding","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","CallReturnType","TX_SCHEMA","Account","ContractAddress","Name","ContractBytearray","SignedTx","SpendTx","AccountAddress","Bytearray","NamePreclaimTx","Commitment","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","Contract","ContractCreateTx","ContractCallTx","ContractCall","Oracle","OracleRegisterTx","OracleExtendTx","OracleAddress","OracleQueryTx","OracleResponseTx","OracleQueryId","ChannelCreateTx","State","ChannelCloseMutualTx","Channel","ChannelCloseSoloTx","Transaction","TreesPoi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","ChannelSettleTx","ChannelForceProgressTx","StateTrees","ChannelOffChainTx","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","ChannelClientReconnectTx","Mtree","MtreeValue","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaAttachTx","GaMetaTx","PayingForTx"],"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, pointers, entry, enumeration, mptree, shortUIntConst, string, encoded, raw,\n array, boolean, ctVersion, abiVersion,\n} from './field-types';\nimport { Encoding } from '../../utils/encoder';\nimport { UnionToIntersection } from '../../utils/other';\nimport { idTagToEncoding } 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,\n];\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\ntype TxElem = readonly [string, Field];\n\ntype BuildTxArgBySchemaType<Type extends Field> = Parameters<Type['serialize']>[0];\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]> }>\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\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const TX_SCHEMA = {\n [Tag.Account]: {\n 1: [\n ['tag', shortUIntConst(Tag.Account)],\n ['version', shortUIntConst(1)],\n ['nonce', shortUInt],\n ['balance', uInt],\n ],\n 2: [\n ['tag', shortUIntConst(Tag.Account)],\n ['version', shortUIntConst(2)],\n ['flags', uInt],\n ['nonce', shortUInt],\n ['balance', uInt],\n ['gaContract', address(Encoding.ContractAddress, Encoding.Name)],\n ['gaAuthFun', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.SignedTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.SignedTx)],\n ['version', shortUIntConst(1)],\n ['signatures', array(raw)],\n ['encodedTx', entry()],\n ],\n },\n [Tag.SpendTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.SpendTx)],\n ['version', shortUIntConst(1)],\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', encoded(Encoding.Bytearray, true)],\n ],\n },\n [Tag.Name]: {\n 1: [\n ['tag', shortUIntConst(Tag.Name)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nameTtl', shortUInt],\n ['status', raw],\n ['clientTtl', shortUInt],\n ['pointers', pointers],\n ],\n },\n [Tag.NamePreclaimTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.NamePreclaimTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.NameClaimTx)],\n ['version', shortUIntConst(2)],\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 ['tag', shortUIntConst(Tag.NameUpdateTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.NameTransferTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.NameRevokeTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.Contract)],\n ['version', shortUIntConst(1)],\n ['owner', address(Encoding.AccountAddress)],\n ['ctVersion', ctVersion],\n ['code', encoded(Encoding.ContractBytearray)],\n ['log', encoded(Encoding.ContractBytearray)],\n ['active', boolean],\n ['referers', array(address(Encoding.AccountAddress))],\n ['deposit', deposit],\n ],\n },\n [Tag.ContractCreateTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCreateTx)],\n ['version', shortUIntConst(1)],\n ['ownerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['code', encoded(Encoding.ContractBytearray)],\n ['ctVersion', ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['deposit', deposit],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ContractCallTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCallTx)],\n ['version', shortUIntConst(1)],\n ['callerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['contractId', address(Encoding.ContractAddress, Encoding.Name)],\n ['abiVersion', abiVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ContractCall]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCall)],\n ['version', shortUIntConst(1)],\n ['callerId', address(Encoding.AccountAddress)],\n ['callerNonce', shortUInt],\n ['height', shortUInt],\n ['contractId', address(Encoding.ContractAddress)],\n ['gasPrice', gasPrice],\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', raw],\n ],\n },\n [Tag.Oracle]: {\n 1: [\n ['tag', shortUIntConst(Tag.Oracle)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['queryFormat', string],\n ['responseFormat', string],\n ['queryFee', coinAmount],\n ['oracleTtlValue', shortUInt],\n ['abiVersion', abiVersion],\n ],\n },\n [Tag.OracleRegisterTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleRegisterTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['queryFormat', string],\n ['responseFormat', string],\n ['queryFee', coinAmount],\n ['oracleTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ['abiVersion', abiVersion],\n ],\n },\n [Tag.OracleExtendTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleExtendTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.OracleQueryTx)],\n ['version', shortUIntConst(1)],\n ['senderId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\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', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleResponseTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleResponseTx)],\n ['version', shortUIntConst(1)],\n ['oracleId', address(Encoding.OracleAddress)],\n ['nonce', shortUInt],\n ['queryId', encoded(Encoding.OracleQueryId)],\n ['response', string],\n ['responseTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.ChannelCreateTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.ChannelCreateTx)],\n ['version', shortUIntConst(2)],\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', array(address(...idTagToEncoding))],\n ['responderDelegateIds', array(address(...idTagToEncoding))],\n ['stateHash', encoded(Encoding.State)],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseMutualTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelCloseMutualTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.ChannelCloseSoloTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['poi', entry(Tag.TreesPoi)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSlashTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSlashTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['poi', entry(Tag.TreesPoi)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelDepositTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelDepositTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', encoded(Encoding.State)],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelWithdrawTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelWithdrawTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['toId', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', encoded(Encoding.State)],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSettleTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSettleTx)],\n ['version', shortUIntConst(1)],\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 ['tag', shortUIntConst(Tag.ChannelForceProgressTx)],\n ['version', shortUIntConst(1)],\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', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.ChannelOffChainTx)],\n ['version', shortUIntConst(2)],\n ['channelId', address(Encoding.Channel)],\n ['round', shortUInt],\n ['stateHash', encoded(Encoding.State)],\n ],\n },\n [Tag.Channel]: {\n 3: [\n ['tag', shortUIntConst(Tag.Channel)],\n ['version', shortUIntConst(3)],\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 },\n [Tag.ChannelSnapshotSoloTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSnapshotSoloTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainUpdateTransfer]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateTransfer)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['to', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateDeposit]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateDeposit)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateWithdraw]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateWithdraw)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateCreateContract]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateCreateContract)],\n ['version', shortUIntConst(1)],\n ['owner', address(Encoding.AccountAddress)],\n ['ctVersion', ctVersion],\n ['code', encoded(Encoding.ContractBytearray)],\n ['deposit', uInt],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ChannelOffChainUpdateCallContract]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateCallContract)],\n ['version', shortUIntConst(1)],\n ['caller', address(Encoding.AccountAddress)],\n ['contract', address(Encoding.ContractAddress)],\n ['abiVersion', abiVersion],\n ['amount', uInt],\n ['callData', encoded(Encoding.ContractBytearray)],\n ['callStack', raw],\n ['gasPrice', gasPrice],\n ['gasLimit', gasLimit],\n ],\n },\n [Tag.ChannelClientReconnectTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelClientReconnectTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['round', shortUInt],\n ['role', string],\n ['pubkey', address(Encoding.AccountAddress)],\n ],\n },\n [Tag.TreesPoi]: {\n 1: [\n ['tag', shortUIntConst(Tag.TreesPoi)],\n ['version', shortUIntConst(1)],\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 },\n [Tag.StateTrees]: {\n 1: [\n ['tag', shortUIntConst(Tag.StateTrees)],\n ['version', shortUIntConst(1)],\n ['contracts', entry()],\n ['calls', entry()],\n ['channels', entry()],\n ['ns', entry()],\n ['oracles', entry()],\n ['accounts', entry()],\n ],\n },\n [Tag.Mtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.Mtree)],\n ['version', shortUIntConst(1)],\n ['values', array(entry())],\n ],\n },\n [Tag.MtreeValue]: {\n 1: [\n ['tag', shortUIntConst(Tag.MtreeValue)],\n ['version', shortUIntConst(1)],\n ['key', raw],\n ['value', raw],\n ],\n },\n [Tag.ContractsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractsMtree)],\n ['version', shortUIntConst(1)],\n ['contracts', entry()],\n ],\n },\n [Tag.CallsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.CallsMtree)],\n ['version', shortUIntConst(1)],\n ['calls', entry()],\n ],\n },\n [Tag.ChannelsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelsMtree)],\n ['version', shortUIntConst(1)],\n ['channels', entry()],\n ],\n },\n [Tag.NameserviceMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.NameserviceMtree)],\n ['version', shortUIntConst(1)],\n ['mtree', entry()],\n ],\n },\n [Tag.OraclesMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.OraclesMtree)],\n ['version', shortUIntConst(1)],\n ['otree', entry()],\n ],\n },\n [Tag.AccountsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.AccountsMtree)],\n ['version', shortUIntConst(1)],\n ['accounts', entry()],\n ],\n },\n [Tag.GaAttachTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.GaAttachTx)],\n ['version', shortUIntConst(1)],\n ['ownerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['code', encoded(Encoding.ContractBytearray)],\n ['authFun', raw],\n ['ctVersion', ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.GaMetaTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.GaMetaTx)],\n ['version', shortUIntConst(2)],\n ['gaId', address(Encoding.AccountAddress)],\n ['authData', encoded(Encoding.ContractBytearray)],\n ['abiVersion', abiVersion],\n ['fee', fee],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['tx', entry()],\n ],\n },\n [Tag.PayingForTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.PayingForTx)],\n ['version', shortUIntConst(1)],\n ['payerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['fee', fee],\n ['tx', entry()],\n ],\n },\n} as const;\n\ntype TxTypeSchemasNotCombined = {\n [tag in Tag]: {\n [ver in keyof typeof TX_SCHEMA[tag]]: BuildTxArgBySchema<typeof TX_SCHEMA[tag][ver]>\n }\n};\n\nexport type TxTypeSchemas = {\n [key in Tag]: TxTypeSchemasNotCombined[key][keyof TxTypeSchemasNotCombined[key]]\n};\n\nexport type TxSchema = TxTypeSchemas[Tag];\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAAA,SAGSA,GAAG;AAAA,SAEHC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAC3FC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,WAAW,EAAEC,MAAM,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EACnFC,KAAK,EAAEC,OAAO,EAAEC,SAAS,EAAEC,UAAU;AAAA,SAE9BC,QAAQ;AAAA,SAERC,eAAe;AAExB,WAAYC,gBAAgB;;AAK5B;AAAA,WALYA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAhBA,gBAAgB;AAM5B,OAAO,MAAMC,MAAM,GAAG,CAAC;AACvB;AACA,OAAO,MAAMC,SAAS,GAAG,KAAK;AAC9B,OAAO,MAAMC,UAAU,GAAG;EAAEC,IAAI,EAAEJ,gBAAgB,CAACK,KAAK;EAAEC,KAAK,EAAE;AAAI,CAAC;AACtE,OAAO,MAAMC,SAAS,GAAG;EAAEH,IAAI,EAAEJ,gBAAgB,CAACK,KAAK;EAAEC,KAAK,EAAE;AAAG,CAAC;AACpE,OAAO,MAAME,YAAY,GAAG;EAAEJ,IAAI,EAAEJ,gBAAgB,CAACK,KAAK;EAAEC,KAAK,EAAE;AAAG,CAAC;AACvE;AACA,OAAO,MAAMG,eAAe,GAAG;EAC7BC,GAAG,EAAE,2CAA2C;EAChDC,MAAM,EAAE;AACV,CAAU;AAOV,WAAYC,cAAc;AAIzB,WAJWA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AA4B1B;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG;EACvB,CAACvC,GAAG,CAACwC,OAAO,GAAG;IACb,CAAC,EAAE,CACD,CAAC,KAAK,EAAExB,cAAc,CAAChB,GAAG,CAACwC,OAAO,CAAC,CAAC,EACpC,CAAC,SAAS,EAAExB,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEd,SAAS,CAAC,EACpB,CAAC,SAAS,EAAED,IAAI,CAAC,CAClB;IACD,CAAC,EAAE,CACD,CAAC,KAAK,EAAEe,cAAc,CAAChB,GAAG,CAACwC,OAAO,CAAC,CAAC,EACpC,CAAC,SAAS,EAAExB,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEf,IAAI,CAAC,EACf,CAAC,OAAO,EAAEC,SAAS,CAAC,EACpB,CAAC,SAAS,EAAED,IAAI,CAAC,EACjB,CAAC,YAAY,EAAEU,OAAO,CAACa,QAAQ,CAACiB,eAAe,EAAEjB,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAChE,CAAC,WAAW,EAAExB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAEtD,CAAC;EACD,CAAC3C,GAAG,CAAC4C,QAAQ,GAAG;IACd,CAAC,EAAE,CACD,CAAC,KAAK,EAAE5B,cAAc,CAAChB,GAAG,CAAC4C,QAAQ,CAAC,CAAC,EACrC,CAAC,SAAS,EAAE5B,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,YAAY,EAAEI,KAAK,CAACD,GAAG,CAAC,CAAC,EAC1B,CAAC,WAAW,EAAEN,KAAK,EAAE,CAAC;EAE1B,CAAC;EACD,CAACb,GAAG,CAAC6C,OAAO,GAAG;IACb,CAAC,EAAE,CACD,CAAC,KAAK,EAAE7B,cAAc,CAAChB,GAAG,CAAC6C,OAAO,CAAC,CAAC,EACpC,CAAC,SAAS,EAAE7B,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC9C,CAAC,aAAa,EAAEnC,OAAO,CAACa,QAAQ,CAACsB,cAAc,EAAEtB,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAChE,CAAC,QAAQ,EAAEvC,UAAU,CAAC,EACtB,CAAC,KAAK,EAAEO,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC,EAClB,CAAC,OAAO,EAAEA,SAAS,CAAC,EACpB,CAAC,SAAS,EAAEgB,OAAO,CAACM,QAAQ,CAACuB,SAAS,EAAE,IAAI,CAAC,CAAC;EAElD,CAAC;EACD,CAAC/C,GAAG,CAAC0C,IAAI,GAAG;IACV,CAAC,EAAE,CACD,CAAC,KAAK,EAAE1B,cAAc,CAAChB,GAAG,CAAC0C,IAAI,CAAC,CAAC,EACjC,CAAC,SAAS,EAAE1B,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,SAAS,EAAE5C,SAAS,CAAC,EACtB,CAAC,QAAQ,EAAEiB,GAAG,CAAC,EACf,CAAC,WAAW,EAAEjB,SAAS,CAAC,EACxB,CAAC,UAAU,EAAEU,QAAQ,CAAC;EAE1B,CAAC;EACD,CAACZ,GAAG,CAACgD,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEhC,cAAc,CAAChB,GAAG,CAACgD,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAEhC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,cAAc,EAAES,OAAO,CAACa,QAAQ,CAACyB,UAAU,CAAC,CAAC,EAC9C,CAAC,KAAK,EAAEvC,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACkD,WAAW,GAAG;IACjB,CAAC,EAAE,CACD,CAAC,KAAK,EAAElC,cAAc,CAAChB,GAAG,CAACkD,WAAW,CAAC,CAAC,EACxC,CAAC,SAAS,EAAElC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,MAAM,EAAEE,IAAI,CAAC,EACd,CAAC,UAAU,EAAEH,IAAI,CAAC,EAClB,CAAC,SAAS,EAAEK,OAAO,CAAC,EACpB,CAAC,KAAK,EAAEI,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACmD,YAAY,GAAG;IAClB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEnC,cAAc,CAAChB,GAAG,CAACmD,YAAY,CAAC,CAAC,EACzC,CAAC,SAAS,EAAEnC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,QAAQ,EAAEG,MAAM,CAAC,EAClB,CAAC,SAAS,EAAEH,SAAS,CAAC,EACtB,CAAC,UAAU,EAAEU,QAAQ,CAAC,EACtB,CAAC,WAAW,EAAEV,SAAS,CAAC,EACxB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACoD,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEpC,cAAc,CAAChB,GAAG,CAACoD,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAEpC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,QAAQ,EAAEG,MAAM,CAAC,EAClB,CAAC,aAAa,EAAEM,OAAO,CAACa,QAAQ,CAACsB,cAAc,EAAEtB,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAChE,CAAC,KAAK,EAAEhC,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACqD,YAAY,GAAG;IAClB,CAAC,EAAE,CACD,CAAC,KAAK,EAAErC,cAAc,CAAChB,GAAG,CAACqD,YAAY,CAAC,CAAC,EACzC,CAAC,SAAS,EAAErC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,QAAQ,EAAEG,MAAM,CAAC,EAClB,CAAC,KAAK,EAAEK,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACsD,QAAQ,GAAG;IACd,CAAC,EAAE,CACD,CAAC,KAAK,EAAEtC,cAAc,CAAChB,GAAG,CAACsD,QAAQ,CAAC,CAAC,EACrC,CAAC,SAAS,EAAEtC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC3C,CAAC,WAAW,EAAExB,SAAS,CAAC,EACxB,CAAC,MAAM,EAAEJ,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC7C,CAAC,KAAK,EAAEzB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC5C,CAAC,QAAQ,EAAEtB,OAAO,CAAC,EACnB,CAAC,UAAU,EAAED,KAAK,CAACT,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,CAAC,EACrD,CAAC,SAAS,EAAEvC,OAAO,CAAC;EAExB,CAAC;EACD,CAACP,GAAG,CAACuD,gBAAgB,GAAG;IACtB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEvC,cAAc,CAAChB,GAAG,CAACuD,gBAAgB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAEvC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC7C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,MAAM,EAAEgB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC7C,CAAC,WAAW,EAAErB,SAAS,CAAC,EACxB,CAAC,KAAK,EAAEZ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC,EAClB,CAAC,SAAS,EAAEK,OAAO,CAAC,EACpB,CAAC,QAAQ,EAAEJ,UAAU,CAAC,EACtB,CAAC,UAAU,EAAEK,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAEC,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAES,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAErD,CAAC;EACD,CAAC3C,GAAG,CAACwD,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAExC,cAAc,CAAChB,GAAG,CAACwD,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAExC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC9C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,YAAY,EAAES,OAAO,CAACa,QAAQ,CAACiB,eAAe,EAAEjB,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAChE,CAAC,YAAY,EAAEnB,UAAU,CAAC,EAC1B,CAAC,KAAK,EAAEb,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC,EAClB,CAAC,QAAQ,EAAEC,UAAU,CAAC,EACtB,CAAC,UAAU,EAAEK,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAEC,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAES,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAErD,CAAC;EACD,CAAC3C,GAAG,CAACyD,YAAY,GAAG;IAClB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEzC,cAAc,CAAChB,GAAG,CAACyD,YAAY,CAAC,CAAC,EACzC,CAAC,SAAS,EAAEzC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC9C,CAAC,aAAa,EAAE5C,SAAS,CAAC,EAC1B,CAAC,QAAQ,EAAEA,SAAS,CAAC,EACrB,CAAC,YAAY,EAAES,OAAO,CAACa,QAAQ,CAACiB,eAAe,CAAC,CAAC,EACjD,CAAC,UAAU,EAAEhC,QAAQ,CAAC,EACtB,CAAC,SAAS,EAAEP,SAAS,CAAC,EACtB,CAAC,aAAa,EAAEgB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EACpD,CAAC,YAAY,EAAE7B,WAAW,CAACwB,cAAc,CAAC,CAAC;IAC3C;IACA;IACA,CAAC,KAAK,EAAEnB,GAAG,CAAC;EAEhB,CAAC;EACD,CAACnB,GAAG,CAAC0D,MAAM,GAAG;IACZ,CAAC,EAAE,CACD,CAAC,KAAK,EAAE1C,cAAc,CAAChB,GAAG,CAAC0D,MAAM,CAAC,CAAC,EACnC,CAAC,SAAS,EAAE1C,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,aAAa,EAAE7B,MAAM,CAAC,EACvB,CAAC,gBAAgB,EAAEA,MAAM,CAAC,EAC1B,CAAC,UAAU,EAAEd,UAAU,CAAC,EACxB,CAAC,gBAAgB,EAAED,SAAS,CAAC,EAC7B,CAAC,YAAY,EAAEqB,UAAU,CAAC;EAE9B,CAAC;EACD,CAACvB,GAAG,CAAC2D,gBAAgB,GAAG;IACtB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE3C,cAAc,CAAChB,GAAG,CAAC2D,gBAAgB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAE3C,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,aAAa,EAAEe,MAAM,CAAC,EACvB,CAAC,gBAAgB,EAAEA,MAAM,CAAC,EAC1B,CAAC,UAAU,EAAEd,UAAU,CAAC,EACxB,CAAC,eAAe,EAAEW,WAAW,CAACY,gBAAgB,CAAC,CAAC,EAChD,CAAC,gBAAgB,EAAExB,SAAS,CAAC,EAC7B,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC,EAClB,CAAC,YAAY,EAAEqB,UAAU,CAAC;EAE9B,CAAC;EACD,CAACvB,GAAG,CAAC4D,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE5C,cAAc,CAAChB,GAAG,CAAC4D,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAE5C,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACqC,aAAa,EAAErC,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAC5D,CAAC,OAAO,EAAExC,SAAS,CAAC,EACpB,CAAC,eAAe,EAAEY,WAAW,CAACY,gBAAgB,CAAC,CAAC,EAChD,CAAC,gBAAgB,EAAExB,SAAS,CAAC,EAC7B,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAAC8D,aAAa,GAAG;IACnB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE9C,cAAc,CAAChB,GAAG,CAAC8D,aAAa,CAAC,CAAC,EAC1C,CAAC,SAAS,EAAE9C,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC9C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,UAAU,EAAES,OAAO,CAACa,QAAQ,CAACqC,aAAa,EAAErC,QAAQ,CAACkB,IAAI,CAAC,CAAC,EAC5D,CAAC,OAAO,EAAEzB,MAAM,CAAC,EACjB,CAAC,UAAU,EAAEd,UAAU,CAAC,EACxB,CAAC,cAAc,EAAEW,WAAW,CAACY,gBAAgB,CAAC,CAAC,EAC/C,CAAC,eAAe,EAAExB,SAAS,CAAC,EAC5B,CAAC,iBAAiB,EAAEY,WAAW,CAACY,gBAAgB,CAAC,CAAC,EAClD,CAAC,kBAAkB,EAAExB,SAAS,CAAC,EAC/B,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAAC+D,gBAAgB,GAAG;IACtB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE/C,cAAc,CAAChB,GAAG,CAAC+D,gBAAgB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAE/C,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEL,OAAO,CAACa,QAAQ,CAACqC,aAAa,CAAC,CAAC,EAC7C,CAAC,OAAO,EAAE3D,SAAS,CAAC,EACpB,CAAC,SAAS,EAAEgB,OAAO,CAACM,QAAQ,CAACwC,aAAa,CAAC,CAAC,EAC5C,CAAC,UAAU,EAAE/C,MAAM,CAAC,EACpB,CAAC,iBAAiB,EAAEH,WAAW,CAACY,gBAAgB,CAAC,CAAC,EAClD,CAAC,kBAAkB,EAAExB,SAAS,CAAC,EAC/B,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC;EAEtB,CAAC;EACD,CAACF,GAAG,CAACiE,eAAe,GAAG;IACrB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEjD,cAAc,CAAChB,GAAG,CAACiE,eAAe,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAEjD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,iBAAiB,EAAE7C,IAAI,CAAC,EACzB,CAAC,WAAW,EAAEU,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,iBAAiB,EAAE7C,IAAI,CAAC,EACzB,CAAC,gBAAgB,EAAEA,IAAI,CAAC,EACxB,CAAC,YAAY,EAAEA,IAAI,CAAC,EACpB,CAAC,KAAK,EAAEC,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,sBAAsB,EAAEU,KAAK,CAACT,OAAO,CAAC,GAAGc,eAAe,CAAC,CAAC,CAAC,EAC5D,CAAC,sBAAsB,EAAEL,KAAK,CAACT,OAAO,CAAC,GAAGc,eAAe,CAAC,CAAC,CAAC,EAC5D,CAAC,WAAW,EAAEP,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC,EACtC,CAAC,OAAO,EAAEhE,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAACmE,oBAAoB,GAAG;IAC1B,CAAC,EAAE,CACD,CAAC,KAAK,EAAEnD,cAAc,CAAChB,GAAG,CAACmE,oBAAoB,CAAC,CAAC,EACjD,CAAC,SAAS,EAAEnD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,sBAAsB,EAAE7C,IAAI,CAAC,EAC9B,CAAC,sBAAsB,EAAEA,IAAI,CAAC,EAC9B,CAAC,KAAK,EAAEC,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAACqE,kBAAkB,GAAG;IACxB,CAAC,EAAE,CACD,CAAC,KAAK,EAAErD,cAAc,CAAChB,GAAG,CAACqE,kBAAkB,CAAC,CAAC,EAC/C,CAAC,SAAS,EAAErD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAE5B,OAAO,CAACM,QAAQ,CAAC8C,WAAW,CAAC,CAAC,EAC1C,CAAC,KAAK,EAAEzD,KAAK,CAACb,GAAG,CAACuE,QAAQ,CAAC,CAAC,EAC5B,CAAC,KAAK,EAAErE,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAACwE,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAExD,cAAc,CAAChB,GAAG,CAACwE,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAExD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAE5B,OAAO,CAACM,QAAQ,CAAC8C,WAAW,CAAC,CAAC,EAC1C,CAAC,KAAK,EAAEzD,KAAK,CAACb,GAAG,CAACuE,QAAQ,CAAC,CAAC,EAC5B,CAAC,KAAK,EAAErE,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAACyE,gBAAgB,GAAG;IACtB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEzD,cAAc,CAAChB,GAAG,CAACyE,gBAAgB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAEzD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,QAAQ,EAAE7C,IAAI,CAAC,EAChB,CAAC,KAAK,EAAEC,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,WAAW,EAAEQ,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC,EACtC,CAAC,OAAO,EAAEhE,SAAS,CAAC,EACpB,CAAC,OAAO,EAAEA,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAAC0E,iBAAiB,GAAG;IACvB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE1D,cAAc,CAAChB,GAAG,CAAC0E,iBAAiB,CAAC,CAAC,EAC9C,CAAC,SAAS,EAAE1D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,MAAM,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC1C,CAAC,QAAQ,EAAE7C,IAAI,CAAC,EAChB,CAAC,KAAK,EAAEC,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,WAAW,EAAEQ,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC,EACtC,CAAC,OAAO,EAAEhE,SAAS,CAAC,EACpB,CAAC,OAAO,EAAEA,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAAC2E,eAAe,GAAG;IACrB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE3D,cAAc,CAAChB,GAAG,CAAC2E,eAAe,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAE3D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,sBAAsB,EAAE7C,IAAI,CAAC,EAC9B,CAAC,sBAAsB,EAAEA,IAAI,CAAC,EAC9B,CAAC,KAAK,EAAEC,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAAC4E,sBAAsB,GAAG;IAC5B,CAAC,EAAE,CACD,CAAC,KAAK,EAAE5D,cAAc,CAAChB,GAAG,CAAC4E,sBAAsB,CAAC,CAAC,EACnD,CAAC,SAAS,EAAE5D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAE5B,OAAO,CAACM,QAAQ,CAAC8C,WAAW,CAAC,CAAC,EAC1C,CAAC,OAAO,EAAEpE,SAAS,CAAC,EACpB,CAAC,QAAQ,EAAEgB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC/C,CAAC,WAAW,EAAEzB,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC,EACtC,CAAC,eAAe,EAAEhD,OAAO,CAACM,QAAQ,CAACqD,UAAU,CAAC,CAAC,EAC/C,CAAC,KAAK,EAAE3E,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAAC8E,iBAAiB,GAAG;IACvB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE9D,cAAc,CAAChB,GAAG,CAAC8E,iBAAiB,CAAC,CAAC,EAC9C,CAAC,SAAS,EAAE9D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,OAAO,EAAElE,SAAS,CAAC,EACpB,CAAC,WAAW,EAAEgB,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC;EAE1C,CAAC;EACD,CAAClE,GAAG,CAACoE,OAAO,GAAG;IACb,CAAC,EAAE,CACD,CAAC,KAAK,EAAEpD,cAAc,CAAChB,GAAG,CAACoE,OAAO,CAAC,CAAC,EACpC,CAAC,SAAS,EAAEpD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,WAAW,EAAEnC,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC/C,CAAC,eAAe,EAAE7C,IAAI,CAAC,EACvB,CAAC,iBAAiB,EAAEA,IAAI,CAAC,EACzB,CAAC,iBAAiB,EAAEA,IAAI,CAAC,EACzB,CAAC,gBAAgB,EAAEA,IAAI,CAAC,EACxB,CAAC,sBAAsB,EAAEmB,KAAK,CAACT,OAAO,CAAC,GAAGc,eAAe,CAAC,CAAC,CAAC,EAC5D,CAAC,sBAAsB,EAAEL,KAAK,CAACT,OAAO,CAAC,GAAGc,eAAe,CAAC,CAAC,CAAC,EAC5D,CAAC,WAAW,EAAEP,OAAO,CAACM,QAAQ,CAAC0C,KAAK,CAAC,CAAC,EACtC,CAAC,OAAO,EAAEhE,SAAS,CAAC,EACpB,CAAC,WAAW,EAAED,IAAI,CAAC,EACnB,CAAC,YAAY,EAAEA,IAAI,CAAC,EACpB,CAAC,aAAa,EAAEA,IAAI,CAAC,EACrB,CAAC,eAAe,EAAEiB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EACtD,CAAC,eAAe,EAAEzB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAE1D,CAAC;EACD,CAAC3C,GAAG,CAAC+E,qBAAqB,GAAG;IAC3B,CAAC,EAAE,CACD,CAAC,KAAK,EAAE/D,cAAc,CAAChB,GAAG,CAAC+E,qBAAqB,CAAC,CAAC,EAClD,CAAC,SAAS,EAAE/D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAEzD,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,SAAS,EAAE5B,OAAO,CAACM,QAAQ,CAAC8C,WAAW,CAAC,CAAC,EAC1C,CAAC,KAAK,EAAEpE,SAAS,CAAC,EAClB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,OAAO,EAAER,SAAS,CAAC;EAExB,CAAC;EACD,CAACF,GAAG,CAACgF,6BAA6B,GAAG;IACnC,CAAC,EAAE,CACD,CAAC,KAAK,EAAEhE,cAAc,CAAChB,GAAG,CAACgF,6BAA6B,CAAC,CAAC,EAC1D,CAAC,SAAS,EAAEhE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,MAAM,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC1C,CAAC,IAAI,EAAEnC,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EACxC,CAAC,QAAQ,EAAE7C,IAAI,CAAC;EAEpB,CAAC;EACD,CAACD,GAAG,CAACiF,4BAA4B,GAAG;IAClC,CAAC,EAAE,CACD,CAAC,KAAK,EAAEjE,cAAc,CAAChB,GAAG,CAACiF,4BAA4B,CAAC,CAAC,EACzD,CAAC,SAAS,EAAEjE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,MAAM,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC1C,CAAC,QAAQ,EAAE7C,IAAI,CAAC;EAEpB,CAAC;EACD,CAACD,GAAG,CAACkF,6BAA6B,GAAG;IACnC,CAAC,EAAE,CACD,CAAC,KAAK,EAAElE,cAAc,CAAChB,GAAG,CAACkF,6BAA6B,CAAC,CAAC,EAC1D,CAAC,SAAS,EAAElE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,MAAM,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC1C,CAAC,QAAQ,EAAE7C,IAAI,CAAC;EAEpB,CAAC;EACD,CAACD,GAAG,CAACmF,mCAAmC,GAAG;IACzC,CAAC,EAAE,CACD,CAAC,KAAK,EAAEnE,cAAc,CAAChB,GAAG,CAACmF,mCAAmC,CAAC,CAAC,EAChE,CAAC,SAAS,EAAEnE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC3C,CAAC,WAAW,EAAExB,SAAS,CAAC,EACxB,CAAC,MAAM,EAAEJ,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAE1C,IAAI,CAAC,EACjB,CAAC,UAAU,EAAEiB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAErD,CAAC;EACD,CAAC3C,GAAG,CAACoF,iCAAiC,GAAG;IACvC,CAAC,EAAE,CACD,CAAC,KAAK,EAAEpE,cAAc,CAAChB,GAAG,CAACoF,iCAAiC,CAAC,CAAC,EAC9D,CAAC,SAAS,EAAEpE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,QAAQ,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC5C,CAAC,UAAU,EAAEnC,OAAO,CAACa,QAAQ,CAACiB,eAAe,CAAC,CAAC,EAC/C,CAAC,YAAY,EAAElB,UAAU,CAAC,EAC1B,CAAC,QAAQ,EAAEtB,IAAI,CAAC,EAChB,CAAC,UAAU,EAAEiB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EACjD,CAAC,WAAW,EAAExB,GAAG,CAAC,EAClB,CAAC,UAAU,EAAEV,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAED,QAAQ,CAAC;EAE1B,CAAC;EACD,CAACR,GAAG,CAACqF,wBAAwB,GAAG;IAC9B,CAAC,EAAE,CACD,CAAC,KAAK,EAAErE,cAAc,CAAChB,GAAG,CAACqF,wBAAwB,CAAC,CAAC,EACrD,CAAC,SAAS,EAAErE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEL,OAAO,CAACa,QAAQ,CAAC4C,OAAO,CAAC,CAAC,EACxC,CAAC,OAAO,EAAElE,SAAS,CAAC,EACpB,CAAC,MAAM,EAAEe,MAAM,CAAC,EAChB,CAAC,QAAQ,EAAEN,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC;EAEhD,CAAC;EACD,CAAC9C,GAAG,CAACuE,QAAQ,GAAG;IACd,CAAC,EAAE,CACD,CAAC,KAAK,EAAEvD,cAAc,CAAChB,GAAG,CAACuE,QAAQ,CAAC,CAAC,EACrC,CAAC,SAAS,EAAEvD,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEI,KAAK,CAACL,MAAM,CAACS,QAAQ,CAACsB,cAAc,EAAE9C,GAAG,CAACwC,OAAO,CAAC,CAAC,CAAC,EACjE,CAAC,OAAO,EAAEpB,KAAK,CAACL,MAAM,CAACS,QAAQ,CAACuB,SAAS,EAAE/C,GAAG,CAACyD,YAAY,CAAC,CAAC,CAAC,EAC9D,CAAC,UAAU,EAAErC,KAAK,CAACL,MAAM,CAACS,QAAQ,CAAC4C,OAAO,EAAEpE,GAAG,CAACoE,OAAO,CAAC,CAAC,CAAC,EAC1D,CAAC,WAAW,EAAEhD,KAAK,CAACL,MAAM,CAACS,QAAQ,CAACiB,eAAe,EAAEzC,GAAG,CAACsD,QAAQ,CAAC,CAAC,CAAC,EACpE,CAAC,IAAI,EAAElC,KAAK,CAACL,MAAM,CAACS,QAAQ,CAACkB,IAAI,EAAE1C,GAAG,CAAC0C,IAAI,CAAC,CAAC,CAAC,EAC9C,CAAC,SAAS,EAAEtB,KAAK,CAACL,MAAM,CAACS,QAAQ,CAACqC,aAAa,EAAE7D,GAAG,CAAC0D,MAAM,CAAC,CAAC,CAAC;EAElE,CAAC;EACD,CAAC1D,GAAG,CAAC6E,UAAU,GAAG;IAChB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE7D,cAAc,CAAChB,GAAG,CAAC6E,UAAU,CAAC,CAAC,EACvC,CAAC,SAAS,EAAE7D,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEH,KAAK,EAAE,CAAC,EACtB,CAAC,OAAO,EAAEA,KAAK,EAAE,CAAC,EAClB,CAAC,UAAU,EAAEA,KAAK,EAAE,CAAC,EACrB,CAAC,IAAI,EAAEA,KAAK,EAAE,CAAC,EACf,CAAC,SAAS,EAAEA,KAAK,EAAE,CAAC,EACpB,CAAC,UAAU,EAAEA,KAAK,EAAE,CAAC;EAEzB,CAAC;EACD,CAACb,GAAG,CAACsF,KAAK,GAAG;IACX,CAAC,EAAE,CACD,CAAC,KAAK,EAAEtE,cAAc,CAAChB,GAAG,CAACsF,KAAK,CAAC,CAAC,EAClC,CAAC,SAAS,EAAEtE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,QAAQ,EAAEI,KAAK,CAACP,KAAK,EAAE,CAAC,CAAC;EAE9B,CAAC;EACD,CAACb,GAAG,CAACuF,UAAU,GAAG;IAChB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEvE,cAAc,CAAChB,GAAG,CAACuF,UAAU,CAAC,CAAC,EACvC,CAAC,SAAS,EAAEvE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,KAAK,EAAEG,GAAG,CAAC,EACZ,CAAC,OAAO,EAAEA,GAAG,CAAC;EAElB,CAAC;EACD,CAACnB,GAAG,CAACwF,cAAc,GAAG;IACpB,CAAC,EAAE,CACD,CAAC,KAAK,EAAExE,cAAc,CAAChB,GAAG,CAACwF,cAAc,CAAC,CAAC,EAC3C,CAAC,SAAS,EAAExE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,WAAW,EAAEH,KAAK,EAAE,CAAC;EAE1B,CAAC;EACD,CAACb,GAAG,CAACyF,UAAU,GAAG;IAChB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEzE,cAAc,CAAChB,GAAG,CAACyF,UAAU,CAAC,CAAC,EACvC,CAAC,SAAS,EAAEzE,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEH,KAAK,EAAE,CAAC;EAEtB,CAAC;EACD,CAACb,GAAG,CAAC0F,aAAa,GAAG;IACnB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE1E,cAAc,CAAChB,GAAG,CAAC0F,aAAa,CAAC,CAAC,EAC1C,CAAC,SAAS,EAAE1E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEH,KAAK,EAAE,CAAC;EAEzB,CAAC;EACD,CAACb,GAAG,CAAC2F,gBAAgB,GAAG;IACtB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE3E,cAAc,CAAChB,GAAG,CAAC2F,gBAAgB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAE3E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEH,KAAK,EAAE,CAAC;EAEtB,CAAC;EACD,CAACb,GAAG,CAAC4F,YAAY,GAAG;IAClB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE5E,cAAc,CAAChB,GAAG,CAAC4F,YAAY,CAAC,CAAC,EACzC,CAAC,SAAS,EAAE5E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,OAAO,EAAEH,KAAK,EAAE,CAAC;EAEtB,CAAC;EACD,CAACb,GAAG,CAAC6F,aAAa,GAAG;IACnB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE7E,cAAc,CAAChB,GAAG,CAAC6F,aAAa,CAAC,CAAC,EAC1C,CAAC,SAAS,EAAE7E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,UAAU,EAAEH,KAAK,EAAE,CAAC;EAEzB,CAAC;EACD,CAACb,GAAG,CAAC8F,UAAU,GAAG;IAChB,CAAC,EAAE,CACD,CAAC,KAAK,EAAE9E,cAAc,CAAChB,GAAG,CAAC8F,UAAU,CAAC,CAAC,EACvC,CAAC,SAAS,EAAE9E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC7C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,MAAM,EAAEgB,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EAC7C,CAAC,SAAS,EAAExB,GAAG,CAAC,EAChB,CAAC,WAAW,EAAEG,SAAS,CAAC,EACxB,CAAC,KAAK,EAAEZ,GAAG,CAAC,EACZ,CAAC,KAAK,EAAER,SAAS,CAAC,EAClB,CAAC,UAAU,EAAEM,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAEC,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAES,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC;EAErD,CAAC;EACD,CAAC3C,GAAG,CAAC+F,QAAQ,GAAG;IACd,CAAC,EAAE,CACD,CAAC,KAAK,EAAE/E,cAAc,CAAChB,GAAG,CAAC+F,QAAQ,CAAC,CAAC,EACrC,CAAC,SAAS,EAAE/E,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,MAAM,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC1C,CAAC,UAAU,EAAE5B,OAAO,CAACM,QAAQ,CAACmB,iBAAiB,CAAC,CAAC,EACjD,CAAC,YAAY,EAAEpB,UAAU,CAAC,EAC1B,CAAC,KAAK,EAAEb,GAAG,CAAC,EACZ,CAAC,UAAU,EAAEF,QAAQ,CAAC,EACtB,CAAC,UAAU,EAAEC,QAAQ,CAAC,EACtB,CAAC,IAAI,EAAEI,KAAK,EAAE,CAAC;EAEnB,CAAC;EACD,CAACb,GAAG,CAACgG,WAAW,GAAG;IACjB,CAAC,EAAE,CACD,CAAC,KAAK,EAAEhF,cAAc,CAAChB,GAAG,CAACgG,WAAW,CAAC,CAAC,EACxC,CAAC,SAAS,EAAEhF,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,EAAEL,OAAO,CAACa,QAAQ,CAACsB,cAAc,CAAC,CAAC,EAC7C,CAAC,OAAO,EAAE5C,SAAS,CAAC,EACpB,CAAC,KAAK,EAAEQ,GAAG,CAAC,EACZ,CAAC,IAAI,EAAEG,KAAK,EAAE,CAAC;EAEnB;AACF,CAAU"}
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"}