anymal-protocol 1.0.81 → 1.0.82

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.
@@ -0,0 +1,93 @@
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
+ };
@@ -0,0 +1,93 @@
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
+ };
@@ -0,0 +1,91 @@
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
+ };
@@ -0,0 +1,93 @@
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
+ };
@@ -0,0 +1,93 @@
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
+ };
package/dist/index.d.mts CHANGED
@@ -238,6 +238,13 @@ declare enum ActionStatus {
238
238
  CLAIMED = "CLAIMED",
239
239
  REJECTED = "REJECTED"
240
240
  }
241
+ /**
242
+ * How the marketplace item can be verified, stripe transaction, anymal transaction, etc
243
+ */
244
+ declare enum MarketplacePaymentType {
245
+ STRIPE = "STRIPE",
246
+ ANYMAL = "ANYMAL"
247
+ }
241
248
  /**
242
249
  * Represents a single action record returned by the backend.
243
250
  */
@@ -324,6 +331,23 @@ interface ContractActionPayload extends BaseActionPayload {
324
331
  gasUsed: string;
325
332
  };
326
333
  }
334
+ /**
335
+ * Payload for marketplace action
336
+ */
337
+ interface MarketplaceActionPayload extends BaseActionPayload {
338
+ orderId: string;
339
+ totalSpent: number;
340
+ paymentTxId: string;
341
+ paymentSource: MarketplacePaymentType;
342
+ kibblePaymentTxId: string;
343
+ lineItems?: any[];
344
+ }
345
+ /**
346
+ * Payload for a wishlist purchase. same as a marketplace purchase except requires a wishlistId
347
+ */
348
+ interface WishlistPurchaseActionPayload extends MarketplaceActionPayload {
349
+ wishlistId: string;
350
+ }
327
351
  /**
328
352
  * Payload for external web-service actions
329
353
  */
@@ -334,7 +358,7 @@ interface ExternalActionPayload extends BaseActionPayload {
334
358
  responseStatus?: number;
335
359
  responseBody?: any;
336
360
  }
337
- type ActionPayload = GraphQLActionPayload | ContractActionPayload | ExternalActionPayload;
361
+ type ActionPayload = GraphQLActionPayload | ContractActionPayload | ExternalActionPayload | MarketplaceActionPayload | WishlistPurchaseActionPayload;
338
362
  interface SubmitResponse {
339
363
  ok: boolean;
340
364
  id: string;
@@ -370,4 +394,4 @@ declare function useClaimOrgActionReward(): (orgContractAddress: string, rewarda
370
394
  message: string;
371
395
  }>;
372
396
 
373
- export { AUTH_API_ENDPOINTS, type ActionDefinition, type ActionPayload, type ActionRecord, ActionSourceType, ActionStatus, ActionType, type AnymalNftMetadataInputData, type AuthEnvelope, type ContractActionPayload, type CreateAnymalInputData, type ExternalActionPayload, type GraphQLActionPayload, type JWTOptions, NETWORK_HOSTS, Network, type SubmitResponse, createAuthEnvelope, fetchAnymals, generateAppSignature, generateBytes32Nonce, generateJWT, loadExistingSecp256k1PrivateKey, serializePublicKeyCompressed, submitAction, useAddAnymalToDatabase, useApproveKibbleToken, useApproveOrgPartialPayment, useClaimActionReward, useClaimOrgActionReward, useCreateOrganizationAppData, useCreateOrganizationBase, useCreateUserAppData, useCreateWeb3Account, useDeleteAnymalFromDatabase, useFetchActionDefinitions, useFetchActions, useFetchAnymals, useFetchBalance, useFetchNotifications, useFetchUserData, useMintAnymalNFT, useProcessOrgPartialKibblePayment, useProcessPartialKibblePayment, useSaveAnymalMetadata, useUpdateAnymalWithNFT, useUpdateOrgWalletAddress, useUpdateUserAsVerified, useUpdateUserEmail, useUpdateUserName, useUpdateUserPid, useUploadAnymalImage, useVerifyAccount, useVerifyWeb3AuthSession };
397
+ export { AUTH_API_ENDPOINTS, type ActionDefinition, type ActionPayload, type ActionRecord, ActionSourceType, ActionStatus, ActionType, type AnymalNftMetadataInputData, type AuthEnvelope, type ContractActionPayload, type CreateAnymalInputData, type ExternalActionPayload, type GraphQLActionPayload, type JWTOptions, type MarketplaceActionPayload, MarketplacePaymentType, NETWORK_HOSTS, Network, type SubmitResponse, type WishlistPurchaseActionPayload, createAuthEnvelope, fetchAnymals, generateAppSignature, generateBytes32Nonce, generateJWT, loadExistingSecp256k1PrivateKey, serializePublicKeyCompressed, submitAction, useAddAnymalToDatabase, useApproveKibbleToken, useApproveOrgPartialPayment, useClaimActionReward, useClaimOrgActionReward, useCreateOrganizationAppData, useCreateOrganizationBase, useCreateUserAppData, useCreateWeb3Account, useDeleteAnymalFromDatabase, useFetchActionDefinitions, useFetchActions, useFetchAnymals, useFetchBalance, useFetchNotifications, useFetchUserData, useMintAnymalNFT, useProcessOrgPartialKibblePayment, useProcessPartialKibblePayment, useSaveAnymalMetadata, useUpdateAnymalWithNFT, useUpdateOrgWalletAddress, useUpdateUserAsVerified, useUpdateUserEmail, useUpdateUserName, useUpdateUserPid, useUploadAnymalImage, useVerifyAccount, useVerifyWeb3AuthSession };
package/dist/index.d.ts CHANGED
@@ -238,6 +238,13 @@ declare enum ActionStatus {
238
238
  CLAIMED = "CLAIMED",
239
239
  REJECTED = "REJECTED"
240
240
  }
241
+ /**
242
+ * How the marketplace item can be verified, stripe transaction, anymal transaction, etc
243
+ */
244
+ declare enum MarketplacePaymentType {
245
+ STRIPE = "STRIPE",
246
+ ANYMAL = "ANYMAL"
247
+ }
241
248
  /**
242
249
  * Represents a single action record returned by the backend.
243
250
  */
@@ -324,6 +331,23 @@ interface ContractActionPayload extends BaseActionPayload {
324
331
  gasUsed: string;
325
332
  };
326
333
  }
