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
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ /**
3
+ * Asset models and 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.AssetOperationModel = exports.AssetOperationStatus = exports.AssetOperationType = exports.Asset = void 0;
10
+ const decimal_js_1 = __importDefault(require("decimal.js"));
11
+ const model_1 = require("../utils/model");
12
+ /**
13
+ * Asset model
14
+ */
15
+ class Asset {
16
+ id;
17
+ name;
18
+ precision;
19
+ active;
20
+ isCollateral;
21
+ settlementExternalId;
22
+ settlementResolution;
23
+ l1ExternalId;
24
+ l1Resolution;
25
+ constructor(id, name, precision, active, isCollateral, settlementExternalId, settlementResolution, l1ExternalId, l1Resolution) {
26
+ this.id = id;
27
+ this.name = name;
28
+ this.precision = precision;
29
+ this.active = active;
30
+ this.isCollateral = isCollateral;
31
+ this.settlementExternalId = settlementExternalId;
32
+ this.settlementResolution = settlementResolution;
33
+ this.l1ExternalId = l1ExternalId;
34
+ this.l1Resolution = l1Resolution;
35
+ }
36
+ /**
37
+ * Convert human-readable amount to Stark quantity
38
+ */
39
+ convertHumanReadableToStarkQuantity(internal, roundingContext) {
40
+ const result = internal.mul(this.settlementResolution);
41
+ // Round according to context
42
+ return Math.round(result.toNumber());
43
+ }
44
+ /**
45
+ * Convert Stark quantity to internal quantity
46
+ */
47
+ convertStarkToInternalQuantity(stark) {
48
+ return new decimal_js_1.default(stark).div(this.settlementResolution);
49
+ }
50
+ /**
51
+ * Convert L1 quantity to internal quantity
52
+ */
53
+ convertL1QuantityToInternalQuantity(l1) {
54
+ return new decimal_js_1.default(l1).div(this.l1Resolution);
55
+ }
56
+ /**
57
+ * Convert internal quantity to L1 quantity
58
+ */
59
+ convertInternalQuantityToL1Quantity(internal) {
60
+ if (!this.isCollateral) {
61
+ throw new Error('Only collateral assets have an L1 representation');
62
+ }
63
+ return Math.round(internal.mul(this.l1Resolution).toNumber());
64
+ }
65
+ }
66
+ exports.Asset = Asset;
67
+ /**
68
+ * Asset operation type
69
+ */
70
+ var AssetOperationType;
71
+ (function (AssetOperationType) {
72
+ AssetOperationType["CLAIM"] = "CLAIM";
73
+ AssetOperationType["DEPOSIT"] = "DEPOSIT";
74
+ AssetOperationType["FAST_WITHDRAWAL"] = "FAST_WITHDRAWAL";
75
+ AssetOperationType["SLOW_WITHDRAWAL"] = "SLOW_WITHDRAWAL";
76
+ AssetOperationType["TRANSFER"] = "TRANSFER";
77
+ })(AssetOperationType || (exports.AssetOperationType = AssetOperationType = {}));
78
+ /**
79
+ * Asset operation status
80
+ */
81
+ var AssetOperationStatus;
82
+ (function (AssetOperationStatus) {
83
+ AssetOperationStatus["UNKNOWN"] = "UNKNOWN";
84
+ AssetOperationStatus["CREATED"] = "CREATED";
85
+ AssetOperationStatus["IN_PROGRESS"] = "IN_PROGRESS";
86
+ AssetOperationStatus["REJECTED"] = "REJECTED";
87
+ AssetOperationStatus["READY_FOR_CLAIM"] = "READY_FOR_CLAIM";
88
+ AssetOperationStatus["COMPLETED"] = "COMPLETED";
89
+ })(AssetOperationStatus || (exports.AssetOperationStatus = AssetOperationStatus = {}));
90
+ /**
91
+ * Asset operation model
92
+ */
93
+ class AssetOperationModel extends model_1.X10BaseModel {
94
+ id;
95
+ type;
96
+ status;
97
+ amount;
98
+ fee;
99
+ asset;
100
+ time;
101
+ accountId;
102
+ counterpartyAccountId;
103
+ transactionHash;
104
+ constructor(id, type, status, amount, fee, asset, time, accountId, counterpartyAccountId, transactionHash) {
105
+ super();
106
+ this.id = id;
107
+ this.type = type;
108
+ this.status = status;
109
+ this.amount = amount;
110
+ this.fee = fee;
111
+ this.asset = asset;
112
+ this.time = time;
113
+ this.accountId = accountId;
114
+ this.counterpartyAccountId = counterpartyAccountId;
115
+ this.transactionHash = transactionHash;
116
+ }
117
+ }
118
+ exports.AssetOperationModel = AssetOperationModel;
119
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/perpetual/assets.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,4DAAiC;AACjC,0CAAwD;AAExD;;GAEG;AACH,MAAa,KAAK;IAChB,EAAE,CAAS;IACX,IAAI,CAAS;IACb,SAAS,CAAS;IAClB,MAAM,CAAU;IAChB,YAAY,CAAU;IACtB,oBAAoB,CAAS;IAC7B,oBAAoB,CAAS;IAC7B,YAAY,CAAS;IACrB,YAAY,CAAS;IAErB,YACE,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,MAAe,EACf,YAAqB,EACrB,oBAA4B,EAC5B,oBAA4B,EAC5B,YAAoB,EACpB,YAAoB;QAEpB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,mCAAmC,CACjC,QAAiB,EACjB,eAAoC;QAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,6BAA6B;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,8BAA8B,CAAC,KAAa;QAC1C,OAAO,IAAI,oBAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,mCAAmC,CAAC,EAAU;QAC5C,OAAO,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,mCAAmC,CAAC,QAAiB;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;CACF;AApED,sBAoEC;AAED;;GAEG;AACH,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IACnC,2CAAqB,CAAA;AACvB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED;;GAEG;AACH,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,mDAA2B,CAAA;IAC3B,6CAAqB,CAAA;IACrB,2DAAmC,CAAA;IACnC,+CAAuB,CAAA;AACzB,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,oBAAY;IACnD,EAAE,CAAS;IACX,IAAI,CAAqB;IACzB,MAAM,CAAuB;IAC7B,MAAM,CAAU;IAChB,GAAG,CAAU;IACb,KAAK,CAAS;IACd,IAAI,CAAS;IACb,SAAS,CAAS;IAClB,qBAAqB,CAAU;IAC/B,eAAe,CAAY;IAE3B,YACE,EAAU,EACV,IAAwB,EACxB,MAA4B,EAC5B,MAAe,EACf,GAAY,EACZ,KAAa,EACb,IAAY,EACZ,SAAiB,EACjB,qBAA8B,EAC9B,eAA0B;QAE1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AApCD,kDAoCC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Bridge models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model';
6
+ /**
7
+ * Chain config
8
+ */
9
+ export declare class ChainConfig extends X10BaseModel {
10
+ chain: string;
11
+ contractAddress: string;
12
+ constructor(chain: string, contractAddress: string);
13
+ }
14
+ /**
15
+ * Bridges config
16
+ */
17
+ export declare class BridgesConfig extends X10BaseModel {
18
+ chains: ChainConfig[];
19
+ constructor(chains: ChainConfig[]);
20
+ }
21
+ /**
22
+ * Quote model
23
+ */
24
+ export declare class Quote extends X10BaseModel {
25
+ id: string;
26
+ fee: Decimal;
27
+ constructor(id: string, fee: Decimal);
28
+ }
29
+ //# sourceMappingURL=bridges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../src/perpetual/bridges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAKnD;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,MAAM,EAAE,WAAW,EAAE,CAAC;gBAEV,MAAM,EAAE,WAAW,EAAE;CAIlC;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;gBAED,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAKrC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Bridge models
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Quote = exports.BridgesConfig = exports.ChainConfig = void 0;
7
+ const model_1 = require("../utils/model");
8
+ /**
9
+ * Chain config
10
+ */
11
+ class ChainConfig extends model_1.X10BaseModel {
12
+ chain;
13
+ contractAddress;
14
+ constructor(chain, contractAddress) {
15
+ super();
16
+ this.chain = chain;
17
+ this.contractAddress = contractAddress;
18
+ }
19
+ }
20
+ exports.ChainConfig = ChainConfig;
21
+ /**
22
+ * Bridges config
23
+ */
24
+ class BridgesConfig extends model_1.X10BaseModel {
25
+ chains;
26
+ constructor(chains) {
27
+ super();
28
+ this.chains = chains;
29
+ }
30
+ }
31
+ exports.BridgesConfig = BridgesConfig;
32
+ /**
33
+ * Quote model
34
+ */
35
+ class Quote extends model_1.X10BaseModel {
36
+ id;
37
+ fee;
38
+ constructor(id, fee) {
39
+ super();
40
+ this.id = id;
41
+ this.fee = fee;
42
+ }
43
+ }
44
+ exports.Quote = Quote;
45
+ //# sourceMappingURL=bridges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../src/perpetual/bridges.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAA8C;AAE9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,KAAK,CAAS;IACd,eAAe,CAAS;IAExB,YAAY,KAAa,EAAE,eAAuB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AATD,kCASC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,oBAAY;IAC7C,MAAM,CAAgB;IAEtB,YAAY,MAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAPD,sCAOC;AAED;;GAEG;AACH,MAAa,KAAM,SAAQ,oBAAY;IACrC,EAAE,CAAS;IACX,GAAG,CAAU;IAEb,YAAY,EAAU,EAAE,GAAY;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AATD,sBASC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Candle models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model';
6
+ /**
7
+ * Candle type
8
+ */
9
+ export type CandleType = 'trades' | 'mark-prices' | 'index-prices';
10
+ /**
11
+ * Candle interval
12
+ */
13
+ export type CandleInterval = 'PT1M' | 'PT5M' | 'PT15M' | 'PT30M' | 'PT1H' | 'PT2H' | 'PT4H' | 'P1D';
14
+ /**
15
+ * Candle model
16
+ */
17
+ export declare class CandleModel extends X10BaseModel {
18
+ open: Decimal;
19
+ low: Decimal;
20
+ high: Decimal;
21
+ close: Decimal;
22
+ volume?: Decimal;
23
+ timestamp: number;
24
+ constructor(open: Decimal, low: Decimal, high: Decimal, close: Decimal, timestamp: number, volume?: Decimal);
25
+ }
26
+ //# sourceMappingURL=candles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candles.d.ts","sourceRoot":"","sources":["../../src/perpetual/candles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpG;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;gBAGhB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO;CAUnB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * Candle models
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CandleModel = void 0;
7
+ const model_1 = require("../utils/model");
8
+ /**
9
+ * Candle model
10
+ */
11
+ class CandleModel extends model_1.X10BaseModel {
12
+ open;
13
+ low;
14
+ high;
15
+ close;
16
+ volume;
17
+ timestamp;
18
+ constructor(open, low, high, close, timestamp, volume) {
19
+ super();
20
+ this.open = open;
21
+ this.low = low;
22
+ this.high = high;
23
+ this.close = close;
24
+ this.timestamp = timestamp;
25
+ this.volume = volume;
26
+ }
27
+ }
28
+ exports.CandleModel = CandleModel;
29
+ //# sourceMappingURL=candles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candles.js","sourceRoot":"","sources":["../../src/perpetual/candles.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAA8C;AAY9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,IAAI,CAAU;IACd,GAAG,CAAU;IACb,IAAI,CAAU;IACd,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,SAAS,CAAS;IAElB,YACE,IAAa,EACb,GAAY,EACZ,IAAa,EACb,KAAc,EACd,SAAiB,EACjB,MAAgB;QAEhB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAxBD,kCAwBC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Client models
3
+ */
4
+ import { X10BaseModel } from '../utils/model';
5
+ /**
6
+ * Client model
7
+ */
8
+ export declare class ClientModel extends X10BaseModel {
9
+ id: number;
10
+ evmWalletAddress?: string;
11
+ starknetWalletAddress?: string;
12
+ referralLinkCode?: string;
13
+ constructor(id: number, evmWalletAddress?: string, starknetWalletAddress?: string, referralLinkCode?: string);
14
+ }
15
+ //# sourceMappingURL=clients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/perpetual/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAGxB,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,MAAM,EACzB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,gBAAgB,CAAC,EAAE,MAAM;CAQ5B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Client models
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClientModel = void 0;
7
+ const model_1 = require("../utils/model");
8
+ /**
9
+ * Client model
10
+ */
11
+ class ClientModel extends model_1.X10BaseModel {
12
+ id;
13
+ evmWalletAddress;
14
+ starknetWalletAddress;
15
+ referralLinkCode;
16
+ constructor(id, evmWalletAddress, starknetWalletAddress, referralLinkCode) {
17
+ super();
18
+ this.id = id;
19
+ this.evmWalletAddress = evmWalletAddress;
20
+ this.starknetWalletAddress = starknetWalletAddress;
21
+ this.referralLinkCode = referralLinkCode;
22
+ }
23
+ }
24
+ exports.ClientModel = ClientModel;
25
+ //# sourceMappingURL=clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/perpetual/clients.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0CAA8C;AAE9C;;GAEG;AACH,MAAa,WAAY,SAAQ,oBAAY;IAC3C,EAAE,CAAS;IACX,gBAAgB,CAAU;IAC1B,qBAAqB,CAAU;IAC/B,gBAAgB,CAAU;IAE1B,YACE,EAAU,EACV,gBAAyB,EACzB,qBAA8B,EAC9B,gBAAyB;QAEzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAlBD,kCAkBC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Configuration types and constants for X10 Perpetual API
3
+ */
4
+ /**
5
+ * StarkNet domain configuration
6
+ */
7
+ export declare class StarknetDomain {
8
+ name: string;
9
+ version: string;
10
+ chainId: string;
11
+ revision: string;
12
+ constructor(name: string, version: string, chainId: string, revision: string);
13
+ }
14
+ /**
15
+ * Endpoint configuration
16
+ */
17
+ export declare class EndpointConfig {
18
+ chainRpcUrl: string;
19
+ apiBaseUrl: string;
20
+ streamUrl: string;
21
+ onboardingUrl: string;
22
+ signingDomain: string;
23
+ collateralAssetContract: string;
24
+ assetOperationsContract: string;
25
+ collateralAssetOnChainId: string;
26
+ collateralDecimals: number;
27
+ collateralAssetId: string;
28
+ starknetDomain: StarknetDomain;
29
+ constructor(chainRpcUrl: string, apiBaseUrl: string, streamUrl: string, onboardingUrl: string, signingDomain: string, collateralAssetContract: string, assetOperationsContract: string, collateralAssetOnChainId: string, collateralDecimals: number, collateralAssetId: string, starknetDomain: StarknetDomain);
30
+ }
31
+ /**
32
+ * Testnet configuration
33
+ */
34
+ export declare const TESTNET_CONFIG: EndpointConfig;
35
+ /**
36
+ * Mainnet configuration
37
+ */
38
+ export declare const MAINNET_CONFIG: EndpointConfig;
39
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/perpetual/configuration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAM7E;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;gBAG7B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,EAC/B,wBAAwB,EAAE,MAAM,EAChC,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,cAAc;CAcjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAY1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,gBAY1B,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Configuration types and constants for X10 Perpetual API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MAINNET_CONFIG = exports.TESTNET_CONFIG = exports.EndpointConfig = exports.StarknetDomain = void 0;
7
+ /**
8
+ * StarkNet domain configuration
9
+ */
10
+ class StarknetDomain {
11
+ name;
12
+ version;
13
+ chainId;
14
+ revision;
15
+ constructor(name, version, chainId, revision) {
16
+ this.name = name;
17
+ this.version = version;
18
+ this.chainId = chainId;
19
+ this.revision = revision;
20
+ }
21
+ }
22
+ exports.StarknetDomain = StarknetDomain;
23
+ /**
24
+ * Endpoint configuration
25
+ */
26
+ class EndpointConfig {
27
+ chainRpcUrl;
28
+ apiBaseUrl;
29
+ streamUrl;
30
+ onboardingUrl;
31
+ signingDomain;
32
+ collateralAssetContract;
33
+ assetOperationsContract;
34
+ collateralAssetOnChainId;
35
+ collateralDecimals;
36
+ collateralAssetId;
37
+ starknetDomain;
38
+ constructor(chainRpcUrl, apiBaseUrl, streamUrl, onboardingUrl, signingDomain, collateralAssetContract, assetOperationsContract, collateralAssetOnChainId, collateralDecimals, collateralAssetId, starknetDomain) {
39
+ this.chainRpcUrl = chainRpcUrl;
40
+ this.apiBaseUrl = apiBaseUrl;
41
+ this.streamUrl = streamUrl;
42
+ this.onboardingUrl = onboardingUrl;
43
+ this.signingDomain = signingDomain;
44
+ this.collateralAssetContract = collateralAssetContract;
45
+ this.assetOperationsContract = assetOperationsContract;
46
+ this.collateralAssetOnChainId = collateralAssetOnChainId;
47
+ this.collateralDecimals = collateralDecimals;
48
+ this.collateralAssetId = collateralAssetId;
49
+ this.starknetDomain = starknetDomain;
50
+ }
51
+ }
52
+ exports.EndpointConfig = EndpointConfig;
53
+ /**
54
+ * Testnet configuration
55
+ */
56
+ exports.TESTNET_CONFIG = new EndpointConfig('https://rpc.sepolia.org', 'https://api.starknet.sepolia.extended.exchange/api/v1', 'wss://api.starknet.sepolia.extended.exchange/stream.extended.exchange/v1', 'https://api.starknet.sepolia.extended.exchange', 'starknet.sepolia.extended.exchange', '0x31857064564ed0ff978e687456963cba09c2c6985d8f9300a1de4962fafa054', '', '0x1', 6, '0x1', new StarknetDomain('Perpetuals', 'v0', 'SN_SEPOLIA', '1'));
57
+ /**
58
+ * Mainnet configuration
59
+ */
60
+ exports.MAINNET_CONFIG = new EndpointConfig('', 'https://api.starknet.extended.exchange/api/v1', 'wss://api.starknet.extended.exchange/stream.extended.exchange/v1', 'https://api.starknet.extended.exchange', 'extended.exchange', '', '', '0x1', 6, '0x1', new StarknetDomain('Perpetuals', 'v0', 'SN_MAIN', '1'));
61
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/perpetual/configuration.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,MAAa,cAAc;IACzB,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,QAAQ,CAAS;IAEjB,YAAY,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,QAAgB;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAZD,wCAYC;AAED;;GAEG;AACH,MAAa,cAAc;IACzB,WAAW,CAAS;IACpB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,uBAAuB,CAAS;IAChC,uBAAuB,CAAS;IAChC,wBAAwB,CAAS;IACjC,kBAAkB,CAAS;IAC3B,iBAAiB,CAAS;IAC1B,cAAc,CAAiB;IAE/B,YACE,WAAmB,EACnB,UAAkB,EAClB,SAAiB,EACjB,aAAqB,EACrB,aAAqB,EACrB,uBAA+B,EAC/B,uBAA+B,EAC/B,wBAAgC,EAChC,kBAA0B,EAC1B,iBAAyB,EACzB,cAA8B;QAE9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAtCD,wCAsCC;AAED;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,CAC9C,yBAAyB,EACzB,uDAAuD,EACvD,0EAA0E,EAC1E,gDAAgD,EAChD,oCAAoC,EACpC,mEAAmE,EACnE,EAAE,EACF,KAAK,EACL,CAAC,EACD,KAAK,EACL,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,CAC1D,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,CAC9C,EAAE,EACF,+CAA+C,EAC/C,kEAAkE,EAClE,wCAAwC,EACxC,mBAAmB,EACnB,EAAE,EACF,EAAE,EACF,KAAK,EACL,CAAC,EACD,KAAK,EACL,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CACvD,CAAC"}
@@ -0,0 +1,164 @@
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
+ /**
9
+ * Initialize the WASM cryptographic module
10
+ *
11
+ * **MUST be called before using any signing or hashing functions.**
12
+ * This function loads the WebAssembly module that provides fast cryptographic operations.
13
+ *
14
+ * @throws Error if WASM module cannot be loaded
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { initWasm, sign } from 'extended-typescript-sdk';
19
+ *
20
+ * async function main() {
21
+ * await initWasm(); // Initialize first!
22
+ * const [r, s] = sign(privateKey, msgHash);
23
+ * }
24
+ * ```
25
+ */
26
+ export declare function initWasm(): Promise<void>;
27
+ /**
28
+ * Sign a message hash using ECDSA
29
+ *
30
+ * This function signs a message hash using the StarkNet private key.
31
+ * Returns the signature as a tuple [r, s] where both are BigInt values.
32
+ * Compatible with Extended Exchange API.
33
+ *
34
+ * @param privateKey - StarkNet private key as BigInt
35
+ * @param msgHash - Message hash to sign as BigInt
36
+ * @returns Tuple [r, s] representing the ECDSA signature
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * await initWasm();
41
+ * const privateKey = BigInt('0x...');
42
+ * const msgHash = BigInt('0x...');
43
+ * const [r, s] = sign(privateKey, msgHash);
44
+ * ```
45
+ */
46
+ export declare function sign(privateKey: bigint, msgHash: bigint): [bigint, bigint];
47
+ /**
48
+ * Compute Pedersen hash of two field elements
49
+ *
50
+ * Pedersen hash is used extensively in StarkNet for hashing operations.
51
+ * Compatible with Extended Exchange API.
52
+ *
53
+ * @param a - First field element as BigInt
54
+ * @param b - Second field element as BigInt
55
+ * @returns Pedersen hash as BigInt
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * await initWasm();
60
+ * const hash = pedersenHash(BigInt('0x123'), BigInt('0x456'));
61
+ * ```
62
+ */
63
+ export declare function pedersenHash(a: bigint, b: bigint): bigint;
64
+ /**
65
+ * Generate StarkNet keypair from Ethereum signature
66
+ *
67
+ * Derives a StarkNet keypair from an Ethereum signature using key grinding.
68
+ * Used during account onboarding to create L2 keys from L1 Ethereum account.
69
+ * Compatible with Extended Exchange API.
70
+ *
71
+ * @param ethSignature - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
72
+ * @returns Tuple [privateKey, publicKey] as BigInt values
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * await initWasm();
77
+ * const ethSig = '0x...'; // 65-byte hex string
78
+ * const [privateKey, publicKey] = generateKeypairFromEthSignature(ethSig);
79
+ * ```
80
+ */
81
+ export declare function generateKeypairFromEthSignature(ethSignature: string): [bigint, bigint];
82
+ /**
83
+ * Generate message hash for an order
84
+ *
85
+ * Creates a structured hash for order signing compatible with Extended Exchange API.
86
+ * This hash is used to sign orders before submitting them to the exchange.
87
+ *
88
+ * @param params - Order parameters including position, assets, amounts, expiration, etc.
89
+ * @returns Message hash as BigInt that can be signed with sign()
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * await initWasm();
94
+ * const orderHash = getOrderMsgHash({
95
+ * positionId: 12345,
96
+ * baseAssetId: '0x...',
97
+ * baseAmount: '1000000',
98
+ * // ... other parameters
99
+ * });
100
+ * const [r, s] = sign(privateKey, orderHash);
101
+ * ```
102
+ */
103
+ export declare function getOrderMsgHash(params: {
104
+ positionId: number;
105
+ baseAssetId: string;
106
+ baseAmount: string;
107
+ quoteAssetId: string;
108
+ quoteAmount: string;
109
+ feeAmount: string;
110
+ feeAssetId: string;
111
+ expiration: number;
112
+ salt: number;
113
+ userPublicKey: string;
114
+ domainName: string;
115
+ domainVersion: string;
116
+ domainChainId: string;
117
+ domainRevision: string;
118
+ }): bigint;
119
+ /**
120
+ * Generate message hash for a transfer
121
+ *
122
+ * Creates a structured hash for transfer signing compatible with Extended Exchange API.
123
+ *
124
+ * @param params - Transfer parameters including sender/recipient positions, amount, etc.
125
+ * @returns Message hash as BigInt that can be signed with sign()
126
+ */
127
+ export declare function getTransferMsgHash(params: {
128
+ recipientPositionId: number;
129
+ senderPositionId: number;
130
+ amount: string;
131
+ expiration: number;
132
+ salt: string;
133
+ userPublicKey: string;
134
+ domainName: string;
135
+ domainVersion: string;
136
+ domainChainId: string;
137
+ domainRevision: string;
138
+ collateralId: string;
139
+ }): bigint;
140
+ /**
141
+ * Get withdrawal message hash
142
+ */
143
+ /**
144
+ * Generate message hash for a withdrawal
145
+ *
146
+ * Creates a structured hash for withdrawal signing compatible with Extended Exchange API.
147
+ *
148
+ * @param params - Withdrawal parameters including recipient, position, amount, etc.
149
+ * @returns Message hash as BigInt that can be signed with sign()
150
+ */
151
+ export declare function getWithdrawalMsgHash(params: {
152
+ recipientHex: string;
153
+ positionId: number;
154
+ amount: string;
155
+ expiration: number;
156
+ salt: string;
157
+ userPublicKey: string;
158
+ domainName: string;
159
+ domainVersion: string;
160
+ domainChainId: string;
161
+ domainRevision: string;
162
+ collateralId: string;
163
+ }): bigint;
164
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/perpetual/crypto/signer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAyF9C;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CActF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CA4BT;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAyBT;AAED;;GAEG;AACH;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAyBT"}