@aeternity/aepp-sdk 13.3.3 → 14.1.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 (1034) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -21
  3. package/bin/aesophia_cli +0 -0
  4. package/dist/aepp-sdk.browser-script.cjs +3 -0
  5. package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +12 -0
  6. package/dist/aepp-sdk.browser-script.cjs.map +1 -0
  7. package/dist/aepp-sdk.browser.cjs +3 -0
  8. package/dist/aepp-sdk.browser.cjs.map +1 -0
  9. package/dist/aepp-sdk.cjs +38244 -0
  10. package/dist/aepp-sdk.cjs.map +1 -0
  11. package/es/AeSdk.d.ts +4 -4
  12. package/es/AeSdk.js +76 -0
  13. package/es/AeSdk.js.map +1 -0
  14. package/es/AeSdkAepp.d.ts +13 -8
  15. package/es/AeSdkAepp.js +153 -0
  16. package/es/AeSdkAepp.js.map +1 -0
  17. package/es/AeSdkBase.d.ts +15 -41
  18. package/es/AeSdkBase.js +235 -0
  19. package/es/AeSdkBase.js.map +1 -0
  20. package/es/AeSdkMethods.d.ts +11 -34
  21. package/es/AeSdkMethods.js +81 -0
  22. package/es/AeSdkMethods.js.map +1 -0
  23. package/es/AeSdkWallet.d.ts +13 -8
  24. package/es/AeSdkWallet.js +347 -0
  25. package/es/AeSdkWallet.js.map +1 -0
  26. package/es/Middleware.d.ts +14 -26
  27. package/es/Middleware.js +102 -0
  28. package/es/Middleware.js.map +1 -0
  29. package/es/MiddlewareSubscriber.d.ts +5 -3
  30. package/es/MiddlewareSubscriber.js +169 -0
  31. package/es/MiddlewareSubscriber.js.map +1 -0
  32. package/es/Node.d.ts +11 -22
  33. package/es/Node.js +121 -0
  34. package/es/Node.js.map +1 -0
  35. package/es/account/Base.d.ts +14 -66
  36. package/es/account/Base.js +7 -0
  37. package/es/account/Base.js.map +1 -0
  38. package/es/account/BaseFactory.d.ts +20 -0
  39. package/es/account/BaseFactory.js +29 -0
  40. package/es/account/BaseFactory.js.map +1 -0
  41. package/es/account/Generalized.d.ts +7 -6
  42. package/es/account/Generalized.js +117 -0
  43. package/es/account/Generalized.js.map +1 -0
  44. package/es/account/Ledger.d.ts +8 -7
  45. package/es/account/Ledger.js +116 -0
  46. package/es/account/Ledger.js.map +1 -0
  47. package/es/account/LedgerFactory.d.ts +18 -16
  48. package/es/account/LedgerFactory.js +86 -0
  49. package/es/account/LedgerFactory.js.map +1 -0
  50. package/es/account/Memory.d.ts +11 -22
  51. package/es/account/Memory.js +106 -0
  52. package/es/account/Memory.js.map +1 -0
  53. package/es/account/Metamask.d.ts +34 -0
  54. package/es/account/Metamask.js +89 -0
  55. package/es/account/Metamask.js.map +1 -0
  56. package/es/account/MetamaskFactory.d.ts +58 -0
  57. package/es/account/MetamaskFactory.js +164 -0
  58. package/es/account/MetamaskFactory.js.map +1 -0
  59. package/es/account/MnemonicFactory.d.ts +45 -0
  60. package/es/account/MnemonicFactory.js +112 -0
  61. package/es/account/MnemonicFactory.js.map +1 -0
  62. package/es/account/Rpc.d.ts +10 -19
  63. package/es/account/Rpc.js +94 -0
  64. package/es/account/Rpc.js.map +1 -0
  65. package/es/aens.d.ts +144 -165
  66. package/es/aens.js +292 -0
  67. package/es/aens.js.map +1 -0
  68. package/es/aepp-wallet-communication/WalletConnectorFrame.d.ts +25 -0
  69. package/es/aepp-wallet-communication/WalletConnectorFrame.js +39 -0
  70. package/es/aepp-wallet-communication/WalletConnectorFrame.js.map +1 -0
  71. package/es/aepp-wallet-communication/WalletConnectorFrameBase.d.ts +43 -0
  72. package/es/aepp-wallet-communication/WalletConnectorFrameBase.js +110 -0
  73. package/es/aepp-wallet-communication/WalletConnectorFrameBase.js.map +1 -0
  74. package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.d.ts +27 -0
  75. package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js +43 -0
  76. package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js.map +1 -0
  77. package/es/aepp-wallet-communication/connection/Browser.js +53 -0
  78. package/es/aepp-wallet-communication/connection/Browser.js.map +1 -0
  79. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +2 -2
  80. package/es/aepp-wallet-communication/connection/BrowserRuntime.js +54 -0
  81. package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -0
  82. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +2 -2
  83. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js +90 -0
  84. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js.map +1 -0
  85. package/es/aepp-wallet-communication/connection-proxy.d.ts +2 -2
  86. package/es/aepp-wallet-communication/connection-proxy.js +17 -0
  87. package/es/aepp-wallet-communication/connection-proxy.js.map +1 -0
  88. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -1
  89. package/es/aepp-wallet-communication/rpc/RpcClient.js +119 -0
  90. package/es/aepp-wallet-communication/rpc/RpcClient.js.map +1 -0
  91. package/es/aepp-wallet-communication/rpc/types.d.ts +13 -19
  92. package/es/aepp-wallet-communication/rpc/types.js +3 -0
  93. package/es/aepp-wallet-communication/rpc/types.js.map +1 -0
  94. package/es/aepp-wallet-communication/schema.d.ts +10 -3
  95. package/es/aepp-wallet-communication/schema.js +202 -0
  96. package/es/aepp-wallet-communication/schema.js.map +1 -0
  97. package/es/aepp-wallet-communication/wallet-detector.d.ts +4 -4
  98. package/es/aepp-wallet-communication/wallet-detector.js +44 -0
  99. package/es/aepp-wallet-communication/wallet-detector.js.map +1 -0
  100. package/es/apis/compiler/compiler.d.ts +2 -2
  101. package/es/apis/compiler/compiler.js +513 -0
  102. package/es/apis/compiler/compiler.js.map +1 -0
  103. package/es/apis/compiler/index.d.ts +2 -2
  104. package/es/apis/compiler/index.js +3 -0
  105. package/es/apis/compiler/index.js.map +1 -0
  106. package/es/apis/compiler/models/index.js +2 -0
  107. package/es/apis/compiler/models/index.js.map +1 -0
  108. package/es/apis/compiler/models/mappers.js +554 -0
  109. package/es/apis/compiler/models/mappers.js.map +1 -0
  110. package/es/apis/compiler/models/parameters.js +67 -0
  111. package/es/apis/compiler/models/parameters.js.map +1 -0
  112. package/es/apis/middleware/index.d.ts +2 -2
  113. package/es/apis/middleware/index.js +3 -0
  114. package/es/apis/middleware/index.js.map +1 -0
  115. package/es/apis/middleware/middleware.d.ts +222 -124
  116. package/es/apis/middleware/middleware.js +2146 -0
  117. package/es/apis/middleware/middleware.js.map +1 -0
  118. package/es/apis/middleware/models/index.d.ts +2062 -1198
  119. package/es/apis/middleware/models/index.js +2 -0
  120. package/es/apis/middleware/models/index.js.map +1 -0
  121. package/es/apis/middleware/models/mappers.d.ts +206 -81
  122. package/es/apis/middleware/models/mappers.js +9315 -0
  123. package/es/apis/middleware/models/mappers.js.map +1 -0
  124. package/es/apis/middleware/models/parameters.d.ts +78 -13
  125. package/es/apis/middleware/models/parameters.js +1164 -0
  126. package/es/apis/middleware/models/parameters.js.map +1 -0
  127. package/es/apis/node/index.d.ts +2 -2
  128. package/es/apis/node/index.js +3 -0
  129. package/es/apis/node/index.js.map +1 -0
  130. package/es/apis/node/models/index.d.ts +683 -631
  131. package/es/apis/node/models/index.js +2 -0
  132. package/es/apis/node/models/index.js.map +1 -0
  133. package/es/apis/node/models/mappers.d.ts +58 -55
  134. package/es/apis/node/models/mappers.js +5450 -0
  135. package/es/apis/node/models/mappers.js.map +1 -0
  136. package/es/apis/node/models/parameters.d.ts +5 -5
  137. package/es/apis/node/models/parameters.js +165 -0
  138. package/es/apis/node/models/parameters.js.map +1 -0
  139. package/es/apis/node/node.d.ts +113 -96
  140. package/es/apis/node/node.js +1292 -0
  141. package/es/apis/node/node.js.map +1 -0
  142. package/es/chain.d.ts +39 -26
  143. package/es/chain.js +448 -0
  144. package/es/chain.js.map +1 -0
  145. package/es/channel/Base.d.ts +12 -14
  146. package/es/channel/Base.js +246 -0
  147. package/es/channel/Base.js.map +1 -0
  148. package/es/channel/Contract.d.ts +12 -9
  149. package/es/channel/Contract.js +385 -0
  150. package/es/channel/Contract.js.map +1 -0
  151. package/es/channel/Spend.d.ts +10 -10
  152. package/es/channel/Spend.js +357 -0
  153. package/es/channel/Spend.js.map +1 -0
  154. package/es/channel/handlers.d.ts +4 -3
  155. package/es/channel/handlers.js +394 -0
  156. package/es/channel/handlers.js.map +1 -0
  157. package/es/channel/internal.d.ts +11 -10
  158. package/es/channel/internal.js +224 -0
  159. package/es/channel/internal.js.map +1 -0
  160. package/es/contract/Contract.d.ts +30 -21
  161. package/es/contract/Contract.js +535 -0
  162. package/es/contract/Contract.js.map +1 -0
  163. package/es/contract/compiler/Base.d.ts +2 -1
  164. package/es/contract/compiler/Base.js +6 -0
  165. package/es/contract/compiler/Base.js.map +1 -0
  166. package/es/contract/compiler/Cli.d.ts +4 -3
  167. package/es/contract/compiler/Cli.js +169 -0
  168. package/es/contract/compiler/Cli.js.map +1 -0
  169. package/es/contract/compiler/Http.d.ts +5 -4
  170. package/es/contract/compiler/Http.js +125 -0
  171. package/es/contract/compiler/Http.js.map +1 -0
  172. package/es/contract/compiler/HttpNode.d.ts +3 -3
  173. package/es/contract/compiler/HttpNode.js +29 -0
  174. package/es/contract/compiler/HttpNode.js.map +1 -0
  175. package/es/contract/compiler/getFileSystem.d.ts +1 -0
  176. package/es/contract/compiler/getFileSystem.js +33 -0
  177. package/es/contract/compiler/getFileSystem.js.map +1 -0
  178. package/es/contract/ga.d.ts +11 -15
  179. package/es/contract/ga.js +136 -0
  180. package/es/contract/ga.js.map +1 -0
  181. package/es/index-browser.d.ts +86 -51
  182. package/es/index-browser.js +85 -0
  183. package/es/index-browser.js.map +1 -0
  184. package/es/index.d.ts +4 -5
  185. package/es/index.js +5 -0
  186. package/es/index.js.map +1 -0
  187. package/es/oracle/Oracle.d.ts +79 -0
  188. package/es/oracle/Oracle.js +183 -0
  189. package/es/oracle/Oracle.js.map +1 -0
  190. package/es/oracle/OracleBase.d.ts +54 -0
  191. package/es/oracle/OracleBase.js +74 -0
  192. package/es/oracle/OracleBase.js.map +1 -0
  193. package/es/oracle/OracleClient.d.ts +60 -0
  194. package/es/oracle/OracleClient.js +105 -0
  195. package/es/oracle/OracleClient.js.map +1 -0
  196. package/es/send-transaction.d.ts +8 -8
  197. package/es/send-transaction.js +110 -0
  198. package/es/send-transaction.js.map +1 -0
  199. package/es/spend.d.ts +8 -13
  200. package/es/spend.js +93 -0
  201. package/es/spend.js.map +1 -0
  202. package/es/tx/builder/SchemaTypes.d.ts +3 -3
  203. package/es/tx/builder/SchemaTypes.js +2 -0
  204. package/es/tx/builder/SchemaTypes.js.map +1 -0
  205. package/es/tx/builder/common.d.ts +2 -2
  206. package/es/tx/builder/common.js +41 -0
  207. package/es/tx/builder/common.js.map +1 -0
  208. package/es/tx/builder/constants.d.ts +53 -27
  209. package/es/tx/builder/constants.js +170 -0
  210. package/es/tx/builder/constants.js.map +1 -0
  211. package/es/tx/builder/delegation/index.d.ts +3 -3
  212. package/es/tx/builder/delegation/index.js +24 -0
  213. package/es/tx/builder/delegation/index.js.map +1 -0
  214. package/es/tx/builder/delegation/schema.d.ts +21 -4
  215. package/es/tx/builder/delegation/schema.generated.d.ts +2 -2
  216. package/es/tx/builder/delegation/schema.generated.js +2 -0
  217. package/es/tx/builder/delegation/schema.generated.js.map +1 -0
  218. package/es/tx/builder/delegation/schema.js +83 -0
  219. package/es/tx/builder/delegation/schema.js.map +1 -0
  220. package/es/tx/builder/entry/constants.d.ts +35 -0
  221. package/es/tx/builder/entry/constants.js +45 -0
  222. package/es/tx/builder/entry/constants.js.map +1 -0
  223. package/es/tx/builder/entry/index.d.ts +38 -0
  224. package/es/tx/builder/entry/index.js +36 -0
  225. package/es/tx/builder/entry/index.js.map +1 -0
  226. package/es/tx/builder/entry/schema.d.ts +1030 -0
  227. package/es/tx/builder/entry/schema.generated.d.ts +607 -0
  228. package/es/tx/builder/entry/schema.generated.js +2 -0
  229. package/es/tx/builder/entry/schema.generated.js.map +1 -0
  230. package/es/tx/builder/entry/schema.js +204 -0
  231. package/es/tx/builder/entry/schema.js.map +1 -0
  232. package/es/tx/builder/field-types/abi-version.d.ts +4 -5
  233. package/es/tx/builder/field-types/abi-version.js +34 -0
  234. package/es/tx/builder/field-types/abi-version.js.map +1 -0
  235. package/es/tx/builder/field-types/address.d.ts +2 -3
  236. package/es/tx/builder/field-types/address.js +46 -0
  237. package/es/tx/builder/field-types/address.js.map +1 -0
  238. package/es/tx/builder/field-types/array.js +11 -0
  239. package/es/tx/builder/field-types/array.js.map +1 -0
  240. package/es/tx/builder/field-types/boolean.d.ts +0 -1
  241. package/es/tx/builder/field-types/boolean.js +10 -0
  242. package/es/tx/builder/field-types/boolean.js.map +1 -0
  243. package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
  244. package/es/tx/builder/field-types/coin-amount.js +18 -0
  245. package/es/tx/builder/field-types/coin-amount.js.map +1 -0
  246. package/es/tx/builder/field-types/ct-version.d.ts +4 -19
  247. package/es/tx/builder/field-types/ct-version.js +57 -0
  248. package/es/tx/builder/field-types/ct-version.js.map +1 -0
  249. package/es/tx/builder/field-types/encoded.d.ts +1 -2
  250. package/es/tx/builder/field-types/encoded.js +18 -0
  251. package/es/tx/builder/field-types/encoded.js.map +1 -0
  252. package/es/tx/builder/field-types/entry.d.ts +5 -6
  253. package/es/tx/builder/field-types/entry.js +26 -0
  254. package/es/tx/builder/field-types/entry.js.map +1 -0
  255. package/es/tx/builder/field-types/enumeration.d.ts +0 -1
  256. package/es/tx/builder/field-types/enumeration.js +27 -0
  257. package/es/tx/builder/field-types/enumeration.js.map +1 -0
  258. package/es/tx/builder/field-types/fee.d.ts +8 -9
  259. package/es/tx/builder/field-types/fee.js +160 -0
  260. package/es/tx/builder/field-types/fee.js.map +1 -0
  261. package/es/tx/builder/field-types/field.d.ts +0 -1
  262. package/es/tx/builder/field-types/field.js +10 -0
  263. package/es/tx/builder/field-types/field.js.map +1 -0
  264. package/es/tx/builder/field-types/gas-limit.d.ts +4 -5
  265. package/es/tx/builder/field-types/gas-limit.js +31 -0
  266. package/es/tx/builder/field-types/gas-limit.js.map +1 -0
  267. package/es/tx/builder/field-types/gas-price.d.ts +10 -8
  268. package/es/tx/builder/field-types/gas-price.js +53 -0
  269. package/es/tx/builder/field-types/gas-price.js.map +1 -0
  270. package/es/tx/builder/field-types/interface.d.ts +7 -0
  271. package/es/tx/builder/field-types/interface.js +2 -0
  272. package/es/tx/builder/field-types/interface.js.map +1 -0
  273. package/es/tx/builder/field-types/map.d.ts +6 -7
  274. package/es/tx/builder/field-types/map.js +38 -0
  275. package/es/tx/builder/field-types/map.js.map +1 -0
  276. package/es/tx/builder/field-types/mptree.d.ts +12 -13
  277. package/es/tx/builder/field-types/mptree.js +223 -0
  278. package/es/tx/builder/field-types/mptree.js.map +1 -0
  279. package/es/tx/builder/field-types/name-fee.d.ts +3 -4
  280. package/es/tx/builder/field-types/name-fee.js +22 -0
  281. package/es/tx/builder/field-types/name-fee.js.map +1 -0
  282. package/es/tx/builder/field-types/name-id.d.ts +2 -3
  283. package/es/tx/builder/field-types/name-id.js +14 -0
  284. package/es/tx/builder/field-types/name-id.js.map +1 -0
  285. package/es/tx/builder/field-types/name.d.ts +1 -2
  286. package/es/tx/builder/field-types/name.js +16 -0
  287. package/es/tx/builder/field-types/name.js.map +1 -0
  288. package/es/tx/builder/field-types/nonce.d.ts +6 -4
  289. package/es/tx/builder/field-types/nonce.js +40 -0
  290. package/es/tx/builder/field-types/nonce.js.map +1 -0
  291. package/es/tx/builder/field-types/pointers.d.ts +9 -18
  292. package/es/tx/builder/field-types/pointers.js +69 -0
  293. package/es/tx/builder/field-types/pointers.js.map +1 -0
  294. package/es/tx/builder/field-types/query-fee.d.ts +4 -5
  295. package/es/tx/builder/field-types/query-fee.js +21 -0
  296. package/es/tx/builder/field-types/query-fee.js.map +1 -0
  297. package/es/tx/builder/field-types/raw.d.ts +0 -1
  298. package/es/tx/builder/field-types/raw.js +10 -0
  299. package/es/tx/builder/field-types/raw.js.map +1 -0
  300. package/es/tx/builder/field-types/short-u-int-const.d.ts +0 -1
  301. package/es/tx/builder/field-types/short-u-int-const.js +20 -0
  302. package/es/tx/builder/field-types/short-u-int-const.js.map +1 -0
  303. package/es/tx/builder/field-types/short-u-int.d.ts +0 -1
  304. package/es/tx/builder/field-types/short-u-int.js +10 -0
  305. package/es/tx/builder/field-types/short-u-int.js.map +1 -0
  306. package/es/tx/builder/field-types/string.d.ts +0 -1
  307. package/es/tx/builder/field-types/string.js +10 -0
  308. package/es/tx/builder/field-types/string.js.map +1 -0
  309. package/es/tx/builder/field-types/transaction.d.ts +10 -0
  310. package/es/tx/builder/field-types/transaction.js +26 -0
  311. package/es/tx/builder/field-types/transaction.js.map +1 -0
  312. package/es/tx/builder/field-types/ttl.d.ts +6 -11
  313. package/es/tx/builder/field-types/ttl.js +32 -0
  314. package/es/tx/builder/field-types/ttl.js.map +1 -0
  315. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  316. package/es/tx/builder/field-types/u-int.js +13 -0
  317. package/es/tx/builder/field-types/u-int.js.map +1 -0
  318. package/es/tx/builder/field-types/with-default.js +9 -0
  319. package/es/tx/builder/field-types/with-default.js.map +1 -0
  320. package/es/tx/builder/field-types/with-formatting.js +9 -0
  321. package/es/tx/builder/field-types/with-formatting.js.map +1 -0
  322. package/es/tx/builder/field-types/wrapped.d.ts +5 -6
  323. package/es/tx/builder/field-types/wrapped.js +20 -0
  324. package/es/tx/builder/field-types/wrapped.js.map +1 -0
  325. package/es/tx/builder/helpers.d.ts +21 -16
  326. package/es/tx/builder/helpers.js +215 -0
  327. package/es/tx/builder/helpers.js.map +1 -0
  328. package/es/tx/builder/index.d.ts +4 -13
  329. package/es/tx/builder/index.js +91 -0
  330. package/es/tx/builder/index.js.map +1 -0
  331. package/es/tx/builder/schema.d.ts +587 -1724
  332. package/es/tx/builder/schema.generated.d.ts +45 -1001
  333. package/es/tx/builder/schema.generated.js +2 -0
  334. package/es/tx/builder/schema.generated.js.map +1 -0
  335. package/es/tx/builder/schema.js +357 -0
  336. package/es/tx/builder/schema.js.map +1 -0
  337. package/es/tx/execution-cost.d.ts +5 -2
  338. package/es/tx/execution-cost.js +143 -0
  339. package/es/tx/execution-cost.js.map +1 -0
  340. package/es/tx/transaction-signer.d.ts +2 -1
  341. package/es/tx/transaction-signer.js +25 -0
  342. package/es/tx/transaction-signer.js.map +1 -0
  343. package/es/tx/validator.d.ts +2 -2
  344. package/es/tx/validator.js +207 -0
  345. package/es/tx/validator.js.map +1 -0
  346. package/es/typings/blakejs/index.d.js +2 -0
  347. package/es/typings/blakejs/index.d.js.map +1 -0
  348. package/es/typings/sha-js/index.d.js +2 -0
  349. package/es/typings/sha-js/index.d.js.map +1 -0
  350. package/es/typings/tweetnacl-auth/index.d.js +2 -0
  351. package/es/typings/tweetnacl-auth/index.d.js.map +1 -0
  352. package/es/utils/MiddlewarePage.d.ts +37 -0
  353. package/es/utils/MiddlewarePage.js +57 -0
  354. package/es/utils/MiddlewarePage.js.map +1 -0
  355. package/es/utils/amount-formatter.d.ts +19 -5
  356. package/es/utils/amount-formatter.js +113 -0
  357. package/es/utils/amount-formatter.js.map +1 -0
  358. package/es/utils/autorest.d.ts +7 -2
  359. package/es/utils/autorest.js +212 -0
  360. package/es/utils/autorest.js.map +1 -0
  361. package/es/utils/bignumber.js +21 -0
  362. package/es/utils/bignumber.js.map +1 -0
  363. package/es/utils/bytes.d.ts +2 -1
  364. package/es/utils/bytes.js +32 -0
  365. package/es/utils/bytes.js.map +1 -0
  366. package/es/utils/crypto.d.ts +48 -59
  367. package/es/utils/crypto.js +162 -0
  368. package/es/utils/crypto.js.map +1 -0
  369. package/es/utils/encoder-types.d.ts +3 -1
  370. package/es/utils/encoder-types.js +36 -0
  371. package/es/utils/encoder-types.js.map +1 -0
  372. package/es/utils/encoder.d.ts +4 -3
  373. package/es/utils/encoder.js +106 -0
  374. package/es/utils/encoder.js.map +1 -0
  375. package/es/utils/errors.d.ts +4 -10
  376. package/es/utils/errors.js +746 -0
  377. package/es/utils/errors.js.map +1 -0
  378. package/es/utils/json-big.d.ts +1 -1
  379. package/es/utils/json-big.js +25 -0
  380. package/es/utils/json-big.js.map +1 -0
  381. package/es/utils/jwt.d.ts +2 -2
  382. package/es/utils/jwt.js +112 -0
  383. package/es/utils/jwt.js.map +1 -0
  384. package/es/utils/other.d.ts +4 -4
  385. package/es/utils/other.js +48 -0
  386. package/es/utils/other.js.map +1 -0
  387. package/es/utils/semver-satisfies.js +12 -0
  388. package/es/utils/semver-satisfies.js.map +1 -0
  389. package/es/utils/string.js +18 -0
  390. package/es/utils/string.js.map +1 -0
  391. package/es/utils/typed-data.d.ts +6 -2
  392. package/es/utils/typed-data.js +58 -0
  393. package/es/utils/typed-data.js.map +1 -0
  394. package/es/utils/wrap-proxy.js +15 -0
  395. package/es/utils/wrap-proxy.js.map +1 -0
  396. package/package.json +91 -113
  397. package/bin/aesophia_cli_8 +0 -0
  398. package/dist/aepp-sdk.browser-script.js +0 -3
  399. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -12
  400. package/dist/aepp-sdk.browser-script.js.map +0 -1
  401. package/dist/aepp-sdk.browser.js +0 -3
  402. package/dist/aepp-sdk.browser.js.map +0 -1
  403. package/dist/aepp-sdk.js +0 -30486
  404. package/dist/aepp-sdk.js.map +0 -1
  405. package/es/AeSdk.mjs +0 -76
  406. package/es/AeSdk.mjs.map +0 -1
  407. package/es/AeSdkAepp.mjs +0 -145
  408. package/es/AeSdkAepp.mjs.map +0 -1
  409. package/es/AeSdkBase.mjs +0 -289
  410. package/es/AeSdkBase.mjs.map +0 -1
  411. package/es/AeSdkMethods.mjs +0 -92
  412. package/es/AeSdkMethods.mjs.map +0 -1
  413. package/es/AeSdkWallet.mjs +0 -368
  414. package/es/AeSdkWallet.mjs.map +0 -1
  415. package/es/Middleware.mjs +0 -94
  416. package/es/Middleware.mjs.map +0 -1
  417. package/es/MiddlewareSubscriber.mjs +0 -189
  418. package/es/MiddlewareSubscriber.mjs.map +0 -1
  419. package/es/Node.mjs +0 -148
  420. package/es/Node.mjs.map +0 -1
  421. package/es/account/Base.mjs +0 -134
  422. package/es/account/Base.mjs.map +0 -1
  423. package/es/account/Generalized.mjs +0 -129
  424. package/es/account/Generalized.mjs.map +0 -1
  425. package/es/account/Ledger.mjs +0 -131
  426. package/es/account/Ledger.mjs.map +0 -1
  427. package/es/account/LedgerFactory.mjs +0 -79
  428. package/es/account/LedgerFactory.mjs.map +0 -1
  429. package/es/account/Memory.mjs +0 -187
  430. package/es/account/Memory.mjs.map +0 -1
  431. package/es/account/Rpc.mjs +0 -178
  432. package/es/account/Rpc.mjs.map +0 -1
  433. package/es/aens.mjs +0 -290
  434. package/es/aens.mjs.map +0 -1
  435. package/es/aepp-wallet-communication/connection/Browser.mjs +0 -52
  436. package/es/aepp-wallet-communication/connection/Browser.mjs.map +0 -1
  437. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +0 -55
  438. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +0 -1
  439. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -98
  440. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +0 -1
  441. package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
  442. package/es/aepp-wallet-communication/connection-proxy.mjs.map +0 -1
  443. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +0 -134
  444. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +0 -1
  445. package/es/aepp-wallet-communication/rpc/types.mjs +0 -3
  446. package/es/aepp-wallet-communication/rpc/types.mjs.map +0 -1
  447. package/es/aepp-wallet-communication/schema.mjs +0 -187
  448. package/es/aepp-wallet-communication/schema.mjs.map +0 -1
  449. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -44
  450. package/es/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  451. package/es/apis/compiler/compiler.mjs +0 -513
  452. package/es/apis/compiler/compiler.mjs.map +0 -1
  453. package/es/apis/compiler/index.mjs +0 -3
  454. package/es/apis/compiler/index.mjs.map +0 -1
  455. package/es/apis/compiler/models/index.mjs +0 -2
  456. package/es/apis/compiler/models/index.mjs.map +0 -1
  457. package/es/apis/compiler/models/mappers.mjs +0 -554
  458. package/es/apis/compiler/models/mappers.mjs.map +0 -1
  459. package/es/apis/compiler/models/parameters.mjs +0 -67
  460. package/es/apis/compiler/models/parameters.mjs.map +0 -1
  461. package/es/apis/middleware/index.mjs +0 -3
  462. package/es/apis/middleware/index.mjs.map +0 -1
  463. package/es/apis/middleware/middleware.mjs +0 -1623
  464. package/es/apis/middleware/middleware.mjs.map +0 -1
  465. package/es/apis/middleware/models/index.mjs +0 -630
  466. package/es/apis/middleware/models/index.mjs.map +0 -1
  467. package/es/apis/middleware/models/mappers.mjs +0 -3707
  468. package/es/apis/middleware/models/mappers.mjs.map +0 -1
  469. package/es/apis/middleware/models/parameters.mjs +0 -444
  470. package/es/apis/middleware/models/parameters.mjs.map +0 -1
  471. package/es/apis/node/index.mjs +0 -3
  472. package/es/apis/node/index.mjs.map +0 -1
  473. package/es/apis/node/models/index.mjs +0 -2
  474. package/es/apis/node/models/index.mjs.map +0 -1
  475. package/es/apis/node/models/mappers.mjs +0 -4395
  476. package/es/apis/node/models/mappers.mjs.map +0 -1
  477. package/es/apis/node/models/parameters.mjs +0 -165
  478. package/es/apis/node/models/parameters.mjs.map +0 -1
  479. package/es/apis/node/node.mjs +0 -1240
  480. package/es/apis/node/node.mjs.map +0 -1
  481. package/es/chain.mjs +0 -441
  482. package/es/chain.mjs.map +0 -1
  483. package/es/channel/Base.mjs +0 -254
  484. package/es/channel/Base.mjs.map +0 -1
  485. package/es/channel/Contract.mjs +0 -383
  486. package/es/channel/Contract.mjs.map +0 -1
  487. package/es/channel/Spend.mjs +0 -357
  488. package/es/channel/Spend.mjs.map +0 -1
  489. package/es/channel/handlers.mjs +0 -383
  490. package/es/channel/handlers.mjs.map +0 -1
  491. package/es/channel/internal.mjs +0 -237
  492. package/es/channel/internal.mjs.map +0 -1
  493. package/es/contract/Contract.mjs +0 -540
  494. package/es/contract/Contract.mjs.map +0 -1
  495. package/es/contract/compiler/Base.mjs +0 -5
  496. package/es/contract/compiler/Base.mjs.map +0 -1
  497. package/es/contract/compiler/Cli.mjs +0 -197
  498. package/es/contract/compiler/Cli.mjs.map +0 -1
  499. package/es/contract/compiler/Cli8.d.ts +0 -13
  500. package/es/contract/compiler/Cli8.mjs +0 -22
  501. package/es/contract/compiler/Cli8.mjs.map +0 -1
  502. package/es/contract/compiler/Http.mjs +0 -126
  503. package/es/contract/compiler/Http.mjs.map +0 -1
  504. package/es/contract/compiler/HttpNode.mjs +0 -31
  505. package/es/contract/compiler/HttpNode.mjs.map +0 -1
  506. package/es/contract/compiler/getFileSystem.mjs +0 -40
  507. package/es/contract/compiler/getFileSystem.mjs.map +0 -1
  508. package/es/contract/delegation-signature.d.ts +0 -45
  509. package/es/contract/delegation-signature.mjs +0 -80
  510. package/es/contract/delegation-signature.mjs.map +0 -1
  511. package/es/contract/ga.mjs +0 -135
  512. package/es/contract/ga.mjs.map +0 -1
  513. package/es/deprecated.d.ts +0 -62
  514. package/es/deprecated.mjs +0 -87
  515. package/es/deprecated.mjs.map +0 -1
  516. package/es/index-browser.mjs +0 -49
  517. package/es/index-browser.mjs.map +0 -1
  518. package/es/index.mjs +0 -6
  519. package/es/index.mjs.map +0 -1
  520. package/es/oracle.d.ts +0 -125
  521. package/es/oracle.mjs +0 -242
  522. package/es/oracle.mjs.map +0 -1
  523. package/es/send-transaction.mjs +0 -109
  524. package/es/send-transaction.mjs.map +0 -1
  525. package/es/spend.mjs +0 -90
  526. package/es/spend.mjs.map +0 -1
  527. package/es/tx/builder/SchemaTypes.mjs +0 -2
  528. package/es/tx/builder/SchemaTypes.mjs.map +0 -1
  529. package/es/tx/builder/common.mjs +0 -42
  530. package/es/tx/builder/common.mjs.map +0 -1
  531. package/es/tx/builder/constants.mjs +0 -147
  532. package/es/tx/builder/constants.mjs.map +0 -1
  533. package/es/tx/builder/delegation/index.mjs +0 -24
  534. package/es/tx/builder/delegation/index.mjs.map +0 -1
  535. package/es/tx/builder/delegation/schema.generated.mjs +0 -2
  536. package/es/tx/builder/delegation/schema.generated.mjs.map +0 -1
  537. package/es/tx/builder/delegation/schema.mjs +0 -54
  538. package/es/tx/builder/delegation/schema.mjs.map +0 -1
  539. package/es/tx/builder/field-types/abi-version.mjs +0 -37
  540. package/es/tx/builder/field-types/abi-version.mjs.map +0 -1
  541. package/es/tx/builder/field-types/address.mjs +0 -48
  542. package/es/tx/builder/field-types/address.mjs.map +0 -1
  543. package/es/tx/builder/field-types/array.mjs +0 -11
  544. package/es/tx/builder/field-types/array.mjs.map +0 -1
  545. package/es/tx/builder/field-types/boolean.mjs +0 -13
  546. package/es/tx/builder/field-types/boolean.mjs.map +0 -1
  547. package/es/tx/builder/field-types/coin-amount.mjs +0 -18
  548. package/es/tx/builder/field-types/coin-amount.mjs.map +0 -1
  549. package/es/tx/builder/field-types/ct-version.mjs +0 -75
  550. package/es/tx/builder/field-types/ct-version.mjs.map +0 -1
  551. package/es/tx/builder/field-types/encoded.mjs +0 -21
  552. package/es/tx/builder/field-types/encoded.mjs.map +0 -1
  553. package/es/tx/builder/field-types/entry.mjs +0 -29
  554. package/es/tx/builder/field-types/entry.mjs.map +0 -1
  555. package/es/tx/builder/field-types/enumeration.mjs +0 -30
  556. package/es/tx/builder/field-types/enumeration.mjs.map +0 -1
  557. package/es/tx/builder/field-types/fee.mjs +0 -160
  558. package/es/tx/builder/field-types/fee.mjs.map +0 -1
  559. package/es/tx/builder/field-types/field.mjs +0 -13
  560. package/es/tx/builder/field-types/field.mjs.map +0 -1
  561. package/es/tx/builder/field-types/gas-limit.mjs +0 -31
  562. package/es/tx/builder/field-types/gas-limit.mjs.map +0 -1
  563. package/es/tx/builder/field-types/gas-price.mjs +0 -60
  564. package/es/tx/builder/field-types/gas-price.mjs.map +0 -1
  565. package/es/tx/builder/field-types/index.d.ts +0 -39
  566. package/es/tx/builder/field-types/index.mjs +0 -32
  567. package/es/tx/builder/field-types/index.mjs.map +0 -1
  568. package/es/tx/builder/field-types/map.mjs +0 -38
  569. package/es/tx/builder/field-types/map.mjs.map +0 -1
  570. package/es/tx/builder/field-types/mptree.mjs +0 -251
  571. package/es/tx/builder/field-types/mptree.mjs.map +0 -1
  572. package/es/tx/builder/field-types/name-fee.mjs +0 -22
  573. package/es/tx/builder/field-types/name-fee.mjs.map +0 -1
  574. package/es/tx/builder/field-types/name-id.mjs +0 -14
  575. package/es/tx/builder/field-types/name-id.mjs.map +0 -1
  576. package/es/tx/builder/field-types/name.mjs +0 -16
  577. package/es/tx/builder/field-types/name.mjs.map +0 -1
  578. package/es/tx/builder/field-types/nonce.mjs +0 -31
  579. package/es/tx/builder/field-types/nonce.mjs.map +0 -1
  580. package/es/tx/builder/field-types/pointers.mjs +0 -33
  581. package/es/tx/builder/field-types/pointers.mjs.map +0 -1
  582. package/es/tx/builder/field-types/pointers2.d.ts +0 -23
  583. package/es/tx/builder/field-types/pointers2.mjs +0 -65
  584. package/es/tx/builder/field-types/pointers2.mjs.map +0 -1
  585. package/es/tx/builder/field-types/query-fee.mjs +0 -20
  586. package/es/tx/builder/field-types/query-fee.mjs.map +0 -1
  587. package/es/tx/builder/field-types/raw.mjs +0 -13
  588. package/es/tx/builder/field-types/raw.mjs.map +0 -1
  589. package/es/tx/builder/field-types/short-u-int-const.mjs +0 -20
  590. package/es/tx/builder/field-types/short-u-int-const.mjs.map +0 -1
  591. package/es/tx/builder/field-types/short-u-int.mjs +0 -10
  592. package/es/tx/builder/field-types/short-u-int.mjs.map +0 -1
  593. package/es/tx/builder/field-types/string.mjs +0 -10
  594. package/es/tx/builder/field-types/string.mjs.map +0 -1
  595. package/es/tx/builder/field-types/ttl.mjs +0 -32
  596. package/es/tx/builder/field-types/ttl.mjs.map +0 -1
  597. package/es/tx/builder/field-types/u-int.mjs +0 -13
  598. package/es/tx/builder/field-types/u-int.mjs.map +0 -1
  599. package/es/tx/builder/field-types/with-default.mjs +0 -9
  600. package/es/tx/builder/field-types/with-default.mjs.map +0 -1
  601. package/es/tx/builder/field-types/with-formatting.mjs +0 -9
  602. package/es/tx/builder/field-types/with-formatting.mjs.map +0 -1
  603. package/es/tx/builder/field-types/wrapped.mjs +0 -20
  604. package/es/tx/builder/field-types/wrapped.mjs.map +0 -1
  605. package/es/tx/builder/helpers.mjs +0 -209
  606. package/es/tx/builder/helpers.mjs.map +0 -1
  607. package/es/tx/builder/index.mjs +0 -98
  608. package/es/tx/builder/index.mjs.map +0 -1
  609. package/es/tx/builder/schema.generated.mjs +0 -2
  610. package/es/tx/builder/schema.generated.mjs.map +0 -1
  611. package/es/tx/builder/schema.mjs +0 -513
  612. package/es/tx/builder/schema.mjs.map +0 -1
  613. package/es/tx/execution-cost.mjs +0 -139
  614. package/es/tx/execution-cost.mjs.map +0 -1
  615. package/es/tx/transaction-signer.mjs +0 -24
  616. package/es/tx/transaction-signer.mjs.map +0 -1
  617. package/es/tx/validator.mjs +0 -214
  618. package/es/tx/validator.mjs.map +0 -1
  619. package/es/typings/@aeternity__uuid/index.d.mjs +0 -2
  620. package/es/typings/@aeternity__uuid/index.d.mjs.map +0 -1
  621. package/es/typings/bip32-path/index.d.mjs +0 -2
  622. package/es/typings/bip32-path/index.d.mjs.map +0 -1
  623. package/es/typings/blakejs/index.d.mjs +0 -2
  624. package/es/typings/blakejs/index.d.mjs.map +0 -1
  625. package/es/typings/sha-js/index.d.mjs +0 -2
  626. package/es/typings/sha-js/index.d.mjs.map +0 -1
  627. package/es/typings/tweetnacl-auth/index.d.mjs +0 -2
  628. package/es/typings/tweetnacl-auth/index.d.mjs.map +0 -1
  629. package/es/utils/amount-formatter.mjs +0 -97
  630. package/es/utils/amount-formatter.mjs.map +0 -1
  631. package/es/utils/autorest.mjs +0 -141
  632. package/es/utils/autorest.mjs.map +0 -1
  633. package/es/utils/bignumber.mjs +0 -21
  634. package/es/utils/bignumber.mjs.map +0 -1
  635. package/es/utils/bytes.mjs +0 -32
  636. package/es/utils/bytes.mjs.map +0 -1
  637. package/es/utils/crypto.mjs +0 -193
  638. package/es/utils/crypto.mjs.map +0 -1
  639. package/es/utils/encoder-types.mjs +0 -35
  640. package/es/utils/encoder-types.mjs.map +0 -1
  641. package/es/utils/encoder.mjs +0 -110
  642. package/es/utils/encoder.mjs.map +0 -1
  643. package/es/utils/errors.mjs +0 -756
  644. package/es/utils/errors.mjs.map +0 -1
  645. package/es/utils/hd-wallet.d.ts +0 -61
  646. package/es/utils/hd-wallet.mjs +0 -169
  647. package/es/utils/hd-wallet.mjs.map +0 -1
  648. package/es/utils/json-big.mjs +0 -25
  649. package/es/utils/json-big.mjs.map +0 -1
  650. package/es/utils/jwt.mjs +0 -120
  651. package/es/utils/jwt.mjs.map +0 -1
  652. package/es/utils/keystore.d.ts +0 -57
  653. package/es/utils/keystore.mjs +0 -140
  654. package/es/utils/keystore.mjs.map +0 -1
  655. package/es/utils/other.mjs +0 -49
  656. package/es/utils/other.mjs.map +0 -1
  657. package/es/utils/semver-satisfies.mjs +0 -12
  658. package/es/utils/semver-satisfies.mjs.map +0 -1
  659. package/es/utils/string.mjs +0 -18
  660. package/es/utils/string.mjs.map +0 -1
  661. package/es/utils/typed-data.mjs +0 -55
  662. package/es/utils/typed-data.mjs.map +0 -1
  663. package/es/utils/wrap-proxy.mjs +0 -15
  664. package/es/utils/wrap-proxy.mjs.map +0 -1
  665. package/src/AeSdk.ts +0 -75
  666. package/src/AeSdkAepp.ts +0 -179
  667. package/src/AeSdkBase.ts +0 -315
  668. package/src/AeSdkMethods.ts +0 -149
  669. package/src/AeSdkWallet.ts +0 -383
  670. package/src/Middleware.ts +0 -149
  671. package/src/MiddlewareSubscriber.ts +0 -207
  672. package/src/Node.ts +0 -213
  673. package/src/account/Base.ts +0 -224
  674. package/src/account/Generalized.ts +0 -113
  675. package/src/account/Ledger.ts +0 -161
  676. package/src/account/LedgerFactory.ts +0 -86
  677. package/src/account/Memory.ts +0 -218
  678. package/src/account/Rpc.ts +0 -170
  679. package/src/aens.ts +0 -372
  680. package/src/aepp-wallet-communication/connection/Browser.ts +0 -54
  681. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -57
  682. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -105
  683. package/src/aepp-wallet-communication/connection-proxy.ts +0 -19
  684. package/src/aepp-wallet-communication/rpc/RpcClient.ts +0 -153
  685. package/src/aepp-wallet-communication/rpc/types.ts +0 -115
  686. package/src/aepp-wallet-communication/schema.ts +0 -212
  687. package/src/aepp-wallet-communication/wallet-detector.ts +0 -54
  688. package/src/apis/compiler/compiler.ts +0 -527
  689. package/src/apis/compiler/index.ts +0 -2
  690. package/src/apis/compiler/models/index.ts +0 -236
  691. package/src/apis/compiler/models/mappers.ts +0 -555
  692. package/src/apis/compiler/models/parameters.ts +0 -87
  693. package/src/apis/middleware/index.ts +0 -2
  694. package/src/apis/middleware/middleware.ts +0 -1928
  695. package/src/apis/middleware/models/index.ts +0 -1949
  696. package/src/apis/middleware/models/mappers.ts +0 -3808
  697. package/src/apis/middleware/models/parameters.ts +0 -493
  698. package/src/apis/node/index.ts +0 -2
  699. package/src/apis/node/models/index.ts +0 -1335
  700. package/src/apis/node/models/mappers.ts +0 -4508
  701. package/src/apis/node/models/parameters.ts +0 -188
  702. package/src/apis/node/node.ts +0 -1420
  703. package/src/chain.ts +0 -433
  704. package/src/channel/Base.ts +0 -302
  705. package/src/channel/Contract.ts +0 -465
  706. package/src/channel/Spend.ts +0 -385
  707. package/src/channel/handlers.ts +0 -386
  708. package/src/channel/internal.ts +0 -461
  709. package/src/contract/Contract.ts +0 -629
  710. package/src/contract/compiler/Base.ts +0 -123
  711. package/src/contract/compiler/Cli.ts +0 -173
  712. package/src/contract/compiler/Cli8.ts +0 -17
  713. package/src/contract/compiler/Http.ts +0 -134
  714. package/src/contract/compiler/HttpNode.ts +0 -32
  715. package/src/contract/compiler/getFileSystem.ts +0 -42
  716. package/src/contract/delegation-signature.ts +0 -88
  717. package/src/contract/ga.ts +0 -138
  718. package/src/deprecated.ts +0 -77
  719. package/src/index-browser.ts +0 -121
  720. package/src/index.ts +0 -6
  721. package/src/oracle.ts +0 -311
  722. package/src/send-transaction.ts +0 -136
  723. package/src/spend.ts +0 -136
  724. package/src/tx/builder/SchemaTypes.ts +0 -79
  725. package/src/tx/builder/common.ts +0 -74
  726. package/src/tx/builder/constants.ts +0 -155
  727. package/src/tx/builder/delegation/index.ts +0 -28
  728. package/src/tx/builder/delegation/schema.generated.ts +0 -143
  729. package/src/tx/builder/delegation/schema.ts +0 -61
  730. package/src/tx/builder/field-types/abi-version.ts +0 -44
  731. package/src/tx/builder/field-types/address.ts +0 -62
  732. package/src/tx/builder/field-types/array.ts +0 -19
  733. package/src/tx/builder/field-types/boolean.ts +0 -9
  734. package/src/tx/builder/field-types/coin-amount.ts +0 -26
  735. package/src/tx/builder/field-types/ct-version.ts +0 -83
  736. package/src/tx/builder/field-types/encoded.ts +0 -27
  737. package/src/tx/builder/field-types/entry.ts +0 -33
  738. package/src/tx/builder/field-types/enumeration.ts +0 -32
  739. package/src/tx/builder/field-types/fee.ts +0 -191
  740. package/src/tx/builder/field-types/field.ts +0 -9
  741. package/src/tx/builder/field-types/gas-limit.ts +0 -46
  742. package/src/tx/builder/field-types/gas-price.ts +0 -67
  743. package/src/tx/builder/field-types/index.ts +0 -40
  744. package/src/tx/builder/field-types/map.ts +0 -45
  745. package/src/tx/builder/field-types/mptree.ts +0 -243
  746. package/src/tx/builder/field-types/name-fee.ts +0 -32
  747. package/src/tx/builder/field-types/name-id.ts +0 -17
  748. package/src/tx/builder/field-types/name.ts +0 -18
  749. package/src/tx/builder/field-types/nonce.ts +0 -46
  750. package/src/tx/builder/field-types/pointers.ts +0 -41
  751. package/src/tx/builder/field-types/pointers2.ts +0 -62
  752. package/src/tx/builder/field-types/query-fee.ts +0 -25
  753. package/src/tx/builder/field-types/raw.ts +0 -9
  754. package/src/tx/builder/field-types/short-u-int-const.ts +0 -30
  755. package/src/tx/builder/field-types/short-u-int.ts +0 -11
  756. package/src/tx/builder/field-types/string.ts +0 -11
  757. package/src/tx/builder/field-types/ttl.ts +0 -34
  758. package/src/tx/builder/field-types/u-int.ts +0 -15
  759. package/src/tx/builder/field-types/with-default.ts +0 -18
  760. package/src/tx/builder/field-types/with-formatting.ts +0 -18
  761. package/src/tx/builder/field-types/wrapped.ts +0 -32
  762. package/src/tx/builder/helpers.ts +0 -252
  763. package/src/tx/builder/index.ts +0 -123
  764. package/src/tx/builder/schema.generated.ts +0 -2049
  765. package/src/tx/builder/schema.ts +0 -612
  766. package/src/tx/execution-cost.ts +0 -164
  767. package/src/tx/transaction-signer.ts +0 -27
  768. package/src/tx/validator.ts +0 -222
  769. package/src/typings/@aeternity__uuid/index.d.ts +0 -5
  770. package/src/typings/bip32-path/index.d.ts +0 -33
  771. package/src/typings/blakejs/index.d.ts +0 -5
  772. package/src/typings/sha-js/index.d.ts +0 -5
  773. package/src/typings/tweetnacl-auth/index.d.ts +0 -14
  774. package/src/utils/amount-formatter.ts +0 -98
  775. package/src/utils/autorest.ts +0 -153
  776. package/src/utils/bignumber.ts +0 -21
  777. package/src/utils/bytes.ts +0 -28
  778. package/src/utils/crypto.ts +0 -216
  779. package/src/utils/encoder-types.ts +0 -63
  780. package/src/utils/encoder.ts +0 -145
  781. package/src/utils/errors.ts +0 -777
  782. package/src/utils/hd-wallet.ts +0 -191
  783. package/src/utils/json-big.ts +0 -27
  784. package/src/utils/jwt.ts +0 -126
  785. package/src/utils/keystore.ts +0 -189
  786. package/src/utils/other.ts +0 -64
  787. package/src/utils/semver-satisfies.ts +0 -22
  788. package/src/utils/string.ts +0 -17
  789. package/src/utils/typed-data.ts +0 -69
  790. package/src/utils/wrap-proxy.ts +0 -24
  791. package/types-legacy/ts4.2/AeSdk.d.ts +0 -44
  792. package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -71
  793. package/types-legacy/ts4.2/AeSdkBase.d.ts +0 -164
  794. package/types-legacy/ts4.2/AeSdkMethods.d.ts +0 -146
  795. package/types-legacy/ts4.2/AeSdkWallet.d.ts +0 -90
  796. package/types-legacy/ts4.2/Middleware.d.ts +0 -46
  797. package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +0 -30
  798. package/types-legacy/ts4.2/Node.d.ts +0 -95
  799. package/types-legacy/ts4.2/account/Base.d.ts +0 -147
  800. package/types-legacy/ts4.2/account/Generalized.d.ts +0 -22
  801. package/types-legacy/ts4.2/account/Ledger.d.ts +0 -34
  802. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +0 -39
  803. package/types-legacy/ts4.2/account/Memory.d.ts +0 -46
  804. package/types-legacy/ts4.2/account/Rpc.d.ts +0 -35
  805. package/types-legacy/ts4.2/aens.d.ts +0 -193
  806. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +0 -33
  807. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
  808. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
  809. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +0 -11
  810. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
  811. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +0 -120
  812. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +0 -129
  813. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +0 -22
  814. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +0 -86
  815. package/types-legacy/ts4.2/apis/compiler/index.d.ts +0 -2
  816. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +0 -191
  817. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -22
  818. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +0 -12
  819. package/types-legacy/ts4.2/apis/middleware/index.d.ts +0 -2
  820. package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +0 -327
  821. package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +0 -1645
  822. package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +0 -109
  823. package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +0 -46
  824. package/types-legacy/ts4.2/apis/node/index.d.ts +0 -2
  825. package/types-legacy/ts4.2/apis/node/models/index.d.ts +0 -1129
  826. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +0 -99
  827. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +0 -17
  828. package/types-legacy/ts4.2/apis/node/node.d.ts +0 -236
  829. package/types-legacy/ts4.2/chain.d.ts +0 -227
  830. package/types-legacy/ts4.2/channel/Base.d.ts +0 -168
  831. package/types-legacy/ts4.2/channel/Contract.d.ts +0 -239
  832. package/types-legacy/ts4.2/channel/Spend.d.ts +0 -213
  833. package/types-legacy/ts4.2/channel/handlers.d.ts +0 -21
  834. package/types-legacy/ts4.2/channel/internal.d.ts +0 -232
  835. package/types-legacy/ts4.2/contract/Contract.d.ts +0 -164
  836. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +0 -104
  837. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +0 -26
  838. package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +0 -13
  839. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +0 -28
  840. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +0 -15
  841. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +0 -6
  842. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +0 -45
  843. package/types-legacy/ts4.2/contract/ga.d.ts +0 -59
  844. package/types-legacy/ts4.2/deprecated.d.ts +0 -62
  845. package/types-legacy/ts4.2/globals.d.ts +0 -16
  846. package/types-legacy/ts4.2/index-browser.d.ts +0 -51
  847. package/types-legacy/ts4.2/index.d.ts +0 -6
  848. package/types-legacy/ts4.2/oracle.d.ts +0 -125
  849. package/types-legacy/ts4.2/send-transaction.d.ts +0 -53
  850. package/types-legacy/ts4.2/spend.d.ts +0 -56
  851. package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +0 -37
  852. package/types-legacy/ts4.2/tx/builder/common.d.ts +0 -32
  853. package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -100
  854. package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +0 -20
  855. package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +0 -136
  856. package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +0 -141
  857. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +0 -19
  858. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +0 -21
  859. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +0 -7
  860. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +0 -6
  861. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +0 -11
  862. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +0 -72
  863. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +0 -6
  864. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +0 -11
  865. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +0 -7
  866. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +0 -30
  867. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +0 -6
  868. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +0 -16
  869. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +0 -17
  870. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +0 -45
  871. package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +0 -13
  872. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +0 -48
  873. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +0 -18
  874. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +0 -11
  875. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +0 -13
  876. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +0 -15
  877. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +0 -26
  878. package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +0 -26
  879. package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +0 -19
  880. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +0 -6
  881. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +0 -7
  882. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +0 -6
  883. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +0 -6
  884. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +0 -20
  885. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +0 -7
  886. package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +0 -7
  887. package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +0 -7
  888. package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +0 -14
  889. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +0 -119
  890. package/types-legacy/ts4.2/tx/builder/index.d.ts +0 -62
  891. package/types-legacy/ts4.2/tx/builder/schema.d.ts +0 -3256
  892. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +0 -2047
  893. package/types-legacy/ts4.2/tx/execution-cost.d.ts +0 -53
  894. package/types-legacy/ts4.2/tx/transaction-signer.d.ts +0 -6
  895. package/types-legacy/ts4.2/tx/validator.d.ts +0 -18
  896. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +0 -41
  897. package/types-legacy/ts4.2/utils/autorest.d.ts +0 -7
  898. package/types-legacy/ts4.2/utils/bignumber.d.ts +0 -13
  899. package/types-legacy/ts4.2/utils/bytes.d.ts +0 -9
  900. package/types-legacy/ts4.2/utils/crypto.d.ts +0 -100
  901. package/types-legacy/ts4.2/utils/encoder-types.d.ts +0 -61
  902. package/types-legacy/ts4.2/utils/encoder.d.ts +0 -24
  903. package/types-legacy/ts4.2/utils/errors.d.ts +0 -464
  904. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +0 -68
  905. package/types-legacy/ts4.2/utils/json-big.d.ts +0 -5
  906. package/types-legacy/ts4.2/utils/jwt.d.ts +0 -53
  907. package/types-legacy/ts4.2/utils/keystore.d.ts +0 -57
  908. package/types-legacy/ts4.2/utils/other.d.ts +0 -32
  909. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +0 -1
  910. package/types-legacy/ts4.2/utils/string.d.ts +0 -12
  911. package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -58
  912. package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +0 -2
  913. package/types-legacy/ts4.5/AeSdk.d.ts +0 -44
  914. package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -71
  915. package/types-legacy/ts4.5/AeSdkBase.d.ts +0 -164
  916. package/types-legacy/ts4.5/AeSdkMethods.d.ts +0 -146
  917. package/types-legacy/ts4.5/AeSdkWallet.d.ts +0 -90
  918. package/types-legacy/ts4.5/Middleware.d.ts +0 -46
  919. package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +0 -30
  920. package/types-legacy/ts4.5/Node.d.ts +0 -95
  921. package/types-legacy/ts4.5/account/Base.d.ts +0 -147
  922. package/types-legacy/ts4.5/account/Generalized.d.ts +0 -22
  923. package/types-legacy/ts4.5/account/Ledger.d.ts +0 -34
  924. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +0 -39
  925. package/types-legacy/ts4.5/account/Memory.d.ts +0 -46
  926. package/types-legacy/ts4.5/account/Rpc.d.ts +0 -35
  927. package/types-legacy/ts4.5/aens.d.ts +0 -193
  928. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +0 -33
  929. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
  930. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
  931. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +0 -11
  932. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
  933. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +0 -120
  934. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +0 -129
  935. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +0 -22
  936. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +0 -86
  937. package/types-legacy/ts4.5/apis/compiler/index.d.ts +0 -2
  938. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +0 -191
  939. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -22
  940. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +0 -12
  941. package/types-legacy/ts4.5/apis/middleware/index.d.ts +0 -2
  942. package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +0 -327
  943. package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +0 -1645
  944. package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +0 -109
  945. package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +0 -46
  946. package/types-legacy/ts4.5/apis/node/index.d.ts +0 -2
  947. package/types-legacy/ts4.5/apis/node/models/index.d.ts +0 -1129
  948. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +0 -99
  949. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +0 -17
  950. package/types-legacy/ts4.5/apis/node/node.d.ts +0 -236
  951. package/types-legacy/ts4.5/chain.d.ts +0 -227
  952. package/types-legacy/ts4.5/channel/Base.d.ts +0 -168
  953. package/types-legacy/ts4.5/channel/Contract.d.ts +0 -239
  954. package/types-legacy/ts4.5/channel/Spend.d.ts +0 -213
  955. package/types-legacy/ts4.5/channel/handlers.d.ts +0 -21
  956. package/types-legacy/ts4.5/channel/internal.d.ts +0 -232
  957. package/types-legacy/ts4.5/contract/Contract.d.ts +0 -164
  958. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +0 -104
  959. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +0 -26
  960. package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +0 -13
  961. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +0 -28
  962. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +0 -15
  963. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +0 -6
  964. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +0 -45
  965. package/types-legacy/ts4.5/contract/ga.d.ts +0 -59
  966. package/types-legacy/ts4.5/deprecated.d.ts +0 -62
  967. package/types-legacy/ts4.5/index-browser.d.ts +0 -51
  968. package/types-legacy/ts4.5/index.d.ts +0 -5
  969. package/types-legacy/ts4.5/oracle.d.ts +0 -125
  970. package/types-legacy/ts4.5/send-transaction.d.ts +0 -53
  971. package/types-legacy/ts4.5/spend.d.ts +0 -56
  972. package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +0 -37
  973. package/types-legacy/ts4.5/tx/builder/common.d.ts +0 -32
  974. package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -100
  975. package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +0 -20
  976. package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +0 -136
  977. package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +0 -141
  978. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +0 -19
  979. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +0 -21
  980. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +0 -7
  981. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +0 -6
  982. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +0 -11
  983. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +0 -72
  984. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +0 -6
  985. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +0 -11
  986. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +0 -7
  987. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +0 -30
  988. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +0 -6
  989. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +0 -16
  990. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +0 -17
  991. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +0 -45
  992. package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +0 -13
  993. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +0 -48
  994. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +0 -18
  995. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +0 -11
  996. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +0 -13
  997. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +0 -15
  998. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +0 -26
  999. package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +0 -26
  1000. package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +0 -19
  1001. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +0 -6
  1002. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +0 -7
  1003. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +0 -6
  1004. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +0 -6
  1005. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +0 -20
  1006. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +0 -7
  1007. package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +0 -7
  1008. package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +0 -7
  1009. package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +0 -14
  1010. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +0 -119
  1011. package/types-legacy/ts4.5/tx/builder/index.d.ts +0 -62
  1012. package/types-legacy/ts4.5/tx/builder/schema.d.ts +0 -3256
  1013. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +0 -2047
  1014. package/types-legacy/ts4.5/tx/execution-cost.d.ts +0 -53
  1015. package/types-legacy/ts4.5/tx/transaction-signer.d.ts +0 -6
  1016. package/types-legacy/ts4.5/tx/validator.d.ts +0 -18
  1017. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +0 -41
  1018. package/types-legacy/ts4.5/utils/autorest.d.ts +0 -7
  1019. package/types-legacy/ts4.5/utils/bignumber.d.ts +0 -13
  1020. package/types-legacy/ts4.5/utils/bytes.d.ts +0 -9
  1021. package/types-legacy/ts4.5/utils/crypto.d.ts +0 -100
  1022. package/types-legacy/ts4.5/utils/encoder-types.d.ts +0 -61
  1023. package/types-legacy/ts4.5/utils/encoder.d.ts +0 -24
  1024. package/types-legacy/ts4.5/utils/errors.d.ts +0 -464
  1025. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +0 -68
  1026. package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
  1027. package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
  1028. package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
  1029. package/types-legacy/ts4.5/utils/other.d.ts +0 -32
  1030. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
  1031. package/types-legacy/ts4.5/utils/string.d.ts +0 -12
  1032. package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
  1033. package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
  1034. /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