334
+ /**
335
+ * Payload for marketplace action
336
+ */
337
+ interface MarketplaceActionPayload extends BaseActionPayload {
338
+ orderId: string;
339
+ totalSpent: number;
340
+ paymentTxId: string;
341
+ paymentSource: MarketplacePaymentType;
342
+ kibblePaymentTxId: string;
343
+ lineItems?: any[];
344
+ }
345
+ /**
346
+ * Payload for a wishlist purchase. same as a marketplace purchase except requires a wishlistId
347
+ */
348
+ interface WishlistPurchaseActionPayload extends MarketplaceActionPayload {
349
+ wishlistId: string;
350
+ }
327
351
  /**
328
352
  * Payload for external web-service actions
329
353
  */
@@ -334,7 +358,7 @@ interface ExternalActionPayload extends BaseActionPayload {
334
358
  responseStatus?: number;
335
359
  responseBody?: any;
336
360
  }
337
- type ActionPayload = GraphQLActionPayload | ContractActionPayload | ExternalActionPayload;
361
+ type ActionPayload = GraphQLActionPayload | ContractActionPayload | ExternalActionPayload | MarketplaceActionPayload | WishlistPurchaseActionPayload;
338
362
  interface SubmitResponse {
339
363
  ok: boolean;
340
364
  id: string;
@@ -370,4 +394,4 @@ declare function useClaimOrgActionReward(): (orgContractAddress: string, rewarda
370
394
  message: string;
371
395
  }>;
372
396
 
373
- export { AUTH_API_ENDPOINTS, type ActionDefinition, type ActionPayload, type ActionRecord, ActionSourceType, ActionStatus, ActionType, type AnymalNftMetadataInputData, type AuthEnvelope, type ContractActionPayload, type CreateAnymalInputData, type ExternalActionPayload, type GraphQLActionPayload, type JWTOptions, NETWORK_HOSTS, Network, type SubmitResponse, createAuthEnvelope, fetchAnymals, generateAppSignature, generateBytes32Nonce, generateJWT, loadExistingSecp256k1PrivateKey, serializePublicKeyCompressed, submitAction, useAddAnymalToDatabase, useApproveKibbleToken, useApproveOrgPartialPayment, useClaimActionReward, useClaimOrgActionReward, useCreateOrganizationAppData, useCreateOrganizationBase, useCreateUserAppData, useCreateWeb3Account, useDeleteAnymalFromDatabase, useFetchActionDefinitions, useFetchActions, useFetchAnymals, useFetchBalance, useFetchNotifications, useFetchUserData, useMintAnymalNFT, useProcessOrgPartialKibblePayment, useProcessPartialKibblePayment, useSaveAnymalMetadata, useUpdateAnymalWithNFT, useUpdateOrgWalletAddress, useUpdateUserAsVerified, useUpdateUserEmail, useUpdateUserName, useUpdateUserPid, useUploadAnymalImage, useVerifyAccount, useVerifyWeb3AuthSession };
397
+ export { AUTH_API_ENDPOINTS, type ActionDefinition, type ActionPayload, type ActionRecord, ActionSourceType, ActionStatus, ActionType, type AnymalNftMetadataInputData, type AuthEnvelope, type ContractActionPayload, type CreateAnymalInputData, type ExternalActionPayload, type GraphQLActionPayload, type JWTOptions, type MarketplaceActionPayload, MarketplacePaymentType, NETWORK_HOSTS, Network, type SubmitResponse, type WishlistPurchaseActionPayload, createAuthEnvelope, fetchAnymals, generateAppSignature, generateBytes32Nonce, generateJWT, loadExistingSecp256k1PrivateKey, serializePublicKeyCompressed, submitAction, useAddAnymalToDatabase, useApproveKibbleToken, useApproveOrgPartialPayment, useClaimActionReward, useClaimOrgActionReward, useCreateOrganizationAppData, useCreateOrganizationBase, useCreateUserAppData, useCreateWeb3Account, useDeleteAnymalFromDatabase, useFetchActionDefinitions, useFetchActions, useFetchAnymals, useFetchBalance, useFetchNotifications, useFetchUserData, useMintAnymalNFT, useProcessOrgPartialKibblePayment, useProcessPartialKibblePayment, useSaveAnymalMetadata, useUpdateAnymalWithNFT, useUpdateOrgWalletAddress, useUpdateUserAsVerified, useUpdateUserEmail, useUpdateUserName, useUpdateUserPid, useUploadAnymalImage, useVerifyAccount, useVerifyWeb3AuthSession };
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ __export(index_exports, {
24
24
  ActionSourceType: () => ActionSourceType,
25
25
  ActionStatus: () => ActionStatus,
26
26
  ActionType: () => ActionType,
27
+ MarketplacePaymentType: () => MarketplacePaymentType,
27
28
  NETWORK_HOSTS: () => NETWORK_HOSTS,
28
29
  Network: () => Network,
29
30
  createAuthEnvelope: () => createAuthEnvelope,
@@ -2211,6 +2212,11 @@ var ActionStatus = /* @__PURE__ */ ((ActionStatus2) => {
2211
2212
  ActionStatus2["REJECTED"] = "REJECTED";
2212
2213
  return ActionStatus2;
2213
2214
  })(ActionStatus || {});
2215
+ var MarketplacePaymentType = /* @__PURE__ */ ((MarketplacePaymentType2) => {
2216
+ MarketplacePaymentType2["STRIPE"] = "STRIPE";
2217
+ MarketplacePaymentType2["ANYMAL"] = "ANYMAL";
2218
+ return MarketplacePaymentType2;
2219
+ })(MarketplacePaymentType || {});
2214
2220
 
2215
2221
  // src/utils/application/useCreateUserAppData.ts
2216
2222
  var import_react25 = require("react");
@@ -2435,6 +2441,7 @@ function useClaimOrgActionReward() {
2435
2441
  ActionSourceType,
2436
2442
  ActionStatus,
2437
2443
  ActionType,
2444
+ MarketplacePaymentType,
2438
2445
  NETWORK_HOSTS,
2439
2446
  Network,
2440
2447
  createAuthEnvelope,
package/dist/index.mjs CHANGED
@@ -2074,6 +2074,11 @@ var ActionStatus = /* @__PURE__ */ ((ActionStatus2) => {
2074
2074
  ActionStatus2["REJECTED"] = "REJECTED";
2075
2075
  return ActionStatus2;
2076
2076
  })(ActionStatus || {});
2077
+ var MarketplacePaymentType = /* @__PURE__ */ ((MarketplacePaymentType2) => {
2078
+ MarketplacePaymentType2["STRIPE"] = "STRIPE";
2079
+ MarketplacePaymentType2["ANYMAL"] = "ANYMAL";
2080
+ return MarketplacePaymentType2;
2081
+ })(MarketplacePaymentType || {});
2077
2082
 
2078
2083
  // src/utils/application/useCreateUserAppData.ts
2079
2084
  import { useCallback as useCallback25 } from "react";
@@ -2297,6 +2302,7 @@ export {
2297
2302
  ActionSourceType,
2298
2303
  ActionStatus,
2299
2304
  ActionType,
2305
+ MarketplacePaymentType,
2300
2306
  NETWORK_HOSTS,
2301
2307
  Network,
2302
2308
  createAuthEnvelope,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anymal-protocol",
3
- "version": "1.0.81",
3
+ "version": "1.0.82",
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": {