@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.
- package/dist/index.js +65 -37
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +65 -37
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.d.mts +0 -3
- package/dist/react/index.d.ts +0 -3
- package/dist/react/index.js +65 -38
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +65 -38
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -23325,68 +23325,96 @@ function validateQuantity(quantity) {
|
|
|
23325
23325
|
}
|
|
23326
23326
|
|
|
23327
23327
|
// src/clients/muon.ts
|
|
23328
|
-
function
|
|
23329
|
-
|
|
23330
|
-
|
|
23331
|
-
|
|
23332
|
-
|
|
23333
|
-
|
|
23328
|
+
function normalizeSignParams(raw) {
|
|
23329
|
+
if (Array.isArray(raw)) {
|
|
23330
|
+
const out = {};
|
|
23331
|
+
for (const entry of raw) {
|
|
23332
|
+
if (entry && typeof entry === "object" && "name" in entry) {
|
|
23333
|
+
const e = entry;
|
|
23334
|
+
out[e.name] = e.value;
|
|
23335
|
+
}
|
|
23336
|
+
}
|
|
23337
|
+
return out;
|
|
23338
|
+
}
|
|
23339
|
+
return raw ?? {};
|
|
23334
23340
|
}
|
|
23335
|
-
function
|
|
23341
|
+
function unwrapMuonResult(result) {
|
|
23336
23342
|
const data = result["result"];
|
|
23337
23343
|
if (!data) {
|
|
23338
23344
|
throw new SymmioSDKError("Invalid Muon response: missing result", "MUON_PARSE_ERROR");
|
|
23339
23345
|
}
|
|
23340
23346
|
const sigData = data["data"];
|
|
23341
|
-
|
|
23342
|
-
|
|
23347
|
+
return {
|
|
23348
|
+
signParams: normalizeSignParams(sigData?.["signParams"] ?? data["signParams"]),
|
|
23349
|
+
signatures: sigData?.["signatures"] ?? data["signatures"] ?? [],
|
|
23350
|
+
init: sigData?.["init"] ?? data["init"]
|
|
23351
|
+
};
|
|
23352
|
+
}
|
|
23353
|
+
function extractSchnorrSign(signParams, signatures, init) {
|
|
23354
|
+
const inline = signParams["sigs"];
|
|
23355
|
+
if (inline?.signature !== void 0) {
|
|
23356
|
+
return {
|
|
23357
|
+
signature: BigInt(inline.signature),
|
|
23358
|
+
owner: inline.owner,
|
|
23359
|
+
nonce: inline.nonce
|
|
23360
|
+
};
|
|
23361
|
+
}
|
|
23362
|
+
const sig = signatures?.[0];
|
|
23363
|
+
if (!sig?.["signature"]) {
|
|
23364
|
+
throw new SymmioSDKError(
|
|
23365
|
+
"Invalid Muon response: missing schnorr signature",
|
|
23366
|
+
"MUON_PARSE_ERROR"
|
|
23367
|
+
);
|
|
23368
|
+
}
|
|
23369
|
+
const nonceAddress = init?.["nonceAddress"] ?? sig["nonce"] ?? signParams["nonce"];
|
|
23370
|
+
if (!nonceAddress) {
|
|
23371
|
+
throw new SymmioSDKError(
|
|
23372
|
+
"Invalid Muon response: missing nonce address",
|
|
23373
|
+
"MUON_PARSE_ERROR"
|
|
23374
|
+
);
|
|
23375
|
+
}
|
|
23376
|
+
return {
|
|
23377
|
+
signature: BigInt(sig["signature"]),
|
|
23378
|
+
owner: sig["owner"],
|
|
23379
|
+
nonce: nonceAddress
|
|
23380
|
+
};
|
|
23381
|
+
}
|
|
23382
|
+
function gatewaySigOf(signatures) {
|
|
23383
|
+
return signatures?.[0]?.["signature"] ?? "0x";
|
|
23384
|
+
}
|
|
23385
|
+
function parseSingleUpnlSig(result) {
|
|
23386
|
+
const { signParams, signatures, init } = unwrapMuonResult(result);
|
|
23343
23387
|
return {
|
|
23344
23388
|
reqId: signParams["reqId"],
|
|
23345
23389
|
timestamp: BigInt(signParams["timestamp"]),
|
|
23346
23390
|
upnl: BigInt(signParams["upnl"]),
|
|
23347
|
-
gatewaySignature: signatures
|
|
23348
|
-
sigs:
|
|
23349
|
-
signParams["sigs"] ?? signatures?.[1]
|
|
23350
|
-
)
|
|
23391
|
+
gatewaySignature: gatewaySigOf(signatures),
|
|
23392
|
+
sigs: extractSchnorrSign(signParams, signatures, init)
|
|
23351
23393
|
};
|
|
23352
23394
|
}
|
|
23353
23395
|
function parseSingleUpnlAndPriceSig(result) {
|
|
23354
|
-
const
|
|
23355
|
-
if (!data) {
|
|
23356
|
-
throw new SymmioSDKError("Invalid Muon response: missing result", "MUON_PARSE_ERROR");
|
|
23357
|
-
}
|
|
23358
|
-
const sigData = data["data"];
|
|
23359
|
-
const signParams = sigData?.["signParams"] ?? data["signParams"];
|
|
23360
|
-
const signatures = sigData?.["signatures"] ?? data["signatures"];
|
|
23396
|
+
const { signParams, signatures, init } = unwrapMuonResult(result);
|
|
23361
23397
|
return {
|
|
23362
23398
|
reqId: signParams["reqId"],
|
|
23363
23399
|
timestamp: BigInt(signParams["timestamp"]),
|
|
23364
23400
|
upnl: BigInt(signParams["upnl"]),
|
|
23365
23401
|
price: BigInt(signParams["price"]),
|
|
23366
|
-
gatewaySignature: signatures
|
|
23367
|
-
sigs:
|
|
23368
|
-
signParams["sigs"] ?? signatures?.[1]
|
|
23369
|
-
)
|
|
23402
|
+
gatewaySignature: gatewaySigOf(signatures),
|
|
23403
|
+
sigs: extractSchnorrSign(signParams, signatures, init)
|
|
23370
23404
|
};
|
|
23371
23405
|
}
|
|
23372
23406
|
function parseBatchSig(result) {
|
|
23373
|
-
const
|
|
23374
|
-
|
|
23375
|
-
|
|
23376
|
-
}
|
|
23377
|
-
const sigData = data["data"];
|
|
23378
|
-
const signParams = sigData?.["signParams"] ?? data["signParams"];
|
|
23379
|
-
const signatures = sigData?.["signatures"] ?? data["signatures"];
|
|
23407
|
+
const { signParams, signatures, init } = unwrapMuonResult(result);
|
|
23408
|
+
const prices = signParams["prices"];
|
|
23409
|
+
const symbolIds = signParams["symbolIds"];
|
|
23380
23410
|
return {
|
|
23381
23411
|
reqId: signParams["reqId"],
|
|
23382
23412
|
timestamp: BigInt(signParams["timestamp"]),
|
|
23383
23413
|
upnl: BigInt(signParams["upnl"]),
|
|
23384
|
-
prices:
|
|
23385
|
-
symbolIds:
|
|
23386
|
-
gatewaySignature: signatures
|
|
23387
|
-
sigs:
|
|
23388
|
-
signParams["sigs"] ?? signatures?.[1]
|
|
23389
|
-
)
|
|
23414
|
+
prices: (prices ?? []).map((p) => BigInt(p)),
|
|
23415
|
+
symbolIds: (symbolIds ?? []).map((s) => BigInt(s)),
|
|
23416
|
+
gatewaySignature: gatewaySigOf(signatures),
|
|
23417
|
+
sigs: extractSchnorrSign(signParams, signatures, init)
|
|
23390
23418
|
};
|
|
23391
23419
|
}
|
|
23392
23420
|
var MuonClient = class {
|