@pear-protocol/symmio-client 0.3.9 → 0.3.11

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.
@@ -1130,7 +1130,6 @@ function useSymmAuth(params) {
1130
1130
  isAuthenticated: !!token,
1131
1131
  error,
1132
1132
  signIn,
1133
- refreshAuth: signIn,
1134
1133
  clear: clearAuth
1135
1134
  };
1136
1135
  }
@@ -25085,68 +25084,96 @@ async function internalTransfer(walletClient, publicClient, multiAccount, subAcc
25085
25084
  }
25086
25085
 
25087
25086
  // src/clients/muon.ts
25088
- function parseSchnorrSign(sigs) {
25089
- return {
25090
- signature: BigInt(sigs.signature),
25091
- owner: sigs.owner,
25092
- nonce: sigs.nonce
25093
- };
25087
+ function normalizeSignParams(raw) {
25088
+ if (Array.isArray(raw)) {
25089
+ const out = {};
25090
+ for (const entry of raw) {
25091
+ if (entry && typeof entry === "object" && "name" in entry) {
25092
+ const e = entry;
25093
+ out[e.name] = e.value;
25094
+ }
25095
+ }
25096
+ return out;
25097
+ }
25098
+ return raw ?? {};
25094
25099
  }
25095
- function parseSingleUpnlSig(result) {
25100
+ function unwrapMuonResult(result) {
25096
25101
  const data = result["result"];
25097
25102
  if (!data) {
25098
25103
  throw new SymmioSDKError("Invalid Muon response: missing result", "MUON_PARSE_ERROR");
25099
25104
  }
25100
25105
  const sigData = data["data"];
25101
- const signParams = sigData?.["signParams"] ?? data["signParams"];
25102
- const signatures = sigData?.["signatures"] ?? data["signatures"];
25106
+ return {
25107
+ signParams: normalizeSignParams(sigData?.["signParams"] ?? data["signParams"]),
25108
+ signatures: sigData?.["signatures"] ?? data["signatures"] ?? [],
25109
+ init: sigData?.["init"] ?? data["init"]
25110
+ };
25111
+ }
25112
+ function extractSchnorrSign(signParams, signatures, init) {
25113
+ const inline = signParams["sigs"];
25114
+ if (inline?.signature !== void 0) {
25115
+ return {
25116
+ signature: BigInt(inline.signature),
25117
+ owner: inline.owner,
25118
+ nonce: inline.nonce
25119
+ };
25120
+ }
25121
+ const sig = signatures?.[0];
25122
+ if (!sig?.["signature"]) {
25123
+ throw new SymmioSDKError(
25124
+ "Invalid Muon response: missing schnorr signature",
25125
+ "MUON_PARSE_ERROR"
25126
+ );
25127
+ }
25128
+ const nonceAddress = init?.["nonceAddress"] ?? sig["nonce"] ?? signParams["nonce"];
25129
+ if (!nonceAddress) {
25130
+ throw new SymmioSDKError(
25131
+ "Invalid Muon response: missing nonce address",
25132
+ "MUON_PARSE_ERROR"
25133
+ );
25134
+ }
25135
+ return {
25136
+ signature: BigInt(sig["signature"]),
25137
+ owner: sig["owner"],
25138
+ nonce: nonceAddress
25139
+ };
25140
+ }
25141
+ function gatewaySigOf(signatures) {
25142
+ return signatures?.[0]?.["signature"] ?? "0x";
25143
+ }
25144
+ function parseSingleUpnlSig(result) {
25145
+ const { signParams, signatures, init } = unwrapMuonResult(result);
25103
25146
  return {
25104
25147
  reqId: signParams["reqId"],
25105
25148
  timestamp: BigInt(signParams["timestamp"]),
25106
25149
  upnl: BigInt(signParams["upnl"]),
25107
- gatewaySignature: signatures?.[0]?.["signature"] ?? "0x",
25108
- sigs: parseSchnorrSign(
25109
- signParams["sigs"] ?? signatures?.[1]
25110
- )
25150
+ gatewaySignature: gatewaySigOf(signatures),
25151
+ sigs: extractSchnorrSign(signParams, signatures, init)
25111
25152
  };
25112
25153
  }
25113
25154
  function parseSingleUpnlAndPriceSig(result) {
25114
- const data = result["result"];
25115
- if (!data) {
25116
- throw new SymmioSDKError("Invalid Muon response: missing result", "MUON_PARSE_ERROR");
25117
- }
25118
- const sigData = data["data"];
25119
- const signParams = sigData?.["signParams"] ?? data["signParams"];
25120
- const signatures = sigData?.["signatures"] ?? data["signatures"];
25155
+ const { signParams, signatures, init } = unwrapMuonResult(result);
25121
25156
  return {
25122
25157
  reqId: signParams["reqId"],
25123
25158
  timestamp: BigInt(signParams["timestamp"]),
25124
25159
  upnl: BigInt(signParams["upnl"]),
25125
25160
  price: BigInt(signParams["price"]),
25126
- gatewaySignature: signatures?.[0]?.["signature"] ?? "0x",
25127
- sigs: parseSchnorrSign(
25128
- signParams["sigs"] ?? signatures?.[1]
25129
- )
25161
+ gatewaySignature: gatewaySigOf(signatures),
25162
+ sigs: extractSchnorrSign(signParams, signatures, init)
25130
25163
  };
25131
25164
  }
25132
25165
  function parseBatchSig(result) {
25133
- const data = result["result"];
25134
- if (!data) {
25135
- throw new SymmioSDKError("Invalid Muon response: missing result", "MUON_PARSE_ERROR");
25136
- }
25137
- const sigData = data["data"];
25138
- const signParams = sigData?.["signParams"] ?? data["signParams"];
25139
- const signatures = sigData?.["signatures"] ?? data["signatures"];
25166
+ const { signParams, signatures, init } = unwrapMuonResult(result);
25167
+ const prices = signParams["prices"];
25168
+ const symbolIds = signParams["symbolIds"];
25140
25169
  return {
25141
25170
  reqId: signParams["reqId"],
25142
25171
  timestamp: BigInt(signParams["timestamp"]),
25143
25172
  upnl: BigInt(signParams["upnl"]),
25144
- prices: signParams["prices"].map((p) => BigInt(p)),
25145
- symbolIds: signParams["symbolIds"].map((s) => BigInt(s)),
25146
- gatewaySignature: signatures?.[0]?.["signature"] ?? "0x",
25147
- sigs: parseSchnorrSign(
25148
- signParams["sigs"] ?? signatures?.[1]
25149
- )
25173
+ prices: (prices ?? []).map((p) => BigInt(p)),
25174
+ symbolIds: (symbolIds ?? []).map((s) => BigInt(s)),
25175
+ gatewaySignature: gatewaySigOf(signatures),
25176
+ sigs: extractSchnorrSign(signParams, signatures, init)
25150
25177
  };
25151
25178
  }
25152
25179
  var MuonClient = class {