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