@aeternity/aepp-sdk 13.0.1 → 13.2.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 (322) hide show
  1. package/README.md +4 -2
  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 +28490 -17706
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdkAepp.mjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +21 -3
  11. package/es/AeSdkBase.mjs +51 -3
  12. package/es/AeSdkBase.mjs.map +1 -1
  13. package/es/AeSdkMethods.d.ts +9 -14
  14. package/es/AeSdkMethods.mjs +20 -49
  15. package/es/AeSdkMethods.mjs.map +1 -1
  16. package/es/AeSdkWallet.d.ts +1 -1
  17. package/es/AeSdkWallet.mjs +79 -23
  18. package/es/AeSdkWallet.mjs.map +1 -1
  19. package/es/Middleware.d.ts +38 -0
  20. package/es/Middleware.mjs +90 -0
  21. package/es/Middleware.mjs.map +1 -0
  22. package/es/MiddlewareSubscriber.d.ts +30 -0
  23. package/es/MiddlewareSubscriber.mjs +198 -0
  24. package/es/MiddlewareSubscriber.mjs.map +1 -0
  25. package/es/Node.d.ts +1 -1
  26. package/es/Node.mjs.map +1 -1
  27. package/es/account/Base.d.ts +57 -3
  28. package/es/account/Base.mjs +95 -1
  29. package/es/account/Base.mjs.map +1 -1
  30. package/es/account/Generalized.d.ts +4 -0
  31. package/es/account/Generalized.mjs +20 -0
  32. package/es/account/Generalized.mjs.map +1 -1
  33. package/es/account/Ledger.d.ts +4 -0
  34. package/es/account/Ledger.mjs +20 -0
  35. package/es/account/Ledger.mjs.map +1 -1
  36. package/es/account/LedgerFactory.mjs.map +1 -1
  37. package/es/account/Memory.d.ts +12 -0
  38. package/es/account/Memory.mjs +52 -0
  39. package/es/account/Memory.mjs.map +1 -1
  40. package/es/account/Rpc.d.ts +5 -6
  41. package/es/account/Rpc.mjs +53 -10
  42. package/es/account/Rpc.mjs.map +1 -1
  43. package/es/aens.d.ts +1 -1
  44. package/es/aens.mjs +1 -1
  45. package/es/aens.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -2
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +19 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/schema.d.ts +2 -8
  55. package/es/aepp-wallet-communication/schema.mjs +21 -33
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  60. package/es/apis/compiler/compiler.mjs +15 -1
  61. package/es/apis/compiler/compiler.mjs.map +1 -1
  62. package/es/apis/compiler/models/index.d.ts +1 -7
  63. package/es/apis/compiler/models/index.mjs.map +1 -1
  64. package/es/apis/compiler/models/mappers.d.ts +0 -1
  65. package/es/apis/compiler/models/mappers.mjs +0 -43
  66. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  67. package/es/apis/middleware/index.d.ts +2 -0
  68. package/es/apis/middleware/index.mjs +3 -0
  69. package/es/apis/middleware/index.mjs.map +1 -0
  70. package/es/apis/middleware/middleware.d.ts +309 -0
  71. package/es/apis/middleware/middleware.mjs +1527 -0
  72. package/es/apis/middleware/middleware.mjs.map +1 -0
  73. package/es/apis/middleware/models/index.d.ts +1496 -0
  74. package/es/apis/middleware/models/index.mjs +580 -0
  75. package/es/apis/middleware/models/index.mjs.map +1 -0
  76. package/es/apis/middleware/models/mappers.d.ts +102 -0
  77. package/es/apis/middleware/models/mappers.mjs +3334 -0
  78. package/es/apis/middleware/models/mappers.mjs.map +1 -0
  79. package/es/apis/middleware/models/parameters.d.ts +43 -0
  80. package/es/apis/middleware/models/parameters.mjs +417 -0
  81. package/es/apis/middleware/models/parameters.mjs.map +1 -0
  82. package/es/apis/node/node.mjs.map +1 -1
  83. package/es/chain.d.ts +2 -1
  84. package/es/chain.mjs +5 -3
  85. package/es/chain.mjs.map +1 -1
  86. package/es/channel/Base.d.ts +1 -1
  87. package/es/channel/Base.mjs +1 -4
  88. package/es/channel/Base.mjs.map +1 -1
  89. package/es/channel/Contract.mjs.map +1 -1
  90. package/es/channel/Spend.mjs.map +1 -1
  91. package/es/channel/handlers.mjs +2 -2
  92. package/es/channel/handlers.mjs.map +1 -1
  93. package/es/channel/internal.mjs +7 -5
  94. package/es/channel/internal.mjs.map +1 -1
  95. package/es/contract/Contract.mjs +2 -2
  96. package/es/contract/Contract.mjs.map +1 -1
  97. package/es/contract/compiler/Base.d.ts +21 -0
  98. package/es/contract/compiler/Base.mjs.map +1 -1
  99. package/es/contract/compiler/Cli.d.ts +2 -0
  100. package/es/contract/compiler/Cli.mjs +24 -3
  101. package/es/contract/compiler/Cli.mjs.map +1 -1
  102. package/es/contract/compiler/Http.d.ts +2 -0
  103. package/es/contract/compiler/Http.mjs +22 -2
  104. package/es/contract/compiler/Http.mjs.map +1 -1
  105. package/es/contract/compiler/HttpNode.d.ts +1 -0
  106. package/es/contract/compiler/HttpNode.mjs +5 -0
  107. package/es/contract/compiler/HttpNode.mjs.map +1 -1
  108. package/es/contract/delegation-signature.d.ts +2 -1
  109. package/es/contract/delegation-signature.mjs +39 -8
  110. package/es/contract/delegation-signature.mjs.map +1 -1
  111. package/es/contract/ga.mjs.map +1 -1
  112. package/es/deprecated.d.ts +14 -0
  113. package/es/deprecated.mjs +22 -0
  114. package/es/deprecated.mjs.map +1 -0
  115. package/es/index-browser.d.ts +20 -14
  116. package/es/index-browser.mjs +19 -15
  117. package/es/index-browser.mjs.map +1 -1
  118. package/es/oracle.mjs.map +1 -1
  119. package/es/spend.d.ts +2 -1
  120. package/es/spend.mjs +4 -2
  121. package/es/spend.mjs.map +1 -1
  122. package/es/tx/builder/constants.d.ts +0 -1
  123. package/es/tx/builder/constants.mjs +26 -24
  124. package/es/tx/builder/constants.mjs.map +1 -1
  125. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  126. package/es/tx/builder/field-types/coin-amount.d.ts +1 -1
  127. package/es/tx/builder/field-types/coin-amount.mjs +2 -1
  128. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  129. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  130. package/es/tx/builder/field-types/deposit.d.ts +1 -1
  131. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  132. package/es/tx/builder/field-types/entry.mjs +2 -1
  133. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  134. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  135. package/es/tx/builder/field-types/field.mjs.map +1 -1
  136. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  137. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  138. package/es/tx/builder/field-types/index.d.ts +28 -150
  139. package/es/tx/builder/field-types/index.mjs +28 -56
  140. package/es/tx/builder/field-types/index.mjs.map +1 -1
  141. package/es/tx/builder/field-types/map.mjs.map +1 -1
  142. package/es/tx/builder/field-types/mptree.mjs +3 -3
  143. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  144. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  145. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  146. package/es/tx/builder/field-types/string.mjs.map +1 -1
  147. package/es/tx/builder/field-types/ttl.mjs.map +1 -1
  148. package/es/tx/builder/field-types/u-int.mjs +1 -1
  149. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  150. package/es/tx/builder/helpers.d.ts +8 -1
  151. package/es/tx/builder/helpers.mjs +53 -9
  152. package/es/tx/builder/helpers.mjs.map +1 -1
  153. package/es/tx/builder/index.d.ts +4 -2
  154. package/es/tx/builder/index.mjs +0 -1
  155. package/es/tx/builder/index.mjs.map +1 -1
  156. package/es/tx/builder/schema.d.ts +9 -9
  157. package/es/tx/builder/schema.mjs +11 -10
  158. package/es/tx/builder/schema.mjs.map +1 -1
  159. package/es/tx/execution-cost.mjs.map +1 -1
  160. package/es/tx/transaction-signer.mjs.map +1 -1
  161. package/es/tx/validator.mjs +6 -3
  162. package/es/tx/validator.mjs.map +1 -1
  163. package/es/utils/amount-formatter.mjs +7 -7
  164. package/es/utils/amount-formatter.mjs.map +1 -1
  165. package/es/utils/autorest.mjs +6 -8
  166. package/es/utils/autorest.mjs.map +1 -1
  167. package/es/utils/bignumber.mjs.map +1 -1
  168. package/es/utils/bytes.mjs.map +1 -1
  169. package/es/utils/crypto.d.ts +1 -0
  170. package/es/utils/crypto.mjs +12 -2
  171. package/es/utils/crypto.mjs.map +1 -1
  172. package/es/utils/encoder-types.mjs +3 -3
  173. package/es/utils/encoder-types.mjs.map +1 -1
  174. package/es/utils/encoder.mjs.map +1 -1
  175. package/es/utils/errors.d.ts +2 -2
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.mjs.map +1 -1
  178. package/es/utils/keystore.mjs.map +1 -1
  179. package/es/utils/other.d.ts +1 -0
  180. package/es/utils/other.mjs +5 -0
  181. package/es/utils/other.mjs.map +1 -1
  182. package/es/utils/semver-satisfies.mjs.map +1 -1
  183. package/es/utils/string.mjs.map +1 -1
  184. package/es/utils/typed-data.d.ts +45 -0
  185. package/es/utils/typed-data.mjs +70 -0
  186. package/es/utils/typed-data.mjs.map +1 -0
  187. package/package.json +56 -37
  188. package/src/AeSdkBase.ts +66 -5
  189. package/src/AeSdkMethods.ts +31 -50
  190. package/src/AeSdkWallet.ts +63 -17
  191. package/src/Middleware.ts +141 -0
  192. package/src/MiddlewareSubscriber.ts +207 -0
  193. package/src/Node.ts +1 -1
  194. package/src/account/Base.ts +102 -4
  195. package/src/account/Generalized.ts +20 -0
  196. package/src/account/Ledger.ts +20 -0
  197. package/src/account/Memory.ts +68 -1
  198. package/src/account/Rpc.ts +54 -7
  199. package/src/aens.ts +1 -1
  200. package/src/aepp-wallet-communication/rpc/RpcClient.ts +11 -3
  201. package/src/aepp-wallet-communication/rpc/types.ts +21 -0
  202. package/src/aepp-wallet-communication/schema.ts +3 -17
  203. package/src/aepp-wallet-communication/wallet-detector.ts +1 -2
  204. package/src/apis/compiler/compiler.ts +8 -1
  205. package/src/apis/compiler/models/index.ts +1 -8
  206. package/src/apis/compiler/models/mappers.ts +0 -36
  207. package/src/apis/middleware/index.ts +2 -0
  208. package/src/apis/middleware/middleware.ts +1807 -0
  209. package/src/apis/middleware/models/index.ts +1747 -0
  210. package/src/apis/middleware/models/mappers.ts +3370 -0
  211. package/src/apis/middleware/models/parameters.ts +463 -0
  212. package/src/chain.ts +4 -3
  213. package/src/channel/Base.ts +5 -5
  214. package/src/channel/internal.ts +2 -0
  215. package/src/contract/Contract.ts +2 -1
  216. package/src/contract/compiler/Base.ts +26 -0
  217. package/src/contract/compiler/Cli.ts +27 -3
  218. package/src/contract/compiler/Http.ts +21 -2
  219. package/src/contract/compiler/HttpNode.ts +6 -0
  220. package/src/contract/delegation-signature.ts +37 -11
  221. package/src/deprecated.ts +23 -0
  222. package/src/index-browser.ts +77 -15
  223. package/src/spend.ts +2 -2
  224. package/src/tx/builder/constants.ts +0 -1
  225. package/src/tx/builder/field-types/coin-amount.ts +2 -1
  226. package/src/tx/builder/field-types/entry.ts +1 -1
  227. package/src/tx/builder/field-types/index.ts +28 -58
  228. package/src/tx/builder/field-types/u-int.ts +1 -1
  229. package/src/tx/builder/helpers.ts +54 -9
  230. package/src/tx/builder/index.ts +6 -9
  231. package/src/tx/validator.ts +4 -2
  232. package/src/utils/autorest.ts +5 -10
  233. package/src/utils/crypto.ts +12 -2
  234. package/src/utils/errors.ts +2 -2
  235. package/src/utils/other.ts +5 -0
  236. package/src/utils/typed-data.ts +95 -0
  237. package/types-legacy/ts4.2/AeSdkBase.d.ts +21 -3
  238. package/types-legacy/ts4.2/AeSdkMethods.d.ts +9 -14
  239. package/types-legacy/ts4.2/AeSdkWallet.d.ts +1 -1
  240. package/types-legacy/ts4.2/Middleware.d.ts +46 -0
  241. package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +30 -0
  242. package/types-legacy/ts4.2/Node.d.ts +1 -1
  243. package/types-legacy/ts4.2/account/Base.d.ts +57 -3
  244. package/types-legacy/ts4.2/account/Generalized.d.ts +4 -0
  245. package/types-legacy/ts4.2/account/Ledger.d.ts +4 -0
  246. package/types-legacy/ts4.2/account/Memory.d.ts +12 -0
  247. package/types-legacy/ts4.2/account/Rpc.d.ts +5 -6
  248. package/types-legacy/ts4.2/aens.d.ts +1 -1
  249. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +19 -0
  250. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -8
  251. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  252. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -7
  253. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -1
  254. package/types-legacy/ts4.2/apis/middleware/index.d.ts +2 -0
  255. package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +309 -0
  256. package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +1496 -0
  257. package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +102 -0
  258. package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +43 -0
  259. package/types-legacy/ts4.2/chain.d.ts +2 -1
  260. package/types-legacy/ts4.2/channel/Base.d.ts +1 -1
  261. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +21 -0
  262. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +2 -0
  263. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +2 -0
  264. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +1 -0
  265. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
  266. package/types-legacy/ts4.2/deprecated.d.ts +14 -0
  267. package/types-legacy/ts4.2/index-browser.d.ts +20 -14
  268. package/types-legacy/ts4.2/spend.d.ts +2 -1
  269. package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -1
  270. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +1 -1
  271. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +1 -1
  272. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +28 -153
  273. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +8 -1
  274. package/types-legacy/ts4.2/tx/builder/index.d.ts +4 -2
  275. package/types-legacy/ts4.2/tx/builder/schema.d.ts +9 -9
  276. package/types-legacy/ts4.2/utils/crypto.d.ts +1 -0
  277. package/types-legacy/ts4.2/utils/errors.d.ts +2 -2
  278. package/types-legacy/ts4.2/utils/other.d.ts +1 -0
  279. package/types-legacy/ts4.2/utils/typed-data.d.ts +60 -0
  280. package/types-legacy/ts4.5/AeSdkBase.d.ts +21 -3
  281. package/types-legacy/ts4.5/AeSdkMethods.d.ts +9 -14
  282. package/types-legacy/ts4.5/AeSdkWallet.d.ts +1 -1
  283. package/types-legacy/ts4.5/Middleware.d.ts +46 -0
  284. package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +30 -0
  285. package/types-legacy/ts4.5/Node.d.ts +1 -1
  286. package/types-legacy/ts4.5/account/Base.d.ts +57 -3
  287. package/types-legacy/ts4.5/account/Generalized.d.ts +4 -0
  288. package/types-legacy/ts4.5/account/Ledger.d.ts +4 -0
  289. package/types-legacy/ts4.5/account/Memory.d.ts +12 -0
  290. package/types-legacy/ts4.5/account/Rpc.d.ts +5 -6
  291. package/types-legacy/ts4.5/aens.d.ts +1 -1
  292. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +19 -0
  293. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -8
  294. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  295. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -7
  296. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -1
  297. package/types-legacy/ts4.5/apis/middleware/index.d.ts +2 -0
  298. package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +309 -0
  299. package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +1496 -0
  300. package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +102 -0
  301. package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +43 -0
  302. package/types-legacy/ts4.5/chain.d.ts +2 -1
  303. package/types-legacy/ts4.5/channel/Base.d.ts +1 -1
  304. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +21 -0
  305. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +2 -0
  306. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +2 -0
  307. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +1 -0
  308. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
  309. package/types-legacy/ts4.5/deprecated.d.ts +14 -0
  310. package/types-legacy/ts4.5/index-browser.d.ts +20 -14
  311. package/types-legacy/ts4.5/spend.d.ts +2 -1
  312. package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -1
  313. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +1 -1
  314. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +1 -1
  315. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +28 -153
  316. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +8 -1
  317. package/types-legacy/ts4.5/tx/builder/index.d.ts +4 -2
  318. package/types-legacy/ts4.5/tx/builder/schema.d.ts +9 -9
  319. package/types-legacy/ts4.5/utils/crypto.d.ts +1 -0
  320. package/types-legacy/ts4.5/utils/errors.d.ts +2 -2
  321. package/types-legacy/ts4.5/utils/other.d.ts +1 -0
  322. package/types-legacy/ts4.5/utils/typed-data.d.ts +60 -0
