extended-typescript-sdk 0.0.4 → 0.0.6

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 (433) hide show
  1. package/README.md +175 -0
  2. package/dist/cjs/config.d.ts.map +1 -0
  3. package/dist/cjs/config.js.map +1 -0
  4. package/dist/cjs/errors.d.ts.map +1 -0
  5. package/dist/cjs/errors.js.map +1 -0
  6. package/dist/{index.d.ts → cjs/index.d.ts} +28 -28
  7. package/dist/cjs/index.d.ts.map +1 -0
  8. package/dist/{index.js → cjs/index.js} +98 -98
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/package.json +3 -0
  11. package/dist/{perpetual → cjs/perpetual}/accounts.d.ts +2 -2
  12. package/dist/cjs/perpetual/accounts.d.ts.map +1 -0
  13. package/dist/{perpetual → cjs/perpetual}/accounts.js +14 -14
  14. package/dist/cjs/perpetual/accounts.js.map +1 -0
  15. package/dist/{perpetual → cjs/perpetual}/amounts.d.ts +1 -1
  16. package/dist/cjs/perpetual/amounts.d.ts.map +1 -0
  17. package/dist/cjs/perpetual/amounts.js.map +1 -0
  18. package/dist/{perpetual → cjs/perpetual}/assets.d.ts +1 -1
  19. package/dist/cjs/perpetual/assets.d.ts.map +1 -0
  20. package/dist/{perpetual → cjs/perpetual}/assets.js +2 -2
  21. package/dist/cjs/perpetual/assets.js.map +1 -0
  22. package/dist/{perpetual → cjs/perpetual}/bridges.d.ts +1 -1
  23. package/dist/cjs/perpetual/bridges.d.ts.map +1 -0
  24. package/dist/{perpetual → cjs/perpetual}/bridges.js +4 -4
  25. package/dist/cjs/perpetual/bridges.js.map +1 -0
  26. package/dist/{perpetual → cjs/perpetual}/candles.d.ts +1 -1
  27. package/dist/cjs/perpetual/candles.d.ts.map +1 -0
  28. package/dist/{perpetual → cjs/perpetual}/candles.js +2 -2
  29. package/dist/cjs/perpetual/candles.js.map +1 -0
  30. package/dist/{perpetual → cjs/perpetual}/clients.d.ts +1 -1
  31. package/dist/cjs/perpetual/clients.d.ts.map +1 -0
  32. package/dist/{perpetual → cjs/perpetual}/clients.js +2 -2
  33. package/dist/cjs/perpetual/clients.js.map +1 -0
  34. package/dist/cjs/perpetual/configuration.d.ts.map +1 -0
  35. package/dist/cjs/perpetual/configuration.js.map +1 -0
  36. package/dist/cjs/perpetual/crypto/signer.d.ts.map +1 -0
  37. package/dist/{perpetual → cjs/perpetual}/crypto/signer.js +77 -48
  38. package/dist/cjs/perpetual/crypto/signer.js.map +1 -0
  39. package/dist/cjs/perpetual/custom-signer.d.ts.map +1 -0
  40. package/dist/cjs/perpetual/custom-signer.js.map +1 -0
  41. package/dist/{perpetual → cjs/perpetual}/fees.d.ts +1 -1
  42. package/dist/cjs/perpetual/fees.d.ts.map +1 -0
  43. package/dist/{perpetual → cjs/perpetual}/fees.js +2 -2
  44. package/dist/cjs/perpetual/fees.js.map +1 -0
  45. package/dist/{perpetual → cjs/perpetual}/funding-rates.d.ts +1 -1
  46. package/dist/cjs/perpetual/funding-rates.d.ts.map +1 -0
  47. package/dist/{perpetual → cjs/perpetual}/funding-rates.js +2 -2
  48. package/dist/cjs/perpetual/funding-rates.js.map +1 -0
  49. package/dist/{perpetual → cjs/perpetual}/markets.d.ts +2 -2
  50. package/dist/cjs/perpetual/markets.d.ts.map +1 -0
  51. package/dist/{perpetual → cjs/perpetual}/markets.js +9 -9
  52. package/dist/cjs/perpetual/markets.js.map +1 -0
  53. package/dist/{perpetual → cjs/perpetual}/order-object-settlement.d.ts +5 -5
  54. package/dist/cjs/perpetual/order-object-settlement.d.ts.map +1 -0
  55. package/dist/{perpetual → cjs/perpetual}/order-object-settlement.js +13 -13
  56. package/dist/cjs/perpetual/order-object-settlement.js.map +1 -0
  57. package/dist/{perpetual → cjs/perpetual}/order-object.d.ts +4 -4
  58. package/dist/cjs/perpetual/order-object.d.ts.map +1 -0
  59. package/dist/cjs/perpetual/order-object.js +90 -0
  60. package/dist/cjs/perpetual/order-object.js.map +1 -0
  61. package/dist/{perpetual → cjs/perpetual}/orderbooks.d.ts +1 -1
  62. package/dist/cjs/perpetual/orderbooks.d.ts.map +1 -0
  63. package/dist/{perpetual → cjs/perpetual}/orderbooks.js +3 -3
  64. package/dist/cjs/perpetual/orderbooks.js.map +1 -0
  65. package/dist/{perpetual → cjs/perpetual}/orders.d.ts +1 -1
  66. package/dist/cjs/perpetual/orders.d.ts.map +1 -0
  67. package/dist/{perpetual → cjs/perpetual}/orders.js +7 -7
  68. package/dist/cjs/perpetual/orders.js.map +1 -0
  69. package/dist/{perpetual → cjs/perpetual}/positions.d.ts +1 -1
  70. package/dist/cjs/perpetual/positions.d.ts.map +1 -0
  71. package/dist/{perpetual → cjs/perpetual}/positions.js +4 -4
  72. package/dist/cjs/perpetual/positions.js.map +1 -0
  73. package/dist/{perpetual → cjs/perpetual}/stream-client/perpetual-stream-connection.d.ts +1 -1
  74. package/dist/cjs/perpetual/stream-client/perpetual-stream-connection.d.ts.map +1 -0
  75. package/dist/{perpetual → cjs/perpetual}/stream-client/perpetual-stream-connection.js +4 -4
  76. package/dist/cjs/perpetual/stream-client/perpetual-stream-connection.js.map +1 -0
  77. package/dist/{perpetual → cjs/perpetual}/stream-client/stream-client.d.ts +1 -1
  78. package/dist/cjs/perpetual/stream-client/stream-client.d.ts.map +1 -0
  79. package/dist/{perpetual → cjs/perpetual}/stream-client/stream-client.js +16 -16
  80. package/dist/cjs/perpetual/stream-client/stream-client.js.map +1 -0
  81. package/dist/{perpetual → cjs/perpetual}/trades.d.ts +2 -2
  82. package/dist/cjs/perpetual/trades.d.ts.map +1 -0
  83. package/dist/{perpetual → cjs/perpetual}/trades.js +3 -3
  84. package/dist/cjs/perpetual/trades.js.map +1 -0
  85. package/dist/{perpetual → cjs/perpetual}/trading-client/account-module.d.ts +9 -9
  86. package/dist/cjs/perpetual/trading-client/account-module.d.ts.map +1 -0
  87. package/dist/{perpetual → cjs/perpetual}/trading-client/account-module.js +32 -32
  88. package/dist/cjs/perpetual/trading-client/account-module.js.map +1 -0
  89. package/dist/{perpetual → cjs/perpetual}/trading-client/base-module.d.ts +2 -2
  90. package/dist/cjs/perpetual/trading-client/base-module.d.ts.map +1 -0
  91. package/dist/{perpetual → cjs/perpetual}/trading-client/base-module.js +5 -5
  92. package/dist/cjs/perpetual/trading-client/base-module.js.map +1 -0
  93. package/dist/{perpetual → cjs/perpetual}/trading-client/info-module.d.ts +3 -3
  94. package/dist/cjs/perpetual/trading-client/info-module.d.ts.map +1 -0
  95. package/dist/{perpetual → cjs/perpetual}/trading-client/info-module.js +6 -6
  96. package/dist/cjs/perpetual/trading-client/info-module.js.map +1 -0
  97. package/dist/{perpetual → cjs/perpetual}/trading-client/markets-information-module.d.ts +3 -3
  98. package/dist/cjs/perpetual/trading-client/markets-information-module.d.ts.map +1 -0
  99. package/dist/{perpetual → cjs/perpetual}/trading-client/markets-information-module.js +14 -14
  100. package/dist/cjs/perpetual/trading-client/markets-information-module.js.map +1 -0
  101. package/dist/{perpetual → cjs/perpetual}/trading-client/order-management-module.d.ts +4 -4
  102. package/dist/cjs/perpetual/trading-client/order-management-module.d.ts.map +1 -0
  103. package/dist/{perpetual → cjs/perpetual}/trading-client/order-management-module.js +9 -9
  104. package/dist/cjs/perpetual/trading-client/order-management-module.js.map +1 -0
  105. package/dist/{perpetual → cjs/perpetual}/trading-client/testnet-module.d.ts +4 -4
  106. package/dist/cjs/perpetual/trading-client/testnet-module.d.ts.map +1 -0
  107. package/dist/{perpetual → cjs/perpetual}/trading-client/testnet-module.js +6 -6
  108. package/dist/cjs/perpetual/trading-client/testnet-module.js.map +1 -0
  109. package/dist/{perpetual → cjs/perpetual}/trading-client/trading-client.d.ts +10 -10
  110. package/dist/cjs/perpetual/trading-client/trading-client.d.ts.map +1 -0
  111. package/dist/{perpetual → cjs/perpetual}/trading-client/trading-client.js +14 -14
  112. package/dist/cjs/perpetual/trading-client/trading-client.js.map +1 -0
  113. package/dist/{perpetual → cjs/perpetual}/transfer-object.d.ts +3 -3
  114. package/dist/cjs/perpetual/transfer-object.d.ts.map +1 -0
  115. package/dist/{perpetual → cjs/perpetual}/transfer-object.js +11 -11
  116. package/dist/cjs/perpetual/transfer-object.js.map +1 -0
  117. package/dist/{perpetual → cjs/perpetual}/transfers.d.ts +2 -2
  118. package/dist/cjs/perpetual/transfers.d.ts.map +1 -0
  119. package/dist/{perpetual → cjs/perpetual}/transfers.js +5 -5
  120. package/dist/cjs/perpetual/transfers.js.map +1 -0
  121. package/dist/{perpetual → cjs/perpetual}/user-client/onboarding.d.ts +2 -2
  122. package/dist/cjs/perpetual/user-client/onboarding.d.ts.map +1 -0
  123. package/dist/{perpetual → cjs/perpetual}/user-client/onboarding.js +8 -8
  124. package/dist/cjs/perpetual/user-client/onboarding.js.map +1 -0
  125. package/dist/{perpetual → cjs/perpetual}/user-client/user-client.d.ts +3 -3
  126. package/dist/cjs/perpetual/user-client/user-client.d.ts.map +1 -0
  127. package/dist/{perpetual → cjs/perpetual}/user-client/user-client.js +25 -25
  128. package/dist/cjs/perpetual/user-client/user-client.js.map +1 -0
  129. package/dist/{perpetual → cjs/perpetual}/withdrawal-object.d.ts +3 -3
  130. package/dist/cjs/perpetual/withdrawal-object.d.ts.map +1 -0
  131. package/dist/{perpetual → cjs/perpetual}/withdrawal-object.js +11 -11
  132. package/dist/cjs/perpetual/withdrawal-object.js.map +1 -0
  133. package/dist/{perpetual → cjs/perpetual}/withdrawals.d.ts +2 -2
  134. package/dist/cjs/perpetual/withdrawals.d.ts.map +1 -0
  135. package/dist/{perpetual → cjs/perpetual}/withdrawals.js +4 -4
  136. package/dist/cjs/perpetual/withdrawals.js.map +1 -0
  137. package/dist/cjs/utils/date.d.ts.map +1 -0
  138. package/dist/cjs/utils/date.js.map +1 -0
  139. package/dist/cjs/utils/env.d.ts.map +1 -0
  140. package/dist/cjs/utils/env.js.map +1 -0
  141. package/dist/{utils → cjs/utils}/http.d.ts +1 -1
  142. package/dist/cjs/utils/http.d.ts.map +1 -0
  143. package/dist/{utils → cjs/utils}/http.js +14 -14
  144. package/dist/cjs/utils/http.js.map +1 -0
  145. package/dist/cjs/utils/model.d.ts.map +1 -0
  146. package/dist/cjs/utils/model.js.map +1 -0
  147. package/dist/cjs/utils/nonce.d.ts.map +1 -0
  148. package/dist/cjs/utils/nonce.js.map +1 -0
  149. package/dist/cjs/utils/string.d.ts.map +1 -0
  150. package/dist/cjs/utils/string.js.map +1 -0
  151. package/dist/esm/config.d.ts +11 -0
  152. package/dist/esm/config.d.ts.map +1 -0
  153. package/dist/esm/config.js +12 -0
  154. package/dist/esm/config.js.map +1 -0
  155. package/dist/esm/errors.d.ts +25 -0
  156. package/dist/esm/errors.d.ts.map +1 -0
  157. package/dist/esm/errors.js +38 -0
  158. package/dist/esm/errors.js.map +1 -0
  159. package/dist/esm/index.d.ts +40 -0
  160. package/dist/esm/index.d.ts.map +1 -0
  161. package/dist/esm/index.js +58 -0
  162. package/dist/esm/index.js.map +1 -0
  163. package/dist/esm/package.json +3 -0
  164. package/dist/esm/perpetual/accounts.d.ts +147 -0
  165. package/dist/esm/perpetual/accounts.d.ts.map +1 -0
  166. package/dist/esm/perpetual/accounts.js +225 -0
  167. package/dist/esm/perpetual/accounts.js.map +1 -0
  168. package/dist/esm/perpetual/amounts.d.ts +41 -0
  169. package/dist/esm/perpetual/amounts.d.ts.map +1 -0
  170. package/dist/esm/perpetual/amounts.js +70 -0
  171. package/dist/esm/perpetual/amounts.js.map +1 -0
  172. package/dist/esm/perpetual/assets.d.ts +74 -0
  173. package/dist/esm/perpetual/assets.d.ts.map +1 -0
  174. package/dist/esm/perpetual/assets.js +111 -0
  175. package/dist/esm/perpetual/assets.js.map +1 -0
  176. package/dist/esm/perpetual/bridges.d.ts +29 -0
  177. package/dist/esm/perpetual/bridges.d.ts.map +1 -0
  178. package/dist/esm/perpetual/bridges.js +39 -0
  179. package/dist/esm/perpetual/bridges.js.map +1 -0
  180. package/dist/esm/perpetual/candles.d.ts +26 -0
  181. package/dist/esm/perpetual/candles.d.ts.map +1 -0
  182. package/dist/esm/perpetual/candles.js +25 -0
  183. package/dist/esm/perpetual/candles.js.map +1 -0
  184. package/dist/esm/perpetual/clients.d.ts +15 -0
  185. package/dist/esm/perpetual/clients.d.ts.map +1 -0
  186. package/dist/esm/perpetual/clients.js +21 -0
  187. package/dist/esm/perpetual/clients.js.map +1 -0
  188. package/dist/esm/perpetual/configuration.d.ts +39 -0
  189. package/dist/esm/perpetual/configuration.d.ts.map +1 -0
  190. package/dist/esm/perpetual/configuration.js +56 -0
  191. package/dist/esm/perpetual/configuration.js.map +1 -0
  192. package/dist/esm/perpetual/crypto/signer.d.ts +164 -0
  193. package/dist/esm/perpetual/crypto/signer.d.ts.map +1 -0
  194. package/dist/esm/perpetual/crypto/signer.js +319 -0
  195. package/dist/esm/perpetual/crypto/signer.js.map +1 -0
  196. package/dist/esm/perpetual/custom-signer.d.ts +51 -0
  197. package/dist/esm/perpetual/custom-signer.d.ts.map +1 -0
  198. package/dist/esm/perpetual/custom-signer.js +15 -0
  199. package/dist/esm/perpetual/custom-signer.js.map +1 -0
  200. package/dist/esm/perpetual/fees.d.ts +20 -0
  201. package/dist/esm/perpetual/fees.d.ts.map +1 -0
  202. package/dist/esm/perpetual/fees.js +28 -0
  203. package/dist/esm/perpetual/fees.js.map +1 -0
  204. package/dist/esm/perpetual/funding-rates.d.ts +15 -0
  205. package/dist/esm/perpetual/funding-rates.d.ts.map +1 -0
  206. package/dist/esm/perpetual/funding-rates.js +19 -0
  207. package/dist/esm/perpetual/funding-rates.js.map +1 -0
  208. package/dist/esm/perpetual/markets.d.ts +83 -0
  209. package/dist/esm/perpetual/markets.d.ts.map +1 -0
  210. package/dist/esm/perpetual/markets.js +113 -0
  211. package/dist/esm/perpetual/markets.js.map +1 -0
  212. package/dist/esm/perpetual/order-object-settlement.d.ts +43 -0
  213. package/dist/esm/perpetual/order-object-settlement.d.ts.map +1 -0
  214. package/dist/esm/perpetual/order-object-settlement.js +111 -0
  215. package/dist/esm/perpetual/order-object-settlement.js.map +1 -0
  216. package/dist/esm/perpetual/order-object.d.ts +38 -0
  217. package/dist/esm/perpetual/order-object.d.ts.map +1 -0
  218. package/dist/esm/perpetual/order-object.js +82 -0
  219. package/dist/esm/perpetual/order-object.js.map +1 -0
  220. package/dist/esm/perpetual/orderbooks.d.ts +23 -0
  221. package/dist/esm/perpetual/orderbooks.d.ts.map +1 -0
  222. package/dist/esm/perpetual/orderbooks.js +31 -0
  223. package/dist/esm/perpetual/orderbooks.js.map +1 -0
  224. package/dist/esm/perpetual/orders.d.ts +207 -0
  225. package/dist/esm/perpetual/orders.d.ts.map +1 -0
  226. package/dist/esm/perpetual/orders.js +257 -0
  227. package/dist/esm/perpetual/orders.js.map +1 -0
  228. package/dist/esm/perpetual/positions.d.ts +80 -0
  229. package/dist/esm/perpetual/positions.d.ts.map +1 -0
  230. package/dist/esm/perpetual/positions.js +88 -0
  231. package/dist/esm/perpetual/positions.js.map +1 -0
  232. package/dist/esm/perpetual/stream-client/perpetual-stream-connection.d.ts +47 -0
  233. package/dist/esm/perpetual/stream-client/perpetual-stream-connection.d.ts.map +1 -0
  234. package/dist/esm/perpetual/stream-client/perpetual-stream-connection.js +118 -0
  235. package/dist/esm/perpetual/stream-client/perpetual-stream-connection.js.map +1 -0
  236. package/dist/esm/perpetual/stream-client/stream-client.d.ts +62 -0
  237. package/dist/esm/perpetual/stream-client/stream-client.d.ts.map +1 -0
  238. package/dist/esm/perpetual/stream-client/stream-client.js +103 -0
  239. package/dist/esm/perpetual/stream-client/stream-client.js.map +1 -0
  240. package/dist/esm/perpetual/trades.d.ts +44 -0
  241. package/dist/esm/perpetual/trades.d.ts.map +1 -0
  242. package/dist/esm/perpetual/trades.js +43 -0
  243. package/dist/esm/perpetual/trades.js.map +1 -0
  244. package/dist/esm/perpetual/trading-client/account-module.d.ts +192 -0
  245. package/dist/esm/perpetual/trading-client/account-module.d.ts.map +1 -0
  246. package/dist/esm/perpetual/trading-client/account-module.js +355 -0
  247. package/dist/esm/perpetual/trading-client/account-module.js.map +1 -0
  248. package/dist/esm/perpetual/trading-client/base-module.d.ts +27 -0
  249. package/dist/esm/perpetual/trading-client/base-module.d.ts.map +1 -0
  250. package/dist/esm/perpetual/trading-client/base-module.js +45 -0
  251. package/dist/esm/perpetual/trading-client/base-module.js.map +1 -0
  252. package/dist/esm/perpetual/trading-client/info-module.d.ts +24 -0
  253. package/dist/esm/perpetual/trading-client/info-module.d.ts.map +1 -0
  254. package/dist/esm/perpetual/trading-client/info-module.js +29 -0
  255. package/dist/esm/perpetual/trading-client/info-module.js.map +1 -0
  256. package/dist/esm/perpetual/trading-client/markets-information-module.d.ts +53 -0
  257. package/dist/esm/perpetual/trading-client/markets-information-module.d.ts.map +1 -0
  258. package/dist/esm/perpetual/trading-client/markets-information-module.js +102 -0
  259. package/dist/esm/perpetual/trading-client/markets-information-module.js.map +1 -0
  260. package/dist/esm/perpetual/trading-client/order-management-module.d.ts +40 -0
  261. package/dist/esm/perpetual/trading-client/order-management-module.d.ts.map +1 -0
  262. package/dist/esm/perpetual/trading-client/order-management-module.js +67 -0
  263. package/dist/esm/perpetual/trading-client/order-management-module.js.map +1 -0
  264. package/dist/esm/perpetual/trading-client/testnet-module.d.ts +27 -0
  265. package/dist/esm/perpetual/trading-client/testnet-module.d.ts.map +1 -0
  266. package/dist/esm/perpetual/trading-client/testnet-module.js +41 -0
  267. package/dist/esm/perpetual/trading-client/testnet-module.js.map +1 -0
  268. package/dist/esm/perpetual/trading-client/trading-client.d.ts +75 -0
  269. package/dist/esm/perpetual/trading-client/trading-client.d.ts.map +1 -0
  270. package/dist/esm/perpetual/trading-client/trading-client.js +111 -0
  271. package/dist/esm/perpetual/trading-client/trading-client.js.map +1 -0
  272. package/dist/esm/perpetual/transfer-object.d.ts +12 -0
  273. package/dist/esm/perpetual/transfer-object.d.ts.map +1 -0
  274. package/dist/esm/perpetual/transfer-object.js +54 -0
  275. package/dist/esm/perpetual/transfer-object.js.map +1 -0
  276. package/dist/esm/perpetual/transfers.d.ts +54 -0
  277. package/dist/esm/perpetual/transfers.d.ts.map +1 -0
  278. package/dist/esm/perpetual/transfers.js +83 -0
  279. package/dist/esm/perpetual/transfers.js.map +1 -0
  280. package/dist/esm/perpetual/user-client/onboarding.d.ts +101 -0
  281. package/dist/esm/perpetual/user-client/onboarding.d.ts.map +1 -0
  282. package/dist/esm/perpetual/user-client/onboarding.js +234 -0
  283. package/dist/esm/perpetual/user-client/onboarding.js.map +1 -0
  284. package/dist/esm/perpetual/user-client/user-client.d.ts +45 -0
  285. package/dist/esm/perpetual/user-client/user-client.d.ts.map +1 -0
  286. package/dist/esm/perpetual/user-client/user-client.js +181 -0
  287. package/dist/esm/perpetual/user-client/user-client.js.map +1 -0
  288. package/dist/esm/perpetual/withdrawal-object.d.ts +12 -0
  289. package/dist/esm/perpetual/withdrawal-object.d.ts.map +1 -0
  290. package/dist/esm/perpetual/withdrawal-object.js +48 -0
  291. package/dist/esm/perpetual/withdrawal-object.js.map +1 -0
  292. package/dist/esm/perpetual/withdrawals.d.ts +40 -0
  293. package/dist/esm/perpetual/withdrawals.d.ts.map +1 -0
  294. package/dist/esm/perpetual/withdrawals.js +59 -0
  295. package/dist/esm/perpetual/withdrawals.js.map +1 -0
  296. package/dist/esm/utils/date.d.ts +13 -0
  297. package/dist/esm/utils/date.d.ts.map +1 -0
  298. package/dist/esm/utils/date.js +17 -0
  299. package/dist/esm/utils/date.js.map +1 -0
  300. package/dist/esm/utils/env.d.ts +50 -0
  301. package/dist/esm/utils/env.d.ts.map +1 -0
  302. package/dist/esm/utils/env.js +147 -0
  303. package/dist/esm/utils/env.js.map +1 -0
  304. package/dist/esm/utils/http.d.ts +98 -0
  305. package/dist/esm/utils/http.d.ts.map +1 -0
  306. package/dist/esm/utils/http.js +278 -0
  307. package/dist/esm/utils/http.js.map +1 -0
  308. package/dist/esm/utils/model.d.ts +35 -0
  309. package/dist/esm/utils/model.d.ts.map +1 -0
  310. package/dist/esm/utils/model.js +77 -0
  311. package/dist/esm/utils/model.js.map +1 -0
  312. package/dist/esm/utils/nonce.d.ts +9 -0
  313. package/dist/esm/utils/nonce.d.ts.map +1 -0
  314. package/dist/esm/utils/nonce.js +11 -0
  315. package/dist/esm/utils/nonce.js.map +1 -0
  316. package/dist/esm/utils/string.d.ts +10 -0
  317. package/dist/esm/utils/string.d.ts.map +1 -0
  318. package/dist/esm/utils/string.js +17 -0
  319. package/dist/esm/utils/string.js.map +1 -0
  320. package/package.json +76 -60
  321. package/vite.config.example.ts +56 -0
  322. package/wasm/stark_crypto_wasm-web.js +3 -3
  323. package/wasm/stark_crypto_wasm.d-web.ts +26 -34
  324. package/wasm/stark_crypto_wasm.d.ts +26 -34
  325. package/wasm/stark_crypto_wasm.js +111 -113
  326. package/wasm/stark_crypto_wasm_bg-web.js +365 -0
  327. package/wasm/stark_crypto_wasm_bg-web.wasm +0 -0
  328. package/wasm/stark_crypto_wasm_bg.wasm +0 -0
  329. package/dist/config.d.ts.map +0 -1
  330. package/dist/config.js.map +0 -1
  331. package/dist/errors.d.ts.map +0 -1
  332. package/dist/errors.js.map +0 -1
  333. package/dist/index.d.ts.map +0 -1
  334. package/dist/index.js.map +0 -1
  335. package/dist/perpetual/accounts.d.ts.map +0 -1
  336. package/dist/perpetual/accounts.js.map +0 -1
  337. package/dist/perpetual/amounts.d.ts.map +0 -1
  338. package/dist/perpetual/amounts.js.map +0 -1
  339. package/dist/perpetual/assets.d.ts.map +0 -1
  340. package/dist/perpetual/assets.js.map +0 -1
  341. package/dist/perpetual/bridges.d.ts.map +0 -1
  342. package/dist/perpetual/bridges.js.map +0 -1
  343. package/dist/perpetual/candles.d.ts.map +0 -1
  344. package/dist/perpetual/candles.js.map +0 -1
  345. package/dist/perpetual/clients.d.ts.map +0 -1
  346. package/dist/perpetual/clients.js.map +0 -1
  347. package/dist/perpetual/configuration.d.ts.map +0 -1
  348. package/dist/perpetual/configuration.js.map +0 -1
  349. package/dist/perpetual/crypto/signer.d.ts.map +0 -1
  350. package/dist/perpetual/crypto/signer.js.map +0 -1
  351. package/dist/perpetual/custom-signer.d.ts.map +0 -1
  352. package/dist/perpetual/custom-signer.js.map +0 -1
  353. package/dist/perpetual/fees.d.ts.map +0 -1
  354. package/dist/perpetual/fees.js.map +0 -1
  355. package/dist/perpetual/funding-rates.d.ts.map +0 -1
  356. package/dist/perpetual/funding-rates.js.map +0 -1
  357. package/dist/perpetual/markets.d.ts.map +0 -1
  358. package/dist/perpetual/markets.js.map +0 -1
  359. package/dist/perpetual/order-object-settlement.d.ts.map +0 -1
  360. package/dist/perpetual/order-object-settlement.js.map +0 -1
  361. package/dist/perpetual/order-object.d.ts.map +0 -1
  362. package/dist/perpetual/order-object.js +0 -90
  363. package/dist/perpetual/order-object.js.map +0 -1
  364. package/dist/perpetual/orderbooks.d.ts.map +0 -1
  365. package/dist/perpetual/orderbooks.js.map +0 -1
  366. package/dist/perpetual/orders.d.ts.map +0 -1
  367. package/dist/perpetual/orders.js.map +0 -1
  368. package/dist/perpetual/positions.d.ts.map +0 -1
  369. package/dist/perpetual/positions.js.map +0 -1
  370. package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts.map +0 -1
  371. package/dist/perpetual/stream-client/perpetual-stream-connection.js.map +0 -1
  372. package/dist/perpetual/stream-client/stream-client.d.ts.map +0 -1
  373. package/dist/perpetual/stream-client/stream-client.js.map +0 -1
  374. package/dist/perpetual/trades.d.ts.map +0 -1
  375. package/dist/perpetual/trades.js.map +0 -1
  376. package/dist/perpetual/trading-client/account-module.d.ts.map +0 -1
  377. package/dist/perpetual/trading-client/account-module.js.map +0 -1
  378. package/dist/perpetual/trading-client/base-module.d.ts.map +0 -1
  379. package/dist/perpetual/trading-client/base-module.js.map +0 -1
  380. package/dist/perpetual/trading-client/info-module.d.ts.map +0 -1
  381. package/dist/perpetual/trading-client/info-module.js.map +0 -1
  382. package/dist/perpetual/trading-client/markets-information-module.d.ts.map +0 -1
  383. package/dist/perpetual/trading-client/markets-information-module.js.map +0 -1
  384. package/dist/perpetual/trading-client/order-management-module.d.ts.map +0 -1
  385. package/dist/perpetual/trading-client/order-management-module.js.map +0 -1
  386. package/dist/perpetual/trading-client/testnet-module.d.ts.map +0 -1
  387. package/dist/perpetual/trading-client/testnet-module.js.map +0 -1
  388. package/dist/perpetual/trading-client/trading-client.d.ts.map +0 -1
  389. package/dist/perpetual/trading-client/trading-client.js.map +0 -1
  390. package/dist/perpetual/transfer-object.d.ts.map +0 -1
  391. package/dist/perpetual/transfer-object.js.map +0 -1
  392. package/dist/perpetual/transfers.d.ts.map +0 -1
  393. package/dist/perpetual/transfers.js.map +0 -1
  394. package/dist/perpetual/user-client/onboarding.d.ts.map +0 -1
  395. package/dist/perpetual/user-client/onboarding.js.map +0 -1
  396. package/dist/perpetual/user-client/user-client.d.ts.map +0 -1
  397. package/dist/perpetual/user-client/user-client.js.map +0 -1
  398. package/dist/perpetual/withdrawal-object.d.ts.map +0 -1
  399. package/dist/perpetual/withdrawal-object.js.map +0 -1
  400. package/dist/perpetual/withdrawals.d.ts.map +0 -1
  401. package/dist/perpetual/withdrawals.js.map +0 -1
  402. package/dist/utils/date.d.ts.map +0 -1
  403. package/dist/utils/date.js.map +0 -1
  404. package/dist/utils/env.d.ts.map +0 -1
  405. package/dist/utils/env.js.map +0 -1
  406. package/dist/utils/http.d.ts.map +0 -1
  407. package/dist/utils/http.js.map +0 -1
  408. package/dist/utils/model.d.ts.map +0 -1
  409. package/dist/utils/model.js.map +0 -1
  410. package/dist/utils/nonce.d.ts.map +0 -1
  411. package/dist/utils/nonce.js.map +0 -1
  412. package/dist/utils/string.d.ts.map +0 -1
  413. package/dist/utils/string.js.map +0 -1
  414. /package/dist/{config.d.ts → cjs/config.d.ts} +0 -0
  415. /package/dist/{config.js → cjs/config.js} +0 -0
  416. /package/dist/{errors.d.ts → cjs/errors.d.ts} +0 -0
  417. /package/dist/{errors.js → cjs/errors.js} +0 -0
  418. /package/dist/{perpetual → cjs/perpetual}/amounts.js +0 -0
  419. /package/dist/{perpetual → cjs/perpetual}/configuration.d.ts +0 -0
  420. /package/dist/{perpetual → cjs/perpetual}/configuration.js +0 -0
  421. /package/dist/{perpetual → cjs/perpetual}/crypto/signer.d.ts +0 -0
  422. /package/dist/{perpetual → cjs/perpetual}/custom-signer.d.ts +0 -0
  423. /package/dist/{perpetual → cjs/perpetual}/custom-signer.js +0 -0
  424. /package/dist/{utils → cjs/utils}/date.d.ts +0 -0
  425. /package/dist/{utils → cjs/utils}/date.js +0 -0
  426. /package/dist/{utils → cjs/utils}/env.d.ts +0 -0
  427. /package/dist/{utils → cjs/utils}/env.js +0 -0
  428. /package/dist/{utils → cjs/utils}/model.d.ts +0 -0
  429. /package/dist/{utils → cjs/utils}/model.js +0 -0
  430. /package/dist/{utils → cjs/utils}/nonce.d.ts +0 -0
  431. /package/dist/{utils → cjs/utils}/nonce.js +0 -0
  432. /package/dist/{utils → cjs/utils}/string.d.ts +0 -0
  433. /package/dist/{utils → cjs/utils}/string.js +0 -0
