@lifi/perps-sdk-provider-lighter 37.0.0 → 38.0.0

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 (133) hide show
  1. package/dist/cjs/LighterProvider.d.ts +0 -1
  2. package/dist/cjs/LighterProvider.d.ts.map +1 -1
  3. package/dist/cjs/LighterProvider.js +8 -8
  4. package/dist/cjs/LighterProvider.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/signers/LighterSigner.d.ts +16 -20
  9. package/dist/cjs/signers/LighterSigner.d.ts.map +1 -1
  10. package/dist/cjs/signers/LighterSigner.js +287 -170
  11. package/dist/cjs/signers/LighterSigner.js.map +1 -1
  12. package/dist/cjs/signers/createAuthToken.d.ts +0 -2
  13. package/dist/cjs/signers/createAuthToken.d.ts.map +1 -1
  14. package/dist/cjs/signers/createAuthToken.js +1 -5
  15. package/dist/cjs/signers/createAuthToken.js.map +1 -1
  16. package/dist/cjs/signers/generated/wasmExecRuntime.d.ts.map +1 -1
  17. package/dist/cjs/signers/generated/wasmExecRuntime.js +13 -1
  18. package/dist/cjs/signers/generated/wasmExecRuntime.js.map +1 -1
  19. package/dist/cjs/signers/signActions.d.ts.map +1 -1
  20. package/dist/cjs/signers/signActions.js +19 -25
  21. package/dist/cjs/signers/signActions.js.map +1 -1
  22. package/dist/cjs/signers/wasmLoader.d.ts +40 -36
  23. package/dist/cjs/signers/wasmLoader.d.ts.map +1 -1
  24. package/dist/cjs/signers/wasmLoader.js +50 -15
  25. package/dist/cjs/signers/wasmLoader.js.map +1 -1
  26. package/dist/cjs/types/action.d.ts +2 -2
  27. package/dist/cjs/types/action.d.ts.map +1 -1
  28. package/dist/cjs/types/action.js.map +1 -1
  29. package/dist/cjs/types/activity.d.ts.map +1 -1
  30. package/dist/cjs/types/fill.d.ts +5 -0
  31. package/dist/cjs/types/fill.d.ts.map +1 -1
  32. package/dist/cjs/types/ws.d.ts.map +1 -1
  33. package/dist/cjs/utils/fundingRate.d.ts +2 -0
  34. package/dist/cjs/utils/fundingRate.d.ts.map +1 -0
  35. package/dist/cjs/utils/fundingRate.js +8 -0
  36. package/dist/cjs/utils/fundingRate.js.map +1 -0
  37. package/dist/cjs/utils/mapFill.js +2 -2
  38. package/dist/cjs/utils/mapFill.js.map +1 -1
  39. package/dist/cjs/utils/mapMarketContext.d.ts.map +1 -1
  40. package/dist/cjs/utils/mapMarketContext.js +13 -4
  41. package/dist/cjs/utils/mapMarketContext.js.map +1 -1
  42. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  43. package/dist/cjs/utils/mapOrder.js +6 -5
  44. package/dist/cjs/utils/mapOrder.js.map +1 -1
  45. package/dist/esm/LighterProvider.d.ts +1 -3
  46. package/dist/esm/LighterProvider.d.ts.map +1 -1
  47. package/dist/esm/LighterProvider.js +11 -9
  48. package/dist/esm/LighterProvider.js.map +1 -1
  49. package/dist/esm/index.d.ts +1 -1
  50. package/dist/esm/index.d.ts.map +1 -1
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/signers/LighterSigner.d.ts +47 -94
  53. package/dist/esm/signers/LighterSigner.d.ts.map +1 -1
  54. package/dist/esm/signers/LighterSigner.js +327 -255
  55. package/dist/esm/signers/LighterSigner.js.map +1 -1
  56. package/dist/esm/signers/createAuthToken.d.ts +5 -12
  57. package/dist/esm/signers/createAuthToken.d.ts.map +1 -1
  58. package/dist/esm/signers/createAuthToken.js +5 -8
  59. package/dist/esm/signers/createAuthToken.js.map +1 -1
  60. package/dist/esm/signers/generated/wasmExecRuntime.d.ts.map +1 -1
  61. package/dist/esm/signers/generated/wasmExecRuntime.js +13 -1
  62. package/dist/esm/signers/generated/wasmExecRuntime.js.map +1 -1
  63. package/dist/esm/signers/signActions.d.ts.map +1 -1
  64. package/dist/esm/signers/signActions.js +27 -40
  65. package/dist/esm/signers/signActions.js.map +1 -1
  66. package/dist/esm/signers/wasmLoader.d.ts +86 -117
  67. package/dist/esm/signers/wasmLoader.d.ts.map +1 -1
  68. package/dist/esm/signers/wasmLoader.js +59 -17
  69. package/dist/esm/signers/wasmLoader.js.map +1 -1
  70. package/dist/esm/types/action.d.ts +4 -2
  71. package/dist/esm/types/action.d.ts.map +1 -1
  72. package/dist/esm/types/action.js.map +1 -1
  73. package/dist/esm/types/activity.d.ts +1 -0
  74. package/dist/esm/types/activity.d.ts.map +1 -1
  75. package/dist/esm/types/fill.d.ts +5 -0
  76. package/dist/esm/types/fill.d.ts.map +1 -1
  77. package/dist/esm/types/ws.d.ts +2 -0
  78. package/dist/esm/types/ws.d.ts.map +1 -1
  79. package/dist/esm/utils/fundingRate.d.ts +8 -0
  80. package/dist/esm/utils/fundingRate.d.ts.map +1 -0
  81. package/dist/esm/utils/fundingRate.js +10 -0
  82. package/dist/esm/utils/fundingRate.js.map +1 -0
  83. package/dist/esm/utils/mapFill.js +2 -2
  84. package/dist/esm/utils/mapFill.js.map +1 -1
  85. package/dist/esm/utils/mapMarketContext.d.ts +2 -1
  86. package/dist/esm/utils/mapMarketContext.d.ts.map +1 -1
  87. package/dist/esm/utils/mapMarketContext.js +15 -5
  88. package/dist/esm/utils/mapMarketContext.js.map +1 -1
  89. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  90. package/dist/esm/utils/mapOrder.js +7 -5
  91. package/dist/esm/utils/mapOrder.js.map +1 -1
  92. package/dist/types/LighterProvider.d.ts +1 -3
  93. package/dist/types/LighterProvider.d.ts.map +1 -1
  94. package/dist/types/index.d.ts +1 -1
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/types/signers/LighterSigner.d.ts +47 -94
  97. package/dist/types/signers/LighterSigner.d.ts.map +1 -1
  98. package/dist/types/signers/createAuthToken.d.ts +5 -12
  99. package/dist/types/signers/createAuthToken.d.ts.map +1 -1
  100. package/dist/types/signers/generated/wasmExecRuntime.d.ts.map +1 -1
  101. package/dist/types/signers/signActions.d.ts.map +1 -1
  102. package/dist/types/signers/wasmLoader.d.ts +86 -117
  103. package/dist/types/signers/wasmLoader.d.ts.map +1 -1
  104. package/dist/types/types/action.d.ts +4 -2
  105. package/dist/types/types/action.d.ts.map +1 -1
  106. package/dist/types/types/activity.d.ts +1 -0
  107. package/dist/types/types/activity.d.ts.map +1 -1
  108. package/dist/types/types/fill.d.ts +5 -0
  109. package/dist/types/types/fill.d.ts.map +1 -1
  110. package/dist/types/types/ws.d.ts +2 -0
  111. package/dist/types/types/ws.d.ts.map +1 -1
  112. package/dist/types/utils/fundingRate.d.ts +8 -0
  113. package/dist/types/utils/fundingRate.d.ts.map +1 -0
  114. package/dist/types/utils/mapMarketContext.d.ts +2 -1
  115. package/dist/types/utils/mapMarketContext.d.ts.map +1 -1
  116. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  117. package/dist/wasm/lighter-signer.wasm +0 -0
  118. package/package.json +2 -2
  119. package/src/LighterProvider.ts +13 -13
  120. package/src/index.ts +10 -1
  121. package/src/signers/LighterSigner.ts +447 -499
  122. package/src/signers/createAuthToken.ts +6 -17
  123. package/src/signers/generated/wasmExecRuntime.ts +15 -1
  124. package/src/signers/signActions.ts +42 -58
  125. package/src/signers/wasmLoader.ts +286 -136
  126. package/src/types/action.ts +4 -2
  127. package/src/types/activity.ts +1 -0
  128. package/src/types/fill.ts +5 -0
  129. package/src/types/ws.ts +2 -0
  130. package/src/utils/fundingRate.ts +12 -0
  131. package/src/utils/mapFill.ts +2 -2
  132. package/src/utils/mapMarketContext.ts +18 -5
  133. package/src/utils/mapOrder.ts +8 -5
