anymal-protocol 1.0.97 → 1.0.98

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 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."
@@ -2486,7 +2482,8 @@ function useSubmitContractAction() {
2486
2482
  clientInfo: {
2487
2483
  userAgent: navigator.userAgent,
2488
2484
  locale: navigator.language
2489
- }
2485
+ },
2486
+ referral: payload.referral
2490
2487
  };
2491
2488
  switch (payload.source) {
2492
2489
  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."
@@ -2343,7 +2339,8 @@ function useSubmitContractAction() {
2343
2339
  clientInfo: {
2344
2340
  userAgent: navigator.userAgent,
2345
2341
  locale: navigator.language
2346
- }
2342
+ },
2343
+ referral: payload.referral
2347
2344
  };
2348
2345
  switch (payload.source) {
2349
2346
  case "GRAPHQL" /* GRAPHQL */:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anymal-protocol",
3
- "version": "1.0.97",
3
+ "version": "1.0.98",
4
4
  "description": "A React/TypeScript-based utility library for reusable functions and hooks inside of the Anymal Ecosystem.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -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
- };
@@ -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
- };
@@ -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
- };
@@ -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
- };
@@ -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
- };