@@ -0,0 +1,319 @@
1
+ /**
2
+ * WASM-based Stark crypto signer
3
+ *
4
+ * This module provides fast cryptographic operations using WebAssembly
5
+ * compiled from Rust. The WASM signer is shipped with the SDK and works
6
+ * in both Node.js and browser environments.
7
+ */
8
+ let wasmModule = null;
9
+ let isInitialized = false;
10
+ /**
11
+ * Initialize the WASM cryptographic module
12
+ *
13
+ * **MUST be called before using any signing or hashing functions.**
14
+ * This function loads the WebAssembly module that provides fast cryptographic operations.
15
+ *
16
+ * @throws Error if WASM module cannot be loaded
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { initWasm, sign } from 'extended-typescript-sdk';
21
+ *
22
+ * async function main() {
23
+ * await initWasm(); // Initialize first!
24
+ * const [r, s] = sign(privateKey, msgHash);
25
+ * }
26
+ * ```
27
+ */
28
+ export async function initWasm() {
29
+ if (isInitialized) {
30
+ return;
31
+ }
32
+ try {
33
+ // Load local WASM build from shipped wasm/ folder
34
+ // Supports both Node.js (ESM/CJS) and browser environments
35
+ // Detect Node.js: check for process.versions.node
36
+ const isNode = typeof process !== 'undefined' &&
37
+ process.versions &&
38
+ typeof process.versions.node === 'string';
39
+ if (isNode) {
40
+ // Node.js environment - detect ESM vs CJS at runtime
41
+ const hasRequire = typeof require !== 'undefined';
42
+ const hasDirname = typeof __dirname !== 'undefined';
43
+ if (hasRequire && hasDirname) {
44
+ // CommonJS context
45
+ const path = require('path');
46
+ const fs = require('fs');
47
+ const possiblePaths = [
48
+ path.join(__dirname, '../../../wasm/stark_crypto_wasm.js'),
49
+ path.join(__dirname, '../../wasm/stark_crypto_wasm.js'),
50
+ path.join(process.cwd(), 'wasm/stark_crypto_wasm.js'),
51
+ path.join(process.cwd(), 'node_modules/extended-typescript-sdk/wasm/stark_crypto_wasm.js'),
52
+ ];
53
+ let wasmPath;
54
+ for (const testPath of possiblePaths) {
55
+ if (fs.existsSync(testPath)) {
56
+ wasmPath = testPath;
57
+ break;
58
+ }
59
+ }
60
+ if (!wasmPath) {
61
+ throw new Error(`WASM module not found. Tried: ${possiblePaths.join(', ')}`);
62
+ }
63
+ wasmModule = require(wasmPath);
64
+ if (wasmModule.init) {
65
+ wasmModule.init();
66
+ }
67
+ }
68
+ else {
69
+ // ESM context - use process.cwd() relative paths instead of import.meta.url
70
+ // This approach avoids import.meta which TypeScript compiles into CJS output
71
+ const pathModule = await import('path');
72
+ const fsModule = await import('fs');
73
+ const { createRequire } = await import('module');
74
+ // Use process.cwd() as base path
75
+ const basePath = process.cwd();
76
+ const possiblePaths = [
77
+ pathModule.join(basePath, 'node_modules/extended-typescript-sdk/wasm/stark_crypto_wasm.js'),
78
+ pathModule.join(basePath, 'node_modules/extended-typescript-sdk/dist/esm/wasm/stark_crypto_wasm.js'),
79
+ pathModule.join(basePath, 'dist/esm/wasm/stark_crypto_wasm.js'),
80
+ pathModule.join(basePath, 'wasm/stark_crypto_wasm.js'),
81
+ ];
82
+ let wasmPath;
83
+ for (const testPath of possiblePaths) {
84
+ if (fsModule.existsSync(testPath)) {
85
+ wasmPath = testPath;
86
+ break;
87
+ }
88
+ }
89
+ if (!wasmPath) {
90
+ throw new Error(`WASM module not found. Tried: ${possiblePaths.join(', ')}`);
91
+ }
92
+ // Use dynamic import for ESM
93
+ const wasmUrl = pathModule.isAbsolute(wasmPath)
94
+ ? `file:///${wasmPath.replace(/\\/g, '/')}`
95
+ : wasmPath;
96
+ const requireFunc = createRequire(wasmUrl);
97
+ wasmModule = requireFunc(wasmPath);
98
+ if (wasmModule.init) {
99
+ wasmModule.init();
100
+ }
101
+ }
102
+ }
103
+ else {
104
+ // Browser environment - use dynamic import
105
+ // Try to load from /wasm/ path (copied by build tool)
106
+ try {
107
+ // Try loading from public /wasm/ folder first (production builds)
108
+ // @ts-ignore - Dynamic import for browser
109
+ wasmModule = await import('/wasm/stark_crypto_wasm-web.js');
110
+ if (wasmModule.init) {
111
+ await wasmModule.init();
112
+ }
113
+ }
114
+ catch (browserError) {
115
+ // Fallback: try package-based import (dev server)
116
+ try {
117
+ // @ts-ignore - Package import for bundler resolution
118
+ wasmModule = await import('extended-typescript-sdk/wasm/stark_crypto_wasm-web.js');
119
+ if (wasmModule.init) {
120
+ await wasmModule.init();
121
+ }
122
+ }
123
+ catch (packageError) {
124
+ // Final fallback: try without extension
125
+ try {
126
+ // @ts-ignore - Package import for bundler resolution
127
+ wasmModule = await import('extended-typescript-sdk/wasm/stark_crypto_wasm-web');
128
+ if (wasmModule.init) {
129
+ await wasmModule.init();
130
+ }
131
+ }
132
+ catch (fallbackError) {
133
+ throw new Error(`Failed to load WASM module in browser environment.\n` +
134
+ `Make sure WASM files are in /wasm/ folder or build with: npm run build:signer\n` +
135
+ `Tried: /wasm/stark_crypto_wasm-web.js, extended-typescript-sdk/wasm/*\n` +
136
+ `Errors: ${browserError.message}\n` +
137
+ `Package error: ${packageError.message}`);
138
+ }
139
+ }
140
+ }
141
+ }
142
+ isInitialized = true;
143
+ }
144
+ catch (error) {
145
+ throw new Error(`Failed to initialize WASM module.\n` +
146
+ `The SDK should ship with pre-built WASM files. If you're developing, run: npm run build:signer\n` +
147
+ `Error: ${error?.message || error}`);
148
+ }
149
+ }
150
+ /**
151
+ * Check if WASM module is initialized
152
+ */
153
+ function ensureInitialized() {
154
+ if (!isInitialized || !wasmModule) {
155
+ throw new Error('WASM module not initialized. Call initWasm() first.');
156
+ }
157
+ }
158
+ /**
159
+ * Sign a message hash using ECDSA
160
+ *
161
+ * This function signs a message hash using the StarkNet private key.
162
+ * Returns the signature as a tuple [r, s] where both are BigInt values.
163
+ * Compatible with Extended Exchange API.
164
+ *
165
+ * @param privateKey - StarkNet private key as BigInt
166
+ * @param msgHash - Message hash to sign as BigInt
167
+ * @returns Tuple [r, s] representing the ECDSA signature
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * await initWasm();
172
+ * const privateKey = BigInt('0x...');
173
+ * const msgHash = BigInt('0x...');
174
+ * const [r, s] = sign(privateKey, msgHash);
175
+ * ```
176
+ */
177
+ export function sign(privateKey, msgHash) {
178
+ ensureInitialized();
179
+ const privHex = '0x' + privateKey.toString(16);
180
+ const hashHex = '0x' + msgHash.toString(16);
181
+ // Use local WASM for signing
182
+ if (!wasmModule.sign) {
183
+ throw new Error('WASM sign function not available. Make sure the WASM module is properly built.');
184
+ }
185
+ const result = wasmModule.sign(privHex, hashHex);
186
+ // Convert string results to bigint
187
+ const r = BigInt(result[0]);
188
+ const s = BigInt(result[1]);
189
+ return [r, s];
190
+ }
191
+ /**
192
+ * Compute Pedersen hash of two field elements
193
+ *
194
+ * Pedersen hash is used extensively in StarkNet for hashing operations.
195
+ * Compatible with Extended Exchange API.
196
+ *
197
+ * @param a - First field element as BigInt
198
+ * @param b - Second field element as BigInt
199
+ * @returns Pedersen hash as BigInt
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * await initWasm();
204
+ * const hash = pedersenHash(BigInt('0x123'), BigInt('0x456'));
205
+ * ```
206
+ */
207
+ export function pedersenHash(a, b) {
208
+ ensureInitialized();
209
+ if (!wasmModule.pedersen_hash) {
210
+ throw new Error('WASM pedersen_hash function not available.');
211
+ }
212
+ // Convert bigint to hex string (with 0x prefix)
213
+ // Field elements are 251 bits, so we use the natural hex representation
214
+ const aHex = '0x' + a.toString(16);
215
+ const bHex = '0x' + b.toString(16);
216
+ const result = wasmModule.pedersen_hash(aHex, bHex);
217
+ // Remove '0x' prefix if present
218
+ const cleanResult = result.startsWith('0x') ? result.slice(2) : result;
219
+ return BigInt('0x' + cleanResult);
220
+ }
221
+ /**
222
+ * Generate StarkNet keypair from Ethereum signature
223
+ *
224
+ * Derives a StarkNet keypair from an Ethereum signature using key grinding.
225
+ * Used during account onboarding to create L2 keys from L1 Ethereum account.
226
+ * Compatible with Extended Exchange API.
227
+ *
228
+ * @param ethSignature - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
229
+ * @returns Tuple [privateKey, publicKey] as BigInt values
230
+ *
231
+ * @example
232
+ * ```typescript
233
+ * await initWasm();
234
+ * const ethSig = '0x...'; // 65-byte hex string
235
+ * const [privateKey, publicKey] = generateKeypairFromEthSignature(ethSig);
236
+ * ```
237
+ */
238
+ export function generateKeypairFromEthSignature(ethSignature) {
239
+ ensureInitialized();
240
+ if (!wasmModule.generate_keypair_from_eth_signature) {
241
+ throw new Error('WASM generate_keypair_from_eth_signature function not available.');
242
+ }
243
+ const result = wasmModule.generate_keypair_from_eth_signature(ethSignature);
244
+ // Convert string results to bigint
245
+ const privateKey = BigInt(result[0]);
246
+ const publicKey = BigInt(result[1]);
247
+ return [privateKey, publicKey];
248
+ }
249
+ /**
250
+ * Generate message hash for an order
251
+ *
252
+ * Creates a structured hash for order signing compatible with Extended Exchange API.
253
+ * This hash is used to sign orders before submitting them to the exchange.
254
+ *
255
+ * @param params - Order parameters including position, assets, amounts, expiration, etc.
256
+ * @returns Message hash as BigInt that can be signed with sign()
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * await initWasm();
261
+ * const orderHash = getOrderMsgHash({
262
+ * positionId: 12345,
263
+ * baseAssetId: '0x...',
264
+ * baseAmount: '1000000',
265
+ * // ... other parameters
266
+ * });
267
+ * const [r, s] = sign(privateKey, orderHash);
268
+ * ```
269
+ */
270
+ export function getOrderMsgHash(params) {
271
+ ensureInitialized();
272
+ if (!wasmModule.get_order_msg_hash) {
273
+ throw new Error('WASM get_order_msg_hash function not available.');
274
+ }
275
+ const result = wasmModule.get_order_msg_hash(BigInt(params.positionId), params.baseAssetId, params.baseAmount, params.quoteAssetId, params.quoteAmount, params.feeAmount, params.feeAssetId, BigInt(params.expiration), BigInt(params.salt), params.userPublicKey, params.domainName, params.domainVersion, params.domainChainId, params.domainRevision);
276
+ // Remove '0x' prefix if present
277
+ const cleanResult = result.startsWith('0x') ? result.slice(2) : result;
278
+ return BigInt('0x' + cleanResult);
279
+ }
280
+ /**
281
+ * Generate message hash for a transfer
282
+ *
283
+ * Creates a structured hash for transfer signing compatible with Extended Exchange API.
284
+ *
285
+ * @param params - Transfer parameters including sender/recipient positions, amount, etc.
286
+ * @returns Message hash as BigInt that can be signed with sign()
287
+ */
288
+ export function getTransferMsgHash(params) {
289
+ ensureInitialized();
290
+ if (!wasmModule.get_transfer_msg_hash) {
291
+ throw new Error('WASM get_transfer_msg_hash function not available.');
292
+ }
293
+ const result = wasmModule.get_transfer_msg_hash(BigInt(params.recipientPositionId), BigInt(params.senderPositionId), params.amount, BigInt(params.expiration), params.salt, params.userPublicKey, params.domainName, params.domainVersion, params.domainChainId, params.domainRevision, params.collateralId);
294
+ // Remove '0x' prefix if present
295
+ const cleanResult = result.startsWith('0x') ? result.slice(2) : result;
296
+ return BigInt('0x' + cleanResult);
297
+ }
298
+ /**
299
+ * Get withdrawal message hash
300
+ */
301
+ /**
302
+ * Generate message hash for a withdrawal
303
+ *
304
+ * Creates a structured hash for withdrawal signing compatible with Extended Exchange API.
305
+ *
306
+ * @param params - Withdrawal parameters including recipient, position, amount, etc.
307
+ * @returns Message hash as BigInt that can be signed with sign()
308
+ */
309
+ export function getWithdrawalMsgHash(params) {
310
+ ensureInitialized();
311
+ if (!wasmModule.get_withdrawal_msg_hash) {
312
+ throw new Error('WASM get_withdrawal_msg_hash function not available.');
313
+ }
314
+ const result = wasmModule.get_withdrawal_msg_hash(params.recipientHex, BigInt(params.positionId), params.amount, BigInt(params.expiration), params.salt, params.userPublicKey, params.domainName, params.domainVersion, params.domainChainId, params.domainRevision, params.collateralId);
315
+ // Remove '0x' prefix if present
316
+ const cleanResult = result.startsWith('0x') ? result.slice(2) : result;
317
+ return BigInt('0x' + cleanResult);
318
+ }
319
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../src/perpetual/crypto/signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Custom signer interface for external signing services
3
+ *
4
+ * This module provides interfaces and types to enable integration with
5
+ * external signing services like Privy, Web3Auth, or custom HSM solutions.
6
+ */
7
+ /**
8
+ * Signature result interface
9
+ * Represents an ECDSA signature as [r, s] tuple
10
+ */
11
+ export interface SignatureResult {
12
+ r: bigint;
13
+ s: bigint;
14
+ }
15
+ /**
16
+ * Custom signer interface
17
+ *
18
+ * Implement this interface to integrate with external signing services.
19
+ * The signer must be able to sign StarkNet message hashes using ECDSA.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Privy integration example
24
+ * class PrivyStarkSigner implements CustomStarkSigner {
25
+ * constructor(private privyClient: PrivyClient, private walletId: string) {}
26
+ *
27
+ * async sign(msgHash: bigint): Promise<[bigint, bigint]> {
28
+ * const msgHashHex = '0x' + msgHash.toString(16);
29
+ * const signature = await this.privyClient.signStarknetMessage(
30
+ * this.walletId,
31
+ * msgHashHex
32
+ * );
33
+ * return [BigInt(signature.r), BigInt(signature.s)];
34
+ * }
35
+ * }
36
+ * ```
37
+ */
38
+ export interface CustomStarkSigner {
39
+ /**
40
+ * Sign a StarkNet message hash
41
+ *
42
+ * @param msgHash - Message hash to sign as BigInt
43
+ * @returns Promise resolving to [r, s] signature tuple
44
+ */
45
+ sign(msgHash: bigint): Promise<[bigint, bigint]>;
46
+ }
47
+ /**
48
+ * Type guard to check if a value is a CustomStarkSigner
49
+ */
50
+ export declare function isCustomStarkSigner(value: any): value is CustomStarkSigner;
51
+ //# sourceMappingURL=custom-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-signer.d.ts","sourceRoot":"","sources":["../../../src/perpetual/custom-signer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,iBAAiB,CAM1E"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Custom signer interface for external signing services
3
+ *
4
+ * This module provides interfaces and types to enable integration with
5
+ * external signing services like Privy, Web3Auth, or custom HSM solutions.
6
+ */
7
+ /**
8
+ * Type guard to check if a value is a CustomStarkSigner
9
+ */
10
+ export function isCustomStarkSigner(value) {
11
+ return (value !== null &&
12
+ typeof value === 'object' &&
13
+ typeof value.sign === 'function');
14
+ }
15
+ //# sourceMappingURL=custom-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-signer.js","sourceRoot":"","sources":["../../../src/perpetual/custom-signer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4CH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Trading fee models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model.js';
6
+ /**
7
+ * Trading fee model
8
+ */
9
+ export declare class TradingFeeModel extends X10BaseModel {
10
+ market: string;
11
+ makerFeeRate: Decimal;
12
+ takerFeeRate: Decimal;
13
+ builderFeeRate: Decimal;
14
+ constructor(market: string, makerFeeRate: Decimal, takerFeeRate: Decimal, builderFeeRate: Decimal);
15
+ }
16
+ /**
17
+ * Default fees (0.02% maker, 0.05% taker)
18
+ */
19
+ export declare const DEFAULT_FEES: TradingFeeModel;
20
+ //# sourceMappingURL=fees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/perpetual/fees.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO;CAOlG;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,iBAKxB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Trading fee models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model.js';
6
+ /**
7
+ * Trading fee model
8
+ */
9
+ export class TradingFeeModel extends X10BaseModel {
10
+ market;
11
+ makerFeeRate;
12
+ takerFeeRate;
13
+ builderFeeRate;
14
+ constructor(market, makerFeeRate, takerFeeRate, builderFeeRate) {
15
+ super();
16
+ this.market = market;
17
+ this.makerFeeRate = makerFeeRate;
18
+ this.takerFeeRate = takerFeeRate;
19
+ this.builderFeeRate = builderFeeRate;
20
+ }
21
+ }
22
+ /**
23
+ * Default fees (0.02% maker, 0.05% taker)
24
+ */
25
+ export const DEFAULT_FEES = new TradingFeeModel('BTC-USD', new Decimal(2).div(10000), // 0.02%
26
+ new Decimal(5).div(10000), // 0.05%
27
+ new Decimal(0));
28
+ //# sourceMappingURL=fees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/perpetual/fees.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,MAAM,CAAS;IACf,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,cAAc,CAAU;IAExB,YAAY,MAAc,EAAE,YAAqB,EAAE,YAAqB,EAAE,cAAuB;QAC/F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,eAAe,CAC7C,SAAS,EACT,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ;AACnC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ;AACnC,IAAI,OAAO,CAAC,CAAC,CAAC,CACf,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Funding rate models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model.js';
6
+ /**
7
+ * Funding rate model
8
+ */
9
+ export declare class FundingRateModel extends X10BaseModel {
10
+ market: string;
11
+ fundingRate: Decimal;
12
+ timestamp: number;
13
+ constructor(market: string, fundingRate: Decimal, timestamp: number);
14
+ }
15
+ //# sourceMappingURL=funding-rates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funding-rates.d.ts","sourceRoot":"","sources":["../../../src/perpetual/funding-rates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;gBAEN,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;CAMpE"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Funding rate models
3
+ */
4
+ import { X10BaseModel } from '../utils/model.js';
5
+ /**
6
+ * Funding rate model
7
+ */
8
+ export class FundingRateModel extends X10BaseModel {
9
+ market;
10
+ fundingRate;
11
+ timestamp;
12
+ constructor(market, fundingRate, timestamp) {
13
+ super();
14
+ this.market = market;
15
+ this.fundingRate = fundingRate;
16
+ this.timestamp = timestamp;
17
+ }
18
+ }
19
+ //# sourceMappingURL=funding-rates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funding-rates.js","sourceRoot":"","sources":["../../../src/perpetual/funding-rates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,MAAM,CAAS;IACf,WAAW,CAAU;IACrB,SAAS,CAAS;IAElB,YAAY,MAAc,EAAE,WAAoB,EAAE,SAAiB;QACjE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Market models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model.js';
6
+ import { Asset } from './assets.js';
7
+ /**
8
+ * Risk factor config
9
+ */
10
+ export declare class RiskFactorConfig extends X10BaseModel {
11
+ upperBound: Decimal;
12
+ riskFactor: Decimal;
13
+ get maxLeverage(): Decimal;
14
+ }
15
+ /**
16
+ * Market stats model
17
+ */
18
+ export declare class MarketStatsModel extends X10BaseModel {
19
+ dailyVolume: Decimal;
20
+ dailyVolumeBase: Decimal;
21
+ dailyPriceChange: Decimal;
22
+ dailyLow: Decimal;
23
+ dailyHigh: Decimal;
24
+ lastPrice: Decimal;
25
+ askPrice: Decimal;
26
+ bidPrice: Decimal;
27
+ markPrice: Decimal;
28
+ indexPrice: Decimal;
29
+ fundingRate: Decimal;
30
+ nextFundingRate: number;
31
+ openInterest: Decimal;
32
+ openInterestBase: Decimal;
33
+ }
34
+ /**
35
+ * Trading config model
36
+ */
37
+ export declare class TradingConfigModel extends X10BaseModel {
38
+ minOrderSize: Decimal;
39
+ minOrderSizeChange: Decimal;
40
+ minPriceChange: Decimal;
41
+ maxMarketOrderValue: Decimal;
42
+ maxLimitOrderValue: Decimal;
43
+ maxPositionValue: Decimal;
44
+ maxLeverage: Decimal;
45
+ maxNumOrders: number;
46
+ limitPriceCap: Decimal;
47
+ limitPriceFloor: Decimal;
48
+ riskFactorConfig: RiskFactorConfig[];
49
+ get pricePrecision(): number;
50
+ get quantityPrecision(): number;
51
+ maxLeverageForPositionValue(positionValue: Decimal): Decimal;
52
+ maxPositionValueForLeverage(leverage: Decimal): Decimal;
53
+ roundOrderSize(orderSize: Decimal, roundingMode?: Decimal.Rounding): Decimal;
54
+ calculateOrderSizeFromValue(orderValue: Decimal, orderPrice: Decimal, roundingMode?: Decimal.Rounding): Decimal;
55
+ roundPrice(price: Decimal, roundingMode?: Decimal.Rounding): Decimal;
56
+ }
57
+ /**
58
+ * L2 config model
59
+ */
60
+ export declare class L2ConfigModel extends X10BaseModel {
61
+ type: string;
62
+ collateralId: string;
63
+ collateralResolution: number;
64
+ syntheticId: string;
65
+ syntheticResolution: number;
66
+ }
67
+ /**
68
+ * Market model
69
+ */
70
+ export declare class MarketModel extends X10BaseModel {
71
+ name: string;
72
+ assetName: string;
73
+ assetPrecision: number;
74
+ collateralAssetName: string;
75
+ collateralAssetPrecision: number;
76
+ active: boolean;
77
+ marketStats: MarketStatsModel;
78
+ tradingConfig: TradingConfigModel;
79
+ l2Config: L2ConfigModel;
80
+ get syntheticAsset(): Asset;
81
+ get collateralAsset(): Asset;
82
+ }
83
+ //# sourceMappingURL=markets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../../src/perpetual/markets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IAEpB,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAErC,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,2BAA2B,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO;IAO5D,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO;IAOvD,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,GAAE,OAAO,CAAC,QAA2B,GAAG,OAAO;IAQ9F,2BAA2B,CACzB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,YAAY,GAAE,OAAO,CAAC,QAA2B,GAChD,OAAO;IAQV,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,GAAE,OAAO,CAAC,QAA2B,GAAG,OAAO;CAGvF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC;IAExB,IAAI,cAAc,IAAI,KAAK,CAY1B;IAED,IAAI,eAAe,IAAI,KAAK,CAY3B;CACF"}