@@ -42,6 +42,37 @@ export function oracleQueryId(senderId, nonce, oracleId) {
42
42
  const b2bHash = hash(_Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));
43
43
  return encode(b2bHash, Encoding.OracleQueryId);
44
44
  }
45
+ const AENS_SUFFIX = '.chain';
46
+ export function nameToPunycode(maybeName) {
47
+ const [name, suffix, ...other] = maybeName.split('.');
48
+ if (other.length !== 0) throw new ArgumentError('aens name', 'including only one dot', maybeName);
49
+ if (suffix !== AENS_SUFFIX.slice(1)) {
50
+ throw new ArgumentError('aens name', `suffixed with ${AENS_SUFFIX}`, maybeName);
51
+ }
52
+ if (/\p{Emoji_Presentation}/u.test(name)) {
53
+ throw new ArgumentError('aens name', 'not containing emoji', maybeName);
54
+ }
55
+ let punycode;
56
+ try {
57
+ const u = new URL(`http://${name}.${suffix}`);
58
+ if (u.username + u.password + u.port + u.search + u.hash !== '' || u.pathname !== '/') {
59
+ throw new ArgumentError('aens name', 'valid', maybeName);
60
+ }
61
+ punycode = u.host;
62
+ } catch (error) {
63
+ if (error instanceof TypeError && error.message.includes('Invalid URL')) {
64
+ throw new ArgumentError('aens name', 'valid', maybeName);
65
+ }
66
+ throw error;
67
+ }
68
+ if (!/^[a-z0-9.-]+$/i.test(punycode)) {
69
+ throw new ArgumentError('aens name', 'without illegal chars', maybeName);
70
+ }
71
+ if (punycode.length > 63 + AENS_SUFFIX.length) {
72
+ throw new ArgumentError('aens name', 'not too long', maybeName);
73
+ }
74
+ return punycode;
75
+ }
45
76
 
