anymal-protocol 1.0.97 → 1.0.99
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.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -6
- package/dist/index.mjs +4 -6
- package/package.json +1 -1
- package/dist/chunk-43I5M7QS.mjs +0 -93
- package/dist/chunk-5UXBNDDZ.mjs +0 -93
- package/dist/chunk-DIGESQEI.mjs +0 -91
- package/dist/chunk-KEC6WLEL.mjs +0 -93
- package/dist/chunk-QHK3YPLJ.mjs +0 -93
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1740,7 +1740,6 @@ function useApproveKibbleToken() {
|
|
|
1740
1740
|
// amount to approve
|
|
1741
1741
|
]
|
|
1742
1742
|
});
|
|
1743
|
-
console.log("About to call sendUserOperation");
|
|
1744
1743
|
const userOpHash = await bundlerClient.sendUserOperation({
|
|
1745
1744
|
account: smartAccount,
|
|
1746
1745
|
calls: [
|
|
@@ -1752,14 +1751,11 @@ function useApproveKibbleToken() {
|
|
|
1752
1751
|
maxPriorityFeePerGas: (0, import_viem3.parseGwei)("0.001")
|
|
1753
1752
|
// maxFeePerGas: parseGwei("0.01"),
|
|
1754
1753
|
});
|
|
1755
|
-
console.log("sendUserOperation has been called");
|
|
1756
|
-
console.log("About to call waitForUserOperationReceipt");
|
|
1757
1754
|
await bundlerClient.waitForUserOperationReceipt({
|
|
1758
1755
|
hash: userOpHash,
|
|
1759
1756
|
timeout: 3e4,
|
|
1760
1757
|
retryCount: 10
|
|
1761
1758
|
});
|
|
1762
|
-
console.log("waitForUserOperationReceipt has been called");
|
|
1763
1759
|
return {
|
|
1764
1760
|
success: true,
|
|
1765
1761
|
message: "Approval transaction completed successfully."
|
|
@@ -2226,7 +2222,8 @@ var convertToActionRecord = (fr) => {
|
|
|
2226
2222
|
claimIndex: fr.claimIndex ?? null,
|
|
2227
2223
|
claimedAt: fr.claimedAt ?? null,
|
|
2228
2224
|
claimQuantity: fr.claimQuantity ?? null,
|
|
2229
|
-
failure_reason: fr.failure_reason ?? null
|
|
2225
|
+
failure_reason: fr.failure_reason ?? null,
|
|
2226
|
+
campaignStatus: fr.campaignStatus ?? null
|
|
2230
2227
|
};
|
|
2231
2228
|
};
|
|
2232
2229
|
var convertToActionDefinition = (fr) => {
|
|
@@ -2486,7 +2483,8 @@ function useSubmitContractAction() {
|
|
|
2486
2483
|
clientInfo: {
|
|
2487
2484
|
userAgent: navigator.userAgent,
|
|
2488
2485
|
locale: navigator.language
|
|
2489
|
-
}
|
|
2486
|
+
},
|
|
2487
|
+
referral: payload.referral
|
|
2490
2488
|
};
|
|
2491
2489
|
switch (payload.source) {
|
|
2492
2490
|
case "GRAPHQL" /* GRAPHQL */:
|
package/dist/index.mjs
CHANGED
|
@@ -1677,7 +1677,6 @@ function useApproveKibbleToken() {
|
|
|
1677
1677
|
// amount to approve
|
|
1678
1678
|
]
|
|
1679
1679
|
});
|
|
1680
|
-
console.log("About to call sendUserOperation");
|
|
1681
1680
|
const userOpHash = await bundlerClient.sendUserOperation({
|
|
1682
1681
|
account: smartAccount,
|
|
1683
1682
|
calls: [
|
|
@@ -1689,14 +1688,11 @@ function useApproveKibbleToken() {
|
|
|
1689
1688
|
maxPriorityFeePerGas: parseGwei3("0.001")
|
|
1690
1689
|
// maxFeePerGas: parseGwei("0.01"),
|
|
1691
1690
|
});
|
|
1692
|
-
console.log("sendUserOperation has been called");
|
|
1693
|
-
console.log("About to call waitForUserOperationReceipt");
|
|
1694
1691
|
await bundlerClient.waitForUserOperationReceipt({
|
|
1695
1692
|
hash: userOpHash,
|
|
1696
1693
|
timeout: 3e4,
|
|
1697
1694
|
retryCount: 10
|
|
1698
1695
|
});
|
|
1699
|
-
console.log("waitForUserOperationReceipt has been called");
|
|
1700
1696
|
return {
|
|
1701
1697
|
success: true,
|
|
1702
1698
|
message: "Approval transaction completed successfully."
|
|
@@ -2083,7 +2079,8 @@ var convertToActionRecord = (fr) => {
|
|
|
2083
2079
|
claimIndex: fr.claimIndex ?? null,
|
|
2084
2080
|
claimedAt: fr.claimedAt ?? null,
|
|
2085
2081
|
claimQuantity: fr.claimQuantity ?? null,
|
|
2086
|
-
failure_reason: fr.failure_reason ?? null
|
|
2082
|
+
failure_reason: fr.failure_reason ?? null,
|
|
2083
|
+
campaignStatus: fr.campaignStatus ?? null
|
|
2087
2084
|
};
|
|
2088
2085
|
};
|
|
2089
2086
|
var convertToActionDefinition = (fr) => {
|
|
@@ -2343,7 +2340,8 @@ function useSubmitContractAction() {
|
|
|
2343
2340
|
clientInfo: {
|
|
2344
2341
|
userAgent: navigator.userAgent,
|
|
2345
2342
|
locale: navigator.language
|
|
2346
|
-
}
|
|
2343
|
+
},
|
|
2344
|
+
referral: payload.referral
|
|
2347
2345
|
};
|
|
2348
2346
|
switch (payload.source) {
|
|
2349
2347
|
case "GRAPHQL" /* GRAPHQL */:
|
package/package.json
CHANGED
package/dist/chunk-43I5M7QS.mjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/helpers/CryptoUtils.tsx
|
|
9
|
-
import { ec as EC } from "elliptic";
|
|
10
|
-
var ec = new EC("secp256k1");
|
|
11
|
-
var Network = /* @__PURE__ */ ((Network2) => {
|
|
12
|
-
Network2["Testnet"] = "testnet";
|
|
13
|
-
Network2["Localnet"] = "localnet";
|
|
14
|
-
return Network2;
|
|
15
|
-
})(Network || {});
|
|
16
|
-
var NETWORK_HOSTS = {
|
|
17
|
-
["testnet" /* Testnet */]: "https://dev-db.petastic.com",
|
|
18
|
-
["localnet" /* Localnet */]: "http://host.docker.internal:9181"
|
|
19
|
-
};
|
|
20
|
-
function loadExistingSecp256k1PrivateKey(hexKey) {
|
|
21
|
-
if (!hexKey) {
|
|
22
|
-
throw new Error("Private key hex must be provided");
|
|
23
|
-
}
|
|
24
|
-
return ec.keyFromPrivate(hexKey, "hex");
|
|
25
|
-
}
|
|
26
|
-
function serializePublicKeyCompressed(keyPair) {
|
|
27
|
-
return keyPair.getPublic(true, "hex");
|
|
28
|
-
}
|
|
29
|
-
function base64url(input) {
|
|
30
|
-
let buf;
|
|
31
|
-
if (typeof input === "string") buf = Buffer.from(input);
|
|
32
|
-
else if (input instanceof ArrayBuffer) buf = Buffer.from(input);
|
|
33
|
-
else buf = input;
|
|
34
|
-
return buf.toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
35
|
-
}
|
|
36
|
-
function sha256HashNode(data) {
|
|
37
|
-
const { createHash } = __require("crypto");
|
|
38
|
-
return createHash("sha256").update(data).digest();
|
|
39
|
-
}
|
|
40
|
-
async function hashInput(data) {
|
|
41
|
-
if (typeof window !== "undefined" && window.crypto?.subtle) {
|
|
42
|
-
const encoder = new TextEncoder();
|
|
43
|
-
const encoded = encoder.encode(data);
|
|
44
|
-
const hashBuffer = await window.crypto.subtle.digest("SHA-256", encoded);
|
|
45
|
-
return Buffer.from(hashBuffer);
|
|
46
|
-
} else {
|
|
47
|
-
return sha256HashNode(data);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function generateJWT(sub, aud, keyPair, expiresInSeconds = 24 * 60 * 60) {
|
|
51
|
-
const iat = Math.floor(Date.now() / 1e3);
|
|
52
|
-
const exp = iat + expiresInSeconds;
|
|
53
|
-
const header = { alg: "ES256", typ: "JWT" };
|
|
54
|
-
const payload = { sub, aud, iat, exp };
|
|
55
|
-
const encodedHeader = base64url(JSON.stringify(header));
|
|
56
|
-
const encodedPayload = base64url(JSON.stringify(payload));
|
|
57
|
-
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
58
|
-
const hash = await hashInput(signingInput);
|
|
59
|
-
const signature = keyPair.sign(hash, { canonical: true });
|
|
60
|
-
const rBuf = signature.r.toArrayLike(Buffer, "be", 32);
|
|
61
|
-
const sBuf = signature.s.toArrayLike(Buffer, "be", 32);
|
|
62
|
-
const rawSig = Buffer.concat([rBuf, sBuf]);
|
|
63
|
-
const encodedSig = base64url(rawSig);
|
|
64
|
-
return `${signingInput}.${encodedSig}`;
|
|
65
|
-
}
|
|
66
|
-
async function createAuthEnvelope(privateKeyHex, network = "testnet" /* Testnet */, options) {
|
|
67
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
68
|
-
const publicKey = serializePublicKeyCompressed(keyPair);
|
|
69
|
-
const host = NETWORK_HOSTS[network];
|
|
70
|
-
if (!host) {
|
|
71
|
-
throw new Error(`Unsupported network: ${network}`);
|
|
72
|
-
}
|
|
73
|
-
const token = await generateJWT(publicKey, host, keyPair, options?.expiresInSeconds);
|
|
74
|
-
return { publicKey, token };
|
|
75
|
-
}
|
|
76
|
-
async function generateAppSignature(privateKeyHex, clientId, redirectUri, state) {
|
|
77
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
78
|
-
const message = `${clientId}:${redirectUri}:${state}`;
|
|
79
|
-
const hash = await hashInput(message);
|
|
80
|
-
const signatureDER = keyPair.sign(hash, { canonical: true }).toDER();
|
|
81
|
-
return Buffer.from(signatureDER).toString("hex");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
__require,
|
|
86
|
-
Network,
|
|
87
|
-
NETWORK_HOSTS,
|
|
88
|
-
loadExistingSecp256k1PrivateKey,
|
|
89
|
-
serializePublicKeyCompressed,
|
|
90
|
-
generateJWT,
|
|
91
|
-
createAuthEnvelope,
|
|
92
|
-
generateAppSignature
|
|
93
|
-
};
|
package/dist/chunk-5UXBNDDZ.mjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/helpers/CryptoUtils.tsx
|
|
9
|
-
import { ec as EC } from "elliptic";
|
|
10
|
-
var ec = new EC("secp256k1");
|
|
11
|
-
var Network = /* @__PURE__ */ ((Network2) => {
|
|
12
|
-
Network2["Testnet"] = "testnet";
|
|
13
|
-
Network2["Localnet"] = "localnet";
|
|
14
|
-
return Network2;
|
|
15
|
-
})(Network || {});
|
|
16
|
-
var NETWORK_HOSTS = {
|
|
17
|
-
["testnet" /* Testnet */]: "https://dev-db.petastic.com",
|
|
18
|
-
["localnet" /* Localnet */]: "http://docker.host.internal:9181"
|
|
19
|
-
};
|
|
20
|
-
function loadExistingSecp256k1PrivateKey(hexKey) {
|
|
21
|
-
if (!hexKey) {
|
|
22
|
-
throw new Error("Private key hex must be provided");
|
|
23
|
-
}
|
|
24
|
-
return ec.keyFromPrivate(hexKey, "hex");
|
|
25
|
-
}
|
|
26
|
-
function serializePublicKeyCompressed(keyPair) {
|
|
27
|
-
return keyPair.getPublic(true, "hex");
|
|
28
|
-
}
|
|
29
|
-
function base64url(input) {
|
|
30
|
-
let buf;
|
|
31
|
-
if (typeof input === "string") buf = Buffer.from(input);
|
|
32
|
-
else if (input instanceof ArrayBuffer) buf = Buffer.from(input);
|
|
33
|
-
else buf = input;
|
|
34
|
-
return buf.toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
35
|
-
}
|
|
36
|
-
function sha256HashNode(data) {
|
|
37
|
-
const { createHash } = __require("crypto");
|
|
38
|
-
return createHash("sha256").update(data).digest();
|
|
39
|
-
}
|
|
40
|
-
async function hashInput(data) {
|
|
41
|
-
if (typeof window !== "undefined" && window.crypto?.subtle) {
|
|
42
|
-
const encoder = new TextEncoder();
|
|
43
|
-
const encoded = encoder.encode(data);
|
|
44
|
-
const hashBuffer = await window.crypto.subtle.digest("SHA-256", encoded);
|
|
45
|
-
return Buffer.from(hashBuffer);
|
|
46
|
-
} else {
|
|
47
|
-
return sha256HashNode(data);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function generateJWT(sub, aud, keyPair, expiresInSeconds = 24 * 60 * 60) {
|
|
51
|
-
const iat = Math.floor(Date.now() / 1e3);
|
|
52
|
-
const exp = iat + expiresInSeconds;
|
|
53
|
-
const header = { alg: "ES256", typ: "JWT" };
|
|
54
|
-
const payload = { sub, aud, iat, exp };
|
|
55
|
-
const encodedHeader = base64url(JSON.stringify(header));
|
|
56
|
-
const encodedPayload = base64url(JSON.stringify(payload));
|
|
57
|
-
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
58
|
-
const hash = await hashInput(signingInput);
|
|
59
|
-
const signature = keyPair.sign(hash, { canonical: true });
|
|
60
|
-
const rBuf = signature.r.toArrayLike(Buffer, "be", 32);
|
|
61
|
-
const sBuf = signature.s.toArrayLike(Buffer, "be", 32);
|
|
62
|
-
const rawSig = Buffer.concat([rBuf, sBuf]);
|
|
63
|
-
const encodedSig = base64url(rawSig);
|
|
64
|
-
return `${signingInput}.${encodedSig}`;
|
|
65
|
-
}
|
|
66
|
-
async function createAuthEnvelope(privateKeyHex, network = "testnet" /* Testnet */, options) {
|
|
67
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
68
|
-
const publicKey = serializePublicKeyCompressed(keyPair);
|
|
69
|
-
const host = NETWORK_HOSTS[network];
|
|
70
|
-
if (!host) {
|
|
71
|
-
throw new Error(`Unsupported network: ${network}`);
|
|
72
|
-
}
|
|
73
|
-
const token = await generateJWT(publicKey, host, keyPair, options?.expiresInSeconds);
|
|
74
|
-
return { publicKey, token };
|
|
75
|
-
}
|
|
76
|
-
async function generateAppSignature(privateKeyHex, clientId, redirectUri, state) {
|
|
77
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
78
|
-
const message = `${clientId}:${redirectUri}:${state}`;
|
|
79
|
-
const hash = await hashInput(message);
|
|
80
|
-
const signatureDER = keyPair.sign(hash, { canonical: true }).toDER();
|
|
81
|
-
return Buffer.from(signatureDER).toString("hex");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
__require,
|
|
86
|
-
Network,
|
|
87
|
-
NETWORK_HOSTS,
|
|
88
|
-
loadExistingSecp256k1PrivateKey,
|
|
89
|
-
serializePublicKeyCompressed,
|
|
90
|
-
generateJWT,
|
|
91
|
-
createAuthEnvelope,
|
|
92
|
-
generateAppSignature
|
|
93
|
-
};
|
package/dist/chunk-DIGESQEI.mjs
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/helpers/CryptoUtils.tsx
|
|
9
|
-
import { ec as EC } from "elliptic";
|
|
10
|
-
var ec = new EC("secp256k1");
|
|
11
|
-
var Network = /* @__PURE__ */ ((Network2) => {
|
|
12
|
-
Network2["Testnet"] = "testnet";
|
|
13
|
-
return Network2;
|
|
14
|
-
})(Network || {});
|
|
15
|
-
var NETWORK_HOSTS = {
|
|
16
|
-
["testnet" /* Testnet */]: "https://dev-db.petastic.com"
|
|
17
|
-
};
|
|
18
|
-
function loadExistingSecp256k1PrivateKey(hexKey) {
|
|
19
|
-
if (!hexKey) {
|
|
20
|
-
throw new Error("Private key hex must be provided");
|
|
21
|
-
}
|
|
22
|
-
return ec.keyFromPrivate(hexKey, "hex");
|
|
23
|
-
}
|
|
24
|
-
function serializePublicKeyCompressed(keyPair) {
|
|
25
|
-
return keyPair.getPublic(true, "hex");
|
|
26
|
-
}
|
|
27
|
-
function base64url(input) {
|
|
28
|
-
let buf;
|
|
29
|
-
if (typeof input === "string") buf = Buffer.from(input);
|
|
30
|
-
else if (input instanceof ArrayBuffer) buf = Buffer.from(input);
|
|
31
|
-
else buf = input;
|
|
32
|
-
return buf.toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
33
|
-
}
|
|
34
|
-
function sha256HashNode(data) {
|
|
35
|
-
const { createHash } = __require("crypto");
|
|
36
|
-
return createHash("sha256").update(data).digest();
|
|
37
|
-
}
|
|
38
|
-
async function hashInput(data) {
|
|
39
|
-
if (typeof window !== "undefined" && window.crypto?.subtle) {
|
|
40
|
-
const encoder = new TextEncoder();
|
|
41
|
-
const encoded = encoder.encode(data);
|
|
42
|
-
const hashBuffer = await window.crypto.subtle.digest("SHA-256", encoded);
|
|
43
|
-
return Buffer.from(hashBuffer);
|
|
44
|
-
} else {
|
|
45
|
-
return sha256HashNode(data);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async function generateJWT(sub, aud, keyPair, expiresInSeconds = 24 * 60 * 60) {
|
|
49
|
-
const iat = Math.floor(Date.now() / 1e3);
|
|
50
|
-
const exp = iat + expiresInSeconds;
|
|
51
|
-
const header = { alg: "ES256", typ: "JWT" };
|
|
52
|
-
const payload = { sub, aud, iat, exp };
|
|
53
|
-
const encodedHeader = base64url(JSON.stringify(header));
|
|
54
|
-
const encodedPayload = base64url(JSON.stringify(payload));
|
|
55
|
-
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
56
|
-
const hash = await hashInput(signingInput);
|
|
57
|
-
const signature = keyPair.sign(hash, { canonical: true });
|
|
58
|
-
const rBuf = signature.r.toArrayLike(Buffer, "be", 32);
|
|
59
|
-
const sBuf = signature.s.toArrayLike(Buffer, "be", 32);
|
|
60
|
-
const rawSig = Buffer.concat([rBuf, sBuf]);
|
|
61
|
-
const encodedSig = base64url(rawSig);
|
|
62
|
-
return `${signingInput}.${encodedSig}`;
|
|
63
|
-
}
|
|
64
|
-
async function createAuthEnvelope(privateKeyHex, network = "testnet" /* Testnet */, options) {
|
|
65
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
66
|
-
const publicKey = serializePublicKeyCompressed(keyPair);
|
|
67
|
-
const host = NETWORK_HOSTS[network];
|
|
68
|
-
if (!host) {
|
|
69
|
-
throw new Error(`Unsupported network: ${network}`);
|
|
70
|
-
}
|
|
71
|
-
const token = await generateJWT(publicKey, host, keyPair, options?.expiresInSeconds);
|
|
72
|
-
return { publicKey, token };
|
|
73
|
-
}
|
|
74
|
-
async function generateAppSignature(privateKeyHex, clientId, redirectUri, state) {
|
|
75
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
76
|
-
const message = `${clientId}:${redirectUri}:${state}`;
|
|
77
|
-
const hash = await hashInput(message);
|
|
78
|
-
const signatureDER = keyPair.sign(hash, { canonical: true }).toDER();
|
|
79
|
-
return Buffer.from(signatureDER).toString("hex");
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export {
|
|
83
|
-
__require,
|
|
84
|
-
Network,
|
|
85
|
-
NETWORK_HOSTS,
|
|
86
|
-
loadExistingSecp256k1PrivateKey,
|
|
87
|
-
serializePublicKeyCompressed,
|
|
88
|
-
generateJWT,
|
|
89
|
-
createAuthEnvelope,
|
|
90
|
-
generateAppSignature
|
|
91
|
-
};
|
package/dist/chunk-KEC6WLEL.mjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/helpers/CryptoUtils.tsx
|
|
9
|
-
import { ec as EC } from "elliptic";
|
|
10
|
-
var ec = new EC("secp256k1");
|
|
11
|
-
var Network = /* @__PURE__ */ ((Network2) => {
|
|
12
|
-
Network2["Testnet"] = "testnet";
|
|
13
|
-
Network2["Localnet"] = "localnet";
|
|
14
|
-
return Network2;
|
|
15
|
-
})(Network || {});
|
|
16
|
-
var NETWORK_HOSTS = {
|
|
17
|
-
["testnet" /* Testnet */]: "dev-db.petastic.com",
|
|
18
|
-
["localnet" /* Localnet */]: "host.docker.internal:9181"
|
|
19
|
-
};
|
|
20
|
-
function loadExistingSecp256k1PrivateKey(hexKey) {
|
|
21
|
-
if (!hexKey) {
|
|
22
|
-
throw new Error("Private key hex must be provided");
|
|
23
|
-
}
|
|
24
|
-
return ec.keyFromPrivate(hexKey, "hex");
|
|
25
|
-
}
|
|
26
|
-
function serializePublicKeyCompressed(keyPair) {
|
|
27
|
-
return keyPair.getPublic(true, "hex");
|
|
28
|
-
}
|
|
29
|
-
function base64url(input) {
|
|
30
|
-
let buf;
|
|
31
|
-
if (typeof input === "string") buf = Buffer.from(input);
|
|
32
|
-
else if (input instanceof ArrayBuffer) buf = Buffer.from(input);
|
|
33
|
-
else buf = input;
|
|
34
|
-
return buf.toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
35
|
-
}
|
|
36
|
-
function sha256HashNode(data) {
|
|
37
|
-
const { createHash } = __require("crypto");
|
|
38
|
-
return createHash("sha256").update(data).digest();
|
|
39
|
-
}
|
|
40
|
-
async function hashInput(data) {
|
|
41
|
-
if (typeof window !== "undefined" && window.crypto?.subtle) {
|
|
42
|
-
const encoder = new TextEncoder();
|
|
43
|
-
const encoded = encoder.encode(data);
|
|
44
|
-
const hashBuffer = await window.crypto.subtle.digest("SHA-256", encoded);
|
|
45
|
-
return Buffer.from(hashBuffer);
|
|
46
|
-
} else {
|
|
47
|
-
return sha256HashNode(data);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function generateJWT(sub, aud, keyPair, expiresInSeconds = 24 * 60 * 60) {
|
|
51
|
-
const iat = Math.floor(Date.now() / 1e3);
|
|
52
|
-
const exp = iat + expiresInSeconds;
|
|
53
|
-
const header = { alg: "ES256", typ: "JWT" };
|
|
54
|
-
const payload = { sub, aud, iat, exp };
|
|
55
|
-
const encodedHeader = base64url(JSON.stringify(header));
|
|
56
|
-
const encodedPayload = base64url(JSON.stringify(payload));
|
|
57
|
-
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
58
|
-
const hash = await hashInput(signingInput);
|
|
59
|
-
const signature = keyPair.sign(hash, { canonical: true });
|
|
60
|
-
const rBuf = signature.r.toArrayLike(Buffer, "be", 32);
|
|
61
|
-
const sBuf = signature.s.toArrayLike(Buffer, "be", 32);
|
|
62
|
-
const rawSig = Buffer.concat([rBuf, sBuf]);
|
|
63
|
-
const encodedSig = base64url(rawSig);
|
|
64
|
-
return `${signingInput}.${encodedSig}`;
|
|
65
|
-
}
|
|
66
|
-
async function createAuthEnvelope(privateKeyHex, network = "testnet" /* Testnet */, options) {
|
|
67
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
68
|
-
const publicKey = serializePublicKeyCompressed(keyPair);
|
|
69
|
-
const host = NETWORK_HOSTS[network];
|
|
70
|
-
if (!host) {
|
|
71
|
-
throw new Error(`Unsupported network: ${network}`);
|
|
72
|
-
}
|
|
73
|
-
const token = await generateJWT(publicKey, host, keyPair, options?.expiresInSeconds);
|
|
74
|
-
return { publicKey, token };
|
|
75
|
-
}
|
|
76
|
-
async function generateAppSignature(privateKeyHex, clientId, redirectUri, state) {
|
|
77
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
78
|
-
const message = `${clientId}:${redirectUri}:${state}`;
|
|
79
|
-
const hash = await hashInput(message);
|
|
80
|
-
const signatureDER = keyPair.sign(hash, { canonical: true }).toDER();
|
|
81
|
-
return Buffer.from(signatureDER).toString("hex");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
__require,
|
|
86
|
-
Network,
|
|
87
|
-
NETWORK_HOSTS,
|
|
88
|
-
loadExistingSecp256k1PrivateKey,
|
|
89
|
-
serializePublicKeyCompressed,
|
|
90
|
-
generateJWT,
|
|
91
|
-
createAuthEnvelope,
|
|
92
|
-
generateAppSignature
|
|
93
|
-
};
|
package/dist/chunk-QHK3YPLJ.mjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/helpers/CryptoUtils.tsx
|
|
9
|
-
import { ec as EC } from "elliptic";
|
|
10
|
-
var ec = new EC("secp256k1");
|
|
11
|
-
var Network = /* @__PURE__ */ ((Network2) => {
|
|
12
|
-
Network2["Testnet"] = "testnet";
|
|
13
|
-
Network2["Localnet"] = "localnet";
|
|
14
|
-
return Network2;
|
|
15
|
-
})(Network || {});
|
|
16
|
-
var NETWORK_HOSTS = {
|
|
17
|
-
["testnet" /* Testnet */]: "https://dev-db.petastic.com",
|
|
18
|
-
["localnet" /* Localnet */]: "host.docker.internal:9181"
|
|
19
|
-
};
|
|
20
|
-
function loadExistingSecp256k1PrivateKey(hexKey) {
|
|
21
|
-
if (!hexKey) {
|
|
22
|
-
throw new Error("Private key hex must be provided");
|
|
23
|
-
}
|
|
24
|
-
return ec.keyFromPrivate(hexKey, "hex");
|
|
25
|
-
}
|
|
26
|
-
function serializePublicKeyCompressed(keyPair) {
|
|
27
|
-
return keyPair.getPublic(true, "hex");
|
|
28
|
-
}
|
|
29
|
-
function base64url(input) {
|
|
30
|
-
let buf;
|
|
31
|
-
if (typeof input === "string") buf = Buffer.from(input);
|
|
32
|
-
else if (input instanceof ArrayBuffer) buf = Buffer.from(input);
|
|
33
|
-
else buf = input;
|
|
34
|
-
return buf.toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
35
|
-
}
|
|
36
|
-
function sha256HashNode(data) {
|
|
37
|
-
const { createHash } = __require("crypto");
|
|
38
|
-
return createHash("sha256").update(data).digest();
|
|
39
|
-
}
|
|
40
|
-
async function hashInput(data) {
|
|
41
|
-
if (typeof window !== "undefined" && window.crypto?.subtle) {
|
|
42
|
-
const encoder = new TextEncoder();
|
|
43
|
-
const encoded = encoder.encode(data);
|
|
44
|
-
const hashBuffer = await window.crypto.subtle.digest("SHA-256", encoded);
|
|
45
|
-
return Buffer.from(hashBuffer);
|
|
46
|
-
} else {
|
|
47
|
-
return sha256HashNode(data);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function generateJWT(sub, aud, keyPair, expiresInSeconds = 24 * 60 * 60) {
|
|
51
|
-
const iat = Math.floor(Date.now() / 1e3);
|
|
52
|
-
const exp = iat + expiresInSeconds;
|
|
53
|
-
const header = { alg: "ES256", typ: "JWT" };
|
|
54
|
-
const payload = { sub, aud, iat, exp };
|
|
55
|
-
const encodedHeader = base64url(JSON.stringify(header));
|
|
56
|
-
const encodedPayload = base64url(JSON.stringify(payload));
|
|
57
|
-
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
58
|
-
const hash = await hashInput(signingInput);
|
|
59
|
-
const signature = keyPair.sign(hash, { canonical: true });
|
|
60
|
-
const rBuf = signature.r.toArrayLike(Buffer, "be", 32);
|
|
61
|
-
const sBuf = signature.s.toArrayLike(Buffer, "be", 32);
|
|
62
|
-
const rawSig = Buffer.concat([rBuf, sBuf]);
|
|
63
|
-
const encodedSig = base64url(rawSig);
|
|
64
|
-
return `${signingInput}.${encodedSig}`;
|
|
65
|
-
}
|
|
66
|
-
async function createAuthEnvelope(privateKeyHex, network = "testnet" /* Testnet */, options) {
|
|
67
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
68
|
-
const publicKey = serializePublicKeyCompressed(keyPair);
|
|
69
|
-
const host = NETWORK_HOSTS[network];
|
|
70
|
-
if (!host) {
|
|
71
|
-
throw new Error(`Unsupported network: ${network}`);
|
|
72
|
-
}
|
|
73
|
-
const token = await generateJWT(publicKey, host, keyPair, options?.expiresInSeconds);
|
|
74
|
-
return { publicKey, token };
|
|
75
|
-
}
|
|
76
|
-
async function generateAppSignature(privateKeyHex, clientId, redirectUri, state) {
|
|
77
|
-
const keyPair = loadExistingSecp256k1PrivateKey(privateKeyHex);
|
|
78
|
-
const message = `${clientId}:${redirectUri}:${state}`;
|
|
79
|
-
const hash = await hashInput(message);
|
|
80
|
-
const signatureDER = keyPair.sign(hash, { canonical: true }).toDER();
|
|
81
|
-
return Buffer.from(signatureDER).toString("hex");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export {
|
|
85
|
-
__require,
|
|
86
|
-
Network,
|
|
87
|
-
NETWORK_HOSTS,
|
|
88
|
-
loadExistingSecp256k1PrivateKey,
|
|
89
|
-
serializePublicKeyCompressed,
|
|
90
|
-
generateJWT,
|
|
91
|
-
createAuthEnvelope,
|
|
92
|
-
generateAppSignature
|
|
93
|
-
};
|