@decibeltrade/sdk 0.1.1

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 (294) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint$colon$check.log +5 -0
  3. package/.turbo/turbo-lint.log +5 -0
  4. package/decibel_transactions.md +1049 -0
  5. package/dist/abi/abi-manager.d.ts +13 -0
  6. package/dist/abi/abi-manager.d.ts.map +1 -0
  7. package/dist/abi/abi-manager.js +21 -0
  8. package/dist/abi/abis.json +1322 -0
  9. package/dist/abi/bytecode-manager.d.ts +57 -0
  10. package/dist/abi/bytecode-manager.d.ts.map +1 -0
  11. package/dist/abi/bytecode-manager.js +62 -0
  12. package/dist/abi/bytecode.json +24 -0
  13. package/dist/abi/fetch-abis.d.ts +7 -0
  14. package/dist/abi/fetch-abis.d.ts.map +1 -0
  15. package/dist/abi/fetch-abis.js +132 -0
  16. package/dist/abi/fetch-bytecode.d.ts +24 -0
  17. package/dist/abi/fetch-bytecode.d.ts.map +1 -0
  18. package/dist/abi/fetch-bytecode.js +123 -0
  19. package/dist/abi/generate-abis.d.ts +6 -0
  20. package/dist/abi/generate-abis.d.ts.map +1 -0
  21. package/dist/abi/generate-abis.js +170 -0
  22. package/dist/abi/json/netna.json +1323 -0
  23. package/dist/abi/json/testnet.json +1315 -0
  24. package/dist/abi/types.d.ts +22 -0
  25. package/dist/abi/types.d.ts.map +1 -0
  26. package/dist/abi/types.js +2 -0
  27. package/dist/admin.d.ts +29 -0
  28. package/dist/admin.d.ts.map +1 -0
  29. package/dist/admin.js +203 -0
  30. package/dist/base.d.ts +42 -0
  31. package/dist/base.d.ts.map +1 -0
  32. package/dist/base.js +176 -0
  33. package/dist/constants.d.ts +41 -0
  34. package/dist/constants.d.ts.map +1 -0
  35. package/dist/constants.js +78 -0
  36. package/dist/fee-pay.d.ts +11 -0
  37. package/dist/fee-pay.d.ts.map +1 -0
  38. package/dist/fee-pay.js +30 -0
  39. package/dist/gas/gas-price-manager.d.ts +35 -0
  40. package/dist/gas/gas-price-manager.d.ts.map +1 -0
  41. package/dist/gas/gas-price-manager.js +93 -0
  42. package/dist/gas-price-manager.d.ts +31 -0
  43. package/dist/gas-price-manager.d.ts.map +1 -0
  44. package/dist/gas-price-manager.js +84 -0
  45. package/dist/index.d.ts +11 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +26 -0
  48. package/dist/order-event.types.d.ts +55 -0
  49. package/dist/order-event.types.d.ts.map +1 -0
  50. package/dist/order-event.types.js +3 -0
  51. package/dist/order-status.d.ts +43 -0
  52. package/dist/order-status.d.ts.map +1 -0
  53. package/dist/order-status.js +86 -0
  54. package/dist/read/account-overview/account-overview.reader.d.ts +37 -0
  55. package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -0
  56. package/dist/read/account-overview/account-overview.reader.js +35 -0
  57. package/dist/read/account-overview/account-overview.types.d.ts +52 -0
  58. package/dist/read/account-overview/account-overview.types.d.ts.map +1 -0
  59. package/dist/read/account-overview/account-overview.types.js +36 -0
  60. package/dist/read/api-wallets/api-wallets.reader.d.ts +17 -0
  61. package/dist/read/api-wallets/api-wallets.reader.d.ts.map +1 -0
  62. package/dist/read/api-wallets/api-wallets.reader.js +27 -0
  63. package/dist/read/api-wallets/api-wallets.types.d.ts +17 -0
  64. package/dist/read/api-wallets/api-wallets.types.d.ts.map +1 -0
  65. package/dist/read/api-wallets/api-wallets.types.js +13 -0
  66. package/dist/read/base-reader.d.ts +22 -0
  67. package/dist/read/base-reader.d.ts.map +1 -0
  68. package/dist/read/base-reader.js +29 -0
  69. package/dist/read/candlesticks/candlesticks.reader.d.ts +31 -0
  70. package/dist/read/candlesticks/candlesticks.reader.d.ts.map +1 -0
  71. package/dist/read/candlesticks/candlesticks.reader.js +43 -0
  72. package/dist/read/candlesticks/candlesticks.types.d.ts +45 -0
  73. package/dist/read/candlesticks/candlesticks.types.d.ts.map +1 -0
  74. package/dist/read/candlesticks/candlesticks.types.js +36 -0
  75. package/dist/read/delegations/delegations.reader.d.ts +15 -0
  76. package/dist/read/delegations/delegations.reader.d.ts.map +1 -0
  77. package/dist/read/delegations/delegations.reader.js +23 -0
  78. package/dist/read/delegations/delegations.types.d.ts +17 -0
  79. package/dist/read/delegations/delegations.types.d.ts.map +1 -0
  80. package/dist/read/delegations/delegations.types.js +13 -0
  81. package/dist/read/index.d.ts +105 -0
  82. package/dist/read/index.d.ts.map +1 -0
  83. package/dist/read/index.js +244 -0
  84. package/dist/read/leaderboard/leaderboard.reader.d.ts +21 -0
  85. package/dist/read/leaderboard/leaderboard.reader.d.ts.map +1 -0
  86. package/dist/read/leaderboard/leaderboard.reader.js +22 -0
  87. package/dist/read/leaderboard/leaderboard.types.d.ts +27 -0
  88. package/dist/read/leaderboard/leaderboard.types.d.ts.map +1 -0
  89. package/dist/read/leaderboard/leaderboard.types.js +14 -0
  90. package/dist/read/market-contexts/market-contexts.reader.d.ts +22 -0
  91. package/dist/read/market-contexts/market-contexts.reader.d.ts.map +1 -0
  92. package/dist/read/market-contexts/market-contexts.reader.js +27 -0
  93. package/dist/read/market-contexts/market-contexts.types.d.ts +26 -0
  94. package/dist/read/market-contexts/market-contexts.types.d.ts.map +1 -0
  95. package/dist/read/market-contexts/market-contexts.types.js +19 -0
  96. package/dist/read/market-depth/market-depth.reader.d.ts +30 -0
  97. package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -0
  98. package/dist/read/market-depth/market-depth.reader.js +46 -0
  99. package/dist/read/market-depth/market-depth.types.d.ts +20 -0
  100. package/dist/read/market-depth/market-depth.types.d.ts.map +1 -0
  101. package/dist/read/market-depth/market-depth.types.js +16 -0
  102. package/dist/read/market-prices/market-prices.reader.d.ts +44 -0
  103. package/dist/read/market-prices/market-prices.reader.d.ts.map +1 -0
  104. package/dist/read/market-prices/market-prices.reader.js +51 -0
  105. package/dist/read/market-prices/market-prices.types.d.ts +48 -0
  106. package/dist/read/market-prices/market-prices.types.d.ts.map +1 -0
  107. package/dist/read/market-prices/market-prices.types.js +26 -0
  108. package/dist/read/market-trades/market-trades.reader.d.ts +33 -0
  109. package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -0
  110. package/dist/read/market-trades/market-trades.reader.js +39 -0
  111. package/dist/read/market-trades/market-trades.types.d.ts +52 -0
  112. package/dist/read/market-trades/market-trades.types.d.ts.map +1 -0
  113. package/dist/read/market-trades/market-trades.types.js +23 -0
  114. package/dist/read/markets/markets.reader.d.ts +38 -0
  115. package/dist/read/markets/markets.reader.d.ts.map +1 -0
  116. package/dist/read/markets/markets.reader.js +80 -0
  117. package/dist/read/markets/markets.types.d.ts +82 -0
  118. package/dist/read/markets/markets.types.d.ts.map +1 -0
  119. package/dist/read/markets/markets.types.js +46 -0
  120. package/dist/read/pagination.types.d.ts +14 -0
  121. package/dist/read/pagination.types.d.ts.map +1 -0
  122. package/dist/read/pagination.types.js +12 -0
  123. package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts +14 -0
  124. package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts.map +1 -0
  125. package/dist/read/portfolio-chart/portfolio-chart.reader.js +21 -0
  126. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +14 -0
  127. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -0
  128. package/dist/read/portfolio-chart/portfolio-chart.types.js +12 -0
  129. package/dist/read/public-vaults/public-vaults.reader.d.ts +38 -0
  130. package/dist/read/public-vaults/public-vaults.reader.d.ts.map +1 -0
  131. package/dist/read/public-vaults/public-vaults.reader.js +31 -0
  132. package/dist/read/public-vaults/public-vaults.types.d.ts +62 -0
  133. package/dist/read/public-vaults/public-vaults.types.d.ts.map +1 -0
  134. package/dist/read/public-vaults/public-vaults.types.js +33 -0
  135. package/dist/read/types.d.ts +178 -0
  136. package/dist/read/types.d.ts.map +1 -0
  137. package/dist/read/types.js +87 -0
  138. package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts +31 -0
  139. package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts.map +1 -0
  140. package/dist/read/user-active-twaps/user-active-twaps.reader.js +31 -0
  141. package/dist/read/user-active-twaps/user-active-twaps.types.d.ts +49 -0
  142. package/dist/read/user-active-twaps/user-active-twaps.types.d.ts.map +1 -0
  143. package/dist/read/user-active-twaps/user-active-twaps.types.js +25 -0
  144. package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts +31 -0
  145. package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts.map +1 -0
  146. package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +32 -0
  147. package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts +46 -0
  148. package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts.map +1 -0
  149. package/dist/read/user-bulk-orders/user-bulk-orders.types.js +24 -0
  150. package/dist/read/user-funding-history/user-funding-history.reader.d.ts +28 -0
  151. package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -0
  152. package/dist/read/user-funding-history/user-funding-history.reader.js +32 -0
  153. package/dist/read/user-funding-history/user-funding-history.types.d.ts +37 -0
  154. package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -0
  155. package/dist/read/user-funding-history/user-funding-history.types.js +21 -0
  156. package/dist/read/user-notifications/user-notifications.reader.d.ts +13 -0
  157. package/dist/read/user-notifications/user-notifications.reader.d.ts.map +1 -0
  158. package/dist/read/user-notifications/user-notifications.reader.js +19 -0
  159. package/dist/read/user-notifications/user-notifications.types.d.ts +49 -0
  160. package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -0
  161. package/dist/read/user-notifications/user-notifications.types.js +18 -0
  162. package/dist/read/user-open-orders/user-open-orders.reader.d.ts +40 -0
  163. package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -0
  164. package/dist/read/user-open-orders/user-open-orders.reader.js +31 -0
  165. package/dist/read/user-open-orders/user-open-orders.types.d.ts +76 -0
  166. package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -0
  167. package/dist/read/user-open-orders/user-open-orders.types.js +34 -0
  168. package/dist/read/user-order-history/user-order-history.reader.d.ts +40 -0
  169. package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -0
  170. package/dist/read/user-order-history/user-order-history.reader.js +28 -0
  171. package/dist/read/user-order-history/user-order-history.types.d.ts +85 -0
  172. package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -0
  173. package/dist/read/user-order-history/user-order-history.types.js +37 -0
  174. package/dist/read/user-positions/user-positions.reader.d.ts +37 -0
  175. package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -0
  176. package/dist/read/user-positions/user-positions.reader.js +41 -0
  177. package/dist/read/user-positions/user-positions.types.d.ts +2590 -0
  178. package/dist/read/user-positions/user-positions.types.d.ts.map +1 -0
  179. package/dist/read/user-positions/user-positions.types.js +31 -0
  180. package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts +18 -0
  181. package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts.map +1 -0
  182. package/dist/read/user-subaccounts/user-subaccounts.reader.js +28 -0
  183. package/dist/read/user-subaccounts/user-subaccounts.types.d.ts +21 -0
  184. package/dist/read/user-subaccounts/user-subaccounts.types.d.ts.map +1 -0
  185. package/dist/read/user-subaccounts/user-subaccounts.types.js +15 -0
  186. package/dist/read/user-trade-history/user-trade-history.reader.d.ts +33 -0
  187. package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -0
  188. package/dist/read/user-trade-history/user-trade-history.reader.js +32 -0
  189. package/dist/read/user-trade-history/user-trade-history.types.d.ts +52 -0
  190. package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -0
  191. package/dist/read/user-trade-history/user-trade-history.types.js +26 -0
  192. package/dist/read/user-vaults/user-vaults.reader.d.ts +26 -0
  193. package/dist/read/user-vaults/user-vaults.reader.d.ts.map +1 -0
  194. package/dist/read/user-vaults/user-vaults.reader.js +32 -0
  195. package/dist/read/user-vaults/user-vaults.types.d.ts +39 -0
  196. package/dist/read/user-vaults/user-vaults.types.d.ts.map +1 -0
  197. package/dist/read/user-vaults/user-vaults.types.js +21 -0
  198. package/dist/read/vault/vault.reader.d.ts +95 -0
  199. package/dist/read/vault/vault.reader.d.ts.map +1 -0
  200. package/dist/read/vault/vault.reader.js +168 -0
  201. package/dist/read/vault/vault.types.d.ts +49 -0
  202. package/dist/read/vault/vault.types.d.ts.map +1 -0
  203. package/dist/read/vault/vault.types.js +45 -0
  204. package/dist/read/vaults/vaults.reader.d.ts +72 -0
  205. package/dist/read/vaults/vaults.reader.d.ts.map +1 -0
  206. package/dist/read/vaults/vaults.reader.js +63 -0
  207. package/dist/read/vaults/vaults.types.d.ts +140 -0
  208. package/dist/read/vaults/vaults.types.d.ts.map +1 -0
  209. package/dist/read/vaults/vaults.types.js +71 -0
  210. package/dist/read/ws-subscription.d.ts +21 -0
  211. package/dist/read/ws-subscription.d.ts.map +1 -0
  212. package/dist/read/ws-subscription.js +170 -0
  213. package/dist/subaccount-types.d.ts +24 -0
  214. package/dist/subaccount-types.d.ts.map +1 -0
  215. package/dist/subaccount-types.js +11 -0
  216. package/dist/transaction-builder.d.ts +14 -0
  217. package/dist/transaction-builder.d.ts.map +1 -0
  218. package/dist/transaction-builder.js +40 -0
  219. package/dist/tsconfig.tsbuildinfo +1 -0
  220. package/dist/utils.d.ts +56 -0
  221. package/dist/utils.d.ts.map +1 -0
  222. package/dist/utils.js +164 -0
  223. package/dist/vault-types.d.ts +43 -0
  224. package/dist/vault-types.d.ts.map +1 -0
  225. package/dist/vault-types.js +11 -0
  226. package/dist/write.d.ts +271 -0
  227. package/dist/write.d.ts.map +1 -0
  228. package/dist/write.js +485 -0
  229. package/eslint.config.mjs +25 -0
  230. package/package.json +39 -0
  231. package/readme.md +257 -0
  232. package/sdk_reference.md +876 -0
  233. package/src/abi/generate-abis.ts +164 -0
  234. package/src/abi/json/netna.json +1323 -0
  235. package/src/abi/json/testnet.json +1315 -0
  236. package/src/abi/types.ts +23 -0
  237. package/src/admin.ts +284 -0
  238. package/src/base.ts +218 -0
  239. package/src/constants.ts +118 -0
  240. package/src/fee-pay.ts +39 -0
  241. package/src/gas/gas-price-manager.ts +115 -0
  242. package/src/index.ts +10 -0
  243. package/src/order-event.types.ts +65 -0
  244. package/src/order-status.ts +89 -0
  245. package/src/read/account-overview/account-overview.reader.ts +43 -0
  246. package/src/read/account-overview/account-overview.types.ts +45 -0
  247. package/src/read/base-reader.ts +41 -0
  248. package/src/read/candlesticks/candlesticks.reader.ts +61 -0
  249. package/src/read/candlesticks/candlesticks.types.ts +46 -0
  250. package/src/read/delegations/delegations.reader.ts +22 -0
  251. package/src/read/delegations/delegations.types.ts +19 -0
  252. package/src/read/index.ts +271 -0
  253. package/src/read/leaderboard/leaderboard.reader.ts +21 -0
  254. package/src/read/leaderboard/leaderboard.types.ts +26 -0
  255. package/src/read/market-contexts/market-contexts.reader.ts +26 -0
  256. package/src/read/market-contexts/market-contexts.types.ts +18 -0
  257. package/src/read/market-depth/market-depth.reader.ts +60 -0
  258. package/src/read/market-depth/market-depth.types.ts +24 -0
  259. package/src/read/market-prices/market-prices.reader.ts +61 -0
  260. package/src/read/market-prices/market-prices.types.ts +38 -0
  261. package/src/read/market-trades/market-trades.reader.ts +46 -0
  262. package/src/read/market-trades/market-trades.types.ts +34 -0
  263. package/src/read/markets/markets.reader.ts +82 -0
  264. package/src/read/markets/markets.types.ts +54 -0
  265. package/src/read/pagination.types.ts +18 -0
  266. package/src/read/portfolio-chart/portfolio-chart.reader.ts +20 -0
  267. package/src/read/portfolio-chart/portfolio-chart.types.ts +21 -0
  268. package/src/read/types.ts +129 -0
  269. package/src/read/user-active-twaps/user-active-twaps.reader.ts +36 -0
  270. package/src/read/user-active-twaps/user-active-twaps.types.ts +33 -0
  271. package/src/read/user-bulk-orders/user-bulk-orders.reader.ts +37 -0
  272. package/src/read/user-bulk-orders/user-bulk-orders.types.ts +32 -0
  273. package/src/read/user-funding-history/user-funding-history.reader.ts +38 -0
  274. package/src/read/user-funding-history/user-funding-history.types.ts +29 -0
  275. package/src/read/user-notifications/user-notifications.reader.ts +17 -0
  276. package/src/read/user-notifications/user-notifications.types.ts +61 -0
  277. package/src/read/user-open-orders/user-open-orders.reader.ts +36 -0
  278. package/src/read/user-open-orders/user-open-orders.types.ts +42 -0
  279. package/src/read/user-order-history/user-order-history.reader.ts +34 -0
  280. package/src/read/user-order-history/user-order-history.types.ts +44 -0
  281. package/src/read/user-positions/user-positions.reader.ts +55 -0
  282. package/src/read/user-positions/user-positions.types.ts +43 -0
  283. package/src/read/user-subaccounts/user-subaccounts.reader.ts +30 -0
  284. package/src/read/user-subaccounts/user-subaccounts.types.ts +21 -0
  285. package/src/read/user-trade-history/user-trade-history.reader.ts +38 -0
  286. package/src/read/user-trade-history/user-trade-history.types.ts +33 -0
  287. package/src/read/vaults/vaults.reader.ts +79 -0
  288. package/src/read/vaults/vaults.types.ts +106 -0
  289. package/src/read/ws-subscription.ts +200 -0
  290. package/src/subaccount-types.ts +31 -0
  291. package/src/transaction-builder.ts +75 -0
  292. package/src/utils.ts +255 -0
  293. package/src/write.ts +965 -0
  294. package/tsconfig.json +8 -0
