extended-typescript-sdk 0.0.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 (173) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +445 -0
  3. package/dist/config.d.ts +11 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +15 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/errors.d.ts +25 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +45 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/index.d.ts +39 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +142 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/perpetual/accounts.d.ts +88 -0
  16. package/dist/perpetual/accounts.d.ts.map +1 -0
  17. package/dist/perpetual/accounts.js +152 -0
  18. package/dist/perpetual/accounts.js.map +1 -0
  19. package/dist/perpetual/amounts.d.ts +41 -0
  20. package/dist/perpetual/amounts.d.ts.map +1 -0
  21. package/dist/perpetual/amounts.js +79 -0
  22. package/dist/perpetual/amounts.js.map +1 -0
  23. package/dist/perpetual/assets.d.ts +74 -0
  24. package/dist/perpetual/assets.d.ts.map +1 -0
  25. package/dist/perpetual/assets.js +119 -0
  26. package/dist/perpetual/assets.js.map +1 -0
  27. package/dist/perpetual/bridges.d.ts +29 -0
  28. package/dist/perpetual/bridges.d.ts.map +1 -0
  29. package/dist/perpetual/bridges.js +45 -0
  30. package/dist/perpetual/bridges.js.map +1 -0
  31. package/dist/perpetual/candles.d.ts +26 -0
  32. package/dist/perpetual/candles.d.ts.map +1 -0
  33. package/dist/perpetual/candles.js +29 -0
  34. package/dist/perpetual/candles.js.map +1 -0
  35. package/dist/perpetual/clients.d.ts +15 -0
  36. package/dist/perpetual/clients.d.ts.map +1 -0
  37. package/dist/perpetual/clients.js +25 -0
  38. package/dist/perpetual/clients.js.map +1 -0
  39. package/dist/perpetual/configuration.d.ts +39 -0
  40. package/dist/perpetual/configuration.d.ts.map +1 -0
  41. package/dist/perpetual/configuration.js +61 -0
  42. package/dist/perpetual/configuration.js.map +1 -0
  43. package/dist/perpetual/crypto/signer.d.ts +164 -0
  44. package/dist/perpetual/crypto/signer.d.ts.map +1 -0
  45. package/dist/perpetual/crypto/signer.js +318 -0
  46. package/dist/perpetual/crypto/signer.js.map +1 -0
  47. package/dist/perpetual/fees.d.ts +20 -0
  48. package/dist/perpetual/fees.d.ts.map +1 -0
  49. package/dist/perpetual/fees.js +35 -0
  50. package/dist/perpetual/fees.js.map +1 -0
  51. package/dist/perpetual/funding-rates.d.ts +15 -0
  52. package/dist/perpetual/funding-rates.d.ts.map +1 -0
  53. package/dist/perpetual/funding-rates.js +23 -0
  54. package/dist/perpetual/funding-rates.js.map +1 -0
  55. package/dist/perpetual/markets.d.ts +83 -0
  56. package/dist/perpetual/markets.d.ts.map +1 -0
  57. package/dist/perpetual/markets.js +124 -0
  58. package/dist/perpetual/markets.js.map +1 -0
  59. package/dist/perpetual/order-object-settlement.d.ts +43 -0
  60. package/dist/perpetual/order-object-settlement.d.ts.map +1 -0
  61. package/dist/perpetual/order-object-settlement.js +121 -0
  62. package/dist/perpetual/order-object-settlement.js.map +1 -0
  63. package/dist/perpetual/order-object.d.ts +38 -0
  64. package/dist/perpetual/order-object.d.ts.map +1 -0
  65. package/dist/perpetual/order-object.js +90 -0
  66. package/dist/perpetual/order-object.js.map +1 -0
  67. package/dist/perpetual/orderbooks.d.ts +23 -0
  68. package/dist/perpetual/orderbooks.d.ts.map +1 -0
  69. package/dist/perpetual/orderbooks.js +36 -0
  70. package/dist/perpetual/orderbooks.js.map +1 -0
  71. package/dist/perpetual/orders.d.ts +207 -0
  72. package/dist/perpetual/orders.d.ts.map +1 -0
  73. package/dist/perpetual/orders.js +266 -0
  74. package/dist/perpetual/orders.js.map +1 -0
  75. package/dist/perpetual/positions.d.ts +80 -0
  76. package/dist/perpetual/positions.d.ts.map +1 -0
  77. package/dist/perpetual/positions.js +94 -0
  78. package/dist/perpetual/positions.js.map +1 -0
  79. package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts +47 -0
  80. package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts.map +1 -0
  81. package/dist/perpetual/stream-client/perpetual-stream-connection.js +125 -0
  82. package/dist/perpetual/stream-client/perpetual-stream-connection.js.map +1 -0
  83. package/dist/perpetual/stream-client/stream-client.d.ts +46 -0
  84. package/dist/perpetual/stream-client/stream-client.d.ts.map +1 -0
  85. package/dist/perpetual/stream-client/stream-client.js +79 -0
  86. package/dist/perpetual/stream-client/stream-client.js.map +1 -0
  87. package/dist/perpetual/trades.d.ts +44 -0
  88. package/dist/perpetual/trades.d.ts.map +1 -0
  89. package/dist/perpetual/trades.js +48 -0
  90. package/dist/perpetual/trades.js.map +1 -0
  91. package/dist/perpetual/trading-client/account-module.d.ts +192 -0
  92. package/dist/perpetual/trading-client/account-module.d.ts.map +1 -0
  93. package/dist/perpetual/trading-client/account-module.js +357 -0
  94. package/dist/perpetual/trading-client/account-module.js.map +1 -0
  95. package/dist/perpetual/trading-client/base-module.d.ts +27 -0
  96. package/dist/perpetual/trading-client/base-module.d.ts.map +1 -0
  97. package/dist/perpetual/trading-client/base-module.js +49 -0
  98. package/dist/perpetual/trading-client/base-module.js.map +1 -0
  99. package/dist/perpetual/trading-client/info-module.d.ts +24 -0
  100. package/dist/perpetual/trading-client/info-module.d.ts.map +1 -0
  101. package/dist/perpetual/trading-client/info-module.js +33 -0
  102. package/dist/perpetual/trading-client/info-module.js.map +1 -0
  103. package/dist/perpetual/trading-client/markets-information-module.d.ts +53 -0
  104. package/dist/perpetual/trading-client/markets-information-module.d.ts.map +1 -0
  105. package/dist/perpetual/trading-client/markets-information-module.js +106 -0
  106. package/dist/perpetual/trading-client/markets-information-module.js.map +1 -0
  107. package/dist/perpetual/trading-client/order-management-module.d.ts +40 -0
  108. package/dist/perpetual/trading-client/order-management-module.d.ts.map +1 -0
  109. package/dist/perpetual/trading-client/order-management-module.js +71 -0
  110. package/dist/perpetual/trading-client/order-management-module.js.map +1 -0
  111. package/dist/perpetual/trading-client/testnet-module.d.ts +27 -0
  112. package/dist/perpetual/trading-client/testnet-module.d.ts.map +1 -0
  113. package/dist/perpetual/trading-client/testnet-module.js +45 -0
  114. package/dist/perpetual/trading-client/testnet-module.js.map +1 -0
  115. package/dist/perpetual/trading-client/trading-client.d.ts +75 -0
  116. package/dist/perpetual/trading-client/trading-client.d.ts.map +1 -0
  117. package/dist/perpetual/trading-client/trading-client.js +115 -0
  118. package/dist/perpetual/trading-client/trading-client.js.map +1 -0
  119. package/dist/perpetual/transfer-object.d.ts +12 -0
  120. package/dist/perpetual/transfer-object.d.ts.map +1 -0
  121. package/dist/perpetual/transfer-object.js +57 -0
  122. package/dist/perpetual/transfer-object.js.map +1 -0
  123. package/dist/perpetual/transfers.d.ts +54 -0
  124. package/dist/perpetual/transfers.d.ts.map +1 -0
  125. package/dist/perpetual/transfers.js +90 -0
  126. package/dist/perpetual/transfers.js.map +1 -0
  127. package/dist/perpetual/user-client/onboarding.d.ts +101 -0
  128. package/dist/perpetual/user-client/onboarding.d.ts.map +1 -0
  129. package/dist/perpetual/user-client/onboarding.js +247 -0
  130. package/dist/perpetual/user-client/onboarding.js.map +1 -0
  131. package/dist/perpetual/user-client/user-client.d.ts +45 -0
  132. package/dist/perpetual/user-client/user-client.d.ts.map +1 -0
  133. package/dist/perpetual/user-client/user-client.js +185 -0
  134. package/dist/perpetual/user-client/user-client.js.map +1 -0
  135. package/dist/perpetual/withdrawal-object.d.ts +12 -0
  136. package/dist/perpetual/withdrawal-object.d.ts.map +1 -0
  137. package/dist/perpetual/withdrawal-object.js +51 -0
  138. package/dist/perpetual/withdrawal-object.js.map +1 -0
  139. package/dist/perpetual/withdrawals.d.ts +40 -0
  140. package/dist/perpetual/withdrawals.d.ts.map +1 -0
  141. package/dist/perpetual/withdrawals.js +65 -0
  142. package/dist/perpetual/withdrawals.js.map +1 -0
  143. package/dist/utils/date.d.ts +13 -0
  144. package/dist/utils/date.d.ts.map +1 -0
  145. package/dist/utils/date.js +21 -0
  146. package/dist/utils/date.js.map +1 -0
  147. package/dist/utils/env.d.ts +50 -0
  148. package/dist/utils/env.d.ts.map +1 -0
  149. package/dist/utils/env.js +157 -0
  150. package/dist/utils/env.js.map +1 -0
  151. package/dist/utils/http.d.ts +98 -0
  152. package/dist/utils/http.d.ts.map +1 -0
  153. package/dist/utils/http.js +290 -0
  154. package/dist/utils/http.js.map +1 -0
  155. package/dist/utils/model.d.ts +35 -0
  156. package/dist/utils/model.d.ts.map +1 -0
  157. package/dist/utils/model.js +86 -0
  158. package/dist/utils/model.js.map +1 -0
  159. package/dist/utils/nonce.d.ts +9 -0
  160. package/dist/utils/nonce.d.ts.map +1 -0
  161. package/dist/utils/nonce.js +14 -0
  162. package/dist/utils/nonce.js.map +1 -0
  163. package/dist/utils/string.d.ts +10 -0
  164. package/dist/utils/string.d.ts.map +1 -0
  165. package/dist/utils/string.js +20 -0
  166. package/dist/utils/string.js.map +1 -0
  167. package/package.json +56 -0
  168. package/wasm/stark_crypto_wasm-web.js +5 -0
  169. package/wasm/stark_crypto_wasm.d-web.ts +63 -0
  170. package/wasm/stark_crypto_wasm.d.ts +63 -0
  171. package/wasm/stark_crypto_wasm.js +362 -0
  172. package/wasm/stark_crypto_wasm_bg-web.wasm +0 -0
  173. package/wasm/stark_crypto_wasm_bg.wasm +0 -0