46
77
  /**
47
78
  * Encode an AENS name
@@ -50,7 +81,7 @@ export function oracleQueryId(senderId, nonce, oracleId) {
50
81
  * @returns `nm_` prefixed encoded AENS name
51
82
  */
52
83
  export function produceNameId(name) {
53
- return encode(hash(name.toLowerCase()), Encoding.Name);
84
+ return encode(hash(nameToPunycode(name)), Encoding.Name);
54
85
  }
55
86
 
56
87
  /**
@@ -63,7 +94,7 @@ export function produceNameId(name) {
63
94
  */
64
95
  export function commitmentHash(name) {
65
96
  let salt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : genSalt();
66
- return encode(hash(concatBuffers([_Buffer.from(name.toLowerCase()), _Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')])), Encoding.Commitment);
97
+ return encode(hash(concatBuffers([_Buffer.from(nameToPunycode(name)), _Buffer.from(salt.toString(16).padStart(64, '0'), 'hex')])), Encoding.Commitment);
67
98
  }
68
99
 
69
100
  /**
@@ -76,16 +107,29 @@ export function readInt() {
76
107
  let buf = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Buffer.from([]);
77
108
  return new BigNumber(_Buffer.from(buf).toString('hex'), 16).toString(10);
78
109
  }
79
- const AENS_SUFFIX = '.chain';
110
+
111
+ /**
112
+ * Ensure that name is valid AENS name, would throw an exception otherwise
113
+ * @category AENS
114
+ * @param name - AENS name
115
+ */
116
+ export function ensureName(maybeName) {
117
+ nameToPunycode(maybeName);
118
+ }
80
119
 
81
120
  /**
82
121
  * Is AENS name valid
83
122
  * @category AENS
84
123
  * @param name - AENS name
85
124
  */
86
- export function isNameValid(name) {
87
- // TODO: probably there are stronger requirements
88
- return name.endsWith(AENS_SUFFIX);
125
+ // TODO: consider renaming to isName
126
+ export function isNameValid(maybeName) {
127
+ try {
128
+ ensureName(maybeName);
129
+ return true;
130
+ } catch (error) {
131
+ return false;
132
+ }
89
133
  }
90
134
  const encodingToPointerKey = [[Encoding.AccountAddress, 'account_pubkey'], [Encoding.OracleAddress, 'oracle_pubkey'], [Encoding.ContractAddress, 'contract_pubkey'], [Encoding.Channel, 'channel']];
91
135
 
@@ -116,7 +160,7 @@ export function getDefaultPointerKey(identifier) {
116
160
  * @returns the minimum fee for the AENS name auction
117
161
  */
118
162
  export function getMinimumNameFee(name) {
119
- const nameLength = name.length - AENS_SUFFIX.length;
163
+ const nameLength = nameToPunycode(name).length - AENS_SUFFIX.length;
120
164
  return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];
121
165
  }
122
166
 
@@ -150,7 +194,7 @@ export function computeBidFee(name) {
150
194
  */
151
195
  export function computeAuctionEndBlock(name, claimHeight) {
152
196
  var _ref3, _ref4, _ref5;
153
- const length = name.length - AENS_SUFFIX.length;
197
+ const length = nameToPunycode(name).length - AENS_SUFFIX.length;
154
198
  const h = (_ref3 = (_ref4 = (_ref5 = length <= 4 ? 62 * NAME_BID_TIMEOUT_BLOCKS : null) !== null && _ref5 !== void 0 ? _ref5 : length <= 8 ? 31 * NAME_BID_TIMEOUT_BLOCKS : null) !== null && _ref4 !== void 0 ? _ref4 : length <= 12 ? NAME_BID_TIMEOUT_BLOCKS : null) !== null && _ref3 !== void 0 ? _ref3 : 0;
155
199
  return h + claimHeight;
156
200
  }
@@ -160,6 +204,6 @@ export function computeAuctionEndBlock(name, claimHeight) {
160
204
  * @category AENS
161
205
  */
162
206
  export function isAuctionName(name) {
163
- return name.length < 13 + AENS_SUFFIX.length;
207
+ return nameToPunycode(name).length < 13 + AENS_SUFFIX.length;
164
208
  }
165
209
  //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":["BigNumber","genSalt","hash","decode","encode","Encoding","toBytes","concatBuffers","NAME_BID_RANGES","NAME_BID_TIMEOUT_BLOCKS","NAME_FEE_BID_INCREMENT","NAME_MAX_LENGTH_FEE","ceil","ArgumentError","IllegalBidFeeError","buildContractId","ownerId","nonce","ownerIdAndNonce","_Buffer","from","b2bHash","ContractAddress","oracleQueryId","senderId","oracleId","_int32","val","nonceBE","alloc","length","OracleQueryId","produceNameId","name","toLowerCase","Name","commitmentHash","salt","arguments","undefined","toString","padStart","Commitment","readInt","buf","AENS_SUFFIX","isNameValid","endsWith","encodingToPointerKey","AccountAddress","OracleAddress","Channel","getDefaultPointerKey","identifier","_encodingToPointerKey","encoding","substring","result","find","_ref","e","map","_ref2","join","getMinimumNameFee","nameLength","Math","min","computeBidFee","startFee","increment","Number","times","plus","computeAuctionEndBlock","claimHeight","_ref3","_ref4","_ref5","h","isAuctionName"],"sources":["../../../src/tx/builder/helpers.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { genSalt, hash } from '../../utils/crypto';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../utils/encoder';\nimport { toBytes } from '../../utils/bytes';\nimport { concatBuffers } from '../../utils/other';\nimport {\n AensName,\n NAME_BID_RANGES,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_FEE_BID_INCREMENT,\n NAME_MAX_LENGTH_FEE,\n} from './constants';\nimport { ceil } from '../../utils/bignumber';\nimport { ArgumentError, IllegalBidFeeError } from '../../utils/errors';\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\n/**\n * Build a contract public key\n * @category contract\n * @param ownerId - The public key of the owner account\n * @param nonce - the nonce of the transaction\n * @returns Contract public key\n */\nexport function buildContractId(\n ownerId: Encoded.AccountAddress,\n nonce: number | BigNumber,\n): Encoded.ContractAddress {\n const ownerIdAndNonce = Buffer.from([...decode(ownerId), ...toBytes(nonce)]);\n const b2bHash = hash(ownerIdAndNonce);\n return encode(b2bHash, Encoding.ContractAddress);\n}\n\n/**\n * Build a oracle query id\n * @category oracle\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId(\n senderId: Encoded.AccountAddress,\n nonce: number | BigNumber | string,\n oracleId: Encoded.OracleAddress,\n): Encoded.OracleQueryId {\n function _int32(val: number | string | BigNumber): Buffer {\n const nonceBE = toBytes(val, true);\n return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE]);\n }\n\n const b2bHash = hash(\n Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]),\n );\n return encode(b2bHash, Encoding.OracleQueryId);\n}\n\n/**\n * Encode an AENS name\n * @category AENS\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId(name: AensName): Encoded.Name {\n return encode(hash(name.toLowerCase()), Encoding.Name);\n}\n\n/**\n * Generate the commitment hash by hashing the salt and\n * name, base 58 encoding the result and prepending 'cm_'\n * @category transaction builder\n * @param name - Name to be registered\n * @param salt - Random number\n * @returns Commitment hash\n */\nexport function commitmentHash(\n name: AensName,\n salt: number = genSalt(),\n): Encoded.Commitment {\n return encode(\n hash(concatBuffers([\n Buffer.from(name.toLowerCase()),\n Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),\n ])),\n Encoding.Commitment,\n );\n}\n\n/**\n * Utility function to convert bytes to int\n * @category transaction builder\n * @param buf - Value\n * @returns Buffer Buffer from number(BigEndian)\n */\nexport function readInt(buf: Buffer = Buffer.from([])): string {\n return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10);\n}\n\nconst AENS_SUFFIX = '.chain';\n\n/**\n * Is AENS name valid\n * @category AENS\n * @param name - AENS name\n */\nexport function isNameValid(name: string): name is AensName {\n // TODO: probably there are stronger requirements\n return name.endsWith(AENS_SUFFIX);\n}\n\nconst encodingToPointerKey = [\n [Encoding.AccountAddress, 'account_pubkey'],\n [Encoding.OracleAddress, 'oracle_pubkey'],\n [Encoding.ContractAddress, 'contract_pubkey'],\n [Encoding.Channel, 'channel'],\n] as const;\n\n/**\n * @category AENS\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey(\n identifier: Encoded.Generic<typeof encodingToPointerKey[number][0]>,\n): typeof encodingToPointerKey[number][1] {\n decode(identifier);\n const encoding = identifier.substring(0, 2);\n const result = encodingToPointerKey.find(([e]) => e === encoding)?.[1];\n if (result != null) return result;\n throw new ArgumentError(\n 'identifier',\n `prefixed with one of ${encodingToPointerKey.map(([e]) => `${e}_`).join(', ')}`,\n identifier,\n );\n}\n\n/**\n * Get the minimum AENS name fee\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee(name: AensName): BigNumber {\n const nameLength = name.length - AENS_SUFFIX.length;\n return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];\n}\n\n/**\n * Compute bid fee for AENS auction\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee(\n name: AensName,\n { startFee, increment = NAME_FEE_BID_INCREMENT }:\n { startFee?: number | string | BigNumber; increment?: number } = {},\n): BigNumber {\n if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);\n if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);\n // FIXME: increment should be used somehow here\n return ceil(\n new BigNumber(startFee ?? getMinimumNameFee(name))\n .times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1)),\n );\n}\n\n/**\n * Compute auction end height\n * @category AENS\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock(name: AensName, claimHeight: number): number {\n const length = name.length - AENS_SUFFIX.length;\n const h = (length <= 4 ? 62 * NAME_BID_TIMEOUT_BLOCKS : null)\n ?? (length <= 8 ? 31 * NAME_BID_TIMEOUT_BLOCKS : null)\n ?? (length <= 12 ? NAME_BID_TIMEOUT_BLOCKS : null)\n ?? 0;\n return h + claimHeight;\n}\n\n/**\n * Is name accept going to auction\n * @category AENS\n */\nexport function isAuctionName(name: AensName): boolean {\n return name.length < 13 + AENS_SUFFIX.length;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.mjs","names":["BigNumber","genSalt","hash","decode","encode","Encoding","toBytes","concatBuffers","NAME_BID_RANGES","NAME_BID_TIMEOUT_BLOCKS","NAME_FEE_BID_INCREMENT","NAME_MAX_LENGTH_FEE","ceil","ArgumentError","IllegalBidFeeError","buildContractId","ownerId","nonce","ownerIdAndNonce","_Buffer","from","b2bHash","ContractAddress","oracleQueryId","senderId","oracleId","_int32","val","nonceBE","alloc","length","OracleQueryId","AENS_SUFFIX","nameToPunycode","maybeName","name","suffix","other","split","slice","test","punycode","u","URL","username","password","port","search","pathname","host","error","TypeError","message","includes","produceNameId","Name","commitmentHash","salt","arguments","undefined","toString","padStart","Commitment","readInt","buf","ensureName","isNameValid","encodingToPointerKey","AccountAddress","OracleAddress","Channel","getDefaultPointerKey","identifier","_encodingToPointerKey","encoding","substring","result","find","_ref","e","map","_ref2","join","getMinimumNameFee","nameLength","Math","min","computeBidFee","startFee","increment","Number","times","plus","computeAuctionEndBlock","claimHeight","_ref3","_ref4","_ref5","h","isAuctionName"],"sources":["../../../src/tx/builder/helpers.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { genSalt, hash } from '../../utils/crypto';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../utils/encoder';\nimport { toBytes } from '../../utils/bytes';\nimport { concatBuffers } from '../../utils/other';\nimport {\n AensName,\n NAME_BID_RANGES,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_FEE_BID_INCREMENT,\n NAME_MAX_LENGTH_FEE,\n} from './constants';\nimport { ceil } from '../../utils/bignumber';\nimport { ArgumentError, IllegalBidFeeError } from '../../utils/errors';\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\n/**\n * Build a contract public key\n * @category contract\n * @param ownerId - The public key of the owner account\n * @param nonce - the nonce of the transaction\n * @returns Contract public key\n */\nexport function buildContractId(\n ownerId: Encoded.AccountAddress,\n nonce: number | BigNumber,\n): Encoded.ContractAddress {\n const ownerIdAndNonce = Buffer.from([...decode(ownerId), ...toBytes(nonce)]);\n const b2bHash = hash(ownerIdAndNonce);\n return encode(b2bHash, Encoding.ContractAddress);\n}\n\n/**\n * Build a oracle query id\n * @category oracle\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId(\n senderId: Encoded.AccountAddress,\n nonce: number | BigNumber | string,\n oracleId: Encoded.OracleAddress,\n): Encoded.OracleQueryId {\n function _int32(val: number | string | BigNumber): Buffer {\n const nonceBE = toBytes(val, true);\n return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE]);\n }\n\n const b2bHash = hash(\n Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]),\n );\n return encode(b2bHash, Encoding.OracleQueryId);\n}\n\nconst AENS_SUFFIX = '.chain';\n\nexport function nameToPunycode(maybeName: string): AensName {\n const [name, suffix, ...other] = maybeName.split('.');\n if (other.length !== 0) throw new ArgumentError('aens name', 'including only one dot', maybeName);\n if (suffix !== AENS_SUFFIX.slice(1)) {\n throw new ArgumentError('aens name', `suffixed with ${AENS_SUFFIX}`, maybeName);\n }\n if (/\\p{Emoji_Presentation}/u.test(name)) {\n throw new ArgumentError('aens name', 'not containing emoji', maybeName);\n }\n let punycode;\n try {\n const u = new URL(`http://${name}.${suffix}`);\n if (u.username + u.password + u.port + u.search + u.hash !== '' || u.pathname !== '/') {\n throw new ArgumentError('aens name', 'valid', maybeName);\n }\n punycode = u.host;\n } catch (error) {\n if (error instanceof TypeError && error.message.includes('Invalid URL')) {\n throw new ArgumentError('aens name', 'valid', maybeName);\n }\n throw error;\n }\n if (!/^[a-z0-9.-]+$/i.test(punycode)) {\n throw new ArgumentError('aens name', 'without illegal chars', maybeName);\n }\n if (punycode.length > 63 + AENS_SUFFIX.length) {\n throw new ArgumentError('aens name', 'not too long', maybeName);\n }\n return punycode as AensName;\n}\n\n/**\n * Encode an AENS name\n * @category AENS\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId(name: AensName): Encoded.Name {\n return encode(hash(nameToPunycode(name)), Encoding.Name);\n}\n\n/**\n * Generate the commitment hash by hashing the salt and\n * name, base 58 encoding the result and prepending 'cm_'\n * @category transaction builder\n * @param name - Name to be registered\n * @param salt - Random number\n * @returns Commitment hash\n */\nexport function commitmentHash(\n name: AensName,\n salt: number = genSalt(),\n): Encoded.Commitment {\n return encode(\n hash(concatBuffers([\n Buffer.from(nameToPunycode(name)),\n Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),\n ])),\n Encoding.Commitment,\n );\n}\n\n/**\n * Utility function to convert bytes to int\n * @category transaction builder\n * @param buf - Value\n * @returns Buffer Buffer from number(BigEndian)\n */\nexport function readInt(buf: Buffer = Buffer.from([])): string {\n return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10);\n}\n\n/**\n * Ensure that name is valid AENS name, would throw an exception otherwise\n * @category AENS\n * @param name - AENS name\n */\nexport function ensureName(maybeName: string): asserts maybeName is AensName {\n nameToPunycode(maybeName);\n}\n\n/**\n * Is AENS name valid\n * @category AENS\n * @param name - AENS name\n */\n// TODO: consider renaming to isName\nexport function isNameValid(maybeName: string): maybeName is AensName {\n try {\n ensureName(maybeName);\n return true;\n } catch (error) {\n return false;\n }\n}\n\nconst encodingToPointerKey = [\n [Encoding.AccountAddress, 'account_pubkey'],\n [Encoding.OracleAddress, 'oracle_pubkey'],\n [Encoding.ContractAddress, 'contract_pubkey'],\n [Encoding.Channel, 'channel'],\n] as const;\n\n/**\n * @category AENS\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey(\n identifier: Encoded.Generic<typeof encodingToPointerKey[number][0]>,\n): typeof encodingToPointerKey[number][1] {\n decode(identifier);\n const encoding = identifier.substring(0, 2);\n const result = encodingToPointerKey.find(([e]) => e === encoding)?.[1];\n if (result != null) return result;\n throw new ArgumentError(\n 'identifier',\n `prefixed with one of ${encodingToPointerKey.map(([e]) => `${e}_`).join(', ')}`,\n identifier,\n );\n}\n\n/**\n * Get the minimum AENS name fee\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee(name: AensName): BigNumber {\n const nameLength = nameToPunycode(name).length - AENS_SUFFIX.length;\n return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];\n}\n\n/**\n * Compute bid fee for AENS auction\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee(\n name: AensName,\n { startFee, increment = NAME_FEE_BID_INCREMENT }:\n { startFee?: number | string | BigNumber; increment?: number } = {},\n): BigNumber {\n if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);\n if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);\n // FIXME: increment should be used somehow here\n return ceil(\n new BigNumber(startFee ?? getMinimumNameFee(name))\n .times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1)),\n );\n}\n\n/**\n * Compute auction end height\n * @category AENS\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock(name: AensName, claimHeight: number): number {\n const length = nameToPunycode(name).length - AENS_SUFFIX.length;\n const h = (length <= 4 ? 62 * NAME_BID_TIMEOUT_BLOCKS : null)\n ?? (length <= 8 ? 31 * NAME_BID_TIMEOUT_BLOCKS : null)\n ?? (length <= 12 ? NAME_BID_TIMEOUT_BLOCKS : null)\n ?? 0;\n return h + claimHeight;\n}\n\n/**\n * Is name accept going to auction\n * @category AENS\n */\nexport function isAuctionName(name: AensName): boolean {\n return nameToPunycode(name).length < 13 + AENS_SUFFIX.length;\n}\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ import { Tag } from './constants';
6
6
  * JavaScript-based Transaction builder
7
7
  */
8
8
  export declare function getSchema(tag: Tag, version?: number): Array<[string, Field]>;
9
+ type TxEncoding = Encoding.Transaction | Encoding.Poi | Encoding.StateTrees | Encoding.CallStateTree;
9
10
  /**
10
11
  * Build transaction hash
11
12
  * @category transaction builder
@@ -14,7 +15,7 @@ export declare function getSchema(tag: Tag, version?: number): Array<[string, Fi
14
15
  * @param options.prefix - Prefix of transaction
15
16
  * @returns object Base64Check transaction hash with 'tx_' prefix
16
17
  */
17
- export declare function buildTx<E extends Encoding = Encoding.Transaction>(params: TxParams, { prefix, }?: {
18
+ export declare function buildTx<E extends TxEncoding = Encoding.Transaction>(params: TxParams, { prefix }?: {
18
19
  prefix?: E;
19
20
  }): Encoded.Generic<E>;
20
21
  export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<TxParamsAsync & {
@@ -31,7 +32,7 @@ export declare function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Tra
31
32
  * @param txType - Expected transaction type
32
33
  * @returns Object with transaction param's
33
34
  */
34
- export declare function unpackTx<TxType extends Tag>(encodedTx: Encoded.Transaction | Encoded.Poi | Encoded.StateTrees | Encoded.CallStateTree, txType?: TxType): TxUnpacked & {
35
+ export declare function unpackTx<TxType extends Tag>(encodedTx: Encoded.Generic<TxEncoding>, txType?: TxType): TxUnpacked & {
35
36
  tag: TxType;
36
37
  };
37
38
  /**
@@ -48,3 +49,4 @@ export declare function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): En
48
49
  * @returns Contract public key
49
50
  */
50
51
  export declare function buildContractIdByContractTx(contractTx: Encoded.Transaction): Encoded.ContractAddress;
52
+ export {};
@@ -21,7 +21,6 @@ export function getSchema(tag, version) {
21
21
  if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);
22
22
  return Object.entries(schema);
23
23
  }
24
-
25
24
  /**
26
25
  * Build transaction hash
27
26
  * @category transaction builder
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["_rlp","decode","rlpDecode","encode","rlpEncode","Encoding","hash","txSchema","Tag","buildContractId","readInt","ArgumentError","DecodeError","SchemaNotFoundError","getSchema","tag","version","_version","schemas","filter","s","constValue","length","Math","max","map","schema","find","Object","entries","buildTx","params","prefix","arguments","undefined","binary","_ref","key","field","serialize","unpackTx","rebuildTx","overrideParams","Transaction","buildTxAsync","Promise","all","_ref2","prepare","encodedTx","txType","reduce","acc","_ref3","index","name","deserialized","deserialize","buildTxHash","rawTx","data","startsWith","TxHash","buildContractIdByContractTx","contractTx","ContractCreateTx","GaAttachTx","ownerId","nonce"],"sources":["../../../src/tx/builder/index.ts"],"sourcesContent":["import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../utils/encoder';\nimport { hash } from '../../utils/crypto';\nimport { BinaryData, Field } from './field-types';\nimport { txSchema } from './schema';\nimport { TxUnpacked, TxParams, TxParamsAsync } from './schema.generated';\nimport { Tag } from './constants';\nimport { buildContractId, readInt } from './helpers';\nimport { ArgumentError, DecodeError, SchemaNotFoundError } from '../../utils/errors';\n\n/**\n * JavaScript-based Transaction builder\n */\n\nexport function getSchema(tag: Tag, version?: number): Array<[string, Field]> {\n const schemas = txSchema.filter((s) => s.tag.constValue === tag);\n if (schemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n version ??= Math.max(...schemas.map((schema) => schema.version.constValue));\n const schema = schemas.find((s) => s.version.constValue === version);\n if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n return Object.entries(schema);\n}\n\n/**\n * Build transaction hash\n * @category transaction builder\n * @param params - Object with tx params\n * @param options - options\n * @param options.prefix - Prefix of transaction\n * @returns object Base64Check transaction hash with 'tx_' prefix\n */\nexport function buildTx<\n E extends Encoding = Encoding.Transaction,\n>(\n params: TxParams,\n {\n prefix,\n }: {\n prefix?: E;\n } = {},\n): Encoded.Generic<E> {\n const schema = getSchema(params.tag, params.version);\n\n const binary = schema.map(([key, field]) => (\n field.serialize(\n // @ts-expect-error the type of `params[key]` can't be determined accurately\n params[key],\n {\n ...params,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n unpackTx,\n buildTx,\n rebuildTx: (overrideParams: any) => buildTx(\n { ...params, ...overrideParams },\n ),\n },\n params,\n )\n ));\n\n // @ts-expect-error looks like a TypeScript edge case\n return encode(rlpEncode(binary), prefix ?? Encoding.Transaction);\n}\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<TxParamsAsync & { tag: TxType }, 'tag' | OmitFields>;\n\n/**\n * @category transaction builder\n */\nexport async function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Transaction> {\n await Promise.all(\n getSchema(params.tag, params.version)\n .map(async ([key, field]) => {\n if (field.prepare == null) return;\n // @ts-expect-error the type of `params[key]` can't be determined accurately\n params[key] = await field.prepare(params[key], params, params);\n }),\n );\n\n // @ts-expect-error after preparation properties should be compatible with sync tx builder\n return buildTx(params);\n}\n\n/**\n * Unpack transaction encoded as string\n * @category transaction builder\n * @param encodedTx - Transaction to unpack\n * @param txType - Expected transaction type\n * @returns Object with transaction param's\n */\nexport function unpackTx<TxType extends Tag>(\n encodedTx: Encoded.Transaction | Encoded.Poi | Encoded.StateTrees | Encoded.CallStateTree,\n txType?: TxType,\n): TxUnpacked & { tag: TxType } {\n const binary = rlpDecode(decode(encodedTx));\n const tag = +readInt(binary[0] as Buffer);\n const version = +readInt(binary[1] as Buffer);\n const schema = getSchema(tag, version);\n if (txType != null && txType !== tag) throw new DecodeError(`Expected transaction to have ${Tag[txType]} tag, got ${Tag[tag]} instead`);\n if (binary.length !== schema.length) {\n throw new ArgumentError('Transaction RLP length', schema.length, binary.length);\n }\n return schema.reduce<any>(\n (acc, [name, field], index) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const deserialized = field.deserialize(binary[index] as BinaryData, { unpackTx });\n return { ...acc, [name]: deserialized };\n },\n {},\n ) as any;\n}\n\n/**\n * Build a transaction hash\n * @category transaction builder\n * @param rawTx - base64 or rlp encoded transaction\n * @returns Transaction hash\n */\nexport function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {\n const data = typeof rawTx === 'string' && rawTx.startsWith('tx_')\n ? decode(rawTx)\n : rawTx;\n return encode(hash(data), Encoding.TxHash);\n}\n\n/**\n * Build a contract public key by contractCreateTx or gaAttach\n * @category contract\n * @param contractTx - Transaction\n * @returns Contract public key\n */\nexport function buildContractIdByContractTx(\n contractTx: Encoded.Transaction,\n): Encoded.ContractAddress {\n const params = unpackTx(contractTx);\n if (Tag.ContractCreateTx !== params.tag && Tag.GaAttachTx !== params.tag) {\n throw new ArgumentError('contractTx', 'a contractCreateTx or gaAttach', params.tag);\n }\n return buildContractId(params.ownerId, params.nonce);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["_rlp","decode","rlpDecode","encode","rlpEncode","Encoding","hash","txSchema","Tag","buildContractId","readInt","ArgumentError","DecodeError","SchemaNotFoundError","getSchema","tag","version","_version","schemas","filter","s","constValue","length","Math","max","map","schema","find","Object","entries","buildTx","params","prefix","arguments","undefined","binary","_ref","key","field","serialize","unpackTx","rebuildTx","overrideParams","Transaction","buildTxAsync","Promise","all","_ref2","prepare","encodedTx","txType","reduce","acc","_ref3","index","name","deserialized","deserialize","buildTxHash","rawTx","data","startsWith","TxHash","buildContractIdByContractTx","contractTx","ContractCreateTx","GaAttachTx","ownerId","nonce"],"sources":["../../../src/tx/builder/index.ts"],"sourcesContent":["import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../utils/encoder';\nimport { hash } from '../../utils/crypto';\nimport { BinaryData, Field } from './field-types';\nimport { txSchema } from './schema';\nimport { TxUnpacked, TxParams, TxParamsAsync } from './schema.generated';\nimport { Tag } from './constants';\nimport { buildContractId, readInt } from './helpers';\nimport { ArgumentError, DecodeError, SchemaNotFoundError } from '../../utils/errors';\n\n/**\n * JavaScript-based Transaction builder\n */\n\nexport function getSchema(tag: Tag, version?: number): Array<[string, Field]> {\n const schemas = txSchema.filter((s) => s.tag.constValue === tag);\n if (schemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n version ??= Math.max(...schemas.map((schema) => schema.version.constValue));\n const schema = schemas.find((s) => s.version.constValue === version);\n if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n return Object.entries(schema);\n}\n\ntype TxEncoding = Encoding.Transaction | Encoding.Poi | Encoding.StateTrees\n| Encoding.CallStateTree;\n\n/**\n * Build transaction hash\n * @category transaction builder\n * @param params - Object with tx params\n * @param options - options\n * @param options.prefix - Prefix of transaction\n * @returns object Base64Check transaction hash with 'tx_' prefix\n */\nexport function buildTx<E extends TxEncoding = Encoding.Transaction>(\n params: TxParams,\n { prefix }: { prefix?: E } = {},\n): Encoded.Generic<E> {\n const schema = getSchema(params.tag, params.version);\n\n const binary = schema.map(([key, field]) => (\n field.serialize(\n // @ts-expect-error the type of `params[key]` can't be determined accurately\n params[key],\n {\n ...params,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n unpackTx,\n buildTx,\n rebuildTx: (overrideParams: any) => buildTx(\n { ...params, ...overrideParams },\n ),\n },\n params,\n )\n ));\n\n // @ts-expect-error looks like a TypeScript edge case\n return encode(rlpEncode(binary), prefix ?? Encoding.Transaction);\n}\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<TxParamsAsync & { tag: TxType }, 'tag' | OmitFields>;\n\n/**\n * @category transaction builder\n */\nexport async function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Transaction> {\n await Promise.all(\n getSchema(params.tag, params.version)\n .map(async ([key, field]) => {\n if (field.prepare == null) return;\n // @ts-expect-error the type of `params[key]` can't be determined accurately\n params[key] = await field.prepare(params[key], params, params);\n }),\n );\n\n // @ts-expect-error after preparation properties should be compatible with sync tx builder\n return buildTx(params);\n}\n\n/**\n * Unpack transaction encoded as string\n * @category transaction builder\n * @param encodedTx - Transaction to unpack\n * @param txType - Expected transaction type\n * @returns Object with transaction param's\n */\nexport function unpackTx<TxType extends Tag>(\n encodedTx: Encoded.Generic<TxEncoding>,\n txType?: TxType,\n): TxUnpacked & { tag: TxType } {\n const binary = rlpDecode(decode(encodedTx));\n const tag = +readInt(binary[0] as Buffer);\n const version = +readInt(binary[1] as Buffer);\n const schema = getSchema(tag, version);\n if (txType != null && txType !== tag) throw new DecodeError(`Expected transaction to have ${Tag[txType]} tag, got ${Tag[tag]} instead`);\n if (binary.length !== schema.length) {\n throw new ArgumentError('Transaction RLP length', schema.length, binary.length);\n }\n return schema.reduce<any>(\n (acc, [name, field], index) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const deserialized = field.deserialize(binary[index] as BinaryData, { unpackTx });\n return { ...acc, [name]: deserialized };\n },\n {},\n ) as any;\n}\n\n/**\n * Build a transaction hash\n * @category transaction builder\n * @param rawTx - base64 or rlp encoded transaction\n * @returns Transaction hash\n */\nexport function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {\n const data = typeof rawTx === 'string' && rawTx.startsWith('tx_')\n ? decode(rawTx)\n : rawTx;\n return encode(hash(data), Encoding.TxHash);\n}\n\n/**\n * Build a contract public key by contractCreateTx or gaAttach\n * @category contract\n * @param contractTx - Transaction\n * @returns Contract public key\n */\nexport function buildContractIdByContractTx(\n contractTx: Encoded.Transaction,\n): Encoded.ContractAddress {\n const params = unpackTx(contractTx);\n if (Tag.ContractCreateTx !== params.tag && Tag.GaAttachTx !== params.tag) {\n throw new ArgumentError('contractTx', 'a contractCreateTx or gaAttach', params.tag);\n }\n return buildContractId(params.ownerId, params.nonce);\n}\n"],"mappings":"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"}
@@ -213,7 +213,7 @@ export declare const txSchema: readonly [{
213
213
  deserialize: (value: Buffer) => `ak_${string}` | `nm_${string}`;
214
214
  };
215
215
  readonly amount: {
216
- serializeAettos(value: string | undefined): string;
216
+ serializeAettos(value: string | undefined, params: {}): string;
217
217
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
218
218
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
219
219
  }): Buffer;
@@ -639,7 +639,7 @@ export declare const txSchema: readonly [{
639
639
  serialize(value: import("./constants").Int | undefined, options: {}, parameters: {
640
640
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
641
641
  }): Buffer;
642
- serializeAettos(value: string | undefined): string;
642
+ serializeAettos(value: string | undefined, params: {}): string;
643
643
  deserialize(value: Buffer): string;
644
644
  };
645
645
  }, {
@@ -709,11 +709,11 @@ export declare const txSchema: readonly [{
709
709
  serialize(value: import("./constants").Int | undefined, options: {}, parameters: {
710
710
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
711
711
  }): Buffer;
712
- serializeAettos(value: string | undefined): string;
712
+ serializeAettos(value: string | undefined, params: {}): string;
713
713
  deserialize(value: Buffer): string;
714
714
  };
715
715
  readonly amount: {
716
- serializeAettos(value: string | undefined): string;
716
+ serializeAettos(value: string | undefined, params: {}): string;
717
717
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
718
718
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
719
719
  }): Buffer;
@@ -811,7 +811,7 @@ export declare const txSchema: readonly [{
811
811
  deserialize(value: Buffer): number;
812
812
  };
813
813
  readonly amount: {
814
- serializeAettos(value: string | undefined): string;
814
+ serializeAettos(value: string | undefined, params: {}): string;
815
815
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
816
816
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
817
817
  }): Buffer;
@@ -915,7 +915,7 @@ export declare const txSchema: readonly [{
915
915
  deserialize(buffer: Buffer): string;
916
916
  };
917
917
  readonly queryFee: {
918
- serializeAettos(value: string | undefined): string;
918
+ serializeAettos(value: string | undefined, params: {}): string;
919
919
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
920
920
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
921
921
  }): Buffer;
@@ -977,7 +977,7 @@ export declare const txSchema: readonly [{
977
977
  deserialize(buffer: Buffer): string;
978
978
  };
979
979
  readonly queryFee: {
980
- serializeAettos(value: string | undefined): string;
980
+ serializeAettos(value: string | undefined, params: {}): string;
981
981
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
982
982
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
983
983
  }): Buffer;
@@ -1121,7 +1121,7 @@ export declare const txSchema: readonly [{
1121
1121
  deserialize(buffer: Buffer): string;
1122
1122
  };
1123
1123
  readonly queryFee: {
1124
- serializeAettos(value: string | undefined): string;
1124
+ serializeAettos(value: string | undefined, params: {}): string;
1125
1125
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
1126
1126
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
1127
1127
  }): Buffer;
@@ -2746,7 +2746,7 @@ export declare const txSchema: readonly [{
2746
2746
  constValueOptional: boolean;
2747
2747
  };
2748
2748
  readonly fee: {
2749
- serializeAettos(value: string | undefined): string;
2749
+ serializeAettos(value: string | undefined, params: {}): string;
2750
2750
  serialize(value: import("./constants").Int | undefined, params: {}, { denomination }: {
2751
2751
  denomination?: import("../..").AE_AMOUNT_FORMATS | undefined;
2752
2752
  }): Buffer;
@@ -7,13 +7,13 @@ import { Tag } from "./constants.mjs";
7
7
  import { 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 } from "./field-types/index.mjs";
8
8
  import { Encoding } from "../../utils/encoder.mjs";
9
9
  import { idTagToEncoding } from "./field-types/address.mjs";
10
- export let ORACLE_TTL_TYPES;
11
-
12
- // # ORACLE
13
- (function (ORACLE_TTL_TYPES) {
10
+ export let ORACLE_TTL_TYPES = /*#__PURE__*/function (ORACLE_TTL_TYPES) {
14
11
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["delta"] = 0] = "delta";
15
12
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["block"] = 1] = "block";
16
- })(ORACLE_TTL_TYPES || (ORACLE_TTL_TYPES = {}));
13
+ return ORACLE_TTL_TYPES;
14
+ }({});
15
+
16
+ // # ORACLE
17
17
  export const ORACLE_TTL = {
18
18
  type: ORACLE_TTL_TYPES.delta,
19
19
  value: 500
@@ -31,14 +31,15 @@ export const DRY_RUN_ACCOUNT = {
31
31
  pub: 'ak_11111111111111111111111111111111273Yts',
32
32
  amount: 100000000000000000000000000000000000n
33
33
  };
34
- export let CallReturnType;
35
-
36
- // TODO: figure out how to omit overriding types of recursive fields
37
- (function (CallReturnType) {
34
+ export let CallReturnType = /*#__PURE__*/function (CallReturnType) {
38
35
  CallReturnType[CallReturnType["Ok"] = 0] = "Ok";
39
36
  CallReturnType[CallReturnType["Error"] = 1] = "Error";
40
37
  CallReturnType[CallReturnType["Revert"] = 2] = "Revert";
41
- })(CallReturnType || (CallReturnType = {}));
38
+ return CallReturnType;
39
+ }({});
40
+
41
+ // TODO: figure out how to omit overriding types of recursive fields
42
+
42
43
  const entryAny = entry();
43
44
  const entrySignedTx = entry(Tag.SignedTx);
44
45
  const entryMtreeValueArray = array(entry(Tag.MtreeValue));
@@ -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","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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"}
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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"}