@@ -0,0 +1,143 @@
1
+ import { buildTx, buildTxHash, unpackTx } from './builder/index.js';
2
+ import { Tag } from './builder/constants.js';
3
+ import { verifySignature } from '../utils/crypto.js';
4
+ import { getBufferToSign } from '../account/Memory.js';
5
+ import { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';
6
+ import getTransactionSignerAddress from './transaction-signer.js';
7
+
8
+ /**
9
+ * Calculates the cost of transaction execution
10
+ * Provides an upper cost of contract-call-related transactions because of `gasLimit`.
11
+ * Also assumes that oracle query fee is 0 unless it is provided in options.
12
+ *
13
+ * The idea is that if you need to show transaction details with some accuracy you can define
14
+ * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,
15
+ * subtracting all fields shown separately.
16
+ *
17
+ * @example
18
+ * ```vue
19
+ * <template>
20
+ * Amount: {{ txUnpacked.amount }}
21
+ * Name fee: {{ txUnpacked.nameFee }}
22
+ * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}
23
+ * </template>
24
+ * ```
25
+ *
26
+ * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because
27
+ * the SDK calculates the overall price of any transaction on its side.
28
+ *
29
+ * @param transaction - Transaction to calculate the cost of
30
+ * @param options - Options
31
+ * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
32
+ * @param options.gasUsed - Amount of gas actually used to make calculation more accurate
33
+ * @param options.queryFee - Oracle query fee
34
+ * @param options.isInitiator - Is transaction signer an initiator of state channel
35
+ * @category utils
36
+ */
37
+ export function getExecutionCost(transaction, {
38
+ innerTx,
39
+ gasUsed,
40
+ queryFee,
41
+ isInitiator
42
+ } = {}) {
43
+ const params = unpackTx(transaction);
44
+ if (params.tag === Tag.SignedTx) {
45
+ throw new IllegalArgumentError("Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead");
46
+ }
47
+ let res = 0n;
48
+ if ('fee' in params && innerTx !== 'freeloader') {
49
+ res += BigInt(params.fee);
50
+ }
51
+ if (params.tag === Tag.NameClaimTx) {
52
+ res += BigInt(params.nameFee);
53
+ }
54
+ if (params.tag === Tag.OracleQueryTx) {
55
+ res += BigInt(params.queryFee);
56
+ }
57
+ if (params.tag === Tag.OracleRespondTx) {
58
+ res -= BigInt(queryFee !== null && queryFee !== void 0 ? queryFee : 0);
59
+ }
60
+ if (params.tag === Tag.ChannelSettleTx) {
61
+ if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);
62
+ if (isInitiator === false) res -= BigInt(params.responderAmountFinal);
63
+ }
64
+ if ((params.tag === Tag.SpendTx || params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx || params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer') {
65
+ res += BigInt(params.amount);
66
+ }
67
+ if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);
68
+ if ((params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx || params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx) && innerTx !== 'freeloader') {
69
+ res += BigInt(params.gasPrice) * BigInt(gasUsed !== null && gasUsed !== void 0 ? gasUsed : params.gasLimit);
70
+ }
71
+ if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {
72
+ res += getExecutionCost(buildTx(params.tx.encodedTx), params.tag === Tag.PayingForTx ? {
73
+ innerTx: 'fee-payer'
74
+ } : {});
75
+ }
76
+ return res;
77
+ }
78
+
79
+ /**
80
+ * Calculates the cost of signed transaction execution
81
+ * @param transaction - Transaction to calculate the cost of
82
+ * @param networkId - Network id used to sign the transaction
83
+ * @param options - Options
84
+ * @category utils
85
+ */
86
+ export function getExecutionCostBySignedTx(transaction, networkId, options) {
87
+ const params = unpackTx(transaction, Tag.SignedTx);
88
+ if (params.encodedTx.tag === Tag.GaMetaTx) {
89
+ return getExecutionCost(buildTx(params.encodedTx), options);
90
+ }
91
+ const tx = buildTx(params.encodedTx);
92
+ const address = getTransactionSignerAddress(tx);
93
+ const [isInnerTx, isNotInnerTx] = [true, false].map(f => verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address));
94
+ if (!isInnerTx && !isNotInnerTx) throw new TransactionError("Can't verify signature");
95
+ return getExecutionCost(buildTx(params.encodedTx), {
96
+ ...(isInnerTx && {
97
+ innerTx: 'freeloader'
98
+ }),
99
+ ...options
100
+ });
101
+ }
102
+
103
+ /**
104
+ * Calculates the cost of signed and not signed transaction execution using node
105
+ * @param transaction - Transaction to calculate the cost of
106
+ * @param node - Node to use
107
+ * @param options - Options
108
+ * @param options.isMined - Is transaction already mined or not
109
+ * @category utils
110
+ */
111
+ export async function getExecutionCostUsingNode(transaction, node, {
112
+ isMined,
113
+ ...options
114
+ } = {}) {
115
+ let params = unpackTx(transaction);
116
+ const isSignedTx = params.tag === Tag.SignedTx;
117
+ const txHash = isSignedTx && isMined === true && buildTxHash(transaction);
118
+ if (params.tag === Tag.SignedTx) params = params.encodedTx;
119
+
120
+ // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087
121
+ if (options.gasUsed == null && txHash !== false && [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)) {
122
+ const {
123
+ callInfo,
124
+ gaInfo
125
+ } = await node.getTransactionInfoByHash(txHash);
126
+ const combinedInfo = callInfo !== null && callInfo !== void 0 ? callInfo : gaInfo;
127
+ if (combinedInfo == null) {
128
+ throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);
129
+ }
130
+ options.gasUsed = combinedInfo.gasUsed;
131
+ }
132
+ if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {
133
+ options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();
134
+ }
135
+ if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {
136
+ const {
137
+ initiatorId
138
+ } = await node.getChannelByPubkey(params.channelId);
139
+ options.isInitiator = params.fromId === initiatorId;
140
+ }
141
+ return isSignedTx ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options) : getExecutionCost(transaction, options);
142
+ }
143
+ //# sourceMappingURL=execution-cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-cost.js","names":["buildTx","buildTxHash","unpackTx","Tag","verifySignature","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleRespondTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verifySignature } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n * @category utils\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx,\n gasUsed,\n queryFee,\n isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError(\n \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n );\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleRespondTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n (params.tag === Tag.SpendTx ||\n params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.ChannelDepositTx) &&\n innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.GaAttachTx ||\n params.tag === Tag.GaMetaTx) &&\n innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n * @category utils\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false].map((f) =>\n verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n );\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n return getExecutionCost(buildTx(params.encodedTx), {\n ...(isInnerTx && { innerTx: 'freeloader' }),\n ...options,\n });\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n * @category utils\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null &&\n txHash !== false &&\n [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import { Encoded } from '../utils/encoder';
1
+ import { Encoded } from '../utils/encoder.js';
2
2
  /**
3
3
  * Returns account address that signed a transaction
4
4
  * @param transaction - transaction to get a signer of
5
+ * @category utils
5
6
  */