package/dist/index.js ADDED
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /**
3
+ * Extended TypeScript Trading SDK
4
+ *
5
+ * Unofficial TypeScript client for Extended Exchange API
6
+ * Built and maintained by the community
7
+ *
8
+ * Extended is a perpetual DEX, built by an ex-Revolut team.
9
+ * Extended offers perpetual contracts on both crypto and TradFi assets,
10
+ * with USDC as collateral and leverage of up to 100x.
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
24
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.DEFAULT_FEES = exports.TradingFeeModel = exports.AssetOperationStatus = exports.AssetOperationType = exports.Asset = exports.TradingConfigModel = exports.MarketStatsModel = exports.MarketModel = exports.OrderTpslTriggerParam = exports.createOrderObject = exports.TradeType = exports.PublicTradeModel = exports.AccountTradeModel = exports.ExitType = exports.PositionStatus = exports.PositionSide = exports.PositionHistoryModel = exports.PositionModel = exports.PerpetualStreamConnection = exports.PerpetualStreamClient = exports.StarkKeyPair = exports.UserClient = exports.TestnetModule = exports.InfoModule = exports.MarketsInformationModule = exports.OrderManagementModule = exports.AccountModule = exports.PerpetualTradingClient = exports.CreateOrderTpslTriggerModel = exports.OpenOrderModel = exports.PlacedOrderModel = exports.NewOrderModel = exports.OrderTriggerPriceType = exports.OrderPriceType = exports.SelfTradeProtectionLevel = exports.OrderTpslType = exports.TimeInForce = exports.OrderStatusReason = exports.OrderStatus = exports.OrderType = exports.OrderSide = exports.BalanceModel = exports.AccountLeverage = exports.AccountModel = exports.StarkPerpetualAccount = exports.MAINNET_CONFIG = exports.TESTNET_CONFIG = exports.StarknetDomain = exports.EndpointConfig = exports.initWasm = void 0;
28
+ exports.SDK_VERSION = exports.getWithdrawalMsgHash = exports.getTransferMsgHash = exports.getOrderMsgHash = exports.generateKeypairFromEthSignature = exports.pedersenHash = exports.sign = exports.toEpochMillis = exports.utcNow = exports.generateNonce = exports.SettlementSignatureModel = exports.X10BaseModel = exports.StreamDataType = exports.WrappedStreamResponse = exports.WrappedApiResponse = exports.SubAccountExists = exports.NotAuthorizedException = exports.RateLimitException = exports.X10Error = void 0;
29
+ // Initialize WASM module
30
+ var signer_1 = require("./perpetual/crypto/signer");
31
+ Object.defineProperty(exports, "initWasm", { enumerable: true, get: function () { return signer_1.initWasm; } });
32
+ // Configuration
33
+ var configuration_1 = require("./perpetual/configuration");
34
+ Object.defineProperty(exports, "EndpointConfig", { enumerable: true, get: function () { return configuration_1.EndpointConfig; } });
35
+ Object.defineProperty(exports, "StarknetDomain", { enumerable: true, get: function () { return configuration_1.StarknetDomain; } });
36
+ Object.defineProperty(exports, "TESTNET_CONFIG", { enumerable: true, get: function () { return configuration_1.TESTNET_CONFIG; } });
37
+ Object.defineProperty(exports, "MAINNET_CONFIG", { enumerable: true, get: function () { return configuration_1.MAINNET_CONFIG; } });
38
+ // Accounts
39
+ var accounts_1 = require("./perpetual/accounts");
40
+ Object.defineProperty(exports, "StarkPerpetualAccount", { enumerable: true, get: function () { return accounts_1.StarkPerpetualAccount; } });
41
+ Object.defineProperty(exports, "AccountModel", { enumerable: true, get: function () { return accounts_1.AccountModel; } });
42
+ Object.defineProperty(exports, "AccountLeverage", { enumerable: true, get: function () { return accounts_1.AccountLeverage; } });
43
+ Object.defineProperty(exports, "BalanceModel", { enumerable: true, get: function () { return accounts_1.BalanceModel; } });
44
+ // Orders
45
+ var orders_1 = require("./perpetual/orders");
46
+ Object.defineProperty(exports, "OrderSide", { enumerable: true, get: function () { return orders_1.OrderSide; } });
47
+ Object.defineProperty(exports, "OrderType", { enumerable: true, get: function () { return orders_1.OrderType; } });
48
+ Object.defineProperty(exports, "OrderStatus", { enumerable: true, get: function () { return orders_1.OrderStatus; } });
49
+ Object.defineProperty(exports, "OrderStatusReason", { enumerable: true, get: function () { return orders_1.OrderStatusReason; } });
50
+ Object.defineProperty(exports, "TimeInForce", { enumerable: true, get: function () { return orders_1.TimeInForce; } });
51
+ Object.defineProperty(exports, "OrderTpslType", { enumerable: true, get: function () { return orders_1.OrderTpslType; } });
52
+ Object.defineProperty(exports, "SelfTradeProtectionLevel", { enumerable: true, get: function () { return orders_1.SelfTradeProtectionLevel; } });
53
+ Object.defineProperty(exports, "OrderPriceType", { enumerable: true, get: function () { return orders_1.OrderPriceType; } });
54
+ Object.defineProperty(exports, "OrderTriggerPriceType", { enumerable: true, get: function () { return orders_1.OrderTriggerPriceType; } });
55
+ Object.defineProperty(exports, "NewOrderModel", { enumerable: true, get: function () { return orders_1.NewOrderModel; } });
56
+ Object.defineProperty(exports, "PlacedOrderModel", { enumerable: true, get: function () { return orders_1.PlacedOrderModel; } });
57
+ Object.defineProperty(exports, "OpenOrderModel", { enumerable: true, get: function () { return orders_1.OpenOrderModel; } });
58
+ Object.defineProperty(exports, "CreateOrderTpslTriggerModel", { enumerable: true, get: function () { return orders_1.CreateOrderTpslTriggerModel; } });
59
+ // Trading Client
60
+ var trading_client_1 = require("./perpetual/trading-client/trading-client");
61
+ Object.defineProperty(exports, "PerpetualTradingClient", { enumerable: true, get: function () { return trading_client_1.PerpetualTradingClient; } });
62
+ var account_module_1 = require("./perpetual/trading-client/account-module");
63
+ Object.defineProperty(exports, "AccountModule", { enumerable: true, get: function () { return account_module_1.AccountModule; } });
64
+ var order_management_module_1 = require("./perpetual/trading-client/order-management-module");
65
+ Object.defineProperty(exports, "OrderManagementModule", { enumerable: true, get: function () { return order_management_module_1.OrderManagementModule; } });
66
+ var markets_information_module_1 = require("./perpetual/trading-client/markets-information-module");
67
+ Object.defineProperty(exports, "MarketsInformationModule", { enumerable: true, get: function () { return markets_information_module_1.MarketsInformationModule; } });
68
+ var info_module_1 = require("./perpetual/trading-client/info-module");
69
+ Object.defineProperty(exports, "InfoModule", { enumerable: true, get: function () { return info_module_1.InfoModule; } });
70
+ var testnet_module_1 = require("./perpetual/trading-client/testnet-module");
71
+ Object.defineProperty(exports, "TestnetModule", { enumerable: true, get: function () { return testnet_module_1.TestnetModule; } });
72
+ // User Client
73
+ var user_client_1 = require("./perpetual/user-client/user-client");
74
+ Object.defineProperty(exports, "UserClient", { enumerable: true, get: function () { return user_client_1.UserClient; } });
75
+ var onboarding_1 = require("./perpetual/user-client/onboarding");
76
+ Object.defineProperty(exports, "StarkKeyPair", { enumerable: true, get: function () { return onboarding_1.StarkKeyPair; } });
77
+ // Stream Client
78
+ var stream_client_1 = require("./perpetual/stream-client/stream-client");
79
+ Object.defineProperty(exports, "PerpetualStreamClient", { enumerable: true, get: function () { return stream_client_1.PerpetualStreamClient; } });
80
+ var perpetual_stream_connection_1 = require("./perpetual/stream-client/perpetual-stream-connection");
81
+ Object.defineProperty(exports, "PerpetualStreamConnection", { enumerable: true, get: function () { return perpetual_stream_connection_1.PerpetualStreamConnection; } });
82
+ // Positions & Trades
83
+ var positions_1 = require("./perpetual/positions");
84
+ Object.defineProperty(exports, "PositionModel", { enumerable: true, get: function () { return positions_1.PositionModel; } });
85
+ Object.defineProperty(exports, "PositionHistoryModel", { enumerable: true, get: function () { return positions_1.PositionHistoryModel; } });
86
+ Object.defineProperty(exports, "PositionSide", { enumerable: true, get: function () { return positions_1.PositionSide; } });
87
+ Object.defineProperty(exports, "PositionStatus", { enumerable: true, get: function () { return positions_1.PositionStatus; } });
88
+ Object.defineProperty(exports, "ExitType", { enumerable: true, get: function () { return positions_1.ExitType; } });
89
+ var trades_1 = require("./perpetual/trades");
90
+ Object.defineProperty(exports, "AccountTradeModel", { enumerable: true, get: function () { return trades_1.AccountTradeModel; } });
91
+ Object.defineProperty(exports, "PublicTradeModel", { enumerable: true, get: function () { return trades_1.PublicTradeModel; } });
92
+ Object.defineProperty(exports, "TradeType", { enumerable: true, get: function () { return trades_1.TradeType; } });
93
+ // Order Objects
94
+ var order_object_1 = require("./perpetual/order-object");
95
+ Object.defineProperty(exports, "createOrderObject", { enumerable: true, get: function () { return order_object_1.createOrderObject; } });
96
+ Object.defineProperty(exports, "OrderTpslTriggerParam", { enumerable: true, get: function () { return order_object_1.OrderTpslTriggerParam; } });
97
+ // Markets
98
+ var markets_1 = require("./perpetual/markets");
99
+ Object.defineProperty(exports, "MarketModel", { enumerable: true, get: function () { return markets_1.MarketModel; } });
100
+ Object.defineProperty(exports, "MarketStatsModel", { enumerable: true, get: function () { return markets_1.MarketStatsModel; } });
101
+ Object.defineProperty(exports, "TradingConfigModel", { enumerable: true, get: function () { return markets_1.TradingConfigModel; } });
102
+ // Assets
103
+ var assets_1 = require("./perpetual/assets");
104
+ Object.defineProperty(exports, "Asset", { enumerable: true, get: function () { return assets_1.Asset; } });
105
+ Object.defineProperty(exports, "AssetOperationType", { enumerable: true, get: function () { return assets_1.AssetOperationType; } });
106
+ Object.defineProperty(exports, "AssetOperationStatus", { enumerable: true, get: function () { return assets_1.AssetOperationStatus; } });
107
+ // Fees
108
+ var fees_1 = require("./perpetual/fees");
109
+ Object.defineProperty(exports, "TradingFeeModel", { enumerable: true, get: function () { return fees_1.TradingFeeModel; } });
110
+ Object.defineProperty(exports, "DEFAULT_FEES", { enumerable: true, get: function () { return fees_1.DEFAULT_FEES; } });
111
+ // Errors
112
+ var errors_1 = require("./errors");
113
+ Object.defineProperty(exports, "X10Error", { enumerable: true, get: function () { return errors_1.X10Error; } });
114
+ Object.defineProperty(exports, "RateLimitException", { enumerable: true, get: function () { return errors_1.RateLimitException; } });
115
+ Object.defineProperty(exports, "NotAuthorizedException", { enumerable: true, get: function () { return errors_1.NotAuthorizedException; } });
116
+ Object.defineProperty(exports, "SubAccountExists", { enumerable: true, get: function () { return errors_1.SubAccountExists; } });
117
+ // Utils
118
+ var http_1 = require("./utils/http");
119
+ Object.defineProperty(exports, "WrappedApiResponse", { enumerable: true, get: function () { return http_1.WrappedApiResponse; } });
120
+ Object.defineProperty(exports, "WrappedStreamResponse", { enumerable: true, get: function () { return http_1.WrappedStreamResponse; } });
121
+ Object.defineProperty(exports, "StreamDataType", { enumerable: true, get: function () { return http_1.StreamDataType; } });
122
+ var model_1 = require("./utils/model");
123
+ Object.defineProperty(exports, "X10BaseModel", { enumerable: true, get: function () { return model_1.X10BaseModel; } });
124
+ Object.defineProperty(exports, "SettlementSignatureModel", { enumerable: true, get: function () { return model_1.SettlementSignatureModel; } });
125
+ var nonce_1 = require("./utils/nonce");
126
+ Object.defineProperty(exports, "generateNonce", { enumerable: true, get: function () { return nonce_1.generateNonce; } });
127
+ var date_1 = require("./utils/date");
128
+ Object.defineProperty(exports, "utcNow", { enumerable: true, get: function () { return date_1.utcNow; } });
129
+ Object.defineProperty(exports, "toEpochMillis", { enumerable: true, get: function () { return date_1.toEpochMillis; } });
130
+ // Utils
131
+ __exportStar(require("./utils/env"), exports);
132
+ // Cryptographic Signer Functions (exported for standalone use)
133
+ var signer_2 = require("./perpetual/crypto/signer");
134
+ Object.defineProperty(exports, "sign", { enumerable: true, get: function () { return signer_2.sign; } });
135
+ Object.defineProperty(exports, "pedersenHash", { enumerable: true, get: function () { return signer_2.pedersenHash; } });
136
+ Object.defineProperty(exports, "generateKeypairFromEthSignature", { enumerable: true, get: function () { return signer_2.generateKeypairFromEthSignature; } });
137
+ Object.defineProperty(exports, "getOrderMsgHash", { enumerable: true, get: function () { return signer_2.getOrderMsgHash; } });
138
+ Object.defineProperty(exports, "getTransferMsgHash", { enumerable: true, get: function () { return signer_2.getTransferMsgHash; } });
139
+ Object.defineProperty(exports, "getWithdrawalMsgHash", { enumerable: true, get: function () { return signer_2.getWithdrawalMsgHash; } });
140
+ // Version
141
+ exports.SDK_VERSION = '0.0.1';
142
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Account models and StarkPerpetualAccount class
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model';
6
+ /**
7
+ * Stark Perpetual Account
8
+ * Manages signing operations for trading
9
+ */
10
+ export declare class StarkPerpetualAccount {
11
+ private vault;
12
+ private privateKey;
13
+ private publicKey;
14
+ private apiKey;
15
+ private tradingFee;
16
+ constructor(vault: number | string, privateKey: string, publicKey: string, apiKey: string);
17
+ getVault(): number;
18
+ getPublicKey(): bigint;
19
+ getPublicKeyHex(): string;
20
+ getApiKey(): string;
21
+ getTradingFee(): Map<string, any>;
22
+ setTradingFee(market: string, fee: any): void;
23
+ /**
24
+ * Sign a message hash
25
+ * Returns [r, s] tuple
26
+ */
27
+ sign(msgHash: bigint): [bigint, bigint];
28
+ }
29
+ /**
30
+ * Account model
31
+ */
32
+ export declare class AccountModel extends X10BaseModel {
33
+ id: number;
34
+ description: string;
35
+ accountIndex: number;
36
+ status: string;
37
+ l2Key: string;
38
+ l2Vault: number;
39
+ bridgeStarknetAddress?: string;
40
+ apiKeys?: string[];
41
+ constructor(id: number, description: string, accountIndex: number, status: string, l2Key: string, l2Vault: number, bridgeStarknetAddress?: string, apiKeys?: string[]);
42
+ }
43
+ /**
44
+ * Account leverage model
45
+ */
46
+ export declare class AccountLeverage extends X10BaseModel {
47
+ market: string;
48
+ leverage: Decimal;
49
+ constructor(market: string, leverage: Decimal);
50
+ }
51
+ /**
52
+ * API key response model
53
+ */
54
+ export declare class ApiKeyResponseModel extends X10BaseModel {
55
+ key: string;
56
+ constructor(key: string);
57
+ }
58
+ /**
59
+ * API key request model
60
+ */
61
+ export declare class ApiKeyRequestModel extends X10BaseModel {
62
+ description: string;
63
+ constructor(description: string);
64
+ }
65
+ /**
66
+ * Balance model
67
+ */
68
+ export declare class BalanceModel extends X10BaseModel {
69
+ collateralName: string;
70
+ balance: Decimal;
71
+ equity: Decimal;
72
+ availableForTrade: Decimal;
73
+ availableForWithdrawal: Decimal;
74
+ unrealisedPnl: Decimal;
75
+ initialMargin: Decimal;
76
+ marginRatio: Decimal;
77
+ updatedTime: number;
78
+ }
79
+ /**
80
+ * Account stream data model
81
+ */
82
+ export declare class AccountStreamDataModel extends X10BaseModel {
83
+ orders?: any[];
84
+ positions?: any[];
85
+ trades?: any[];
86
+ balance?: BalanceModel;
87
+ }
88
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAA+B;gBAErC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAuBzF,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,MAAM;IAInB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAI7C;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAGxC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAGjB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,MAAM,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE;CAYrB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;gBAEN,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;CAK9C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;CAIxB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,WAAW,EAAE,MAAM,CAAC;gBAER,WAAW,EAAE,MAAM;CAIhC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /**
3
+ * Account models and StarkPerpetualAccount class
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AccountStreamDataModel = exports.BalanceModel = exports.ApiKeyRequestModel = exports.ApiKeyResponseModel = exports.AccountLeverage = exports.AccountModel = exports.StarkPerpetualAccount = void 0;
7
+ const model_1 = require("../utils/model");
8
+ const string_1 = require("../utils/string");
9
+ const signer_1 = require("./crypto/signer");
10
+ /**
11
+ * Stark Perpetual Account
12
+ * Manages signing operations for trading
13
+ */
14
+ class StarkPerpetualAccount {
15
+ vault;
16
+ privateKey;
17
+ publicKey;
18
+ apiKey;
19
+ tradingFee = new Map();
20
+ constructor(vault, privateKey, publicKey, apiKey) {
21
+ if (!(0, string_1.isHexString)(privateKey)) {
22
+ throw new Error('Invalid private key format');
23
+ }
24
+ if (!(0, string_1.isHexString)(publicKey)) {
25
+ throw new Error('Invalid public key format');
26
+ }
27
+ if (typeof vault === 'string') {
28
+ this.vault = parseInt(vault, 10);
29
+ }
30
+ else {
31
+ this.vault = vault;
32
+ }
33
+ // Remove '0x' prefix if present and convert to bigint
34
+ const cleanPrivateKey = privateKey.startsWith('0x') ? privateKey.slice(2) : privateKey;
35
+ const cleanPublicKey = publicKey.startsWith('0x') ? publicKey.slice(2) : publicKey;
36
+ this.privateKey = BigInt('0x' + cleanPrivateKey);
37
+ this.publicKey = BigInt('0x' + cleanPublicKey);
38
+ this.apiKey = apiKey;
39
+ }
40
+ getVault() {
41
+ return this.vault;
42
+ }
43
+ getPublicKey() {
44
+ return this.publicKey;
45
+ }
46
+ getPublicKeyHex() {
47
+ return '0x' + this.publicKey.toString(16);
48
+ }
49
+ getApiKey() {
50
+ return this.apiKey;
51
+ }
52
+ getTradingFee() {
53
+ return this.tradingFee;
54
+ }
55
+ setTradingFee(market, fee) {
56
+ this.tradingFee.set(market, fee);
57
+ }
58
+ /**
59
+ * Sign a message hash
60
+ * Returns [r, s] tuple
61
+ */
62
+ sign(msgHash) {
63
+ return (0, signer_1.sign)(this.privateKey, msgHash);
64
+ }
65
+ }
66
+ exports.StarkPerpetualAccount = StarkPerpetualAccount;
67
+ /**
68
+ * Account model
69
+ */
70
+ class AccountModel extends model_1.X10BaseModel {
71
+ id;
72
+ description;
73
+ accountIndex;
74
+ status;
75
+ l2Key;
76
+ l2Vault;
77
+ bridgeStarknetAddress;
78
+ apiKeys;
79
+ constructor(id, description, accountIndex, status, l2Key, l2Vault, bridgeStarknetAddress, apiKeys) {
80
+ super();
81
+ this.id = id;
82
+ this.description = description;
83
+ this.accountIndex = accountIndex;
84
+ this.status = status;
85
+ this.l2Key = l2Key;
86
+ this.l2Vault = l2Vault;
87
+ this.bridgeStarknetAddress = bridgeStarknetAddress;
88
+ this.apiKeys = apiKeys;
89
+ }
90
+ }
91
+ exports.AccountModel = AccountModel;
92
+ /**
93
+ * Account leverage model
94
+ */
95
+ class AccountLeverage extends model_1.X10BaseModel {
96
+ market;
97
+ leverage;
98
+ constructor(market, leverage) {
99
+ super();
100
+ this.market = market;
101
+ this.leverage = leverage;
102
+ }
103
+ }
104
+ exports.AccountLeverage = AccountLeverage;
105
+ /**
106
+ * API key response model
107
+ */
108
+ class ApiKeyResponseModel extends model_1.X10BaseModel {
109
+ key;
110
+ constructor(key) {
111
+ super();
112
+ this.key = key;
113
+ }
114
+ }
115
+ exports.ApiKeyResponseModel = ApiKeyResponseModel;
116
+ /**
117
+ * API key request model
118
+ */
119
+ class ApiKeyRequestModel extends model_1.X10BaseModel {
120
+ description;
121
+ constructor(description) {
122
+ super();
123
+ this.description = description;
124
+ }
125
+ }
126
+ exports.ApiKeyRequestModel = ApiKeyRequestModel;
127
+ /**
128
+ * Balance model
129
+ */
130
+ class BalanceModel extends model_1.X10BaseModel {
131
+ collateralName;
132
+ balance;
133
+ equity;
134
+ availableForTrade;
135
+ availableForWithdrawal;
136
+ unrealisedPnl;
137
+ initialMargin;
138
+ marginRatio;
139
+ updatedTime;
140
+ }
141
+ exports.BalanceModel = BalanceModel;
142
+ /**
143
+ * Account stream data model
144
+ */
145
+ class AccountStreamDataModel extends model_1.X10BaseModel {
146
+ orders;
147
+ positions;
148
+ trades;
149
+ balance;
150
+ }
151
+ exports.AccountStreamDataModel = AccountStreamDataModel;
152
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/perpetual/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Amount conversion utilities
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { Asset } from './assets';
6
+ /**
7
+ * Rounding contexts
8
+ */
9
+ export declare const ROUNDING_SELL_CONTEXT: 1;
10
+ export declare const ROUNDING_BUY_CONTEXT: 0;
11
+ export declare const ROUNDING_FEE_CONTEXT: 0;
12
+ /**
13
+ * Human-readable amount
14
+ */
15
+ export declare class HumanReadableAmount {
16
+ value: Decimal;
17
+ asset: Asset;
18
+ constructor(value: Decimal, asset: Asset);
19
+ toL1Amount(): L1Amount;
20
+ toStarkAmount(roundingMode?: Decimal.Rounding): StarkAmount;
21
+ }
22
+ /**
23
+ * L1 amount
24
+ */
25
+ export declare class L1Amount {
26
+ value: number;
27
+ asset: Asset;
28
+ constructor(value: number, asset: Asset);
29
+ toInternalAmount(): HumanReadableAmount;
30
+ }
31
+ /**
32
+ * Stark amount
33
+ */
34
+ export declare class StarkAmount {
35
+ value: number;
36
+ asset: Asset;
37
+ constructor(value: number, asset: Asset);
38
+ toInternalAmount(): HumanReadableAmount;
39
+ negate(): StarkAmount;
40
+ }
41
+ //# sourceMappingURL=amounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amounts.d.ts","sourceRoot":"","sources":["../../src/perpetual/amounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAqB,CAAC;AACxD,eAAO,MAAM,oBAAoB,GAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,GAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAKxC,UAAU,IAAI,QAAQ;IAKtB,aAAa,CAAC,YAAY,GAAE,OAAO,CAAC,QAA+B,GAAG,WAAW;CAalF;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAKvC,gBAAgB,IAAI,mBAAmB;CAIxC;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAKvC,gBAAgB,IAAI,mBAAmB;IAKvC,MAAM,IAAI,WAAW;CAGtB"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * Amount conversion utilities
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StarkAmount = exports.L1Amount = exports.HumanReadableAmount = exports.ROUNDING_FEE_CONTEXT = exports.ROUNDING_BUY_CONTEXT = exports.ROUNDING_SELL_CONTEXT = void 0;
10
+ const decimal_js_1 = __importDefault(require("decimal.js"));
11
+ /**
12
+ * Rounding contexts
13
+ */
14
+ exports.ROUNDING_SELL_CONTEXT = decimal_js_1.default.ROUND_DOWN;
15
+ exports.ROUNDING_BUY_CONTEXT = decimal_js_1.default.ROUND_UP;
16
+ exports.ROUNDING_FEE_CONTEXT = decimal_js_1.default.ROUND_UP;
17
+ /**
18
+ * Human-readable amount
19
+ */
20
+ class HumanReadableAmount {
21
+ value;
22
+ asset;
23
+ constructor(value, asset) {
24
+ this.value = value;
25
+ this.asset = asset;
26
+ }
27
+ toL1Amount() {
28
+ const convertedValue = this.asset.convertInternalQuantityToL1Quantity(this.value);
29
+ return new L1Amount(convertedValue, this.asset);
30
+ }
31
+ toStarkAmount(roundingMode = exports.ROUNDING_BUY_CONTEXT) {
32
+ if (!this.asset) {
33
+ throw new Error(`HumanReadableAmount.asset is undefined. value=${String(this.value)}`);
34
+ }
35
+ const convertedValue = this.asset.convertHumanReadableToStarkQuantity(this.value, decimal_js_1.default // Type workaround
36
+ );
37
+ if (convertedValue === undefined) {
38
+ throw new Error('Asset conversion failed: asset or conversion method undefined');
39
+ }
40
+ return new StarkAmount(convertedValue, this.asset);
41
+ }
42
+ }
43
+ exports.HumanReadableAmount = HumanReadableAmount;
44
+ /**
45
+ * L1 amount
46
+ */
47
+ class L1Amount {
48
+ value;
49
+ asset;
50
+ constructor(value, asset) {
51
+ this.value = value;
52
+ this.asset = asset;
53
+ }
54
+ toInternalAmount() {
55
+ const convertedValue = this.asset.convertL1QuantityToInternalQuantity(this.value);
56
+ return new HumanReadableAmount(convertedValue, this.asset);
57
+ }
58
+ }
59
+ exports.L1Amount = L1Amount;
60
+ /**
61
+ * Stark amount
62
+ */
63
+ class StarkAmount {
64
+ value;
65
+ asset;
66
+ constructor(value, asset) {
67
+ this.value = value;
68
+ this.asset = asset;
69
+ }
70
+ toInternalAmount() {
71
+ const convertedValue = this.asset.convertStarkToInternalQuantity(this.value);
72
+ return new HumanReadableAmount(convertedValue, this.asset);
73
+ }
74
+ negate() {
75
+ return new StarkAmount(-this.value, this.asset);
76
+ }
77
+ }
78
+ exports.StarkAmount = StarkAmount;
79
+ //# sourceMappingURL=amounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/perpetual/amounts.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,4DAAiC;AAGjC;;GAEG;AACU,QAAA,qBAAqB,GAAG,oBAAO,CAAC,UAAU,CAAC;AAC3C,QAAA,oBAAoB,GAAG,oBAAO,CAAC,QAAQ,CAAC;AACxC,QAAA,oBAAoB,GAAG,oBAAO,CAAC,QAAQ,CAAC;AAErD;;GAEG;AACH,MAAa,mBAAmB;IAC9B,KAAK,CAAU;IACf,KAAK,CAAQ;IAEb,YAAY,KAAc,EAAE,KAAY;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,UAAU;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,eAAiC,4BAAoB;QACnE,IAAI,CAAE,IAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,cAAc,GAAI,IAAY,CAAC,KAAK,CAAC,mCAAmC,CAC1E,IAAI,CAAC,KAAK,EACV,oBAAc,CAAC,kBAAkB;SAClC,CAAC;QACJ,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;CACF;AA3BD,kDA2BC;AAED;;GAEG;AACH,MAAa,QAAQ;IACnB,KAAK,CAAS;IACd,KAAK,CAAQ;IAEb,YAAY,KAAa,EAAE,KAAY;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,IAAI,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;CACF;AAbD,4BAaC;AAED;;GAEG;AACH,MAAa,WAAW;IACtB,KAAK,CAAS;IACd,KAAK,CAAQ;IAEb,YAAY,KAAa,EAAE,KAAY;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7E,OAAO,IAAI,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AAjBD,kCAiBC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Asset models and utilities
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel, HexValue } from '../utils/model';
6
+ /**
7
+ * Asset model
8
+ */
9
+ export declare class Asset {
10
+ id: number;
11
+ name: string;
12
+ precision: number;
13
+ active: boolean;
14
+ isCollateral: boolean;
15
+ settlementExternalId: string;
16
+ settlementResolution: number;
17
+ l1ExternalId: string;
18
+ l1Resolution: number;
19
+ constructor(id: number, name: string, precision: number, active: boolean, isCollateral: boolean, settlementExternalId: string, settlementResolution: number, l1ExternalId: string, l1Resolution: number);
20
+ /**
21
+ * Convert human-readable amount to Stark quantity
22
+ */
23
+ convertHumanReadableToStarkQuantity(internal: Decimal, roundingContext: Decimal.Constructor): number;
24
+ /**
25
+ * Convert Stark quantity to internal quantity
26
+ */
27
+ convertStarkToInternalQuantity(stark: number): Decimal;
28
+ /**
29
+ * Convert L1 quantity to internal quantity
30
+ */
31
+ convertL1QuantityToInternalQuantity(l1: number): Decimal;
32
+ /**
33
+ * Convert internal quantity to L1 quantity
34
+ */
35
+ convertInternalQuantityToL1Quantity(internal: Decimal): number;
36
+ }
37
+ /**
38
+ * Asset operation type
39
+ */
40
+ export declare enum AssetOperationType {
41
+ CLAIM = "CLAIM",
42
+ DEPOSIT = "DEPOSIT",
43
+ FAST_WITHDRAWAL = "FAST_WITHDRAWAL",
44
+ SLOW_WITHDRAWAL = "SLOW_WITHDRAWAL",
45
+ TRANSFER = "TRANSFER"
46
+ }
47
+ /**
48
+ * Asset operation status
49
+ */
50
+ export declare enum AssetOperationStatus {
51
+ UNKNOWN = "UNKNOWN",
52
+ CREATED = "CREATED",
53
+ IN_PROGRESS = "IN_PROGRESS",
54
+ REJECTED = "REJECTED",
55
+ READY_FOR_CLAIM = "READY_FOR_CLAIM",
56
+ COMPLETED = "COMPLETED"
57
+ }
58
+ /**
59
+ * Asset operation model
60
+ */
61
+ export declare class AssetOperationModel extends X10BaseModel {
62
+ id: string;
63
+ type: AssetOperationType;
64
+ status: AssetOperationStatus;
65
+ amount: Decimal;
66
+ fee: Decimal;
67
+ asset: number;
68
+ time: number;
69
+ accountId: number;
70
+ counterpartyAccountId?: number;
71
+ transactionHash?: HexValue;
72
+ constructor(id: string, type: AssetOperationType, status: AssetOperationStatus, amount: Decimal, fee: Decimal, asset: number, time: number, accountId: number, counterpartyAccountId?: number, transactionHash?: HexValue);
73
+ }
74
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/perpetual/assets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,qBAAa,KAAK;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;gBAGnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,OAAO,EACrB,oBAAoB,EAAE,MAAM,EAC5B,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM;IAatB;;OAEG;IACH,mCAAmC,CACjC,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,OAAO,CAAC,WAAW,GACnC,MAAM;IAMT;;OAEG;IACH,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAItD;;OAEG;IACH,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxD;;OAEG;IACH,mCAAmC,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;CAM/D;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,QAAQ,CAAC;gBAGzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,eAAe,CAAC,EAAE,QAAQ;CAc7B"}