@@ -1,33 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LighterSigner = void 0;
4
+ exports.createSignerSeed = createSignerSeed;
4
5
  const perps_sdk_1 = require("@lifi/perps-sdk");
5
6
  const perps_types_1 = require("@lifi/perps-types");
6
7
  const action_js_1 = require("../types/action.js");
7
8
  const assetCollateral_js_1 = require("../utils/assetCollateral.js");
8
9
  const wasmLoader_js_1 = require("./wasmLoader.js");
10
+ const TX_TYPE_BY_ACTION = {
11
+ [perps_types_1.ActionType.REGISTER_API_KEY]: 8,
12
+ [perps_types_1.ActionType.TRANSFER]: 12,
13
+ [perps_types_1.ActionType.SEND_ASSET]: 12,
14
+ [perps_types_1.ActionType.WITHDRAWAL]: 13,
15
+ [perps_types_1.ActionType.PLACE_ORDER]: 14,
16
+ [perps_types_1.ActionType.PLACE_TRIGGER_ORDER]: 14,
17
+ [perps_types_1.ActionType.PLACE_TWAP_ORDER]: 14,
18
+ [perps_types_1.ActionType.CANCEL_ORDER]: 15,
19
+ [perps_types_1.ActionType.CANCEL_TWAP_ORDER]: 15,
20
+ [perps_types_1.ActionType.CANCEL_ALL_ORDERS]: 16,
21
+ [perps_types_1.ActionType.MODIFY_ORDER]: 17,
22
+ [perps_types_1.ActionType.UPDATE_LEVERAGE]: 20,
23
+ [perps_types_1.ActionType.UPDATE_POSITION_MARGIN]: 29,
24
+ [perps_types_1.ActionType.ACCOUNT_MODE]: 41,
25
+ [perps_types_1.ActionType.UPDATE_ASSET_COLLATERAL]: 42,
26
+ [perps_types_1.ActionType.APPROVE_INTEGRATOR]: 45,
27
+ [perps_types_1.ActionType.REVOKE_INTEGRATOR]: 45,
28
+ };
9
29
  const NIL_INTEGRATOR_INDEX = 0;
