@aeternity/aepp-sdk 10.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +25 -0
  29. package/es/account/Memory.mjs +81 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1061 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4164 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
@@ -0,0 +1,320 @@
1
+ /**
2
+ * Transaction Schema for TxBuilder
3
+ */
4
+ // # RLP version number
5
+ // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
6
+ import { Name, NameId, NameFee, Deposit, GasPrice } from "./field-types.mjs";
7
+ export * from "./constants.mjs";
8
+ export let ORACLE_TTL_TYPES; // # TRANSACTION DEFAULT TTL
9
+
10
+ (function (ORACLE_TTL_TYPES) {
11
+ ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["delta"] = 0] = "delta";
12
+ ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["block"] = 1] = "block";
13
+ })(ORACLE_TTL_TYPES || (ORACLE_TTL_TYPES = {}));
14
+
15
+ export const TX_TTL = 0; // # ORACLE
16
+
17
+ export const QUERY_FEE = 30000;
18
+ export const ORACLE_TTL = {
19
+ type: ORACLE_TTL_TYPES.delta,
20
+ value: 500
21
+ };
22
+ export const QUERY_TTL = {
23
+ type: ORACLE_TTL_TYPES.delta,
24
+ value: 10
25
+ };
26
+ export const RESPONSE_TTL = {
27
+ type: ORACLE_TTL_TYPES.delta,
28
+ value: 10
29
+ }; // # CONTRACT
30
+
31
+ export const AMOUNT = 0;
32
+ export const GAS_MAX = 1600000 - 21000;
33
+ export const MAX_AUTH_FUN_GAS = 50000;
34
+ export const DRY_RUN_ACCOUNT = {
35
+ pub: 'ak_11111111111111111111111111111111273Yts',
36
+ amount: 100000000000000000000000000000000000n
37
+ };
38
+
39
+ /**
40
+ * Enum with transaction types
41
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}
42
+ */
43
+ export let TX_TYPE;
44
+ /**
45
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
46
+ */
47
+
48
+ (function (TX_TYPE) {
49
+ TX_TYPE[TX_TYPE["account"] = 10] = "account";
50
+ TX_TYPE[TX_TYPE["signed"] = 11] = "signed";
51
+ TX_TYPE[TX_TYPE["spend"] = 12] = "spend";
52
+ TX_TYPE[TX_TYPE["oracleRegister"] = 22] = "oracleRegister";
53
+ TX_TYPE[TX_TYPE["oracleQuery"] = 23] = "oracleQuery";
54
+ TX_TYPE[TX_TYPE["oracleResponse"] = 24] = "oracleResponse";
55
+ TX_TYPE[TX_TYPE["oracleExtend"] = 25] = "oracleExtend";
56
+ TX_TYPE[TX_TYPE["nameClaim"] = 32] = "nameClaim";
57
+ TX_TYPE[TX_TYPE["namePreClaim"] = 33] = "namePreClaim";
58
+ TX_TYPE[TX_TYPE["nameUpdate"] = 34] = "nameUpdate";
59
+ TX_TYPE[TX_TYPE["nameRevoke"] = 35] = "nameRevoke";
60
+ TX_TYPE[TX_TYPE["nameTransfer"] = 36] = "nameTransfer";
61
+ TX_TYPE[TX_TYPE["contract"] = 40] = "contract";
62
+ TX_TYPE[TX_TYPE["contractCallResult"] = 41] = "contractCallResult";
63
+ TX_TYPE[TX_TYPE["contractCreate"] = 42] = "contractCreate";
64
+ TX_TYPE[TX_TYPE["contractCall"] = 43] = "contractCall";
65
+ TX_TYPE[TX_TYPE["channelCreate"] = 50] = "channelCreate";
66
+ TX_TYPE[TX_TYPE["channelDeposit"] = 51] = "channelDeposit";
67
+ TX_TYPE[TX_TYPE["channelWithdraw"] = 52] = "channelWithdraw";
68
+ TX_TYPE[TX_TYPE["channelCloseMutual"] = 53] = "channelCloseMutual";
69
+ TX_TYPE[TX_TYPE["channelCloseSolo"] = 54] = "channelCloseSolo";
70
+ TX_TYPE[TX_TYPE["channelSlash"] = 55] = "channelSlash";
71
+ TX_TYPE[TX_TYPE["channelSettle"] = 56] = "channelSettle";
72
+ TX_TYPE[TX_TYPE["channelOffChain"] = 57] = "channelOffChain";
73
+ TX_TYPE[TX_TYPE["channel"] = 58] = "channel";
74
+ TX_TYPE[TX_TYPE["channelSnapshotSolo"] = 59] = "channelSnapshotSolo";
75
+ TX_TYPE[TX_TYPE["proofOfInclusion"] = 60] = "proofOfInclusion";
76
+ TX_TYPE[TX_TYPE["stateTrees"] = 62] = "stateTrees";
77
+ TX_TYPE[TX_TYPE["merklePatriciaTree"] = 63] = "merklePatriciaTree";
78
+ TX_TYPE[TX_TYPE["merklePatriciaTreeValue"] = 64] = "merklePatriciaTreeValue";
79
+ TX_TYPE[TX_TYPE["sophiaByteCode"] = 70] = "sophiaByteCode";
80
+ TX_TYPE[TX_TYPE["gaAttach"] = 80] = "gaAttach";
81
+ TX_TYPE[TX_TYPE["gaMeta"] = 81] = "gaMeta";
82
+ TX_TYPE[TX_TYPE["payingFor"] = 82] = "payingFor";
83
+ TX_TYPE[TX_TYPE["channelForceProgress"] = 521] = "channelForceProgress";
84
+ TX_TYPE[TX_TYPE["channelOffChainUpdateTransfer"] = 570] = "channelOffChainUpdateTransfer";
85
+ TX_TYPE[TX_TYPE["channelOffChainUpdateDeposit"] = 571] = "channelOffChainUpdateDeposit";
86
+ TX_TYPE[TX_TYPE["channelOffChainUpdateWithdrawal"] = 572] = "channelOffChainUpdateWithdrawal";
87
+ TX_TYPE[TX_TYPE["channelOffChainCreateContract"] = 573] = "channelOffChainCreateContract";
88
+ TX_TYPE[TX_TYPE["channelOffChainCallContract"] = 574] = "channelOffChainCallContract";
89
+ TX_TYPE[TX_TYPE["channelReconnect"] = 575] = "channelReconnect";
90
+ TX_TYPE[TX_TYPE["contractsTree"] = 621] = "contractsTree";
91
+ TX_TYPE[TX_TYPE["contractCallsTree"] = 622] = "contractCallsTree";
92
+ TX_TYPE[TX_TYPE["channelsTree"] = 623] = "channelsTree";
93
+ TX_TYPE[TX_TYPE["nameserviceTree"] = 624] = "nameserviceTree";
94
+ TX_TYPE[TX_TYPE["oraclesTree"] = 625] = "oraclesTree";
95
+ TX_TYPE[TX_TYPE["accountsTree"] = 626] = "accountsTree";
96
+ })(TX_TYPE || (TX_TYPE = {}));
97
+
98
+ export let VM_VERSIONS;
99
+ /**
100
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
101
+ */
102
+
103
+ (function (VM_VERSIONS) {
104
+ VM_VERSIONS[VM_VERSIONS["NO_VM"] = 0] = "NO_VM";
105
+ VM_VERSIONS[VM_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
106
+ VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_MINERVA"] = 3] = "SOPHIA_IMPROVEMENTS_MINERVA";
107
+ VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_FORTUNA"] = 4] = "SOPHIA_IMPROVEMENTS_FORTUNA";
108
+ VM_VERSIONS[VM_VERSIONS["FATE"] = 5] = "FATE";
109
+ VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_LIMA"] = 6] = "SOPHIA_IMPROVEMENTS_LIMA";
110
+ VM_VERSIONS[VM_VERSIONS["FATE_2"] = 7] = "FATE_2";
111
+ })(VM_VERSIONS || (VM_VERSIONS = {}));
112
+
113
+ export let ABI_VERSIONS;
114
+
115
+ (function (ABI_VERSIONS) {
116
+ ABI_VERSIONS[ABI_VERSIONS["NO_ABI"] = 0] = "NO_ABI";
117
+ ABI_VERSIONS[ABI_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
118
+ ABI_VERSIONS[ABI_VERSIONS["FATE"] = 3] = "FATE";
119
+ })(ABI_VERSIONS || (ABI_VERSIONS = {}));
120
+
121
+ export let PROTOCOL_VERSIONS; // First abi/vm by default
122
+
123
+ (function (PROTOCOL_VERSIONS) {
124
+ PROTOCOL_VERSIONS[PROTOCOL_VERSIONS["IRIS"] = 5] = "IRIS";
125
+ })(PROTOCOL_VERSIONS || (PROTOCOL_VERSIONS = {}));
126
+
127
+ export const PROTOCOL_VM_ABI = {
128
+ [PROTOCOL_VERSIONS.IRIS]: {
129
+ [TX_TYPE.contractCreate]: {
130
+ vmVersion: [VM_VERSIONS.FATE_2],
131
+ abiVersion: [ABI_VERSIONS.FATE]
132
+ },
133
+ // TODO: Ensure that AEVM (SOPHIA?) is still available here
134
+ [TX_TYPE.contractCall]: {
135
+ vmVersion: [],
136
+ abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
137
+ },
138
+ [TX_TYPE.oracleRegister]: {
139
+ vmVersion: [],
140
+ abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
141
+ }
142
+ }
143
+ };
144
+ export let FIELD_TYPES;
145
+
146
+ (function (FIELD_TYPES) {
147
+ FIELD_TYPES[FIELD_TYPES["int"] = 0] = "int";
148
+ FIELD_TYPES[FIELD_TYPES["shortInt"] = 1] = "shortInt";
149
+ FIELD_TYPES[FIELD_TYPES["amount"] = 2] = "amount";
150
+ FIELD_TYPES[FIELD_TYPES["id"] = 3] = "id";
151
+ FIELD_TYPES[FIELD_TYPES["ids"] = 4] = "ids";
152
+ FIELD_TYPES[FIELD_TYPES["string"] = 5] = "string";
153
+ FIELD_TYPES[FIELD_TYPES["binary"] = 6] = "binary";
154
+ FIELD_TYPES[FIELD_TYPES["bool"] = 7] = "bool";
155
+ FIELD_TYPES[FIELD_TYPES["hex"] = 8] = "hex";
156
+ FIELD_TYPES[FIELD_TYPES["rlpBinary"] = 9] = "rlpBinary";
157
+ FIELD_TYPES[FIELD_TYPES["rlpBinaries"] = 10] = "rlpBinaries";
158
+ FIELD_TYPES[FIELD_TYPES["rawBinary"] = 11] = "rawBinary";
159
+ FIELD_TYPES[FIELD_TYPES["signatures"] = 12] = "signatures";
160
+ FIELD_TYPES[FIELD_TYPES["pointers"] = 13] = "pointers";
161
+ FIELD_TYPES[FIELD_TYPES["offChainUpdates"] = 14] = "offChainUpdates";
162
+ FIELD_TYPES[FIELD_TYPES["callStack"] = 15] = "callStack";
163
+ FIELD_TYPES[FIELD_TYPES["proofOfInclusion"] = 16] = "proofOfInclusion";
164
+ FIELD_TYPES[FIELD_TYPES["mptrees"] = 17] = "mptrees";
165
+ FIELD_TYPES[FIELD_TYPES["callReturnType"] = 18] = "callReturnType";
166
+ FIELD_TYPES[FIELD_TYPES["ctVersion"] = 19] = "ctVersion";
167
+ FIELD_TYPES[FIELD_TYPES["abiVersion"] = 20] = "abiVersion";
168
+ FIELD_TYPES[FIELD_TYPES["ttlType"] = 21] = "ttlType";
169
+ FIELD_TYPES[FIELD_TYPES["sophiaCodeTypeInfo"] = 22] = "sophiaCodeTypeInfo";
170
+ FIELD_TYPES[FIELD_TYPES["payload"] = 23] = "payload";
171
+ FIELD_TYPES[FIELD_TYPES["stateTree"] = 24] = "stateTree";
172
+ })(FIELD_TYPES || (FIELD_TYPES = {}));
173
+
174
+ const BASE_TX = [['tag', FIELD_TYPES.shortInt], ['VSN', FIELD_TYPES.shortInt]];
175
+ export const TX_SCHEMA = {
176
+ [TX_TYPE.account]: {
177
+ 2: [...BASE_TX, ['flags', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt], ['balance', FIELD_TYPES.int], ['gaContract', FIELD_TYPES.id, ['ct', 'nm']], ['gaAuthFun', FIELD_TYPES.binary, 'cb']]
178
+ },
179
+ [TX_TYPE.signed]: {
180
+ 1: [...BASE_TX, ['signatures', FIELD_TYPES.signatures], ['encodedTx', FIELD_TYPES.rlpBinary]]
181
+ },
182
+ [TX_TYPE.spend]: {
183
+ 1: [...BASE_TX, ['senderId', FIELD_TYPES.id, 'ak'], ['recipientId', FIELD_TYPES.id, ['ak', 'nm']], ['amount', FIELD_TYPES.amount], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['nonce', FIELD_TYPES.shortInt], ['payload', FIELD_TYPES.payload]]
184
+ },
185
+ [TX_TYPE.namePreClaim]: {
186
+ 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['commitmentId', FIELD_TYPES.id, 'cm'], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
187
+ },
188
+ [TX_TYPE.nameClaim]: {
189
+ 2: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['name', Name], ['nameSalt', FIELD_TYPES.int], ['nameFee', NameFee], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
190
+ },
191
+ [TX_TYPE.nameUpdate]: {
192
+ 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['nameTtl', FIELD_TYPES.int], ['pointers', FIELD_TYPES.pointers], ['clientTtl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
193
+ },
194
+ [TX_TYPE.nameTransfer]: {
195
+ 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['recipientId', FIELD_TYPES.id, ['ak', 'nm']], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
196
+ },
197
+ [TX_TYPE.nameRevoke]: {
198
+ 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
199
+ },
200
+ [TX_TYPE.contract]: {
201
+ 1: [...BASE_TX, ['owner', FIELD_TYPES.id, 'ak'], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, 'cb'], ['log', FIELD_TYPES.binary, 'cb'], ['active', FIELD_TYPES.bool], ['referers', FIELD_TYPES.ids, 'ak'], ['deposit', Deposit]]
202
+ },
203
+ [TX_TYPE.contractCreate]: {
204
+ 1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['code', FIELD_TYPES.binary, 'cb'], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['deposit', Deposit], ['amount', FIELD_TYPES.amount], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
205
+ },
206
+ [TX_TYPE.contractCall]: {
207
+ 1: [...BASE_TX, ['callerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['contractId', FIELD_TYPES.id, ['ct', 'nm']], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['amount', FIELD_TYPES.amount], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
208
+ },
209
+ [TX_TYPE.contractCallResult]: {
210
+ 1: [...BASE_TX, ['callerId', FIELD_TYPES.id, 'ak'], ['callerNonce', FIELD_TYPES.shortInt], ['height', FIELD_TYPES.shortInt], ['contractId', FIELD_TYPES.id, 'ct'], ['gasPrice', GasPrice], ['gasUsed', FIELD_TYPES.shortInt], ['returnValue', FIELD_TYPES.binary, 'cb'], ['returnType', FIELD_TYPES.callReturnType], // TODO: add serialization for
211
+ // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
212
+ ['log', FIELD_TYPES.rawBinary]]
213
+ },
214
+ [TX_TYPE.oracleRegister]: {
215
+ 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['queryFormat', FIELD_TYPES.string], ['responseFormat', FIELD_TYPES.string], ['queryFee', FIELD_TYPES.amount], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['abiVersion', FIELD_TYPES.abiVersion]]
216
+ },
217
+ [TX_TYPE.oracleExtend]: {
218
+ 1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, ['ok', 'nm']], ['nonce', FIELD_TYPES.shortInt], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
219
+ },
220
+ [TX_TYPE.oracleQuery]: {
221
+ 1: [...BASE_TX, ['senderId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['oracleId', FIELD_TYPES.id, ['ok', 'nm']], ['query', FIELD_TYPES.string], ['queryFee', FIELD_TYPES.amount], ['queryTtlType', FIELD_TYPES.ttlType], ['queryTtlValue', FIELD_TYPES.shortInt], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
222
+ },
223
+ [TX_TYPE.oracleResponse]: {
224
+ 1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, 'ok'], ['nonce', FIELD_TYPES.shortInt], ['queryId', FIELD_TYPES.binary, 'oq'], ['response', FIELD_TYPES.string], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
225
+ },
226
+ [TX_TYPE.channelCreate]: {
227
+ 2: [...BASE_TX, ['initiator', FIELD_TYPES.id, 'ak'], ['initiatorAmount', FIELD_TYPES.int], ['responder', FIELD_TYPES.id, 'ak'], ['responderAmount', FIELD_TYPES.int], ['channelReserve', FIELD_TYPES.int], ['lockPeriod', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['initiatorDelegateIds', FIELD_TYPES.string], ['responderDelegateIds', FIELD_TYPES.string], ['stateHash', FIELD_TYPES.binary, 'st'], ['nonce', FIELD_TYPES.shortInt]]
228
+ },
229
+ [TX_TYPE.channelCloseMutual]: {
230
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['initiatorAmountFinal', FIELD_TYPES.int], ['responderAmountFinal', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
231
+ },
232
+ [TX_TYPE.channelCloseSolo]: {
233
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
234
+ },
235
+ [TX_TYPE.channelSlash]: {
236
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
237
+ },
238
+ [TX_TYPE.channelDeposit]: {
239
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
240
+ },
241
+ [TX_TYPE.channelWithdraw]: {
242
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['toId', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
243
+ },
244
+ [TX_TYPE.channelSettle]: {
245
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['initiatorAmountFinal', FIELD_TYPES.int], ['responderAmountFinal', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
246
+ },
247
+ [TX_TYPE.channelForceProgress]: {
248
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['round', FIELD_TYPES.int], ['update', FIELD_TYPES.binary, 'cb'], ['stateHash', FIELD_TYPES.binary, 'st'], ['offChainTrees', FIELD_TYPES.stateTree], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
249
+ },
250
+ [TX_TYPE.channelOffChain]: {
251
+ 2: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['round', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st']]
252
+ },
253
+ [TX_TYPE.channel]: {
254
+ 3: [...BASE_TX, ['initiator', FIELD_TYPES.id, 'ak'], ['responder', FIELD_TYPES.id, 'ak'], ['channelAmount', FIELD_TYPES.int], ['initiatorAmount', FIELD_TYPES.int], ['responderAmount', FIELD_TYPES.int], ['channelReserve', FIELD_TYPES.int], ['initiatorDelegateIds', FIELD_TYPES.ids], ['responderDelegateIds', FIELD_TYPES.ids], ['stateHash', FIELD_TYPES.hex], ['round', FIELD_TYPES.int], ['soloRound', FIELD_TYPES.int], ['lockPeriod', FIELD_TYPES.int], ['lockedUntil', FIELD_TYPES.int], ['initiatorAuth', FIELD_TYPES.binary, 'cb'], ['responderAuth', FIELD_TYPES.binary, 'cb']]
255
+ },
256
+ [TX_TYPE.channelSnapshotSolo]: {
257
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
258
+ },
259
+ [TX_TYPE.channelOffChainUpdateTransfer]: {
260
+ 1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['to', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
261
+ },
262
+ [TX_TYPE.channelOffChainUpdateDeposit]: {
263
+ 1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
264
+ },
265
+ [TX_TYPE.channelOffChainUpdateWithdrawal]: {
266
+ 1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
267
+ },
268
+ [TX_TYPE.channelOffChainCreateContract]: {
269
+ 1: [...BASE_TX, ['owner', FIELD_TYPES.id, 'ak'], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, 'cb'], ['deposit', FIELD_TYPES.int], ['callData', FIELD_TYPES.binary, 'cb']]
270
+ },
271
+ [TX_TYPE.channelOffChainCallContract]: {
272
+ 1: [...BASE_TX, ['caller', FIELD_TYPES.id, 'ak'], ['contract', FIELD_TYPES.id, 'ct'], ['abiVersion', FIELD_TYPES.abiVersion], ['amount', FIELD_TYPES.int], ['callData', FIELD_TYPES.binary, 'cb'], ['callStack', FIELD_TYPES.callStack], ['gasPrice', GasPrice], ['gasLimit', FIELD_TYPES.shortInt]]
273
+ },
274
+ [TX_TYPE.channelReconnect]: {
275
+ 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['round', FIELD_TYPES.int], ['role', FIELD_TYPES.string], ['pubkey', FIELD_TYPES.id, 'ak']]
276
+ },
277
+ [TX_TYPE.proofOfInclusion]: {
278
+ 1: [...BASE_TX, ['accounts', FIELD_TYPES.mptrees], ['calls', FIELD_TYPES.mptrees], ['channels', FIELD_TYPES.mptrees], ['contracts', FIELD_TYPES.mptrees], ['ns', FIELD_TYPES.mptrees], ['oracles', FIELD_TYPES.mptrees]]
279
+ },
280
+ [TX_TYPE.stateTrees]: {
281
+ 1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary], ['calls', FIELD_TYPES.rlpBinary], ['channels', FIELD_TYPES.rlpBinary], ['ns', FIELD_TYPES.rlpBinary], ['oracles', FIELD_TYPES.rlpBinary], ['accounts', FIELD_TYPES.rlpBinary]]
282
+ },
283
+ [TX_TYPE.merklePatriciaTree]: {
284
+ 1: [...BASE_TX, ['values', FIELD_TYPES.rlpBinaries]]
285
+ },
286
+ [TX_TYPE.merklePatriciaTreeValue]: {
287
+ 1: [...BASE_TX, ['key', FIELD_TYPES.hex], ['value', FIELD_TYPES.rawBinary]]
288
+ },
289
+ [TX_TYPE.contractsTree]: {
290
+ 1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary]]
291
+ },
292
+ [TX_TYPE.contractCallsTree]: {
293
+ 1: [...BASE_TX, ['calls', FIELD_TYPES.rlpBinary]]
294
+ },
295
+ [TX_TYPE.channelsTree]: {
296
+ 1: [...BASE_TX, ['channels', FIELD_TYPES.rlpBinary]]
297
+ },
298
+ [TX_TYPE.nameserviceTree]: {
299
+ 1: [...BASE_TX, ['mtree', FIELD_TYPES.rlpBinary]]
300
+ },
301
+ [TX_TYPE.oraclesTree]: {
302
+ 1: [...BASE_TX, ['otree', FIELD_TYPES.rlpBinary]]
303
+ },
304
+ [TX_TYPE.accountsTree]: {
305
+ 1: [...BASE_TX, ['accounts', FIELD_TYPES.rlpBinary]]
306
+ },
307
+ [TX_TYPE.gaAttach]: {
308
+ 1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['code', FIELD_TYPES.binary, 'cb'], ['authFun', FIELD_TYPES.rawBinary], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
309
+ },
310
+ [TX_TYPE.gaMeta]: {
311
+ 2: [...BASE_TX, ['gaId', FIELD_TYPES.id, 'ak'], ['authData', FIELD_TYPES.binary, 'cb'], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', FIELD_TYPES.int], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['tx', FIELD_TYPES.rlpBinary]]
312
+ },
313
+ [TX_TYPE.payingFor]: {
314
+ 1: [...BASE_TX, ['payerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['tx', FIELD_TYPES.rlpBinary]]
315
+ },
316
+ [TX_TYPE.sophiaByteCode]: {
317
+ 3: [...BASE_TX, ['sourceCodeHash', FIELD_TYPES.rawBinary], ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo], ['byteCode', FIELD_TYPES.rawBinary], ['compilerVersion', FIELD_TYPES.string], ['payable', FIELD_TYPES.bool]]
318
+ }
319
+ };
320
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":["Name","NameId","NameFee","Deposit","GasPrice","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","GAS_MAX","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","TX_TYPE","VM_VERSIONS","ABI_VERSIONS","PROTOCOL_VERSIONS","PROTOCOL_VM_ABI","IRIS","contractCreate","vmVersion","FATE_2","abiVersion","FATE","contractCall","SOPHIA","oracleRegister","NO_ABI","FIELD_TYPES","BASE_TX","shortInt","TX_SCHEMA","account","int","id","binary","signed","signatures","rlpBinary","spend","payload","namePreClaim","nameClaim","nameUpdate","pointers","nameTransfer","nameRevoke","contract","ctVersion","bool","ids","contractCallResult","callReturnType","rawBinary","string","ttlType","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelForceProgress","stateTree","channelOffChain","channel","hex","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","callStack","channelReconnect","proofOfInclusion","mptrees","stateTrees","merklePatriciaTree","rlpBinaries","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","sophiaCodeTypeInfo"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\nimport { Name, NameId, NameFee, Deposit, Field, GasPrice } from './field-types'\nimport { EncodedData, EncodingType } from '../../utils/encoder'\nimport { Pointer } from './helpers'\nimport MPTree from '../../utils/mptree'\n\nexport * from './constants'\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1\n}\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 }\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 }\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 }\n// # CONTRACT\nexport const AMOUNT = 0\nexport const GAS_MAX = 1600000 - 21000\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n\n} as const\n\nexport type TxField = [\n name: string,\n type: FIELD_TYPES | typeof Field,\n prefix?: EncodingType | EncodingType[]\n]\n\n/**\n * Enum with transaction types\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n */\nexport enum TX_TYPE {\n account = 10,\n signed = 11,\n spend = 12,\n oracleRegister = 22,\n oracleQuery = 23,\n oracleResponse = 24,\n oracleExtend = 25,\n nameClaim = 32,\n namePreClaim = 33,\n nameUpdate = 34,\n nameRevoke = 35,\n nameTransfer = 36,\n contract = 40,\n contractCallResult = 41,\n contractCreate = 42,\n contractCall = 43,\n channelCreate = 50,\n channelDeposit = 51,\n channelWithdraw = 52,\n channelCloseMutual = 53,\n channelCloseSolo = 54,\n channelSlash = 55,\n channelSettle = 56,\n channelOffChain = 57,\n channel = 58,\n channelSnapshotSolo = 59,\n proofOfInclusion = 60,\n stateTrees = 62,\n merklePatriciaTree = 63,\n merklePatriciaTreeValue = 64,\n sophiaByteCode = 70,\n gaAttach = 80,\n gaMeta = 81,\n payingFor = 82,\n channelForceProgress = 521,\n channelOffChainUpdateTransfer = 570,\n channelOffChainUpdateDeposit = 571,\n channelOffChainUpdateWithdrawal = 572,\n channelOffChainCreateContract = 573,\n channelOffChainCallContract = 574,\n channelReconnect = 575,\n contractsTree = 621,\n contractCallsTree = 622,\n channelsTree = 623,\n nameserviceTree = 624,\n oraclesTree = 625,\n accountsTree = 626\n}\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VM_VERSIONS {\n NO_VM = 0,\n SOPHIA = 1,\n SOPHIA_IMPROVEMENTS_MINERVA = 3,\n SOPHIA_IMPROVEMENTS_FORTUNA = 4,\n FATE = 5,\n SOPHIA_IMPROVEMENTS_LIMA = 6,\n FATE_2 = 7\n}\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum ABI_VERSIONS {\n NO_ABI = 0,\n SOPHIA = 1,\n FATE = 3\n}\n\nexport enum PROTOCOL_VERSIONS {\n IRIS = 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM (SOPHIA?) is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n} as const\n\ntype PrefixType<Prefix> = Prefix extends EncodingType\n ? EncodedData<Prefix>\n : Prefix extends readonly EncodingType[]\n ? EncodedData<Prefix[number]>\n : EncodedData<any>\n\nexport interface CtVersion {\n vmVersion: VM_VERSIONS\n abiVersion: ABI_VERSIONS\n}\n\nexport enum FIELD_TYPES {\n int,\n shortInt,\n amount,\n id,\n ids,\n string,\n binary,\n bool,\n hex,\n rlpBinary,\n rlpBinaries,\n rawBinary,\n signatures,\n pointers,\n offChainUpdates,\n callStack,\n proofOfInclusion,\n mptrees,\n callReturnType,\n ctVersion,\n abiVersion,\n ttlType,\n sophiaCodeTypeInfo,\n payload,\n stateTree\n}\n\ninterface BuildFieldTypes<Prefix extends undefined | EncodingType | readonly EncodingType[]>{\n [FIELD_TYPES.int]: number | string | BigNumber\n [FIELD_TYPES.shortInt]: number\n [FIELD_TYPES.amount]: number | string | BigNumber\n [FIELD_TYPES.id]: PrefixType<Prefix>\n [FIELD_TYPES.ids]: Array<EncodedData<Prefix extends EncodingType[] ? Prefix : any>>\n [FIELD_TYPES.string]: string\n [FIELD_TYPES.binary]: PrefixType<Prefix>\n [FIELD_TYPES.bool]: Boolean\n [FIELD_TYPES.hex]: string\n [FIELD_TYPES.rlpBinary]: any\n [FIELD_TYPES.rlpBinaries]: any[]\n [FIELD_TYPES.rawBinary]: Uint8Array\n [FIELD_TYPES.signatures]: Uint8Array[]\n [FIELD_TYPES.pointers]: Pointer[]\n [FIELD_TYPES.offChainUpdates]: any\n [FIELD_TYPES.callStack]: any\n [FIELD_TYPES.proofOfInclusion]: any\n [FIELD_TYPES.mptrees]: MPTree[]\n [FIELD_TYPES.callReturnType]: any\n [FIELD_TYPES.ctVersion]: CtVersion\n [FIELD_TYPES.abiVersion]: ABI_VERSIONS\n [FIELD_TYPES.ttlType]: ORACLE_TTL_TYPES\n [FIELD_TYPES.sophiaCodeTypeInfo]: any\n [FIELD_TYPES.payload]: string | undefined\n [FIELD_TYPES.stateTree]: any\n}\n\n// based on https://stackoverflow.com/a/50375286/6176994\ntype UnionToIntersection<Union> =\n (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)\n ? Intersection : never\n\ntype TxElem = readonly [string, FIELD_TYPES | Field]\n| readonly [string, FIELD_TYPES, EncodingType | readonly EncodingType[]]\n\ntype BuildTxArgBySchemaType<\n Type extends FIELD_TYPES | Field,\n Prefix extends undefined | EncodingType | readonly EncodingType[]\n> =\n Type extends typeof Field\n ? Parameters<Type['serialize']>[0]\n : Type extends FIELD_TYPES\n ? BuildFieldTypes<Prefix>[Type]\n : never\n\ntype NullablePartial<\n T,\n NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T]\n> = Partial<Pick<T, NK>> & Omit<T, NK>\n\ntype BuildTxArgBySchema<SchemaLine> =\n UnionToIntersection<\n SchemaLine extends ReadonlyArray<infer Elem>\n ? Elem extends TxElem\n ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1], Elem[2]> }>\n : never\n : never\n >\n\nexport type RawTxObject<Tx extends TxSchema> = {\n [k in keyof Tx]: Tx[k] extends BigNumber ? string : Tx[k]\n}\n\nconst BASE_TX = [\n ['tag', FIELD_TYPES.shortInt],\n ['VSN', FIELD_TYPES.shortInt]\n] as const\n\nexport const TX_SCHEMA = {\n [TX_TYPE.account]: {\n 2: [\n ...BASE_TX,\n ['flags', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt],\n ['balance', FIELD_TYPES.int],\n ['gaContract', FIELD_TYPES.id, ['ct', 'nm']],\n ['gaAuthFun', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.signed]: {\n 1: [\n ...BASE_TX,\n ['signatures', FIELD_TYPES.signatures],\n ['encodedTx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.spend]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, 'ak'],\n ['recipientId', FIELD_TYPES.id, ['ak', 'nm']],\n ['amount', FIELD_TYPES.amount],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['nonce', FIELD_TYPES.shortInt],\n ['payload', FIELD_TYPES.payload]\n ]\n },\n [TX_TYPE.namePreClaim]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['commitmentId', FIELD_TYPES.id, 'cm'],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameClaim]: {\n 2: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['name', Name],\n ['nameSalt', FIELD_TYPES.int],\n ['nameFee', NameFee],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameUpdate]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['nameTtl', FIELD_TYPES.int],\n ['pointers', FIELD_TYPES.pointers],\n ['clientTtl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameTransfer]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['recipientId', FIELD_TYPES.id, ['ak', 'nm']],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameRevoke]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.contract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, 'ak'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['log', FIELD_TYPES.binary, 'cb'],\n ['active', FIELD_TYPES.bool],\n ['referers', FIELD_TYPES.ids, 'ak'],\n ['deposit', Deposit]\n ]\n },\n [TX_TYPE.contractCreate]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['deposit', Deposit],\n ['amount', FIELD_TYPES.amount],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.contractCall]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['contractId', FIELD_TYPES.id, ['ct', 'nm']],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['amount', FIELD_TYPES.amount],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.contractCallResult]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, 'ak'],\n ['callerNonce', FIELD_TYPES.shortInt],\n ['height', FIELD_TYPES.shortInt],\n ['contractId', FIELD_TYPES.id, 'ct'],\n ['gasPrice', GasPrice],\n ['gasUsed', FIELD_TYPES.shortInt],\n ['returnValue', FIELD_TYPES.binary, 'cb'],\n ['returnType', FIELD_TYPES.callReturnType],\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n ['log', FIELD_TYPES.rawBinary]\n ]\n },\n [TX_TYPE.oracleRegister]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['queryFormat', FIELD_TYPES.string],\n ['responseFormat', FIELD_TYPES.string],\n ['queryFee', FIELD_TYPES.amount],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['abiVersion', FIELD_TYPES.abiVersion]\n ]\n },\n [TX_TYPE.oracleExtend]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, ['ok', 'nm']],\n ['nonce', FIELD_TYPES.shortInt],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.oracleQuery]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['oracleId', FIELD_TYPES.id, ['ok', 'nm']],\n ['query', FIELD_TYPES.string],\n ['queryFee', FIELD_TYPES.amount],\n ['queryTtlType', FIELD_TYPES.ttlType],\n ['queryTtlValue', FIELD_TYPES.shortInt],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.oracleResponse]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, 'ok'],\n ['nonce', FIELD_TYPES.shortInt],\n ['queryId', FIELD_TYPES.binary, 'oq'],\n ['response', FIELD_TYPES.string],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCreate]: {\n 2: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, 'ak'],\n ['initiatorAmount', FIELD_TYPES.int],\n ['responder', FIELD_TYPES.id, 'ak'],\n ['responderAmount', FIELD_TYPES.int],\n ['channelReserve', FIELD_TYPES.int],\n ['lockPeriod', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['initiatorDelegateIds', FIELD_TYPES.string],\n ['responderDelegateIds', FIELD_TYPES.string],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['initiatorAmountFinal', FIELD_TYPES.int],\n ['responderAmountFinal', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelSlash]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelDeposit]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelWithdraw]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['toId', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelSettle]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['initiatorAmountFinal', FIELD_TYPES.int],\n ['responderAmountFinal', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelForceProgress]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['round', FIELD_TYPES.int],\n ['update', FIELD_TYPES.binary, 'cb'],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['offChainTrees', FIELD_TYPES.stateTree],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelOffChain]: {\n 2: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['round', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st']\n ]\n },\n [TX_TYPE.channel]: {\n 3: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, 'ak'],\n ['responder', FIELD_TYPES.id, 'ak'],\n ['channelAmount', FIELD_TYPES.int],\n ['initiatorAmount', FIELD_TYPES.int],\n ['responderAmount', FIELD_TYPES.int],\n ['channelReserve', FIELD_TYPES.int],\n ['initiatorDelegateIds', FIELD_TYPES.ids],\n ['responderDelegateIds', FIELD_TYPES.ids],\n ['stateHash', FIELD_TYPES.hex],\n ['round', FIELD_TYPES.int],\n ['soloRound', FIELD_TYPES.int],\n ['lockPeriod', FIELD_TYPES.int],\n ['lockedUntil', FIELD_TYPES.int],\n ['initiatorAuth', FIELD_TYPES.binary, 'cb'],\n ['responderAuth', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['to', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, 'ak'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['deposit', FIELD_TYPES.int],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: [\n ...BASE_TX,\n ['caller', FIELD_TYPES.id, 'ak'],\n ['contract', FIELD_TYPES.id, 'ct'],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['amount', FIELD_TYPES.int],\n ['callData', FIELD_TYPES.binary, 'cb'],\n ['callStack', FIELD_TYPES.callStack],\n ['gasPrice', GasPrice],\n ['gasLimit', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelReconnect]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['round', FIELD_TYPES.int],\n ['role', FIELD_TYPES.string],\n ['pubkey', FIELD_TYPES.id, 'ak']\n ]\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.mptrees],\n ['calls', FIELD_TYPES.mptrees],\n ['channels', FIELD_TYPES.mptrees],\n ['contracts', FIELD_TYPES.mptrees],\n ['ns', FIELD_TYPES.mptrees],\n ['oracles', FIELD_TYPES.mptrees]\n ]\n },\n [TX_TYPE.stateTrees]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ['calls', FIELD_TYPES.rlpBinary],\n ['channels', FIELD_TYPES.rlpBinary],\n ['ns', FIELD_TYPES.rlpBinary],\n ['oracles', FIELD_TYPES.rlpBinary],\n ['accounts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: [\n ...BASE_TX,\n ['values', FIELD_TYPES.rlpBinaries]\n ]\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: [\n ...BASE_TX,\n ['key', FIELD_TYPES.hex],\n ['value', FIELD_TYPES.rawBinary]\n ]\n },\n [TX_TYPE.contractsTree]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.contractCallsTree]: {\n 1: [\n ...BASE_TX,\n ['calls', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.channelsTree]: {\n 1: [\n ...BASE_TX,\n ['channels', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.nameserviceTree]: {\n 1: [\n ...BASE_TX,\n ['mtree', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.oraclesTree]: {\n 1: [\n ...BASE_TX,\n ['otree', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.accountsTree]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.gaAttach]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['authFun', FIELD_TYPES.rawBinary],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.gaMeta]: {\n 2: [\n ...BASE_TX,\n ['gaId', FIELD_TYPES.id, 'ak'],\n ['authData', FIELD_TYPES.binary, 'cb'],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', FIELD_TYPES.int],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['tx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.payingFor]: {\n 1: [\n ...BASE_TX,\n ['payerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['tx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.sophiaByteCode]: {\n 3: [\n ...BASE_TX,\n ['sourceCodeHash', FIELD_TYPES.rawBinary],\n ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo],\n ['byteCode', FIELD_TYPES.rawBinary],\n ['compilerVersion', FIELD_TYPES.string],\n ['payable', FIELD_TYPES.bool]\n ]\n }\n} as const\n\nexport type TxTypeSchemas = {\n [key in TX_TYPE]: BuildTxArgBySchema<\n typeof TX_SCHEMA[key][keyof typeof TX_SCHEMA[key]]\n >\n}\n\nexport type TxSchema = TxTypeSchemas[TX_TYPE]\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>\n"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Transaction methods
3
+ *
4
+ * This is implementation of [Tx](api/tx.md) relays
5
+ * the creation of transactions to {@link Node}.
6
+ * These methods provide ability to create native transactions.
7
+ */
8
+ import { ABI_VERSIONS, CtVersion, TX_TYPE, TxParamsCommon } from './builder/schema';
9
+ import BigNumber from 'bignumber.js';
10
+ import Node from '../Node';
11
+ import { EncodedData } from '../utils/encoder';
12
+ import { buildTx as syncBuildTx } from './builder/index';
13
+ import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
14
+ declare type Int = number | string | BigNumber;
15
+ export declare type BuildTxOptions<TxType extends TX_TYPE, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
16
+ export declare function _buildTx<TxType extends TX_TYPE>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
17
+ onNode: Node;
18
+ fee?: Int;
19
+ nonce?: number;
20
+ ttl?: number;
21
+ denomination?: AE_AMOUNT_FORMATS;
22
+ absoluteTtl?: boolean;
23
+ } & (TxType extends TX_TYPE.oracleExtend | TX_TYPE.oracleResponse ? {
24
+ callerId: EncodedData<'ak'>;
25
+ } : {}) & (TxType extends TX_TYPE.contractCreate | TX_TYPE.gaAttach ? {
26
+ ctVersion?: CtVersion;
27
+ } : {}) & (TxType extends TX_TYPE.contractCall | TX_TYPE.oracleRegister ? {
28
+ abiVersion?: ABI_VERSIONS;
29
+ } : {})): Promise<EncodedData<'tx'>>;
30
+ /**
31
+ * Validated vm/abi version or get default based on transaction type and NODE version
32
+ *
33
+ * @param txType - Type of transaction
34
+ * @param ctVersion - Object with vm and abi version fields
35
+ * @returns Object with vm/abi version
36
+ */
37
+ export declare function getVmVersion(txType: TX_TYPE.contractCreate, ctVersion: Partial<CtVersion> & {
38
+ onNode: Node;
39
+ }): Promise<CtVersion>;
40
+ export declare function getVmVersion(txType: TX_TYPE, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & {
41
+ onNode: Node;
42
+ }): Promise<Pick<CtVersion, 'abiVersion'>>;
43
+ /**
44
+ * Calculate fee, get absolute ttl (ttl + height), get account nonce
45
+ *
46
+ * @param txType - Type of transaction
47
+ * @param params - Object which contains all tx data
48
+ * @returns Object with account nonce, absolute ttl and transaction fee
49
+ */
50
+ export declare function prepareTxParams(txType: TX_TYPE, { senderId, nonce, ttl, fee: f, absoluteTtl, vsn, strategy, denomination, onNode, ...txParams }: PrepareTxParamsOptions): Promise<{
51
+ fee: BigNumber;
52
+ ttl: number;
53
+ nonce: number;
54
+ }>;
55
+ interface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl' | 'fee'> {
56
+ senderId: EncodedData<'ak'>;
57
+ vsn?: number;
58
+ absoluteTtl?: boolean;
59
+ strategy?: 'continuity' | 'max';
60
+ denomination?: AE_AMOUNT_FORMATS;
61
+ onNode: Node;
62
+ }
63
+ export {};