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,5 @@
1
+ import * as wasm from "./stark_crypto_wasm_bg.wasm";
2
+ export * from "./stark_crypto_wasm_bg.js";
3
+ import { __wbg_set_wasm } from "./stark_crypto_wasm_bg.js";
4
+ __wbg_set_wasm(wasm);
5
+ wasm.__wbindgen_start();
@@ -0,0 +1,63 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Initialize the WASM module
5
+ */
6
+ export function init(): void;
7
+ /**
8
+ * Sign a message hash with a private key
9
+ *
10
+ * # Arguments
11
+ * * `private_key` - Private key as hex string (e.g., "0x123...")
12
+ * * `msg_hash` - Message hash as hex string (e.g., "0x456...")
13
+ *
14
+ * # Returns
15
+ * Array of two hex strings: [r, s]
16
+ */
17
+ export function sign(private_key: string, msg_hash: string): string[];
18
+ /**
19
+ * Compute Pedersen hash of two field elements
20
+ *
21
+ * # Arguments
22
+ * * `a` - First field element as hex string
23
+ * * `b` - Second field element as hex string
24
+ *
25
+ * # Returns
26
+ * Hash result as hex string
27
+ */
28
+ export function pedersen_hash(a: string, b: string): string;
29
+ /**
30
+ * Generate Stark keypair from Ethereum signature
31
+ *
32
+ * This function derives a Stark keypair from an Ethereum signature.
33
+ * Uses the exact implementation compatible with Extended Exchange API.
34
+ *
35
+ * # Arguments
36
+ * * `eth_signature` - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
37
+ *
38
+ * # Returns
39
+ * Array of two hex strings: [private_key, public_key]
40
+ */
41
+ export function generate_keypair_from_eth_signature(eth_signature: string): string[];
42
+ /**
43
+ * Get order message hash
44
+ *
45
+ * Computes the structured hash for an order according to StarkEx protocol.
46
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
47
+ */
48
+ export function get_order_msg_hash(position_id: bigint, base_asset_id: string, base_amount: string, quote_asset_id: string, quote_amount: string, fee_amount: string, fee_asset_id: string, expiration: bigint, salt: bigint, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string): string;
49
+ /**
50
+ * Get transfer message hash
51
+ *
52
+ * Computes the structured hash for a transfer according to StarkEx protocol.
53
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
54
+ */
55
+ export function get_transfer_msg_hash(recipient_position_id: bigint, sender_position_id: bigint, amount: string, expiration: bigint, salt: string, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string, collateral_id: string): string;
56
+ /**
57
+ * Get withdrawal message hash
58
+ *
59
+ * Computes the structured hash for a withdrawal according to StarkEx protocol.
60
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
61
+ */
62
+ export function get_withdrawal_msg_hash(recipient_hex: string, position_id: bigint, amount: string, expiration: bigint, salt: string, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string, collateral_id: string): string;
63
+ export function main(): void;
@@ -0,0 +1,63 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Initialize the WASM module
5
+ */
6
+ export function init(): void;
7
+ /**
8
+ * Sign a message hash with a private key
9
+ *
10
+ * # Arguments
11
+ * * `private_key` - Private key as hex string (e.g., "0x123...")
12
+ * * `msg_hash` - Message hash as hex string (e.g., "0x456...")
13
+ *
14
+ * # Returns
15
+ * Array of two hex strings: [r, s]
16
+ */
17
+ export function sign(private_key: string, msg_hash: string): string[];
18
+ /**
19
+ * Compute Pedersen hash of two field elements
20
+ *
21
+ * # Arguments
22
+ * * `a` - First field element as hex string
23
+ * * `b` - Second field element as hex string
24
+ *
25
+ * # Returns
26
+ * Hash result as hex string
27
+ */
28
+ export function pedersen_hash(a: string, b: string): string;
29
+ /**
30
+ * Generate Stark keypair from Ethereum signature
31
+ *
32
+ * This function derives a Stark keypair from an Ethereum signature.
33
+ * Uses the exact implementation compatible with Extended Exchange API.
34
+ *
35
+ * # Arguments
36
+ * * `eth_signature` - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
37
+ *
38
+ * # Returns
39
+ * Array of two hex strings: [private_key, public_key]
40
+ */
41
+ export function generate_keypair_from_eth_signature(eth_signature: string): string[];
42
+ /**
43
+ * Get order message hash
44
+ *
45
+ * Computes the structured hash for an order according to StarkEx protocol.
46
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
47
+ */
48
+ export function get_order_msg_hash(position_id: bigint, base_asset_id: string, base_amount: string, quote_asset_id: string, quote_amount: string, fee_amount: string, fee_asset_id: string, expiration: bigint, salt: bigint, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string): string;
49
+ /**
50
+ * Get transfer message hash
51
+ *
52
+ * Computes the structured hash for a transfer according to StarkEx protocol.
53
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
54
+ */
55
+ export function get_transfer_msg_hash(recipient_position_id: bigint, sender_position_id: bigint, amount: string, expiration: bigint, salt: string, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string, collateral_id: string): string;
56
+ /**
57
+ * Get withdrawal message hash
58
+ *
59
+ * Computes the structured hash for a withdrawal according to StarkEx protocol.
60
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
61
+ */
62
+ export function get_withdrawal_msg_hash(recipient_hex: string, position_id: bigint, amount: string, expiration: bigint, salt: string, user_public_key: string, domain_name: string, domain_version: string, domain_chain_id: string, domain_revision: string, collateral_id: string): string;
63
+ export function main(): void;
@@ -0,0 +1,362 @@
1
+
2
+ let imports = {};
3
+ imports['__wbindgen_placeholder__'] = module.exports;
4
+
5
+ let cachedUint8ArrayMemory0 = null;
6
+
7
+ function getUint8ArrayMemory0() {
8
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
9
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
10
+ }
11
+ return cachedUint8ArrayMemory0;
12
+ }
13
+
14
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
15
+
16
+ cachedTextDecoder.decode();
17
+
18
+ function decodeText(ptr, len) {
19
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
20
+ }
21
+
22
+ function getStringFromWasm0(ptr, len) {
23
+ ptr = ptr >>> 0;
24
+ return decodeText(ptr, len);
25
+ }
26
+ /**
27
+ * Initialize the WASM module
28
+ */
29
+ exports.init = function() {
30
+ wasm.main();
31
+ };
32
+
33
+ let WASM_VECTOR_LEN = 0;
34
+
35
+ const cachedTextEncoder = new TextEncoder();
36
+
37
+ if (!('encodeInto' in cachedTextEncoder)) {
38
+ cachedTextEncoder.encodeInto = function (arg, view) {
39
+ const buf = cachedTextEncoder.encode(arg);
40
+ view.set(buf);
41
+ return {
42
+ read: arg.length,
43
+ written: buf.length
44
+ };
45
+ }
46
+ }
47
+
48
+ function passStringToWasm0(arg, malloc, realloc) {
49
+
50
+ if (realloc === undefined) {
51
+ const buf = cachedTextEncoder.encode(arg);
52
+ const ptr = malloc(buf.length, 1) >>> 0;
53
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
54
+ WASM_VECTOR_LEN = buf.length;
55
+ return ptr;
56
+ }
57
+
58
+ let len = arg.length;
59
+ let ptr = malloc(len, 1) >>> 0;
60
+
61
+ const mem = getUint8ArrayMemory0();
62
+
63
+ let offset = 0;
64
+
65
+ for (; offset < len; offset++) {
66
+ const code = arg.charCodeAt(offset);
67
+ if (code > 0x7F) break;
68
+ mem[ptr + offset] = code;
69
+ }
70
+
71
+ if (offset !== len) {
72
+ if (offset !== 0) {
73
+ arg = arg.slice(offset);
74
+ }
75
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
76
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
77
+ const ret = cachedTextEncoder.encodeInto(arg, view);
78
+
79
+ offset += ret.written;
80
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
81
+ }
82
+
83
+ WASM_VECTOR_LEN = offset;
84
+ return ptr;
85
+ }
86
+
87
+ let cachedDataViewMemory0 = null;
88
+
89
+ function getDataViewMemory0() {
90
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
91
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
92
+ }
93
+ return cachedDataViewMemory0;
94
+ }
95
+
96
+ function getArrayJsValueFromWasm0(ptr, len) {
97
+ ptr = ptr >>> 0;
98
+ const mem = getDataViewMemory0();
99
+ const result = [];
100
+ for (let i = ptr; i < ptr + 4 * len; i += 4) {
101
+ result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));
102
+ }
103
+ wasm.__externref_drop_slice(ptr, len);
104
+ return result;
105
+ }
106
+ /**
107
+ * Sign a message hash with a private key
108
+ *
109
+ * # Arguments
110
+ * * `private_key` - Private key as hex string (e.g., "0x123...")
111
+ * * `msg_hash` - Message hash as hex string (e.g., "0x456...")
112
+ *
113
+ * # Returns
114
+ * Array of two hex strings: [r, s]
115
+ * @param {string} private_key
116
+ * @param {string} msg_hash
117
+ * @returns {string[]}
118
+ */
119
+ exports.sign = function(private_key, msg_hash) {
120
+ const ptr0 = passStringToWasm0(private_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
121
+ const len0 = WASM_VECTOR_LEN;
122
+ const ptr1 = passStringToWasm0(msg_hash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
123
+ const len1 = WASM_VECTOR_LEN;
124
+ const ret = wasm.sign(ptr0, len0, ptr1, len1);
125
+ var v3 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
126
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
127
+ return v3;
128
+ };
129
+
130
+ /**
131
+ * Compute Pedersen hash of two field elements
132
+ *
133
+ * # Arguments
134
+ * * `a` - First field element as hex string
135
+ * * `b` - Second field element as hex string
136
+ *
137
+ * # Returns
138
+ * Hash result as hex string
139
+ * @param {string} a
140
+ * @param {string} b
141
+ * @returns {string}
142
+ */
143
+ exports.pedersen_hash = function(a, b) {
144
+ let deferred3_0;
145
+ let deferred3_1;
146
+ try {
147
+ const ptr0 = passStringToWasm0(a, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
148
+ const len0 = WASM_VECTOR_LEN;
149
+ const ptr1 = passStringToWasm0(b, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
150
+ const len1 = WASM_VECTOR_LEN;
151
+ const ret = wasm.pedersen_hash(ptr0, len0, ptr1, len1);
152
+ deferred3_0 = ret[0];
153
+ deferred3_1 = ret[1];
154
+ return getStringFromWasm0(ret[0], ret[1]);
155
+ } finally {
156
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
157
+ }
158
+ };
159
+
160
+ /**
161
+ * Generate Stark keypair from Ethereum signature
162
+ *
163
+ * This function derives a Stark keypair from an Ethereum signature.
164
+ * Uses the exact implementation compatible with Extended Exchange API.
165
+ *
166
+ * # Arguments
167
+ * * `eth_signature` - Ethereum signature as hex string (65 bytes: r(32) + s(32) + v(1))
168
+ *
169
+ * # Returns
170
+ * Array of two hex strings: [private_key, public_key]
171
+ * @param {string} eth_signature
172
+ * @returns {string[]}
173
+ */
174
+ exports.generate_keypair_from_eth_signature = function(eth_signature) {
175
+ const ptr0 = passStringToWasm0(eth_signature, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
176
+ const len0 = WASM_VECTOR_LEN;
177
+ const ret = wasm.generate_keypair_from_eth_signature(ptr0, len0);
178
+ var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
179
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
180
+ return v2;
181
+ };
182
+
183
+ /**
184
+ * Get order message hash
185
+ *
186
+ * Computes the structured hash for an order according to StarkEx protocol.
187
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
188
+ * @param {bigint} position_id
189
+ * @param {string} base_asset_id
190
+ * @param {string} base_amount
191
+ * @param {string} quote_asset_id
192
+ * @param {string} quote_amount
193
+ * @param {string} fee_amount
194
+ * @param {string} fee_asset_id
195
+ * @param {bigint} expiration
196
+ * @param {bigint} salt
197
+ * @param {string} user_public_key
198
+ * @param {string} domain_name
199
+ * @param {string} domain_version
200
+ * @param {string} domain_chain_id
201
+ * @param {string} domain_revision
202
+ * @returns {string}
203
+ */
204
+ exports.get_order_msg_hash = function(position_id, base_asset_id, base_amount, quote_asset_id, quote_amount, fee_amount, fee_asset_id, expiration, salt, user_public_key, domain_name, domain_version, domain_chain_id, domain_revision) {
205
+ let deferred12_0;
206
+ let deferred12_1;
207
+ try {
208
+ const ptr0 = passStringToWasm0(base_asset_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
209
+ const len0 = WASM_VECTOR_LEN;
210
+ const ptr1 = passStringToWasm0(base_amount, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
211
+ const len1 = WASM_VECTOR_LEN;
212
+ const ptr2 = passStringToWasm0(quote_asset_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
213
+ const len2 = WASM_VECTOR_LEN;
214
+ const ptr3 = passStringToWasm0(quote_amount, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
215
+ const len3 = WASM_VECTOR_LEN;
216
+ const ptr4 = passStringToWasm0(fee_amount, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
217
+ const len4 = WASM_VECTOR_LEN;
218
+ const ptr5 = passStringToWasm0(fee_asset_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
219
+ const len5 = WASM_VECTOR_LEN;
220
+ const ptr6 = passStringToWasm0(user_public_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
221
+ const len6 = WASM_VECTOR_LEN;
222
+ const ptr7 = passStringToWasm0(domain_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
223
+ const len7 = WASM_VECTOR_LEN;
224
+ const ptr8 = passStringToWasm0(domain_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
225
+ const len8 = WASM_VECTOR_LEN;
226
+ const ptr9 = passStringToWasm0(domain_chain_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
227
+ const len9 = WASM_VECTOR_LEN;
228
+ const ptr10 = passStringToWasm0(domain_revision, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
229
+ const len10 = WASM_VECTOR_LEN;
230
+ const ret = wasm.get_order_msg_hash(position_id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, expiration, salt, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, ptr10, len10);
231
+ deferred12_0 = ret[0];
232
+ deferred12_1 = ret[1];
233
+ return getStringFromWasm0(ret[0], ret[1]);
234
+ } finally {
235
+ wasm.__wbindgen_free(deferred12_0, deferred12_1, 1);
236
+ }
237
+ };
238
+
239
+ /**
240
+ * Get transfer message hash
241
+ *
242
+ * Computes the structured hash for a transfer according to StarkEx protocol.
243
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
244
+ * @param {bigint} recipient_position_id
245
+ * @param {bigint} sender_position_id
246
+ * @param {string} amount
247
+ * @param {bigint} expiration
248
+ * @param {string} salt
249
+ * @param {string} user_public_key
250
+ * @param {string} domain_name
251
+ * @param {string} domain_version
252
+ * @param {string} domain_chain_id
253
+ * @param {string} domain_revision
254
+ * @param {string} collateral_id
255
+ * @returns {string}
256
+ */
257
+ exports.get_transfer_msg_hash = function(recipient_position_id, sender_position_id, amount, expiration, salt, user_public_key, domain_name, domain_version, domain_chain_id, domain_revision, collateral_id) {
258
+ let deferred9_0;
259
+ let deferred9_1;
260
+ try {
261
+ const ptr0 = passStringToWasm0(amount, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
262
+ const len0 = WASM_VECTOR_LEN;
263
+ const ptr1 = passStringToWasm0(salt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
264
+ const len1 = WASM_VECTOR_LEN;
265
+ const ptr2 = passStringToWasm0(user_public_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
266
+ const len2 = WASM_VECTOR_LEN;
267
+ const ptr3 = passStringToWasm0(domain_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
268
+ const len3 = WASM_VECTOR_LEN;
269
+ const ptr4 = passStringToWasm0(domain_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
270
+ const len4 = WASM_VECTOR_LEN;
271
+ const ptr5 = passStringToWasm0(domain_chain_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
272
+ const len5 = WASM_VECTOR_LEN;
273
+ const ptr6 = passStringToWasm0(domain_revision, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
274
+ const len6 = WASM_VECTOR_LEN;
275
+ const ptr7 = passStringToWasm0(collateral_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
276
+ const len7 = WASM_VECTOR_LEN;
277
+ const ret = wasm.get_transfer_msg_hash(recipient_position_id, sender_position_id, ptr0, len0, expiration, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7);
278
+ deferred9_0 = ret[0];
279
+ deferred9_1 = ret[1];
280
+ return getStringFromWasm0(ret[0], ret[1]);
281
+ } finally {
282
+ wasm.__wbindgen_free(deferred9_0, deferred9_1, 1);
283
+ }
284
+ };
285
+
286
+ /**
287
+ * Get withdrawal message hash
288
+ *
289
+ * Computes the structured hash for a withdrawal according to StarkEx protocol.
290
+ * Reimplements exact logic from rust-crypto-lib-base using WASM-compatible types.
291
+ * @param {string} recipient_hex
292
+ * @param {bigint} position_id
293
+ * @param {string} amount
294
+ * @param {bigint} expiration
295
+ * @param {string} salt
296
+ * @param {string} user_public_key
297
+ * @param {string} domain_name
298
+ * @param {string} domain_version
299
+ * @param {string} domain_chain_id
300
+ * @param {string} domain_revision
301
+ * @param {string} collateral_id
302
+ * @returns {string}
303
+ */
304
+ exports.get_withdrawal_msg_hash = function(recipient_hex, position_id, amount, expiration, salt, user_public_key, domain_name, domain_version, domain_chain_id, domain_revision, collateral_id) {
305
+ let deferred10_0;
306
+ let deferred10_1;
307
+ try {
308
+ const ptr0 = passStringToWasm0(recipient_hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
309
+ const len0 = WASM_VECTOR_LEN;
310
+ const ptr1 = passStringToWasm0(amount, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
311
+ const len1 = WASM_VECTOR_LEN;
312
+ const ptr2 = passStringToWasm0(salt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
313
+ const len2 = WASM_VECTOR_LEN;
314
+ const ptr3 = passStringToWasm0(user_public_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
315
+ const len3 = WASM_VECTOR_LEN;
316
+ const ptr4 = passStringToWasm0(domain_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
317
+ const len4 = WASM_VECTOR_LEN;
318
+ const ptr5 = passStringToWasm0(domain_version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
319
+ const len5 = WASM_VECTOR_LEN;
320
+ const ptr6 = passStringToWasm0(domain_chain_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
321
+ const len6 = WASM_VECTOR_LEN;
322
+ const ptr7 = passStringToWasm0(domain_revision, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
323
+ const len7 = WASM_VECTOR_LEN;
324
+ const ptr8 = passStringToWasm0(collateral_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
325
+ const len8 = WASM_VECTOR_LEN;
326
+ const ret = wasm.get_withdrawal_msg_hash(ptr0, len0, position_id, ptr1, len1, expiration, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8);
327
+ deferred10_0 = ret[0];
328
+ deferred10_1 = ret[1];
329
+ return getStringFromWasm0(ret[0], ret[1]);
330
+ } finally {
331
+ wasm.__wbindgen_free(deferred10_0, deferred10_1, 1);
332
+ }
333
+ };
334
+
335
+ exports.main = function() {
336
+ wasm.main();
337
+ };
338
+
339
+ exports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
340
+ // Cast intrinsic for `Ref(String) -> Externref`.
341
+ const ret = getStringFromWasm0(arg0, arg1);
342
+ return ret;
343
+ };
344
+
345
+ exports.__wbindgen_init_externref_table = function() {
346
+ const table = wasm.__wbindgen_externrefs;
347
+ const offset = table.grow(4);
348
+ table.set(0, undefined);
349
+ table.set(offset + 0, undefined);
350
+ table.set(offset + 1, null);
351
+ table.set(offset + 2, true);
352
+ table.set(offset + 3, false);
353
+ ;
354
+ };
355
+
356
+ const wasmPath = `${__dirname}/stark_crypto_wasm_bg.wasm`;
357
+ const wasmBytes = require('fs').readFileSync(wasmPath);
358
+ const wasmModule = new WebAssembly.Module(wasmBytes);
359
+ const wasm = exports.__wasm = new WebAssembly.Instance(wasmModule, imports).exports;
360
+
361
+ wasm.__wbindgen_start();
362
+
Binary file