10
30
  const NIL_INTEGRATOR_TAKER_FEE = 0;
11
31
  const NIL_INTEGRATOR_MAKER_FEE = 0;
12
- const SELF_TRADE_BEHAVIOR_EXPIRE_MAKER = 0;
13
- const SELF_TRADE_EQUALITY_ACCOUNT_INDEX = 0;
14
- const SKIP_NONCE_DISABLED = 0;
15
- const NIL_ORDER_VERSION = 0;
16
32
  const NIL_MARKET_INDEX = 255;
17
33
  const SEND_ASSET_NO_FEE = 0;
18
- const SEND_ASSET_ZERO_MEMO = `0x${'0'.repeat(64)}`;
34
+ const ZERO_MEMO = new Array(32).fill(0);
35
+ const NO_L1_SIGNATURE = '';
36
+ const CLIENT_CREATION_NONCE = 0;
37
+ const SIGNER_SEED_BYTES = 32;
38
+ const INT64_MIN = -(2n ** 63n);
39
+ const INT64_MAX = 2n ** 63n - 1n;
19
40
  const LIGHTER_ROUTE_BY_DEX = {
20
41
  perps: action_js_1.LT_ROUTE_PERP,
21
42
  spot: action_js_1.LT_ROUTE_SPOT,
22
43
  };
44
+ const runtimeStates = new WeakMap();
45
+ function runtimeStateOf(wasm) {
46
+ let state = runtimeStates.get(wasm);
47
+ if (!state) {
48
+ state = { clientByAccount: new Map(), queue: Promise.resolve() };
49
+ runtimeStates.set(wasm, state);
50
+ }
51
+ return state;
52
+ }
53
+ function createSignerSeed() {
54
+ const bytes = globalThis.crypto.getRandomValues(new Uint8Array(SIGNER_SEED_BYTES));
55
+ return `0x${Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('')}`;
56
+ }
23
57
  class LighterSigner {
24
- apiUrl;
25
58
  chainId;
26
59
  collateralAssetIndex;
27
60
  wasm;
28
- registeredClients = new Set();
29
61
  constructor(config) {
30
- this.apiUrl = config.apiUrl;
31
62
  this.chainId = config.signerChainId;
32
63
  this.collateralAssetIndex = config.collateralAssetIndex;
33
64
  }
@@ -36,173 +67,192 @@ class LighterSigner {
36
67
  this.wasm = await (0, wasmLoader_js_1.loadLighterWasm)();
37
68
  }
38
69
  }
