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