package/dist/utils.js ADDED
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractVaultAddressFromCreateTx = exports.PARAM_MAP = void 0;
4
+ exports.getMarketAddr = getMarketAddr;
5
+ exports.postRequest = postRequest;
6
+ exports.patchRequest = patchRequest;
7
+ exports.getRequest = getRequest;
8
+ exports.prettifyMaybeZodError = prettifyMaybeZodError;
9
+ exports.bigIntReviver = bigIntReviver;
10
+ exports.getPrimarySubaccountAddr = getPrimarySubaccountAddr;
11
+ exports.getVaultShareAddress = getVaultShareAddress;
12
+ exports.constructKnownQueryParams = constructKnownQueryParams;
13
+ exports.generateRandomReplayProtectionNonce = generateRandomReplayProtectionNonce;
14
+ const ts_sdk_1 = require("@aptos-labs/ts-sdk");
15
+ const v4_1 = require("zod/v4");
16
+ const constants_1 = require("./constants");
17
+ function getMarketAddr(name, perpEngineGlobalAddr) {
18
+ const marketNameBytes = new ts_sdk_1.MoveString(name).bcsToBytes();
19
+ return (0, ts_sdk_1.createObjectAddress)(ts_sdk_1.AccountAddress.fromString(perpEngineGlobalAddr), marketNameBytes);
20
+ }
21
+ async function postRequest({ schema, url, body, options = {}, apiKey, }) {
22
+ return baseRequest({
23
+ schema,
24
+ url,
25
+ method: "POST",
26
+ body,
27
+ options,
28
+ setJsonContentType: true,
29
+ apiKey,
30
+ });
31
+ }
32
+ async function patchRequest({ schema, url, body, options = {}, apiKey, }) {
33
+ return baseRequest({
34
+ schema,
35
+ url,
36
+ method: "PATCH",
37
+ body,
38
+ options,
39
+ setJsonContentType: true,
40
+ apiKey,
41
+ });
42
+ }
43
+ async function getRequest({ schema, url, queryParams, options = {}, apiKey, }) {
44
+ return baseRequest({
45
+ schema,
46
+ url,
47
+ method: "GET",
48
+ queryParams,
49
+ options,
50
+ apiKey,
51
+ });
52
+ }
53
+ async function baseRequest({ schema, url, method, options = {}, body, queryParams, setJsonContentType = false, apiKey, }) {
54
+ const { headers: argHeaders, credentials, ...restOptions } = options;
55
+ const headers = new Headers(argHeaders);
56
+ if (setJsonContentType) {
57
+ headers.set("Content-Type", "application/json");
58
+ }
59
+ if (apiKey) {
60
+ headers.set("Authorization", `Bearer ${apiKey}`);
61
+ }
62
+ const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : "";
63
+ const fullUrl = `${url}${queryString}`;
64
+ const fetchInit = {
65
+ method,
66
+ headers,
67
+ credentials,
68
+ ...restOptions,
69
+ };
70
+ if (body !== undefined) {
71
+ fetchInit.body = JSON.stringify(body);
72
+ }
73
+ const response = await fetch(fullUrl, fetchInit);
74
+ const { status, statusText } = response;
75
+ if (!response.ok) {
76
+ const message = await response.text();
77
+ throw new Error(`HTTP Error ${status} (${statusText}): ${message}`);
78
+ }
79
+ const textData = await response.text();
80
+ try {
81
+ const data = schema.parse(JSON.parse(textData, bigIntReviver));
82
+ return { data, status, statusText };
83
+ }
84
+ catch (e) {
85
+ throw prettifyMaybeZodError(e);
86
+ }
87
+ }
88
+ function prettifyMaybeZodError(e) {
89
+ if (e instanceof v4_1.ZodError) {
90
+ return new Error(v4_1.z.prettifyError(e), { cause: e });
91
+ }
92
+ return e;
93
+ }
94
+ function bigIntReviver(key, value) {
95
+ if (value &&
96
+ typeof value === "object" &&
97
+ "$bigint" in value &&
98
+ typeof value.$bigint === "string") {
99
+ return BigInt(value.$bigint);
100
+ }
101
+ return value;
102
+ }
103
+ function getPrimarySubaccountAddr(addr) {
104
+ const account = typeof addr === "string" ? ts_sdk_1.AccountAddress.fromString(addr) : addr;
105
+ const seed = new TextEncoder().encode("decibel_dex_primary");
106
+ return (0, ts_sdk_1.createObjectAddress)(account, seed).toString();
107
+ }
108
+ function getVaultShareAddress(vaultAddress) {
109
+ const seed = new TextEncoder().encode("vault_share_asset");
110
+ return (0, ts_sdk_1.createObjectAddress)(ts_sdk_1.AccountAddress.fromString(vaultAddress), seed).toString();
111
+ }
112
+ exports.PARAM_MAP = {
113
+ limit: constants_1.QUERY_PARAM_KEYS.limit,
114
+ offset: constants_1.QUERY_PARAM_KEYS.offset,
115
+ sortKey: constants_1.QUERY_PARAM_KEYS.sortKey,
116
+ sortDir: constants_1.QUERY_PARAM_KEYS.sortDir,
117
+ searchTerm: constants_1.QUERY_PARAM_KEYS.searchTerm,
118
+ };
119
+ /**
120
+ * Construct query params from an args object, supporting optional PageParams, SearchTermParams, and generic SortParams.
121
+ * @param args - The argument object, which may include page, search, and sort params.
122
+ * @returns URLSearchParams instance with the constructed query parameters.
123
+ */
124
+ function constructKnownQueryParams(args) {
125
+ const queryParams = new URLSearchParams();
126
+ Object.keys(args).forEach((_argKey) => {
127
+ const argKey = _argKey;
128
+ const value = args[argKey];
129
+ const paramKey = exports.PARAM_MAP[argKey];
130
+ if (paramKey && value !== undefined && !(typeof value === "string" && value.trim() === "")) {
131
+ queryParams.set(paramKey, String(value));
132
+ }
133
+ });
134
+ return queryParams;
135
+ }
136
+ function generateRandomReplayProtectionNonce() {
137
+ const buf = new Uint32Array(2);
138
+ crypto.getRandomValues(buf);
139
+ const valueAtIndex0 = buf[0];
140
+ const valueAtIndex1 = buf[1];
141
+ if (!valueAtIndex0 || !valueAtIndex1)
142
+ return null;
143
+ // combine two 32-bit parts into a single 64-bit bigint
144
+ return (BigInt(valueAtIndex0) << BigInt(32)) | BigInt(valueAtIndex1);
145
+ }
146
+ const extractVaultAddressFromCreateTx = (createVaultTx) => {
147
+ // Extract vault address from transaction events
148
+ let vaultAddress = null;
149
+ if ("events" in createVaultTx && Array.isArray(createVaultTx.events)) {
150
+ for (const event of createVaultTx.events) {
151
+ if (event.type.includes("::vault::VaultCreatedEvent")) {
152
+ const eventData = event.data;
153
+ vaultAddress = eventData.vault;
154
+ break;
155
+ }
156
+ }
157
+ }
158
+ if (!vaultAddress)
159
+ throw new Error("Unable to extract vault address from transaction");
160
+ vaultAddress =
161
+ typeof vaultAddress === "object" && "inner" in vaultAddress ? vaultAddress.inner : vaultAddress;
162
+ return vaultAddress;
163
+ };
164
+ exports.extractVaultAddressFromCreateTx = extractVaultAddressFromCreateTx;
@@ -0,0 +1,43 @@
1
+ import z from "zod/v4";
2
+ export interface VaultCreatedEvent {
3
+ is_primary: boolean;
4
+ owner: string;
5
+ vault: string;
6
+ }
7
+ export interface CreateVaultResponse {
8
+ vaultAddress: string | null;
9
+ }
10
+ export interface RenameVaultArgs {
11
+ vaultAddress: string;
12
+ newName: string;
13
+ }
14
+ export declare const RenameVaultSchema: z.ZodObject<{
15
+ vault_address: z.ZodString;
16
+ new_name: z.ZodString;
17
+ }, z.core.$strip>;
18
+ export type RenameVault = z.infer<typeof RenameVaultSchema>;
19
+ export interface CreateVaultArgs {
20
+ contributionAssetType: string;
21
+ vaultName: string;
22
+ vaultShareSymbol: string;
23
+ vaultShareIconUri?: string;
24
+ vaultShareProjectUri?: string;
25
+ feeBps: number;
26
+ feeInterval: number;
27
+ initialFunding?: number;
28
+ acceptsContributions?: boolean;
29
+ delegateToCreator?: boolean;
30
+ }
31
+ export interface ActivateVaultArgs {
32
+ vaultAddress: string;
33
+ additionalFunding?: number;
34
+ }
35
+ export interface DepositToVaultArgs {
36
+ vaultAddress: string;
37
+ amount: number;
38
+ }
39
+ export interface WithdrawFromVaultArgs {
40
+ vaultAddress: string;
41
+ shares: number;
42
+ }
43
+ //# sourceMappingURL=vault-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault-types.d.ts","sourceRoot":"","sources":["../src/vault-types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAIvB,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,MAAM,WAAW,eAAe;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RenameVaultSchema = void 0;
7
+ const v4_1 = __importDefault(require("zod/v4"));
8
+ exports.RenameVaultSchema = v4_1.default.object({
9
+ vault_address: v4_1.default.string(),
10
+ new_name: v4_1.default.string(),
11
+ });
@@ -0,0 +1,271 @@
1
+ import { Account, AccountAddress, CommittedTransactionResponse } from "@aptos-labs/ts-sdk";
2
+ import { BaseSDK, Options } from "./base";
3
+ import { DecibelConfig } from "./constants";
4
+ import { PlaceOrderResult } from "./order-event.types";
5
+ import { OrderStatusClient } from "./order-status";
6
+ import { ActivateVaultArgs, CreateVaultArgs, DepositToVaultArgs, WithdrawFromVaultArgs } from "./read";
7
+ import { RenameSubaccountArgs } from "./subaccount-types";
8
+ export declare const TimeInForce: {
9
+ readonly GoodTillCanceled: 0;
10
+ readonly PostOnly: 1;
11
+ readonly ImmediateOrCancel: 2;
12
+ };
13
+ export type TimeInForce = (typeof TimeInForce)[keyof typeof TimeInForce];
14
+ interface Cache {
15
+ usdcDecimals?: number;
16
+ }
17
+ type WithSignerAddress<T> = T & {
18
+ signerAddress: AccountAddress;
19
+ };
20
+ export declare class DecibelWriteDex extends BaseSDK {
21
+ readonly cache: Cache;
22
+ readonly orderStatusClient: OrderStatusClient;
23
+ constructor(config: DecibelConfig, account: Account, opts?: Options);
24
+ /**
25
+ * Extract order_id from OrderEvent in transaction response
26
+ */
27
+ private extractOrderIdFromTransaction;
28
+ renameSubaccount({ subaccountAddress, newName }: RenameSubaccountArgs): Promise<{
29
+ data: {
30
+ subaccount_address: string;
31
+ new_name: string;
32
+ };
33
+ status: number;
34
+ statusText: string;
35
+ }>;
36
+ createSubaccount(): Promise<CommittedTransactionResponse>;
37
+ sendSubaccountTx(sendTx: (subaccountAddr: string) => Promise<CommittedTransactionResponse>, subaccountAddr?: string): Promise<CommittedTransactionResponse>;
38
+ withSubaccount<T>(fn: (subaccountAddr: string) => Promise<T>, subaccountAddr?: string): Promise<T>;
39
+ /**
40
+ * @param amount u64 amount of collateral to deposit
41
+ */
42
+ deposit(amount: number, subaccountAddr?: string): Promise<CommittedTransactionResponse>;
43
+ /**
44
+ * @param amount u64 amount of collateral to withdraw
45
+ */
46
+ withdraw(amount: number, subaccountAddr?: string): Promise<CommittedTransactionResponse>;
47
+ configureUserSettingsForMarket({ marketAddr, subaccountAddr, isCross, userLeverage, }: {
48
+ marketAddr: string;
49
+ subaccountAddr: string;
50
+ isCross: boolean;
51
+ userLeverage: number;
52
+ }): Promise<CommittedTransactionResponse>;
53
+ placeOrder({ marketName, price, size, isBuy, timeInForce, isReduceOnly, clientOrderId, stopPrice, tpTriggerPrice, tpLimitPrice, slTriggerPrice, slLimitPrice, builderAddr, builderFee, subaccountAddr, accountOverride, tickSize, }: {
54
+ marketName: string;
55
+ price: number;
56
+ size: number;
57
+ isBuy: boolean;
58
+ timeInForce: TimeInForce;
59
+ isReduceOnly: boolean;
60
+ clientOrderId?: string;
61
+ stopPrice?: number;
62
+ tpTriggerPrice?: number;
63
+ tpLimitPrice?: number;
64
+ slTriggerPrice?: number;
65
+ slLimitPrice?: number;
66
+ builderAddr?: string;
67
+ builderFee?: number;
68
+ subaccountAddr?: string;
69
+ /**
70
+ * Optional account to use for the transaction. Primarily set as the session
71
+ * account. If not provided, the default constructor account will be used
72
+ */
73
+ accountOverride?: Account;
74
+ /**
75
+ * Market tick size for price rounding. If not provided, no rounding is applied.
76
+ */
77
+ tickSize?: number;
78
+ }): Promise<PlaceOrderResult>;
79
+ triggerMatching({ marketAddr, maxWorkUnit }: {
80
+ marketAddr: string;
81
+ maxWorkUnit: number;
82
+ }): Promise<{
83
+ success: boolean;
84
+ transactionHash: string;
85
+ }>;
86
+ placeTwapOrder({ marketName, size, isBuy, isReduceOnly, twapFrequencySeconds, twapDurationSeconds, builderAddress, builderFees, subaccountAddr, accountOverride, }: {
87
+ marketName: string;
88
+ size: number;
89
+ isBuy: boolean;
90
+ isReduceOnly: boolean;
91
+ twapFrequencySeconds: number;
92
+ twapDurationSeconds: number;
93
+ builderAddress?: string;
94
+ builderFees?: number;
95
+ subaccountAddr?: string;
96
+ /**
97
+ * Optional account to use for the transaction. Primarily set as the session
98
+ * account. If not provided, the default constructor account will be used
99
+ */
100
+ accountOverride?: Account;
101
+ }): Promise<{
102
+ success: boolean;
103
+ orderId: string | undefined;
104
+ transactionHash: string;
105
+ }>;
106
+ /**
107
+ * Cancel an order on the exchange
108
+ * @param orderId The id of the order to cancel
109
+ * @param marketId The id of the market the order is in
110
+ * @param subaccountAddr Optional subaccount address, will use primary if not provided
111
+ * @returns Transaction response
112
+ */
113
+ cancelOrder({ orderId, subaccountAddr, accountOverride, ...args }: {
114
+ orderId: number | string;
115
+ subaccountAddr?: string;
116
+ /**
117
+ * Optional account to use for the transaction. Primarily set as the session
118
+ * account. If not provided, the default constructor account will be used
119
+ */
120
+ accountOverride?: Account;
121
+ } & ({
122
+ marketName: string;
123
+ } | {
124
+ marketAddr: string;
125
+ })): Promise<CommittedTransactionResponse>;
126
+ cancelClientOrder({ clientOrderId, marketName, subaccountAddr, accountOverride, }: {
127
+ clientOrderId: string;
128
+ marketName: string;
129
+ subaccountAddr?: string;
130
+ /**
131
+ * Optional account to use for the transaction. Primarily set as the session
132
+ * account. If not provided, the default constructor account will be used
133
+ */
134
+ accountOverride?: Account;
135
+ }): Promise<CommittedTransactionResponse>;
136
+ delegateTradingTo({ subaccountAddr, accountToDelegateTo, }: {
137
+ subaccountAddr?: string;
138
+ accountToDelegateTo: string;
139
+ }): Promise<CommittedTransactionResponse>;
140
+ revokeDelegation({ subaccountAddr, accountToRevoke, }: {
141
+ subaccountAddr?: string;
142
+ accountToRevoke: string;
143
+ }): Promise<CommittedTransactionResponse>;
144
+ /**
145
+ * Place a TP/SL order for a position
146
+ */
147
+ placeTpSlOrderForPosition({ marketAddr, tpTriggerPrice, tpLimitPrice, tpSize, slTriggerPrice, slLimitPrice, slSize, subaccountAddr, accountOverride, tickSize, }: {
148
+ marketAddr: string;
149
+ tpTriggerPrice?: number;
150
+ tpLimitPrice?: number;
151
+ tpSize?: number;
152
+ slTriggerPrice?: number;
153
+ slLimitPrice?: number;
154
+ slSize?: number;
155
+ subaccountAddr?: string;
156
+ accountOverride?: Account;
157
+ tickSize?: number;
158
+ }): Promise<CommittedTransactionResponse>;
159
+ /**
160
+ * Update TP for a position
161
+ */
162
+ updateTpOrderForPosition({ marketAddr, prevOrderId, tpTriggerPrice, tpLimitPrice, tpSize, subaccountAddr, accountOverride, }: {
163
+ marketAddr: string;
164
+ prevOrderId: number | string;
165
+ tpTriggerPrice?: number;
166
+ tpLimitPrice?: number;
167
+ tpSize?: number;
168
+ subaccountAddr?: string;
169
+ accountOverride?: Account;
170
+ }): Promise<CommittedTransactionResponse>;
171
+ /**
172
+ * Update SL for a position
173
+ */
174
+ updateSlOrderForPosition({ marketAddr, prevOrderId, slTriggerPrice, slLimitPrice, slSize, subaccountAddr, accountOverride, }: {
175
+ marketAddr: string;
176
+ prevOrderId: number | string;
177
+ slTriggerPrice?: number;
178
+ slLimitPrice?: number;
179
+ slSize?: number;
180
+ subaccountAddr?: string;
181
+ accountOverride?: Account;
182
+ }): Promise<CommittedTransactionResponse>;
183
+ /**
184
+ * Cancel a TP/SL order for a position
185
+ */
186
+ cancelTpSlOrderForPosition({ marketAddr, orderId, subaccountAddr, accountOverride, }: {
187
+ marketAddr: string;
188
+ orderId: number | string;
189
+ subaccountAddr?: string;
190
+ accountOverride?: Account;
191
+ }): Promise<CommittedTransactionResponse>;
192
+ cancelTwapOrder({ orderId, marketAddr, subaccountAddr, accountOverride, }: {
193
+ orderId: string;
194
+ marketAddr: string;
195
+ subaccountAddr?: string;
196
+ /**
197
+ * Optional account to use for the transaction. Primarily set as the session
198
+ * account. If not provided, the default constructor account will be used
199
+ */
200
+ accountOverride?: Account;
201
+ }): Promise<CommittedTransactionResponse>;
202
+ buildDeactiveSubaccountTx({ subaccountAddr, revokeAllDelegations, signerAddress, }: WithSignerAddress<{
203
+ subaccountAddr: string;
204
+ revokeAllDelegations: boolean;
205
+ }>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
206
+ /**
207
+ * Create a new vault with optional initial funding
208
+ */
209
+ buildCreateVaultTx({ contributionAssetType, vaultName, vaultShareSymbol, vaultShareIconUri, vaultShareProjectUri, feeBps, feeIntervalS, contributionLockupDurationS, initialFunding, acceptsContributions, delegateToCreator, signerAddress, vaultDescription, vaultSocialLinks, }: WithSignerAddress<CreateVaultArgs>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
210
+ createVault(args: CreateVaultArgs & {
211
+ /**
212
+ * Optional account to use for the transaction. Primarily set as the session
213
+ * account. If not provided, the default constructor account will be used
214
+ */
215
+ accountOverride?: Account;
216
+ subaccountAddr?: string;
217
+ }): Promise<CommittedTransactionResponse>;
218
+ /**
219
+ * Activate a vault to accept contributions
220
+ */
221
+ buildActivateVaultTx({ vaultAddress, additionalFunding, signerAddress, }: WithSignerAddress<ActivateVaultArgs>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
222
+ /**
223
+ * Contribute funds to a vault in exchange for shares
224
+ */
225
+ buildDepositToVaultTx({ vaultAddress, amount, signerAddress, }: WithSignerAddress<DepositToVaultArgs>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
226
+ depositToVault(args: DepositToVaultArgs & {
227
+ subaccountAddr: string;
228
+ }): Promise<CommittedTransactionResponse>;
229
+ /**
230
+ * Redeem shares from a vault for underlying assets
231
+ */
232
+ buildWithdrawFromVaultTx({ vaultAddress, shares, signerAddress, }: WithSignerAddress<WithdrawFromVaultArgs>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
233
+ withdrawFromVault(args: WithdrawFromVaultArgs & {
234
+ /**
235
+ * Optional account to use for the transaction. Primarily set as the session
236
+ * account. If not provided, the default constructor account will be used
237
+ */
238
+ accountOverride?: Account;
239
+ subaccountAddr?: string;
240
+ }): Promise<CommittedTransactionResponse>;
241
+ /**
242
+ * Delegate trading to another account for a vault
243
+ */
244
+ buildDelegateDexActionsToTx({ vaultAddress, accountToDelegateTo, signerAddress, expirationTimestampSecs, }: WithSignerAddress<{
245
+ vaultAddress: string;
246
+ accountToDelegateTo: string;
247
+ expirationTimestampSecs?: number;
248
+ }>): Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
249
+ /**
250
+ * Approve max builder fee for a subaccount
251
+ * @param builderAddr The address of the builder
252
+ * @param maxFee The maximum fee in basis points (e.g., 100 = 0.01%)
253
+ * @param subaccountAddr Optional subaccount address, will use primary if not provided
254
+ */
255
+ approveMaxBuilderFee({ builderAddr, maxFee, subaccountAddr, }: {
256
+ builderAddr: string;
257
+ maxFee: number;
258
+ subaccountAddr?: string;
259
+ }): Promise<CommittedTransactionResponse>;
260
+ /**
261
+ * Revoke max builder fee for a subaccount
262
+ * @param builderAddr The address of the builder
263
+ * @param subaccountAddr Optional subaccount address, will use primary if not provided
264
+ */
265
+ revokeMaxBuilderFee({ builderAddr, subaccountAddr, }: {
266
+ builderAddr: string;
267
+ subaccountAddr?: string;
268
+ }): Promise<CommittedTransactionResponse>;
269
+ }
270
+ export {};
271
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../src/write.ts"],"names":[],"mappings":"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"}