39
- async generateAPIKey() {
70
+ async createApiKey(slot, nonce, skipNonce) {
40
71
  const wasm = await this.ensureLoaded();
41
- const result = wasm.GenerateAPIKey();
42
- if (result.error) {
43
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter GenerateAPIKey failed: ${result.error}`);
44
- }
45
- if (!result.publicKey || !result.privateKey) {
46
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Lighter GenerateAPIKey returned an incomplete result');
47
- }
48
- return { publicKey: result.publicKey, privateKey: result.privateKey };
72
+ return this.exclusive(wasm, async () => {
73
+ const client = await (0, wasmLoader_js_1.callLighterWasm)('createClient', wasm._createClient(createSignerSeed(), this.chainId, slot.accountIndex, nonce, slot.apiKeyIndex, skipNonce));
74
+ const privateKey = `0x${client.prv}`;
75
+ runtimeStateOf(wasm).clientByAccount.set(slot.accountIndex, this.clientKey({ ...slot, apiKeyPrivateKey: privateKey }, skipNonce));
76
+ return {
77
+ publicKey: `0x${client.pk}`,
78
+ privateKey,
79
+ messageToSign: l1BodyOf('createClient', client),
80
+ };
81
+ });
49
82
  }
50
- async sign(action, wasmSignParams, context) {
51
- if (action === perps_types_1.ActionType.REGISTER_API_KEY) {
52
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, 'Use signChangePubKey() for REGISTER_API_KEY — the L1 eth_sign hop ' +
53
- 'must be coordinated by the caller.');
54
- }
55
- if (action === perps_types_1.ActionType.APPROVE_INTEGRATOR) {
56
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, 'Use signApproveIntegrator() for APPROVE_INTEGRATOR — sign() does ' +
57
- 'not collect the required L1 user wallet signature.');
58
- }
59
- if (action === perps_types_1.ActionType.TRANSFER) {
60
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, 'Use signTransfer() for TRANSFER — sign() does not collect the ' +
61
- 'required L1 user wallet signature.');
62
- }
63
- if (action === perps_types_1.ActionType.REVOKE_INTEGRATOR) {
64
- return this.signRevokeIntegrator(wasmSignParams, context);
65
- }
66
- const wasm = await this.ensureLoaded();
67
- await this.ensureClient(context);
68
- const result = this.dispatch(wasm, action, wasmSignParams, context);
69
- return unwrap(result, action);
83
+ async signChangePubKey(context, nonce, skipNonce, l1Signature) {
84
+ return this.signWith(perps_types_1.ActionType.REGISTER_API_KEY, context, skipNonce, (wasm) => wasm._signChangePubKey(context.accountIndex, l1Signature, nonce, context.apiKeyIndex));
70
85
  }
71
- async signRevokeIntegrator(p, ctx) {
72
- const integratorAccountIndex = numberField(p, 'integrator_account_index');
73
- const maxPerpsTakerFee = revokeIntegratorZeroField(p, 'max_perps_taker_fee');
74
- const maxPerpsMakerFee = revokeIntegratorZeroField(p, 'max_perps_maker_fee');
75
- const maxSpotTakerFee = revokeIntegratorZeroField(p, 'max_spot_taker_fee');
76
- const maxSpotMakerFee = revokeIntegratorZeroField(p, 'max_spot_maker_fee');
77
- const approvalExpiry = revokeIntegratorZeroField(p, 'approval_expiry');
86
+ async getL1Message(action, p, context) {
78
87
  const nonce = numberField(p, 'nonce');
79
- const wasm = await this.ensureLoaded();
80
- await this.ensureClient(ctx);
81
- return unwrap(wasm.SignApproveIntegrator(integratorAccountIndex, maxPerpsTakerFee, maxPerpsMakerFee, maxSpotTakerFee, maxSpotMakerFee, approvalExpiry, SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex), perps_types_1.ActionType.REVOKE_INTEGRATOR);
82
- }
83
- async signChangePubKey(pubKeyHex, privateKey, nonce, apiKeyIndex, accountIndex, skipNonce = 0) {
84
- const wasm = await this.ensureLoaded();
85
- await this.ensureClient({
86
- apiKeyPrivateKey: privateKey,
87
- apiKeyIndex,
88
- accountIndex,
89
- });
90
- const result = wasm.SignChangePubKey(pubKeyHex, skipNonce, nonce, apiKeyIndex, accountIndex);
91
- if (result.error) {
92
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter SignChangePubKey failed: ${result.error}`);
88
+ let label;
89
+ let call;
90
+ if (action === perps_types_1.ActionType.TRANSFER) {
91
+ const args = this.transferArgs(p);
92
+ label = 'getTransferTransaction';
93
+ call = (wasm) => wasm._getTransferTransaction(context.accountIndex, nonce, context.apiKeyIndex, ...args);
93
94
  }
94
- if (result.txType === undefined ||
95
- result.txInfo === undefined ||
96
- result.txHash === undefined ||
97
- !result.messageToSign) {
98
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Lighter SignChangePubKey returned incomplete result');
95
+ else {
96
+ const args = approveIntegratorArgs(p);
97
+ label = 'getApproveIntegratorTransaction';
98
+ call = (wasm) => wasm._getApproveIntegratorTransaction(context.accountIndex, nonce, context.apiKeyIndex, ...args);
99
99
  }
100
- return {
101
- txType: result.txType,
102
- txInfo: result.txInfo,
103
- txHash: result.txHash,
104
- messageToSign: result.messageToSign,
105
- };
106
- }
107
- async signApproveIntegrator(wasmSignParams, context) {
108
100
  const wasm = await this.ensureLoaded();
109
- await this.ensureClient(context);
110
- const result = this.dispatch(wasm, perps_types_1.ActionType.APPROVE_INTEGRATOR, wasmSignParams, context);
111
- if (result.error) {
112
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter SignApproveIntegrator failed: ${result.error}`);
113
- }
114
- if (result.txType === undefined ||
115
- result.txInfo === undefined ||
116
- result.txHash === undefined ||
117
- !result.messageToSign) {
118
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Lighter SignApproveIntegrator returned an incomplete result');
119
- }
120
- return {
121
- txType: result.txType,
122
- txInfo: result.txInfo,
123
- txHash: result.txHash,
124
- messageToSign: result.messageToSign,
125
- };
101
+ return this.exclusive(wasm, async () => {
102
+ await this.ensureClient(wasm, context, false);
103
+ return l1BodyOf(label, await (0, wasmLoader_js_1.callLighterWasm)(label, call(wasm)));
104
+ });
126
105
  }
127
- async signTransfer(wasmSignParams, context) {
128
- const wasm = await this.ensureLoaded();
129
- await this.ensureClient(context);
130
- const result = this.dispatch(wasm, perps_types_1.ActionType.TRANSFER, wasmSignParams, context);
131
- if (result.error) {
132
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter SignTransfer failed: ${result.error}`);
133
- }
134
- if (result.txType === undefined ||
135
- result.txInfo === undefined ||
136
- result.txHash === undefined ||
137
- !result.messageToSign) {
138
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Lighter SignTransfer returned an incomplete result');
106
+ async signL1Countersigned(action, p, context, l1Signature) {
107
+ const nonce = numberField(p, 'nonce');
108
+ if (action === perps_types_1.ActionType.TRANSFER) {
109
+ const args = this.transferArgs(p);
110
+ return this.signWith(action, context, false, (wasm) => wasm._signTransfer(context.accountIndex, l1Signature, nonce, context.apiKeyIndex, ...args));
139
111
  }
140
- return {
141
- txType: result.txType,
142
- txInfo: result.txInfo,
143
- txHash: result.txHash,
144
- messageToSign: result.messageToSign,
145
- };
112
+ const args = approveIntegratorArgs(p);
113
+ return this.signWith(action, context, false, (wasm) => wasm._signApproveIntegrator(context.accountIndex, l1Signature, nonce, context.apiKeyIndex, ...args));
146
114
  }
147
- embedL1Signature(txInfo, l1Signature) {
148
- let parsed;
149
- try {
150
- parsed = JSON.parse(txInfo);
151
- }
152
- catch (err) {
153
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Failed to parse signed txInfo as JSON: ${err.message}`);
115
+ async sign(action, wasmSignParams, context) {
116
+ if (action === perps_types_1.ActionType.REGISTER_API_KEY ||
117
+ action === perps_types_1.ActionType.APPROVE_INTEGRATOR ||
118
+ action === perps_types_1.ActionType.TRANSFER) {
119
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter ${action} needs the user's L1 signature — sign() does not ` +
120
+ 'collect it.');
154
121
  }
155
- parsed.L1Sig = l1Signature;
156
- return JSON.stringify(parsed);
122
+ return this.signWith(action, context, false, this.dispatch(action, wasmSignParams, context));
157
123
  }
158
- async createAuthToken(deadline, context) {
124
+ async createAuthToken(context) {
159
125
  const wasm = await this.ensureLoaded();
160
- await this.ensureClient(context);
161
- const result = wasm.CreateAuthToken(deadline, context.apiKeyIndex, context.accountIndex);
162
- if (result.error) {
163
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter CreateAuthToken failed: ${result.error}`);
164
- }
165
- if (!result.authToken) {
166
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Lighter CreateAuthToken returned no token');
167
- }
168
- return result.authToken;
126
+ return this.exclusive(wasm, async () => {
127
+ await this.ensureClient(wasm, context, false);
128
+ const result = await (0, wasmLoader_js_1.callLighterWasm)('createAuthToken', wasm._createAuthToken(context.accountIndex, context.apiKeyIndex));
129
+ return result.token;
130
+ });
169
131
  }
170
132
  async ensureLoaded() {
171
133
  if (!this.wasm) {
172
- await this.initialize();
134
+ this.wasm = await (0, wasmLoader_js_1.loadLighterWasm)();
173
135
  }
174
136
  return this.wasm;
175
137
  }
176
- async ensureClient(context) {
177
- const key = `${context.apiKeyIndex}:${context.accountIndex}:${context.apiKeyPrivateKey}`;
178
- if (this.registeredClients.has(key)) {
179
- return;
138
+ exclusive(wasm, task) {
139
+ const state = runtimeStateOf(wasm);
140
+ const result = state.queue.then(task);
141
+ state.queue = result.catch(() => undefined);
142
+ return result;
143
+ }
144
+ async signWith(action, context, skipNonce, call) {
145
+ const txType = TX_TYPE_BY_ACTION[action];
146
+ if (txType === undefined) {
147
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter WASM signer does not support action: ${action}`);
180
148
  }
181
149
  const wasm = await this.ensureLoaded();
182
- const result = wasm.CreateClient(this.apiUrl, context.apiKeyPrivateKey, this.chainId, context.apiKeyIndex, context.accountIndex);
183
- if (result.error) {
184
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter CreateClient failed: ${result.error}`);
150
+ return this.exclusive(wasm, async () => {
151
+ await this.ensureClient(wasm, context, skipNonce);
152
+ const { txInfo, txHash } = await (0, wasmLoader_js_1.callLighterWasm)(`sign(${action})`, call(wasm));
153
+ return { txType, txInfo, txHash };
154
+ });
155
+ }
156
+ clientKey(context, skipNonce) {
157
+ return `${this.chainId}:${context.apiKeyIndex}:${skipNonce}:${context.apiKeyPrivateKey.toLowerCase()}`;
158
+ }
159
+ async ensureClient(wasm, context, skipNonce) {
160
+ const clientByAccount = runtimeStateOf(wasm).clientByAccount;
161
+ const key = this.clientKey(context, skipNonce);
162
+ if (clientByAccount.get(context.accountIndex) === key) {
163
+ return;
185
164
  }
186
- this.registeredClients.add(key);
165
+ await (0, wasmLoader_js_1.callLighterWasm)('createClientByPrv', wasm._createClientByPrv(context.apiKeyPrivateKey, this.chainId, context.accountIndex, CLIENT_CREATION_NONCE, context.apiKeyIndex, skipNonce));
166
+ clientByAccount.set(context.accountIndex, key);
167
+ }
168
+ transferArgs(p) {
169
+ return [
170
+ numberField(p, 'to_account'),
171
+ this.collateralAssetIndex,
172
+ action_js_1.LT_ROUTE_PERP,
173
+ action_js_1.LT_ROUTE_PERP,
174
+ numberField(p, 'usdc_amount'),
175
+ numberField(p, 'fee'),
176
+ memoField(p, 'memo'),
177
+ ];
187
178
  }
188
- dispatch(wasm, action, p, ctx) {
179
+ dispatch(action, p, ctx) {
189
180
  const nonce = numberField(p, 'nonce');
190
181
  switch (action) {
191
182
  case perps_types_1.ActionType.PLACE_ORDER:
192
183
  case perps_types_1.ActionType.PLACE_TRIGGER_ORDER:
193
- case perps_types_1.ActionType.PLACE_TWAP_ORDER:
194
- return wasm.SignCreateOrder(numberField(p, 'market_index'), numberField(p, 'client_order_index'), numberField(p, 'base_amount'), numberField(p, 'price'), numberField(p, 'is_ask'), numberField(p, 'order_type'), numberField(p, 'time_in_force'), numberField(p, 'reduce_only'), numberField(p, 'trigger_price'), numberField(p, 'order_expiry'), optionalNumberField(p, 'integrator_account_index', NIL_INTEGRATOR_INDEX), optionalNumberField(p, 'integrator_taker_fee', NIL_INTEGRATOR_TAKER_FEE), optionalNumberField(p, 'integrator_maker_fee', NIL_INTEGRATOR_MAKER_FEE), SELF_TRADE_BEHAVIOR_EXPIRE_MAKER, SELF_TRADE_EQUALITY_ACCOUNT_INDEX, SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
184
+ case perps_types_1.ActionType.PLACE_TWAP_ORDER: {
185
+ const args = [
186
+ ctx.accountIndex,
187
+ numberField(p, 'market_index'),
188
+ numberField(p, 'client_order_index'),
189
+ int64StringField(p, 'base_amount'),
190
+ int64StringField(p, 'price'),
191
+ numberField(p, 'is_ask'),
192
+ numberField(p, 'order_type'),
193
+ numberField(p, 'time_in_force'),
194
+ numberField(p, 'reduce_only'),
195
+ int64StringField(p, 'trigger_price'),
196
+ numberField(p, 'order_expiry'),
197
+ nonce,
198
+ optionalNumberField(p, 'integrator_account_index', NIL_INTEGRATOR_INDEX),
199
+ optionalNumberField(p, 'integrator_taker_fee', NIL_INTEGRATOR_TAKER_FEE),
200
+ optionalNumberField(p, 'integrator_maker_fee', NIL_INTEGRATOR_MAKER_FEE),
201
+ ];
202
+ return (wasm) => wasm._signCreateOrder(...args);
203
+ }
195
204
  case perps_types_1.ActionType.CANCEL_ORDER:
196
- case perps_types_1.ActionType.CANCEL_TWAP_ORDER:
197
- return wasm.SignCancelOrder(numberField(p, 'market_index'), numberField(p, 'order_index'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
198
- case perps_types_1.ActionType.CANCEL_ALL_ORDERS:
199
- return wasm.SignCancelAllOrders(numberField(p, 'time_in_force'), numberField(p, 'timestamp_ms'), NIL_MARKET_INDEX, SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
200
- case perps_types_1.ActionType.MODIFY_ORDER:
201
- return wasm.SignModifyOrder(numberField(p, 'market_index'), numberField(p, 'order_index'), numberField(p, 'base_amount'), numberField(p, 'price'), numberField(p, 'trigger_price'), optionalNumberField(p, 'integrator_account_index', NIL_INTEGRATOR_INDEX), optionalNumberField(p, 'integrator_taker_fee', NIL_INTEGRATOR_TAKER_FEE), optionalNumberField(p, 'integrator_maker_fee', NIL_INTEGRATOR_MAKER_FEE), SELF_TRADE_BEHAVIOR_EXPIRE_MAKER, SELF_TRADE_EQUALITY_ACCOUNT_INDEX, SKIP_NONCE_DISABLED, nonce, NIL_ORDER_VERSION, ctx.apiKeyIndex, ctx.accountIndex);
202
- case perps_types_1.ActionType.UPDATE_LEVERAGE:
203
- return wasm.SignUpdateLeverage(numberField(p, 'market_index'), numberField(p, 'fraction'), numberField(p, 'margin_mode'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
204
- case perps_types_1.ActionType.UPDATE_POSITION_MARGIN:
205
- return wasm.SignUpdateMargin(numberField(p, 'market_index'), numberField(p, 'usdc_amount'), numberField(p, 'direction'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
205
+ case perps_types_1.ActionType.CANCEL_TWAP_ORDER: {
206
+ const args = [
207
+ ctx.accountIndex,
208
+ numberField(p, 'market_index'),
209
+ int64StringField(p, 'order_index'),
210
+ nonce,
211
+ ];
212
+ return (wasm) => wasm._signCancelOrder(...args);
213
+ }
214
+ case perps_types_1.ActionType.CANCEL_ALL_ORDERS: {
215
+ const args = [
216
+ ctx.accountIndex,
217
+ numberField(p, 'time_in_force'),
218
+ numberField(p, 'timestamp_ms'),
219
+ nonce,
220
+ NIL_MARKET_INDEX,
221
+ ];
222
+ return (wasm) => wasm._signCancelAllOrders(...args);
223
+ }
224
+ case perps_types_1.ActionType.MODIFY_ORDER: {
225
+ const args = [
226
+ ctx.accountIndex,
227
+ numberField(p, 'market_index'),
228
+ int64StringField(p, 'order_index'),
229
+ numberField(p, 'base_amount'),
230
+ numberField(p, 'price'),
231
+ numberField(p, 'trigger_price'),
232
+ nonce,
233
+ ];
234
+ return (wasm) => wasm._signModifyOrder(...args);
235
+ }
236
+ case perps_types_1.ActionType.UPDATE_LEVERAGE: {
237
+ const args = [
238
+ ctx.accountIndex,
239
+ numberField(p, 'market_index'),
240
+ numberField(p, 'fraction'),
241
+ numberField(p, 'margin_mode'),
242
+ nonce,
243
+ ];
244
+ return (wasm) => wasm._signUpdateLeverage(...args);
245
+ }
246
+ case perps_types_1.ActionType.UPDATE_POSITION_MARGIN: {
247
+ const args = [
248
+ ctx.accountIndex,
249
+ numberField(p, 'market_index'),
250
+ numberField(p, 'usdc_amount'),
251
+ numberField(p, 'direction'),
252
+ nonce,
253
+ ];
254
+ return (wasm) => wasm._signUpdateMargin(...args);
255
+ }
206
256
  case perps_types_1.ActionType.WITHDRAWAL: {
207
257
  const routeType = numberField(p, 'route_type');
208
258
  if (routeType !== action_js_1.LT_ROUTE_PERP && routeType !== action_js_1.LT_ROUTE_SPOT) {
@@ -216,10 +266,15 @@ class LighterSigner {
216
266
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter WITHDRAWAL of ${amount} ${symbol} is below the venue ` +
217
267
  `minimum of ${minimum} ${symbol}`);
218
268
  }
219
- return wasm.SignWithdraw(numberField(p, 'asset_index'), routeType, (0, perps_sdk_1.decimalStringToScaledInteger)(amount, numberField(p, 'decimals'), 'truncate'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
269
+ const args = [
270
+ ctx.accountIndex,
271
+ numberField(p, 'asset_index'),
272
+ routeType,
273
+ String((0, perps_sdk_1.decimalStringToScaledInteger)(amount, numberField(p, 'decimals'), 'truncate')),
274
+ nonce,
275
+ ];
276
+ return (wasm) => wasm._signWithdraw(...args);
220
277
  }
221
- case perps_types_1.ActionType.TRANSFER:
222
- return wasm.SignTransfer(numberField(p, 'to_account'), this.collateralAssetIndex, action_js_1.LT_ROUTE_PERP, action_js_1.LT_ROUTE_PERP, numberField(p, 'usdc_amount'), numberField(p, 'fee'), stringField(p, 'memo'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
223
278
  case perps_types_1.ActionType.SEND_ASSET: {
224
279
  const fromRouteType = routeFromDex(stringField(p, 'sourceDex'));
225
280
  const toRouteType = routeFromDex(stringField(p, 'destinationDex'));
@@ -227,34 +282,70 @@ class LighterSigner {
227
282
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, 'Lighter SEND_ASSET requires distinct source/destination routes ' +
228
283
  '(perp↔spot); a same-route transfer is a no-op');
229
284
  }
230
- return wasm.SignTransfer(ctx.accountIndex, this.collateralAssetIndex, fromRouteType, toRouteType, numberField(p, 'amount'), SEND_ASSET_NO_FEE, SEND_ASSET_ZERO_MEMO, SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
285
+ const args = [
286
+ ctx.accountIndex,
287
+ NO_L1_SIGNATURE,
288
+ nonce,
289
+ ctx.apiKeyIndex,
290
+ ctx.accountIndex,
291
+ this.collateralAssetIndex,
292
+ fromRouteType,
293
+ toRouteType,
294
+ numberField(p, 'amount'),
295
+ SEND_ASSET_NO_FEE,
296
+ ZERO_MEMO,
297
+ ];
298
+ return (wasm) => wasm._signTransfer(...args);
299
+ }
300
+ case perps_types_1.ActionType.REVOKE_INTEGRATOR: {
301
+ const args = [
302
+ ctx.accountIndex,
303
+ NO_L1_SIGNATURE,
304
+ nonce,
305
+ ctx.apiKeyIndex,
306
+ numberField(p, 'integrator_account_index'),
307
+ revokeIntegratorZeroField(p, 'max_perps_taker_fee'),
308
+ revokeIntegratorZeroField(p, 'max_perps_maker_fee'),
309
+ revokeIntegratorZeroField(p, 'max_spot_taker_fee'),
310
+ revokeIntegratorZeroField(p, 'max_spot_maker_fee'),
311
+ revokeIntegratorZeroField(p, 'approval_expiry'),
312
+ ];
313
+ return (wasm) => wasm._signApproveIntegrator(...args);
314
+ }
315
+ case perps_types_1.ActionType.ACCOUNT_MODE: {
316
+ const args = [ctx.accountIndex, numberField(p, 'account_trading_mode'), nonce];
317
+ return (wasm) => wasm._signUpdateAccountConfig(...args);
318
+ }
319
+ case perps_types_1.ActionType.UPDATE_ASSET_COLLATERAL: {
320
+ const args = [
321
+ ctx.accountIndex,
322
+ numberField(p, 'asset_index'),
323
+ (0, assetCollateral_js_1.assetMarginModeInt)(booleanField(p, 'enabled')),
324
+ nonce,
325
+ ];
326
+ return (wasm) => wasm._signUpdateAccountAssetConfig(...args);
231
327
  }
232
- case perps_types_1.ActionType.APPROVE_INTEGRATOR:
233
- return wasm.SignApproveIntegrator(numberField(p, 'integrator_account_index'), numberField(p, 'max_perps_taker_fee'), numberField(p, 'max_perps_maker_fee'), numberField(p, 'max_spot_taker_fee'), numberField(p, 'max_spot_maker_fee'), numberField(p, 'approval_expiry'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
234
- case perps_types_1.ActionType.ACCOUNT_MODE:
235
- return wasm.SignUpdateAccountConfig(numberField(p, 'account_trading_mode'), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
236
- case perps_types_1.ActionType.UPDATE_ASSET_COLLATERAL:
237
- return wasm.SignUpdateAccountAssetConfig(numberField(p, 'asset_index'), (0, assetCollateral_js_1.assetMarginModeInt)(booleanField(p, 'enabled')), SKIP_NONCE_DISABLED, nonce, ctx.apiKeyIndex, ctx.accountIndex);
238
328
  default:
239
329
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter WASM signer does not support action: ${action}`);
240
330
  }
241
331
  }
242
332
  }
243
333
  exports.LighterSigner = LighterSigner;
244
- function unwrap(result, action) {
245
- if (result.error) {
246
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter sign(${action}) failed: ${result.error}`);
334
+ function l1BodyOf(label, result) {
335
+ if (!result.pubKeySuccess || result.body === '') {
336
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SignatureInvalid, `Lighter ${label} returned no L1 message`);
247
337
  }
248
- if (result.txType === undefined ||
249
- result.txInfo === undefined ||
250
- result.txHash === undefined) {
251
- throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Lighter sign(${action}) returned an incomplete signed blob`);
252
- }
253
- return {
254
- txType: result.txType,
255
- txInfo: result.txInfo,
256
- txHash: result.txHash,
257
- };
338
+ return result.body;
339
+ }
340
+ function approveIntegratorArgs(p) {
341
+ return [
342
+ numberField(p, 'integrator_account_index'),
343
+ numberField(p, 'max_perps_taker_fee'),
344
+ numberField(p, 'max_perps_maker_fee'),
345
+ numberField(p, 'max_spot_taker_fee'),
346
+ numberField(p, 'max_spot_maker_fee'),
347
+ numberField(p, 'approval_expiry'),
348
+ ];
258
349
  }
259
350
  function numberField(p, key) {
260
351
  const v = p[key];
@@ -269,6 +360,32 @@ function numberField(p, key) {
269
360
  }
270
361
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter sign params missing numeric field '${key}' (got ${typeof v})`);
271
362
  }
363
+ function int64StringField(p, key) {
364
+ const v = p[key];
365
+ if (typeof v === 'number' && Number.isSafeInteger(v)) {
366
+ return String(v);
367
+ }
368
+ if (typeof v === 'string' && /^-?(0|[1-9]\d*)$/.test(v)) {
369
+ const value = BigInt(v);
370
+ if (value >= INT64_MIN && value <= INT64_MAX) {
371
+ return v;
372
+ }
373
+ }
374
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter sign params field '${key}' is not an int64 decimal string or a ` +
375
+ `safe integer (got ${typeof v === 'string' ? `'${v}'` : String(v)})`);
376
+ }
377
+ function memoField(p, key) {
378
+ const memo = stringField(p, key);
379
+ const bytes = new TextEncoder().encode(memo);
380
+ if (bytes.length === 32) {
381
+ return Array.from(bytes);
382
+ }
383
+ const hex = memo.length === 66 ? memo.replace(/^0x/, '') : memo;
384
+ if (!/^[0-9a-fA-F]{64}$/.test(hex)) {
385
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Lighter sign params field '${key}' is not 32 bytes, or 32 bytes as hex`);
386
+ }
387
+ return Array.from({ length: 32 }, (_, i) => Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16));
388
+ }
272
389
  function revokeIntegratorZeroField(p, key) {
273
390
  const value = numberField(p, key);
274
391
  if (value !== 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"LighterSigner.js","sourceRoot":"","sources":["../../../src/signers/LighterSigner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LighterSigner.js","sourceRoot":"","sources":["../../../src/signers/LighterSigner.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,6 @@ import type { LighterSigner } from './LighterSigner.js';
4
4
  export interface CreateAuthTokenInputs {
5
5
  signer: LighterSigner;
6
6
  apiKey: Pick<LighterApiKey, 'apiKeyPrivateKey' | 'apiKeyIndex' | 'accountIndex'>;
7
- lifetimeSeconds?: number;
8
- now?: () => number;
9
7
  }
10
8
  export declare function createAuthToken(inputs: CreateAuthTokenInputs): Promise<string>;
11
9
  export declare function isReadOnlyTokenExpiringSoon(token: LighterReadOnlyToken | undefined | null, thresholdSeconds?: number, now?: () => number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"createAuthToken.d.ts","sourceRoot":"","sources":["../../../src/signers/createAuthToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAYvD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,IAAI,CACV,aAAa,EACb,kBAAkB,GAAG,aAAa,GAAG,cAAc,CACpD,CAAA;IAKD,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAWD,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAUjB;AAUD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,EAC9C,gBAAgB,GAAE,MAAkC,EACpD,GAAG,GAAE,MAAM,MAAyB,GACnC,OAAO,CAST"}
1
+ {"version":3,"file":"createAuthToken.d.ts","sourceRoot":"","sources":["../../../src/signers/createAuthToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAUvD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,IAAI,CACV,aAAa,EACb,kBAAkB,GAAG,aAAa,GAAG,cAAc,CACpD,CAAA;CACF;AAYD,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAUD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,EAC9C,gBAAgB,GAAE,MAAkC,EACpD,GAAG,GAAE,MAAM,MAAyB,GACnC,OAAO,CAST"}