6
7
  export default function getTransactionSignerAddress(transaction: Encoded.Transaction): Encoded.AccountAddress;
@@ -0,0 +1,25 @@
1
+ import { buildTx, getSchema, unpackTx } from './builder/index.js';
2
+ import { Tag } from './builder/constants.js';
3
+ import { TransactionError, UnexpectedTsError } from '../utils/errors.js';
4
+
5
+ /**
6
+ * Returns account address that signed a transaction
7
+ * @param transaction - transaction to get a signer of
8
+ * @category utils
9
+ */
10
+ export default function getTransactionSignerAddress(transaction) {
11
+ const params = unpackTx(transaction);
12
+ switch (params.tag) {
13
+ case Tag.SignedTx:
14
+ return getTransactionSignerAddress(buildTx(params.encodedTx));
15
+ case Tag.GaMetaTx:
16
+ return params.gaId;
17
+ default:
18
+ }
19
+ const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];
20
+ if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);
21
+ if (!('senderKey' in nonce)) throw new UnexpectedTsError();
22
+ const address = params[nonce.senderKey];
23
+ return address.replace(/^ok_/, 'ak_');
24
+ }
25
+ //# sourceMappingURL=transaction-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-signer.js","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","name","address","senderKey","replace"],"sources":["../../src/tx/transaction-signer.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n * @category utils\n */\nexport default function getTransactionSignerAddress(\n transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n const params = unpackTx(transaction);\n switch (params.tag) {\n case Tag.SignedTx:\n return getTransactionSignerAddress(buildTx(params.encodedTx));\n case Tag.GaMetaTx:\n return params.gaId;\n default:\n }\n\n const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n if (nonce == null)\n throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n"],"mappings":"AACA,SAASA,OAAO,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACjE,SAASC,GAAG,QAAQ,wBAAwB;AAC5C,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,oBAAoB;;AAExE;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CACjDC,WAAgC,EACR;EACxB,MAAMC,MAAM,GAAGN,QAAQ,CAACK,WAAW,CAAC;EACpC,QAAQC,MAAM,CAACC,GAAG;IAChB,KAAKN,GAAG,CAACO,QAAQ;MACf,OAAOJ,2BAA2B,CAACN,OAAO,CAACQ,MAAM,CAACG,SAAS,CAAC,CAAC;IAC/D,KAAKR,GAAG,CAACS,QAAQ;MACf,OAAOJ,MAAM,CAACK,IAAI;IACpB;EACF;EAEA,MAAMC,KAAK,GAAGb,SAAS,CAACO,MAAM,CAACC,GAAG,EAAED,MAAM,CAACO,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;EAC3F,IAAIH,KAAK,IAAI,IAAI,EACf,MAAM,IAAIV,gBAAgB,CAAC,mCAAmCD,GAAG,CAACK,MAAM,CAACC,GAAG,CAAC,EAAE,CAAC;EAClF,IAAI,EAAE,WAAW,IAAIK,KAAK,CAAC,EAAE,MAAM,IAAIT,iBAAiB,CAAC,CAAC;EAC1D,MAAMa,OAAO,GAAGV,MAAM,CAACM,KAAK,CAACK,SAAS,CAA6C;EACnF,OAAOD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { unpackTx } from './builder';
2
- import Node from '../Node';
1
+ import { unpackTx } from './builder/index.js';
2
+ import Node from '../Node.js';
3
3
  export interface ValidatorResult {
4
4
  message: string;
5
5
  key: string;
@@ -0,0 +1,207 @@
1
+ import { Buffer as _Buffer } from "buffer";
2
+ import { RestError } from '@azure/core-rest-pipeline';
3
+ import { hash, isEncoded, verifySignature } from '../utils/crypto.js';
4
+ import { ProtocolToVmAbi } from './builder/field-types/ct-version.js';
5
+ import { Tag } from './builder/constants.js';
6
+ import { buildTx, unpackTx } from './builder/index.js';
7
+ import { concatBuffers, isAccountNotFoundError } from '../utils/other.js';
8
+ import { Encoding, decode } from '../utils/encoder.js';
9
+ import Node from '../Node.js';
10
+ import { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest.js';
11
+ import { UnexpectedTsError } from '../utils/errors.js';
12
+ import getTransactionSignerAddress from './transaction-signer.js';
13
+ import { getExecutionCostUsingNode } from './execution-cost.js';
14
+ const validators = [];
15
+ async function verifyTransactionInternal(tx, node, parentTxTypes) {
16
+ const address = getTransactionSignerAddress(buildTx(tx));
17
+ const [account, {
18
+ height
19
+ }, {
20
+ consensusProtocolVersion,
21
+ nodeNetworkId
22
+ }] = await Promise.all([node.getAccountByPubkey(address).catch(error => {
23
+ if (!isAccountNotFoundError(error)) throw error;
24
+ return {
25
+ id: address,
26
+ balance: 0n,
27
+ nonce: 0
28
+ };
29
+ })
30
+ // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537
31
+ .then(acc => ({
32
+ ...acc,
33
+ id: acc.id
34
+ })), node.getCurrentKeyBlockHeight(),
35
+ // TODO: don't request height on each validation, use caching
36
+ node.getNodeInfo()]);
37
+ return (await Promise.all(validators.map(async v => v(tx, {
38
+ node,
39
+ account,
40
+ height,
41
+ consensusProtocolVersion,
42
+ nodeNetworkId,
43
+ parentTxTypes
44
+ })))).flat();
45
+ }
46
+
47
+ /**
48
+ * Transaction Validator
49
+ * This function validates some transaction properties,
50
+ * to make sure it can be posted it to the chain
51
+ * @category transaction builder
52
+ * @param transaction - Base64Check-encoded transaction
53
+ * @param nodeNotCached - Node to validate transaction against
54
+ * @returns Array with verification errors
55
+ * @example const errors = await verifyTransaction(transaction, node)
56
+ */
57
+ export default async function verifyTransaction(transaction, nodeNotCached) {
58
+ const pipeline = nodeNotCached.pipeline.clone();
59
+ pipeline.removePolicy({
60
+ name: 'parse-big-int'
61
+ });
62
+ const node = new Node(nodeNotCached.$host, {
63
+ ignoreVersion: true,
64
+ pipeline,
65
+ additionalPolicies: [genAggressiveCacheGetResponsesPolicy()]
66
+ });
67
+ node._getCachedStatus = async () => nodeNotCached._getCachedStatus();
68
+ return verifyTransactionInternal(unpackTx(transaction), node, []);
69
+ }
70
+ validators.push((tx, {
71
+ account,
72
+ nodeNetworkId,
73
+ parentTxTypes
74
+ }) => {
75
+ if (tx.tag !== Tag.SignedTx) return [];
76
+ const {
77
+ encodedTx,
78
+ signatures
79
+ } = tx;
80
+ if ((encodedTx !== null && encodedTx !== void 0 ? encodedTx : signatures) == null) return [];
81
+ if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels
82
+ const prefix = _Buffer.from([nodeNetworkId, ...(parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [])].join('-'));
83
+ const txBinary = decode(buildTx(encodedTx));
84
+ const txWithNetworkId = concatBuffers([prefix, txBinary]);
85
+ const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);
86
+ if (verifySignature(txWithNetworkId, signatures[0], account.id) || verifySignature(txHashWithNetworkId, signatures[0], account.id)) return [];
87
+ return [{
88
+ message: 'Signature cannot be verified, please ensure that you transaction have' + ' the correct prefix and the correct private key for the sender address',
89
+ key: 'InvalidSignature',
90
+ checkedKeys: ['encodedTx', 'signatures']
91
+ }];
92
+ }, async (tx, {
93
+ node,
94
+ parentTxTypes
95
+ }) => {
96
+ let nestedTx;
97
+ if ('encodedTx' in tx) nestedTx = tx.encodedTx;
98
+ if ('tx' in tx) nestedTx = tx.tx;
99
+ if (nestedTx == null) return [];
100
+ return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);
101
+ }, (tx, {
102
+ height
103
+ }) => {
104
+ if (!('ttl' in tx)) return [];
105
+ if (tx.ttl === 0 || tx.ttl > height) return [];
106
+ return [{
107
+ message: `TTL ${tx.ttl} is already expired, current height is ${height}`,
108
+ key: 'ExpiredTTL',
109
+ checkedKeys: ['ttl']
110
+ }];
111
+ }, async (tx, {
112
+ account,
113
+ parentTxTypes,
114
+ node
115
+ }) => {
116
+ if (parentTxTypes.length !== 0) return [];
117
+ const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);
118
+ if (cost <= account.balance) return [];
119
+ return [{
120
+ message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,
121
+ key: 'InsufficientBalance',
122
+ checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice']
123
+ }];
124
+ }, async (tx, {
125
+ node
126
+ }) => {
127
+ if (tx.tag !== Tag.SpendTx || isEncoded(tx.recipientId, Encoding.Name)) return [];
128
+ const recipient = await node.getAccountByPubkey(tx.recipientId).catch(error => {
129
+ if (!isAccountNotFoundError(error)) throw error;
130
+ return null;
131
+ });
132
+ if (recipient == null || recipient.payable === true) return [];
133
+ return [{
134
+ message: 'Recipient account is not payable',
135
+ key: 'RecipientAccountNotPayable',
136
+ checkedKeys: ['recipientId']
137
+ }];
138
+ }, (tx, {
139
+ account
140
+ }) => {
141
+ let message;
142
+ if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {
143
+ message = "Generalized account can't be used to generate SignedTx with signatures";
144
+ }
145
+ if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {
146
+ message = "Basic account can't be used to generate GaMetaTx";
147
+ }
148
+ if (message == null) return [];
149
+ return [{
150
+ message,
151
+ key: 'InvalidAccountType',
152
+ checkedKeys: ['tag']
153
+ }];
154
+ },
155
+ // TODO: revert nonce check
156
+ // TODO: ensure nonce valid when paying for own tx
157
+ (tx, {
158
+ consensusProtocolVersion
159
+ }) => {
160
+ var _ref, _ref2;
161
+ const oracleCall = Tag.OracleRegisterTx === tx.tag;
162
+ const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;
163
+ const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;
164
+ const type = (_ref = (_ref2 = oracleCall ? 'oracle-call' : null) !== null && _ref2 !== void 0 ? _ref2 : contractCreate ? 'contract-create' : null) !== null && _ref !== void 0 ? _ref : contractCall ? 'contract-call' : null;
165
+ if (type == null) return [];
166
+ const protocol = ProtocolToVmAbi[consensusProtocolVersion][type];
167
+ let ctVersion;
168
+ if ('abiVersion' in tx) ctVersion = {
169
+ abiVersion: tx.abiVersion
170
+ };
171
+ if ('ctVersion' in tx) ctVersion = tx.ctVersion;
172
+ if (ctVersion == null) throw new UnexpectedTsError();
173
+ if (!protocol.abiVersion.includes(ctVersion.abiVersion) || contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion)) {
174
+ return [{
175
+ message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,
176
+ key: 'VmAndAbiVersionMismatch',
177
+ checkedKeys: ['ctVersion', 'abiVersion']
178
+ }];
179
+ }
180
+ return [];
181
+ }, async (tx, {
182
+ node
183
+ }) => {
184
+ if (Tag.ContractCallTx !== tx.tag) return [];
185
+ // TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669
186
+ if (tx.contractId.startsWith('nm_')) return [];
187
+ try {
188
+ const {
189
+ active
190
+ } = await node.getContract(tx.contractId);
191
+ if (active) return [];
192
+ return [{
193
+ message: `Contract ${tx.contractId} is not active`,
194
+ key: 'ContractNotActive',
195
+ checkedKeys: ['contractId']
196
+ }];
197
+ } catch (error) {
198
+ if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;
199
+ return [{
200
+ message: JSON.parse(error.response.bodyAsText).reason,
201
+ // TODO: use parsedBody instead
202
+ key: 'ContractNotFound',
203
+ checkedKeys: ['contractId']
204
+ }];
205
+ }
206
+ });
207
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","names":["RestError","hash","isEncoded","verifySignature","ProtocolToVmAbi","Tag","buildTx","unpackTx","concatBuffers","isAccountNotFoundError","Encoding","decode","Node","genAggressiveCacheGetResponsesPolicy","UnexpectedTsError","getTransactionSignerAddress","getExecutionCostUsingNode","validators","verifyTransactionInternal","tx","node","parentTxTypes","address","account","height","consensusProtocolVersion","nodeNetworkId","Promise","all","getAccountByPubkey","catch","error","id","balance","nonce","then","acc","getCurrentKeyBlockHeight","getNodeInfo","map","v","flat","verifyTransaction","transaction","nodeNotCached","pipeline","clone","removePolicy","name","$host","ignoreVersion","additionalPolicies","_getCachedStatus","push","tag","SignedTx","encodedTx","signatures","length","prefix","_Buffer","from","includes","PayingForTx","join","txBinary","txWithNetworkId","txHashWithNetworkId","message","key","checkedKeys","nestedTx","ttl","cost","SpendTx","recipientId","Name","recipient","payable","kind","GaMetaTx","_ref","_ref2","oracleCall","OracleRegisterTx","contractCreate","ContractCreateTx","GaAttachTx","contractCall","ContractCallTx","type","protocol","ctVersion","abiVersion","vmVersion","JSON","stringify","contractId","startsWith","active","getContract","response","bodyAsText","parse","reason"],"sources":["../../src/tx/validator.ts"],"sourcesContent":["import { RestError } from '@azure/core-rest-pipeline';\nimport { hash, isEncoded, verifySignature } from '../utils/crypto.js';\nimport { TxUnpacked } from './builder/schema.generated.js';\nimport { CtVersion, ProtocolToVmAbi } from './builder/field-types/ct-version.js';\nimport { Tag, ConsensusProtocolVersion } from './builder/constants.js';\nimport { buildTx, unpackTx } from './builder/index.js';\nimport { concatBuffers, isAccountNotFoundError } from '../utils/other.js';\nimport { Encoded, Encoding, decode } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport { Account } from '../apis/node/index.js';\nimport { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest.js';\nimport { UnexpectedTsError } from '../utils/errors.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\nimport { getExecutionCostUsingNode } from './execution-cost.js';\n\nexport interface ValidatorResult {\n message: string;\n key: string;\n checkedKeys: string[];\n}\n\ntype Validator = (\n tx: TxUnpacked,\n options: {\n // TODO: remove after fixing node types\n account: Account & { id: Encoded.AccountAddress };\n nodeNetworkId: string;\n parentTxTypes: Tag[];\n node: Node;\n height: number;\n consensusProtocolVersion: ConsensusProtocolVersion;\n },\n) => ValidatorResult[] | Promise<ValidatorResult[]>;\n\nconst validators: Validator[] = [];\n\nasync function verifyTransactionInternal(\n tx: TxUnpacked,\n node: Node,\n parentTxTypes: Tag[],\n): Promise<ValidatorResult[]> {\n const address = getTransactionSignerAddress(buildTx(tx));\n const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([\n node\n .getAccountByPubkey(address)\n .catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { id: address, balance: 0n, nonce: 0 };\n })\n // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537\n .then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),\n node.getCurrentKeyBlockHeight(), // TODO: don't request height on each validation, use caching\n node.getNodeInfo(),\n ]);\n\n return (\n await Promise.all(\n validators.map(async (v) =>\n v(tx, {\n node,\n account,\n height,\n consensusProtocolVersion,\n nodeNetworkId,\n parentTxTypes,\n }),\n ),\n )\n ).flat();\n}\n\n/**\n * Transaction Validator\n * This function validates some transaction properties,\n * to make sure it can be posted it to the chain\n * @category transaction builder\n * @param transaction - Base64Check-encoded transaction\n * @param nodeNotCached - Node to validate transaction against\n * @returns Array with verification errors\n * @example const errors = await verifyTransaction(transaction, node)\n */\nexport default async function verifyTransaction(\n transaction: Parameters<typeof unpackTx>[0],\n nodeNotCached: Node,\n): Promise<ValidatorResult[]> {\n const pipeline = nodeNotCached.pipeline.clone();\n pipeline.removePolicy({ name: 'parse-big-int' });\n const node = new Node(nodeNotCached.$host, {\n ignoreVersion: true,\n pipeline,\n additionalPolicies: [genAggressiveCacheGetResponsesPolicy()],\n });\n node._getCachedStatus = async () => nodeNotCached._getCachedStatus();\n return verifyTransactionInternal(unpackTx(transaction), node, []);\n}\n\nvalidators.push(\n (tx, { account, nodeNetworkId, parentTxTypes }) => {\n if (tx.tag !== Tag.SignedTx) return [];\n const { encodedTx, signatures } = tx;\n if ((encodedTx ?? signatures) == null) return [];\n if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels\n const prefix = Buffer.from(\n [nodeNetworkId, ...(parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [])].join('-'),\n );\n const txBinary = decode(buildTx(encodedTx));\n const txWithNetworkId = concatBuffers([prefix, txBinary]);\n const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);\n if (\n verifySignature(txWithNetworkId, signatures[0], account.id) ||\n verifySignature(txHashWithNetworkId, signatures[0], account.id)\n )\n return [];\n return [\n {\n message:\n 'Signature cannot be verified, please ensure that you transaction have' +\n ' the correct prefix and the correct private key for the sender address',\n key: 'InvalidSignature',\n checkedKeys: ['encodedTx', 'signatures'],\n },\n ];\n },\n async (tx, { node, parentTxTypes }) => {\n let nestedTx;\n if ('encodedTx' in tx) nestedTx = tx.encodedTx;\n if ('tx' in tx) nestedTx = tx.tx;\n if (nestedTx == null) return [];\n return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);\n },\n (tx, { height }) => {\n if (!('ttl' in tx)) return [];\n if (tx.ttl === 0 || tx.ttl > height) return [];\n return [\n {\n message: `TTL ${tx.ttl} is already expired, current height is ${height}`,\n key: 'ExpiredTTL',\n checkedKeys: ['ttl'],\n },\n ];\n },\n async (tx, { account, parentTxTypes, node }) => {\n if (parentTxTypes.length !== 0) return [];\n const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);\n if (cost <= account.balance) return [];\n return [\n {\n message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,\n key: 'InsufficientBalance',\n checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice'],\n },\n ];\n },\n async (tx, { node }) => {\n if (tx.tag !== Tag.SpendTx || isEncoded(tx.recipientId, Encoding.Name)) return [];\n const recipient = await node.getAccountByPubkey(tx.recipientId).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return null;\n });\n if (recipient == null || recipient.payable === true) return [];\n return [\n {\n message: 'Recipient account is not payable',\n key: 'RecipientAccountNotPayable',\n checkedKeys: ['recipientId'],\n },\n ];\n },\n (tx, { account }) => {\n let message;\n if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {\n message = \"Generalized account can't be used to generate SignedTx with signatures\";\n }\n if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {\n message = \"Basic account can't be used to generate GaMetaTx\";\n }\n if (message == null) return [];\n return [{ message, key: 'InvalidAccountType', checkedKeys: ['tag'] }];\n },\n // TODO: revert nonce check\n // TODO: ensure nonce valid when paying for own tx\n (tx, { consensusProtocolVersion }) => {\n const oracleCall = Tag.OracleRegisterTx === tx.tag;\n const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;\n const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;\n const type =\n (oracleCall ? 'oracle-call' : null) ??\n (contractCreate ? 'contract-create' : null) ??\n (contractCall ? 'contract-call' : null);\n if (type == null) return [];\n const protocol = ProtocolToVmAbi[consensusProtocolVersion][type] as {\n abiVersion: readonly any[];\n vmVersion: readonly any[];\n };\n\n let ctVersion: Partial<CtVersion> | undefined;\n if ('abiVersion' in tx) ctVersion = { abiVersion: tx.abiVersion };\n if ('ctVersion' in tx) ctVersion = tx.ctVersion;\n if (ctVersion == null) throw new UnexpectedTsError();\n if (\n !protocol.abiVersion.includes(ctVersion.abiVersion) ||\n (contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion))\n ) {\n return [\n {\n message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,\n key: 'VmAndAbiVersionMismatch',\n checkedKeys: ['ctVersion', 'abiVersion'],\n },\n ];\n }\n return [];\n },\n async (tx, { node }) => {\n if (Tag.ContractCallTx !== tx.tag) return [];\n // TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669\n if (tx.contractId.startsWith('nm_')) return [];\n try {\n const { active } = await node.getContract(tx.contractId);\n if (active) return [];\n return [\n {\n message: `Contract ${tx.contractId} is not active`,\n key: 'ContractNotActive',\n checkedKeys: ['contractId'],\n },\n ];\n } catch (error) {\n if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;\n return [\n {\n message: JSON.parse(error.response.bodyAsText).reason, // TODO: use parsedBody instead\n key: 'ContractNotFound',\n checkedKeys: ['contractId'],\n },\n ];\n }\n },\n);\n"],"mappings":";AAAA,SAASA,SAAS,QAAQ,2BAA2B;AACrD,SAASC,IAAI,EAAEC,SAAS,EAAEC,eAAe,QAAQ,oBAAoB;AAErE,SAAoBC,eAAe,QAAQ,qCAAqC;AAChF,SAASC,GAAG,QAAkC,wBAAwB;AACtE,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AACtD,SAASC,aAAa,EAAEC,sBAAsB,QAAQ,mBAAmB;AACzE,SAAkBC,QAAQ,EAAEC,MAAM,QAAQ,qBAAqB;AAC/D,OAAOC,IAAI,MAAM,YAAY;AAE7B,SAASC,oCAAoC,QAAQ,sBAAsB;AAC3E,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAOC,2BAA2B,MAAM,yBAAyB;AACjE,SAASC,yBAAyB,QAAQ,qBAAqB;AAqB/D,MAAMC,UAAuB,GAAG,EAAE;AAElC,eAAeC,yBAAyBA,CACtCC,EAAc,EACdC,IAAU,EACVC,aAAoB,EACQ;EAC5B,MAAMC,OAAO,GAAGP,2BAA2B,CAACT,OAAO,CAACa,EAAE,CAAC,CAAC;EACxD,MAAM,CAACI,OAAO,EAAE;IAAEC;EAAO,CAAC,EAAE;IAAEC,wBAAwB;IAAEC;EAAc,CAAC,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC3FR,IAAI,CACDS,kBAAkB,CAACP,OAAO,CAAC,CAC3BQ,KAAK,CAAEC,KAAK,IAAK;IAChB,IAAI,CAACtB,sBAAsB,CAACsB,KAAK,CAAC,EAAE,MAAMA,KAAK;IAC/C,OAAO;MAAEC,EAAE,EAAEV,OAAO;MAAEW,OAAO,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC;EAC/C,CAAC;EACD;EAAA,CACCC,IAAI,CAAEC,GAAG,KAAM;IAAE,GAAGA,GAAG;IAAEJ,EAAE,EAAEI,GAAG,CAACJ;EAA6B,CAAC,CAAC,CAAC,EACpEZ,IAAI,CAACiB,wBAAwB,CAAC,CAAC;EAAE;EACjCjB,IAAI,CAACkB,WAAW,CAAC,CAAC,CACnB,CAAC;EAEF,OAAO,CACL,MAAMX,OAAO,CAACC,GAAG,CACfX,UAAU,CAACsB,GAAG,CAAC,MAAOC,CAAC,IACrBA,CAAC,CAACrB,EAAE,EAAE;IACJC,IAAI;IACJG,OAAO;IACPC,MAAM;IACNC,wBAAwB;IACxBC,aAAa;IACbL;EACF,CAAC,CACH,CACF,CAAC,EACDoB,IAAI,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAeC,iBAAiBA,CAC7CC,WAA2C,EAC3CC,aAAmB,EACS;EAC5B,MAAMC,QAAQ,GAAGD,aAAa,CAACC,QAAQ,CAACC,KAAK,CAAC,CAAC;EAC/CD,QAAQ,CAACE,YAAY,CAAC;IAAEC,IAAI,EAAE;EAAgB,CAAC,CAAC;EAChD,MAAM5B,IAAI,GAAG,IAAIR,IAAI,CAACgC,aAAa,CAACK,KAAK,EAAE;IACzCC,aAAa,EAAE,IAAI;IACnBL,QAAQ;IACRM,kBAAkB,EAAE,CAACtC,oCAAoC,CAAC,CAAC;EAC7D,CAAC,CAAC;EACFO,IAAI,CAACgC,gBAAgB,GAAG,YAAYR,aAAa,CAACQ,gBAAgB,CAAC,CAAC;EACpE,OAAOlC,yBAAyB,CAACX,QAAQ,CAACoC,WAAW,CAAC,EAAEvB,IAAI,EAAE,EAAE,CAAC;AACnE;AAEAH,UAAU,CAACoC,IAAI,CACb,CAAClC,EAAE,EAAE;EAAEI,OAAO;EAAEG,aAAa;EAAEL;AAAc,CAAC,KAAK;EACjD,IAAIF,EAAE,CAACmC,GAAG,KAAKjD,GAAG,CAACkD,QAAQ,EAAE,OAAO,EAAE;EACtC,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGtC,EAAE;EACpC,IAAI,CAACqC,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIC,UAAU,KAAK,IAAI,EAAE,OAAO,EAAE;EAChD,IAAIA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;EACxC,MAAMC,MAAM,GAAGC,OAAA,CAAOC,IAAI,CACxB,CAACnC,aAAa,EAAE,IAAIL,aAAa,CAACyC,QAAQ,CAACzD,GAAG,CAAC0D,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAC5F,CAAC;EACD,MAAMC,QAAQ,GAAGtD,MAAM,CAACL,OAAO,CAACkD,SAAS,CAAC,CAAC;EAC3C,MAAMU,eAAe,GAAG1D,aAAa,CAAC,CAACmD,MAAM,EAAEM,QAAQ,CAAC,CAAC;EACzD,MAAME,mBAAmB,GAAG3D,aAAa,CAAC,CAACmD,MAAM,EAAE1D,IAAI,CAACgE,QAAQ,CAAC,CAAC,CAAC;EACnE,IACE9D,eAAe,CAAC+D,eAAe,EAAET,UAAU,CAAC,CAAC,CAAC,EAAElC,OAAO,CAACS,EAAE,CAAC,IAC3D7B,eAAe,CAACgE,mBAAmB,EAAEV,UAAU,CAAC,CAAC,CAAC,EAAElC,OAAO,CAACS,EAAE,CAAC,EAE/D,OAAO,EAAE;EACX,OAAO,CACL;IACEoC,OAAO,EACL,uEAAuE,GACvE,wEAAwE;IAC1EC,GAAG,EAAE,kBAAkB;IACvBC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY;EACzC,CAAC,CACF;AACH,CAAC,EACD,OAAOnD,EAAE,EAAE;EAAEC,IAAI;EAAEC;AAAc,CAAC,KAAK;EACrC,IAAIkD,QAAQ;EACZ,IAAI,WAAW,IAAIpD,EAAE,EAAEoD,QAAQ,GAAGpD,EAAE,CAACqC,SAAS;EAC9C,IAAI,IAAI,IAAIrC,EAAE,EAAEoD,QAAQ,GAAGpD,EAAE,CAACA,EAAE;EAChC,IAAIoD,QAAQ,IAAI,IAAI,EAAE,OAAO,EAAE;EAC/B,OAAOrD,yBAAyB,CAACqD,QAAQ,EAAEnD,IAAI,EAAE,CAAC,GAAGC,aAAa,EAAEF,EAAE,CAACmC,GAAG,CAAC,CAAC;AAC9E,CAAC,EACD,CAACnC,EAAE,EAAE;EAAEK;AAAO,CAAC,KAAK;EAClB,IAAI,EAAE,KAAK,IAAIL,EAAE,CAAC,EAAE,OAAO,EAAE;EAC7B,IAAIA,EAAE,CAACqD,GAAG,KAAK,CAAC,IAAIrD,EAAE,CAACqD,GAAG,GAAGhD,MAAM,EAAE,OAAO,EAAE;EAC9C,OAAO,CACL;IACE4C,OAAO,EAAE,OAAOjD,EAAE,CAACqD,GAAG,0CAA0ChD,MAAM,EAAE;IACxE6C,GAAG,EAAE,YAAY;IACjBC,WAAW,EAAE,CAAC,KAAK;EACrB,CAAC,CACF;AACH,CAAC,EACD,OAAOnD,EAAE,EAAE;EAAEI,OAAO;EAAEF,aAAa;EAAED;AAAK,CAAC,KAAK;EAC9C,IAAIC,aAAa,CAACqC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EACzC,MAAMe,IAAI,GAAG,MAAMzD,yBAAyB,CAACV,OAAO,CAACa,EAAE,CAAC,EAAEC,IAAI,CAAC,CAACU,KAAK,CAAC,MAAM,EAAE,CAAC;EAC/E,IAAI2C,IAAI,IAAIlD,OAAO,CAACU,OAAO,EAAE,OAAO,EAAE;EACtC,OAAO,CACL;IACEmC,OAAO,EAAE,mBAAmB7C,OAAO,CAACU,OAAO,wDAAwDwC,IAAI,EAAE;IACzGJ,GAAG,EAAE,qBAAqB;IAC1BC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;EAClE,CAAC,CACF;AACH,CAAC,EACD,OAAOnD,EAAE,EAAE;EAAEC;AAAK,CAAC,KAAK;EACtB,IAAID,EAAE,CAACmC,GAAG,KAAKjD,GAAG,CAACqE,OAAO,IAAIxE,SAAS,CAACiB,EAAE,CAACwD,WAAW,EAAEjE,QAAQ,CAACkE,IAAI,CAAC,EAAE,OAAO,EAAE;EACjF,MAAMC,SAAS,GAAG,MAAMzD,IAAI,CAACS,kBAAkB,CAACV,EAAE,CAACwD,WAAW,CAAC,CAAC7C,KAAK,CAAEC,KAAK,IAAK;IAC/E,IAAI,CAACtB,sBAAsB,CAACsB,KAAK,CAAC,EAAE,MAAMA,KAAK;IAC/C,OAAO,IAAI;EACb,CAAC,CAAC;EACF,IAAI8C,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACC,OAAO,KAAK,IAAI,EAAE,OAAO,EAAE;EAC9D,OAAO,CACL;IACEV,OAAO,EAAE,kCAAkC;IAC3CC,GAAG,EAAE,4BAA4B;IACjCC,WAAW,EAAE,CAAC,aAAa;EAC7B,CAAC,CACF;AACH,CAAC,EACD,CAACnD,EAAE,EAAE;EAAEI;AAAQ,CAAC,KAAK;EACnB,IAAI6C,OAAO;EACX,IAAIjD,EAAE,CAACmC,GAAG,KAAKjD,GAAG,CAACkD,QAAQ,IAAIhC,OAAO,CAACwD,IAAI,KAAK,aAAa,IAAI5D,EAAE,CAACsC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3FU,OAAO,GAAG,wEAAwE;EACpF;EACA,IAAIjD,EAAE,CAACmC,GAAG,KAAKjD,GAAG,CAAC2E,QAAQ,IAAIzD,OAAO,CAACwD,IAAI,KAAK,OAAO,EAAE;IACvDX,OAAO,GAAG,kDAAkD;EAC9D;EACA,IAAIA,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE;EAC9B,OAAO,CAAC;IAAEA,OAAO;IAAEC,GAAG,EAAE,oBAAoB;IAAEC,WAAW,EAAE,CAAC,KAAK;EAAE,CAAC,CAAC;AACvE,CAAC;AACD;AACA;AACA,CAACnD,EAAE,EAAE;EAAEM;AAAyB,CAAC,KAAK;EAAA,IAAAwD,IAAA,EAAAC,KAAA;EACpC,MAAMC,UAAU,GAAG9E,GAAG,CAAC+E,gBAAgB,KAAKjE,EAAE,CAACmC,GAAG;EAClD,MAAM+B,cAAc,GAAGhF,GAAG,CAACiF,gBAAgB,KAAKnE,EAAE,CAACmC,GAAG,IAAIjD,GAAG,CAACkF,UAAU,KAAKpE,EAAE,CAACmC,GAAG;EACnF,MAAMkC,YAAY,GAAGnF,GAAG,CAACoF,cAAc,KAAKtE,EAAE,CAACmC,GAAG,IAAIjD,GAAG,CAAC2E,QAAQ,KAAK7D,EAAE,CAACmC,GAAG;EAC7E,MAAMoC,IAAI,IAAAT,IAAA,IAAAC,KAAA,GACPC,UAAU,GAAG,aAAa,GAAG,IAAI,cAAAD,KAAA,cAAAA,KAAA,GACjCG,cAAc,GAAG,iBAAiB,GAAG,IAAI,cAAAJ,IAAA,cAAAA,IAAA,GACzCO,YAAY,GAAG,eAAe,GAAG,IAAK;EACzC,IAAIE,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE;EAC3B,MAAMC,QAAQ,GAAGvF,eAAe,CAACqB,wBAAwB,CAAC,CAACiE,IAAI,CAG9D;EAED,IAAIE,SAAyC;EAC7C,IAAI,YAAY,IAAIzE,EAAE,EAAEyE,SAAS,GAAG;IAAEC,UAAU,EAAE1E,EAAE,CAAC0E;EAAW,CAAC;EACjE,IAAI,WAAW,IAAI1E,EAAE,EAAEyE,SAAS,GAAGzE,EAAE,CAACyE,SAAS;EAC/C,IAAIA,SAAS,IAAI,IAAI,EAAE,MAAM,IAAI9E,iBAAiB,CAAC,CAAC;EACpD,IACE,CAAC6E,QAAQ,CAACE,UAAU,CAAC/B,QAAQ,CAAC8B,SAAS,CAACC,UAAU,CAAC,IAClDR,cAAc,IAAI,CAACM,QAAQ,CAACG,SAAS,CAAChC,QAAQ,CAAC8B,SAAS,CAACE,SAAS,CAAE,EACrE;IACA,OAAO,CACL;MACE1B,OAAO,EAAE,kBAAkB2B,IAAI,CAACC,SAAS,CAACJ,SAAS,CAAC,4BAA4BG,IAAI,CAACC,SAAS,CAACL,QAAQ,CAAC,EAAE;MAC1GtB,GAAG,EAAE,yBAAyB;MAC9BC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY;IACzC,CAAC,CACF;EACH;EACA,OAAO,EAAE;AACX,CAAC,EACD,OAAOnD,EAAE,EAAE;EAAEC;AAAK,CAAC,KAAK;EACtB,IAAIf,GAAG,CAACoF,cAAc,KAAKtE,EAAE,CAACmC,GAAG,EAAE,OAAO,EAAE;EAC5C;EACA,IAAInC,EAAE,CAAC8E,UAAU,CAACC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE;EAC9C,IAAI;IACF,MAAM;MAAEC;IAAO,CAAC,GAAG,MAAM/E,IAAI,CAACgF,WAAW,CAACjF,EAAE,CAAC8E,UAAU,CAAC;IACxD,IAAIE,MAAM,EAAE,OAAO,EAAE;IACrB,OAAO,CACL;MACE/B,OAAO,EAAE,YAAYjD,EAAE,CAAC8E,UAAU,gBAAgB;MAClD5B,GAAG,EAAE,mBAAmB;MACxBC,WAAW,EAAE,CAAC,YAAY;IAC5B,CAAC,CACF;EACH,CAAC,CAAC,OAAOvC,KAAK,EAAE;IACd,IAAI,EAAEA,KAAK,YAAY/B,SAAS,CAAC,IAAI+B,KAAK,CAACsE,QAAQ,EAAEC,UAAU,IAAI,IAAI,EAAE,MAAMvE,KAAK;IACpF,OAAO,CACL;MACEqC,OAAO,EAAE2B,IAAI,CAACQ,KAAK,CAACxE,KAAK,CAACsE,QAAQ,CAACC,UAAU,CAAC,CAACE,MAAM;MAAE;MACvDnC,GAAG,EAAE,kBAAkB;MACvBC,WAAW,EAAE,CAAC,YAAY;IAC5B,CAAC,CACF;EACH;AACF,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../../src/typings/blakejs/index.d.ts"],"sourcesContent":["declare module 'blakejs/blake2b.js' {\n export {\n Blake2bCTX,\n blake2bInit,\n blake2bUpdate,\n blake2bFinal,\n blake2b,\n blake2bHex,\n } from 'blakejs';\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../../src/typings/sha-js/index.d.ts"],"sourcesContent":["declare module 'sha.js/sha256.js' {\n import { sha256 } from 'sha.js';\n\n export default sha256;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../../src/typings/tweetnacl-auth/index.d.ts"],"sourcesContent":["// TODO: remove after solving https://github.com/dchest/tweetnacl-auth-js/issues/3\n\ndeclare module 'tweetnacl-auth' {\n interface Api {\n /**\n * Authenticates the given message with the secret key.\n * (In other words, returns HMAC-SHA-512-256 of the message under the key.)\n */\n (message: Uint8Array, key: Uint8Array): Uint8Array;\n /**\n * Returns HMAC-SHA-512 (without truncation) of the message under the key\n */\n full: (message: Uint8Array, key: Uint8Array) => Uint8Array;\n }\n\n const api: Api;\n\n export default api;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import type Middleware from '../Middleware.js';
2
+ import { BaseError } from './errors.js';
3
+ interface MiddlewareRawPage<T = unknown> {
4
+ data: T[];
5
+ next: string | null;
6
+ prev: string | null;
7
+ }
8
+ export declare function isMiddlewareRawPage(maybePage: unknown): maybePage is MiddlewareRawPage;
9
+ /**
10
+ * @category exception
11
+ */
12
+ export declare class MiddlewarePageMissed extends BaseError {
13
+ constructor(isNext: boolean);
14
+ }
15
+ /**
16
+ * A wrapper around the middleware's page allowing to get the next/previous pages.
17
+ */
18
+ export declare class MiddlewarePage<Item> {
19
+ #private;
20
+ readonly data: Item[];
21
+ readonly nextPath: null | string;
22
+ readonly prevPath: null | string;
23
+ constructor(rawPage: MiddlewareRawPage<Item>, middleware: Middleware);
24
+ /**
25
+ * Get the next page.
26
+ * Check the presence of `nextPath` to not fall outside existing pages.
27
+ * @throws MiddlewarePageMissed
28
+ */
29
+ next(): Promise<MiddlewarePage<Item>>;
30
+ /**
31
+ * Get the previous page.
32
+ * Check the presence of `prevPath` to not fall outside existing pages.
33
+ * @throws MiddlewarePageMissed
34
+ */
35
+ prev(): Promise<MiddlewarePage<Item>>;
36
+ }
37
+ export {};
@@ -0,0 +1,57 @@
1
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
2
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
3
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
4
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
5
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
6
+ /* eslint-disable max-classes-per-file */
7
+
8
+ import { BaseError } from './errors.js';
9
+ export function isMiddlewareRawPage(maybePage) {
10
+ const testPage = maybePage;
11
+ return testPage?.data != null && Array.isArray(testPage.data) && 'next' in testPage && 'prev' in testPage;
12
+ }
13
+
14
+ /**
15
+ * @category exception
16
+ */
17
+ export class MiddlewarePageMissed extends BaseError {
18
+ constructor(isNext) {
19
+ super(`There is no ${isNext ? 'next' : 'previous'} page`);
20
+ this.name = 'MiddlewarePageMissed';
21
+ }
22
+ }
23
+
24
+ /**
25
+ * A wrapper around the middleware's page allowing to get the next/previous pages.
26
+ */
27
+ var _middleware = /*#__PURE__*/new WeakMap();
28
+ export class MiddlewarePage {
29
+ constructor(rawPage, middleware) {
30
+ _classPrivateFieldInitSpec(this, _middleware, void 0);
31
+ this.data = rawPage.data;
32
+ this.nextPath = rawPage.next;
33
+ this.prevPath = rawPage.prev;
34
+ _classPrivateFieldSet(_middleware, this, middleware);
35
+ }
36
+
37
+ /**
38
+ * Get the next page.
39
+ * Check the presence of `nextPath` to not fall outside existing pages.
40
+ * @throws MiddlewarePageMissed
41
+ */
42
+ async next() {
43
+ if (this.nextPath == null) throw new MiddlewarePageMissed(true);
44
+ return _classPrivateFieldGet(_middleware, this).requestByPath(this.nextPath);
45
+ }
46
+
47
+ /**
48
+ * Get the previous page.
49
+ * Check the presence of `prevPath` to not fall outside existing pages.
50
+ * @throws MiddlewarePageMissed
51
+ */
52
+ async prev() {
53
+ if (this.prevPath == null) throw new MiddlewarePageMissed(false);
54
+ return _classPrivateFieldGet(_middleware, this).requestByPath(this.prevPath);
55
+ }
56
+ }
57
+ //# sourceMappingURL=MiddlewarePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddlewarePage.js","names":["BaseError","isMiddlewareRawPage","maybePage","testPage","data","Array","isArray","MiddlewarePageMissed","constructor","isNext","name","_middleware","WeakMap","MiddlewarePage","rawPage","middleware","_classPrivateFieldInitSpec","nextPath","next","prevPath","prev","_classPrivateFieldSet","_classPrivateFieldGet","requestByPath"],"sources":["../../src/utils/MiddlewarePage.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport type Middleware from '../Middleware.js';\nimport { BaseError } from './errors.js';\n\ninterface MiddlewareRawPage<T = unknown> {\n data: T[];\n next: string | null;\n prev: string | null;\n}\n\nexport function isMiddlewareRawPage(maybePage: unknown): maybePage is MiddlewareRawPage {\n const testPage = maybePage as MiddlewareRawPage;\n return (\n testPage?.data != null &&\n Array.isArray(testPage.data) &&\n 'next' in testPage &&\n 'prev' in testPage\n );\n}\n\n/**\n * @category exception\n */\nexport class MiddlewarePageMissed extends BaseError {\n constructor(isNext: boolean) {\n super(`There is no ${isNext ? 'next' : 'previous'} page`);\n this.name = 'MiddlewarePageMissed';\n }\n}\n\n/**\n * A wrapper around the middleware's page allowing to get the next/previous pages.\n */\nexport class MiddlewarePage<Item> {\n readonly data: Item[];\n\n readonly nextPath: null | string;\n\n readonly prevPath: null | string;\n\n readonly #middleware: Middleware;\n\n constructor(rawPage: MiddlewareRawPage<Item>, middleware: Middleware) {\n this.data = rawPage.data;\n this.nextPath = rawPage.next;\n this.prevPath = rawPage.prev;\n this.#middleware = middleware;\n }\n\n /**\n * Get the next page.\n * Check the presence of `nextPath` to not fall outside existing pages.\n * @throws MiddlewarePageMissed\n */\n async next(): Promise<MiddlewarePage<Item>> {\n if (this.nextPath == null) throw new MiddlewarePageMissed(true);\n return this.#middleware.requestByPath(this.nextPath);\n }\n\n /**\n * Get the previous page.\n * Check the presence of `prevPath` to not fall outside existing pages.\n * @throws MiddlewarePageMissed\n */\n async prev(): Promise<MiddlewarePage<Item>> {\n if (this.prevPath == null) throw new MiddlewarePageMissed(false);\n return this.#middleware.requestByPath(this.prevPath);\n }\n}\n"],"mappings":";;;;;AAAA;;AAEA,SAASA,SAAS,QAAQ,aAAa;AAQvC,OAAO,SAASC,mBAAmBA,CAACC,SAAkB,EAAkC;EACtF,MAAMC,QAAQ,GAAGD,SAA8B;EAC/C,OACEC,QAAQ,EAAEC,IAAI,IAAI,IAAI,IACtBC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAACC,IAAI,CAAC,IAC5B,MAAM,IAAID,QAAQ,IAClB,MAAM,IAAIA,QAAQ;AAEtB;;AAEA;AACA;AACA;AACA,OAAO,MAAMI,oBAAoB,SAASP,SAAS,CAAC;EAClDQ,WAAWA,CAACC,MAAe,EAAE;IAC3B,KAAK,CAAC,eAAeA,MAAM,GAAG,MAAM,GAAG,UAAU,OAAO,CAAC;IACzD,IAAI,CAACC,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AAFA,IAAAC,WAAA,oBAAAC,OAAA;AAGA,OAAO,MAAMC,cAAc,CAAO;EAShCL,WAAWA,CAACM,OAAgC,EAAEC,UAAsB,EAAE;IAFtEC,0BAAA,OAASL,WAAW;IAGlB,IAAI,CAACP,IAAI,GAAGU,OAAO,CAACV,IAAI;IACxB,IAAI,CAACa,QAAQ,GAAGH,OAAO,CAACI,IAAI;IAC5B,IAAI,CAACC,QAAQ,GAAGL,OAAO,CAACM,IAAI;IAC5BC,qBAAA,CAAKV,WAAW,EAAhB,IAAI,EAAeI,UAAJ,CAAC;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMG,IAAIA,CAAA,EAAkC;IAC1C,IAAI,IAAI,CAACD,QAAQ,IAAI,IAAI,EAAE,MAAM,IAAIV,oBAAoB,CAAC,IAAI,CAAC;IAC/D,OAAOe,qBAAA,CAAKX,WAAW,EAAhB,IAAe,CAAC,CAACY,aAAa,CAAC,IAAI,CAACN,QAAQ,CAAC;EACtD;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMG,IAAIA,CAAA,EAAkC;IAC1C,IAAI,IAAI,CAACD,QAAQ,IAAI,IAAI,EAAE,MAAM,IAAIZ,oBAAoB,CAAC,KAAK,CAAC;IAChE,OAAOe,qBAAA,CAAKX,WAAW,EAAhB,IAAe,CAAC,CAACY,aAAa,CAAC,IAAI,CAACJ,QAAQ,CAAC;EACtD;AACF","ignoreList":[]}