@shielded-x402/client 0.2.1 → 0.2.2
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/circuits/spend_change.json +156 -156
- package/package.json +3 -3
- package/dist/packages/shared-types/src/crypto-spec.d.ts +0 -16
- package/dist/packages/shared-types/src/crypto-spec.d.ts.map +0 -1
- package/dist/packages/shared-types/src/crypto-spec.js +0 -15
- package/dist/packages/shared-types/src/crypto-spec.js.map +0 -1
- package/dist/packages/shared-types/src/index.d.ts +0 -4
- package/dist/packages/shared-types/src/index.d.ts.map +0 -1
- package/dist/packages/shared-types/src/index.js +0 -4
- package/dist/packages/shared-types/src/index.js.map +0 -1
- package/dist/packages/shared-types/src/types.d.ts +0 -115
- package/dist/packages/shared-types/src/types.d.ts.map +0 -1
- package/dist/packages/shared-types/src/types.js +0 -2
- package/dist/packages/shared-types/src/types.js.map +0 -1
- package/dist/packages/shared-types/src/x402.d.ts +0 -20
- package/dist/packages/shared-types/src/x402.d.ts.map +0 -1
- package/dist/packages/shared-types/src/x402.js +0 -96
- package/dist/packages/shared-types/src/x402.js.map +0 -1
- package/dist/sdk/client/src/client.d.ts +0 -26
- package/dist/sdk/client/src/client.d.ts.map +0 -1
- package/dist/sdk/client/src/client.js +0 -174
- package/dist/sdk/client/src/client.js.map +0 -1
- package/dist/sdk/client/src/crypto.d.ts +0 -5
- package/dist/sdk/client/src/crypto.d.ts.map +0 -1
- package/dist/sdk/client/src/crypto.js +0 -15
- package/dist/sdk/client/src/crypto.js.map +0 -1
- package/dist/sdk/client/src/index.d.ts +0 -10
- package/dist/sdk/client/src/index.d.ts.map +0 -1
- package/dist/sdk/client/src/index.js +0 -10
- package/dist/sdk/client/src/index.js.map +0 -1
- package/dist/sdk/client/src/indexer.d.ts +0 -22
- package/dist/sdk/client/src/indexer.d.ts.map +0 -1
- package/dist/sdk/client/src/indexer.js +0 -20
- package/dist/sdk/client/src/indexer.js.map +0 -1
- package/dist/sdk/client/src/merkle.d.ts +0 -11
- package/dist/sdk/client/src/merkle.d.ts.map +0 -1
- package/dist/sdk/client/src/merkle.js +0 -63
- package/dist/sdk/client/src/merkle.js.map +0 -1
- package/dist/sdk/client/src/notes.d.ts +0 -19
- package/dist/sdk/client/src/notes.d.ts.map +0 -1
- package/dist/sdk/client/src/notes.js +0 -105
- package/dist/sdk/client/src/notes.js.map +0 -1
- package/dist/sdk/client/src/proofProvider.d.ts +0 -33
- package/dist/sdk/client/src/proofProvider.d.ts.map +0 -1
- package/dist/sdk/client/src/proofProvider.js +0 -207
- package/dist/sdk/client/src/proofProvider.js.map +0 -1
- package/dist/sdk/client/src/relayerFetch.d.ts +0 -36
- package/dist/sdk/client/src/relayerFetch.d.ts.map +0 -1
- package/dist/sdk/client/src/relayerFetch.js +0 -195
- package/dist/sdk/client/src/relayerFetch.js.map +0 -1
- package/dist/sdk/client/src/shieldedFetch.d.ts +0 -39
- package/dist/sdk/client/src/shieldedFetch.d.ts.map +0 -1
- package/dist/sdk/client/src/shieldedFetch.js +0 -88
- package/dist/sdk/client/src/shieldedFetch.js.map +0 -1
- package/dist/sdk/client/src/types.d.ts +0 -57
- package/dist/sdk/client/src/types.d.ts.map +0 -1
- package/dist/sdk/client/src/types.js +0 -2
- package/dist/sdk/client/src/types.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shielded-x402/client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@shielded-x402/shared-types": "^0.2.
|
|
20
|
+
"@shielded-x402/shared-types": "^0.2.2",
|
|
21
21
|
"viem": "^2.39.3"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
|
-
"build": "
|
|
36
|
+
"build": "bash scripts/build.sh",
|
|
37
37
|
"pretest": "pnpm --filter @shielded-x402/shared-types build && pnpm run build",
|
|
38
38
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
39
39
|
"test": "vitest run",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare const CRYPTO_SPEC: {
|
|
2
|
-
readonly version: "v0.1.0";
|
|
3
|
-
readonly hashFunction: "keccak256";
|
|
4
|
-
readonly merkleTreeDepth: 24;
|
|
5
|
-
readonly noteEncoding: "abi-packed-v1";
|
|
6
|
-
readonly nullifierDerivation: "keccak256(nullifierSecret, noteCommitment)";
|
|
7
|
-
readonly merchantCommitmentDerivation: "keccak256(payAmount, merchantRho, merchantPkHash)";
|
|
8
|
-
readonly changeCommitmentDerivation: "keccak256(changeAmount, changeRho, changePkHash)";
|
|
9
|
-
readonly challengeDomainSeparator: "shielded-x402:v1:challenge";
|
|
10
|
-
readonly challengeDomainHash: "0xe32e24a51c351093d339c0035177dc2da5c1b8b9563e414393edd75506dcc055";
|
|
11
|
-
readonly commitmentDomainSeparator: "shielded-x402:v1:commitment";
|
|
12
|
-
readonly outputDomainSeparator: "shielded-x402:v1:output";
|
|
13
|
-
readonly nullifierDomainSeparator: "shielded-x402:v1:nullifier";
|
|
14
|
-
};
|
|
15
|
-
export type CryptoSpec = typeof CRYPTO_SPEC;
|
|
16
|
-
//# sourceMappingURL=crypto-spec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-spec.d.ts","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/crypto-spec.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAad,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const CRYPTO_SPEC = {
|
|
2
|
-
version: 'v0.1.0',
|
|
3
|
-
hashFunction: 'keccak256',
|
|
4
|
-
merkleTreeDepth: 24,
|
|
5
|
-
noteEncoding: 'abi-packed-v1',
|
|
6
|
-
nullifierDerivation: 'keccak256(nullifierSecret, noteCommitment)',
|
|
7
|
-
merchantCommitmentDerivation: 'keccak256(payAmount, merchantRho, merchantPkHash)',
|
|
8
|
-
changeCommitmentDerivation: 'keccak256(changeAmount, changeRho, changePkHash)',
|
|
9
|
-
challengeDomainSeparator: 'shielded-x402:v1:challenge',
|
|
10
|
-
challengeDomainHash: '0xe32e24a51c351093d339c0035177dc2da5c1b8b9563e414393edd75506dcc055',
|
|
11
|
-
commitmentDomainSeparator: 'shielded-x402:v1:commitment',
|
|
12
|
-
outputDomainSeparator: 'shielded-x402:v1:output',
|
|
13
|
-
nullifierDomainSeparator: 'shielded-x402:v1:nullifier'
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=crypto-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-spec.js","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/crypto-spec.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,QAAQ;IACjB,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,eAAe;IAC7B,mBAAmB,EAAE,4CAA4C;IACjE,4BAA4B,EAAE,mDAAmD;IACjF,0BAA0B,EAAE,kDAAkD;IAC9E,wBAAwB,EAAE,4BAA4B;IACtD,mBAAmB,EAAE,oEAAoE;IACzF,yBAAyB,EAAE,6BAA6B;IACxD,qBAAqB,EAAE,yBAAyB;IAChD,wBAAwB,EAAE,4BAA4B;CAC9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
export type Hex = `0x${string}`;
|
|
2
|
-
export interface ShieldedNote {
|
|
3
|
-
amount: bigint;
|
|
4
|
-
rho: Hex;
|
|
5
|
-
pkHash: Hex;
|
|
6
|
-
commitment: Hex;
|
|
7
|
-
leafIndex: number;
|
|
8
|
-
}
|
|
9
|
-
export interface SpendPublicInputs {
|
|
10
|
-
nullifier: Hex;
|
|
11
|
-
root: Hex;
|
|
12
|
-
merchantCommitment: Hex;
|
|
13
|
-
changeCommitment: Hex;
|
|
14
|
-
challengeHash: Hex;
|
|
15
|
-
amount: bigint;
|
|
16
|
-
}
|
|
17
|
-
export interface ShieldedPaymentResponse {
|
|
18
|
-
proof: Hex;
|
|
19
|
-
publicInputs: Hex[];
|
|
20
|
-
nullifier: Hex;
|
|
21
|
-
root: Hex;
|
|
22
|
-
merchantCommitment: Hex;
|
|
23
|
-
changeCommitment: Hex;
|
|
24
|
-
challengeHash: Hex;
|
|
25
|
-
encryptedReceipt: Hex;
|
|
26
|
-
txHint?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface PaymentRequirement {
|
|
29
|
-
x402Version?: 2;
|
|
30
|
-
scheme: 'exact' | string;
|
|
31
|
-
network: string;
|
|
32
|
-
asset: Hex | string;
|
|
33
|
-
payTo: Hex;
|
|
34
|
-
rail: 'shielded-usdc' | string;
|
|
35
|
-
amount: string;
|
|
36
|
-
challengeNonce: string;
|
|
37
|
-
challengeExpiry: string;
|
|
38
|
-
merchantPubKey: Hex;
|
|
39
|
-
verifyingContract: Hex;
|
|
40
|
-
maxTimeoutSeconds?: number;
|
|
41
|
-
description?: string;
|
|
42
|
-
mimeType?: string;
|
|
43
|
-
outputSchema?: string;
|
|
44
|
-
extra?: Record<string, string> & {
|
|
45
|
-
rail: 'shielded-usdc' | string;
|
|
46
|
-
challengeNonce: string;
|
|
47
|
-
challengeExpiry: string;
|
|
48
|
-
merchantPubKey: Hex;
|
|
49
|
-
verifyingContract: Hex;
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export interface X402PaymentRequired {
|
|
53
|
-
x402Version: 2;
|
|
54
|
-
accepts: Array<Record<string, unknown>>;
|
|
55
|
-
error?: string;
|
|
56
|
-
}
|
|
57
|
-
export interface X402PaymentSignaturePayload {
|
|
58
|
-
x402Version: 2;
|
|
59
|
-
accepted: PaymentRequirement;
|
|
60
|
-
payload: ShieldedPaymentResponse;
|
|
61
|
-
challengeNonce: Hex;
|
|
62
|
-
signature: Hex;
|
|
63
|
-
}
|
|
64
|
-
export interface AgentRecord {
|
|
65
|
-
did: string;
|
|
66
|
-
endpoint: string;
|
|
67
|
-
encryptionPubKey: Hex;
|
|
68
|
-
capabilities: string[];
|
|
69
|
-
supportedRails: string[];
|
|
70
|
-
signature: Hex;
|
|
71
|
-
}
|
|
72
|
-
export interface ReputationSignal {
|
|
73
|
-
successfulSettlements: number;
|
|
74
|
-
disputes: number;
|
|
75
|
-
uptime: number;
|
|
76
|
-
attestationRefs: string[];
|
|
77
|
-
}
|
|
78
|
-
export interface RelayerMerchantRequest {
|
|
79
|
-
url: string;
|
|
80
|
-
method: string;
|
|
81
|
-
headers?: Record<string, string>;
|
|
82
|
-
bodyBase64?: string;
|
|
83
|
-
challengeUrl?: string;
|
|
84
|
-
}
|
|
85
|
-
export interface RelayerPayRequest {
|
|
86
|
-
merchantRequest: RelayerMerchantRequest;
|
|
87
|
-
requirement: PaymentRequirement;
|
|
88
|
-
paymentSignatureHeader: string;
|
|
89
|
-
idempotencyKey?: string;
|
|
90
|
-
}
|
|
91
|
-
export interface RelayerChallengeRequest {
|
|
92
|
-
merchantRequest: RelayerMerchantRequest;
|
|
93
|
-
merchantPaymentRequiredHeader?: string;
|
|
94
|
-
}
|
|
95
|
-
export interface RelayerChallengeResponse {
|
|
96
|
-
requirement: PaymentRequirement;
|
|
97
|
-
paymentRequiredHeader: string;
|
|
98
|
-
upstreamRequirementHash: Hex;
|
|
99
|
-
}
|
|
100
|
-
export type RelayerSettlementStatus = 'RECEIVED' | 'VERIFIED' | 'SENT_ONCHAIN' | 'CONFIRMED' | 'PAID_MERCHANT' | 'DONE' | 'FAILED';
|
|
101
|
-
export interface RelayerMerchantResult {
|
|
102
|
-
status: number;
|
|
103
|
-
headers: Record<string, string>;
|
|
104
|
-
bodyBase64: string;
|
|
105
|
-
payoutReference?: string;
|
|
106
|
-
}
|
|
107
|
-
export interface RelayerPayResponse {
|
|
108
|
-
settlementId: string;
|
|
109
|
-
status: RelayerSettlementStatus;
|
|
110
|
-
nullifier: Hex;
|
|
111
|
-
settlementTxHash?: Hex;
|
|
112
|
-
merchantResult?: RelayerMerchantResult;
|
|
113
|
-
failureReason?: string;
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { PaymentRequirement, X402PaymentRequired, X402PaymentSignaturePayload } from './types.js';
|
|
2
|
-
export declare const X402_HEADERS: {
|
|
3
|
-
readonly paymentRequired: "PAYMENT-REQUIRED";
|
|
4
|
-
readonly paymentSignature: "PAYMENT-SIGNATURE";
|
|
5
|
-
readonly paymentResponse: "PAYMENT-RESPONSE";
|
|
6
|
-
};
|
|
7
|
-
export declare const RELAYER_ROUTES: {
|
|
8
|
-
readonly challenge: "/v1/relay/challenge";
|
|
9
|
-
readonly pay: "/v1/relay/pay";
|
|
10
|
-
readonly statusPrefix: "/v1/relay/status";
|
|
11
|
-
};
|
|
12
|
-
export declare function encodeX402Header<T>(value: T): string;
|
|
13
|
-
export declare function decodeX402Header<T>(rawHeader: string): T;
|
|
14
|
-
export declare function buildPaymentRequiredHeader(requirement: PaymentRequirement): string;
|
|
15
|
-
export declare function parsePaymentRequiredHeader(rawHeader: string): PaymentRequirement;
|
|
16
|
-
export declare function parsePaymentRequiredEnvelope(rawHeader: string): X402PaymentRequired;
|
|
17
|
-
export declare function buildPaymentSignatureHeader(payload: X402PaymentSignaturePayload): string;
|
|
18
|
-
export declare function parsePaymentSignatureHeader(rawHeader: string): X402PaymentSignaturePayload;
|
|
19
|
-
export declare function normalizeRequirement(requirement: PaymentRequirement): PaymentRequirement;
|
|
20
|
-
//# sourceMappingURL=x402.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/x402.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAUX,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAGxD;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,CAkBlF;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAOhF;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAMnF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAExF;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,CAM1F;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,GAAG,kBAAkB,CA6BxF"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
export const X402_HEADERS = {
|
|
2
|
-
paymentRequired: 'PAYMENT-REQUIRED',
|
|
3
|
-
paymentSignature: 'PAYMENT-SIGNATURE',
|
|
4
|
-
paymentResponse: 'PAYMENT-RESPONSE'
|
|
5
|
-
};
|
|
6
|
-
export const RELAYER_ROUTES = {
|
|
7
|
-
challenge: '/v1/relay/challenge',
|
|
8
|
-
pay: '/v1/relay/pay',
|
|
9
|
-
statusPrefix: '/v1/relay/status'
|
|
10
|
-
};
|
|
11
|
-
function toBase64(value) {
|
|
12
|
-
return Buffer.from(value, 'utf8').toString('base64');
|
|
13
|
-
}
|
|
14
|
-
function fromBase64(value) {
|
|
15
|
-
return Buffer.from(value, 'base64').toString('utf8');
|
|
16
|
-
}
|
|
17
|
-
export function encodeX402Header(value) {
|
|
18
|
-
return toBase64(JSON.stringify(value));
|
|
19
|
-
}
|
|
20
|
-
export function decodeX402Header(rawHeader) {
|
|
21
|
-
const decoded = fromBase64(rawHeader.trim());
|
|
22
|
-
return JSON.parse(decoded);
|
|
23
|
-
}
|
|
24
|
-
export function buildPaymentRequiredHeader(requirement) {
|
|
25
|
-
const envelope = {
|
|
26
|
-
x402Version: 2,
|
|
27
|
-
accepts: [
|
|
28
|
-
{
|
|
29
|
-
...requirement,
|
|
30
|
-
x402Version: 2,
|
|
31
|
-
extra: requirement.extra ?? {
|
|
32
|
-
rail: requirement.rail,
|
|
33
|
-
challengeNonce: requirement.challengeNonce,
|
|
34
|
-
challengeExpiry: requirement.challengeExpiry,
|
|
35
|
-
merchantPubKey: requirement.merchantPubKey,
|
|
36
|
-
verifyingContract: requirement.verifyingContract
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
};
|
|
41
|
-
return encodeX402Header(envelope);
|
|
42
|
-
}
|
|
43
|
-
export function parsePaymentRequiredHeader(rawHeader) {
|
|
44
|
-
const envelope = parsePaymentRequiredEnvelope(rawHeader);
|
|
45
|
-
const accepted = envelope.accepts[0];
|
|
46
|
-
if (!accepted || typeof accepted !== 'object') {
|
|
47
|
-
throw new Error('x402 PAYMENT-REQUIRED has no accepted payment requirements');
|
|
48
|
-
}
|
|
49
|
-
return normalizeRequirement(accepted);
|
|
50
|
-
}
|
|
51
|
-
export function parsePaymentRequiredEnvelope(rawHeader) {
|
|
52
|
-
const envelope = decodeX402Header(rawHeader);
|
|
53
|
-
if (envelope.x402Version !== 2) {
|
|
54
|
-
throw new Error('unsupported x402 version in PAYMENT-REQUIRED');
|
|
55
|
-
}
|
|
56
|
-
return envelope;
|
|
57
|
-
}
|
|
58
|
-
export function buildPaymentSignatureHeader(payload) {
|
|
59
|
-
return encodeX402Header(payload);
|
|
60
|
-
}
|
|
61
|
-
export function parsePaymentSignatureHeader(rawHeader) {
|
|
62
|
-
const envelope = decodeX402Header(rawHeader);
|
|
63
|
-
if (envelope.x402Version !== 2) {
|
|
64
|
-
throw new Error('unsupported x402 version in PAYMENT-SIGNATURE');
|
|
65
|
-
}
|
|
66
|
-
return envelope;
|
|
67
|
-
}
|
|
68
|
-
export function normalizeRequirement(requirement) {
|
|
69
|
-
const extra = requirement.extra ?? undefined;
|
|
70
|
-
const rail = requirement.rail ?? extra?.rail;
|
|
71
|
-
const challengeNonce = requirement.challengeNonce ?? extra?.challengeNonce;
|
|
72
|
-
const challengeExpiry = requirement.challengeExpiry ?? extra?.challengeExpiry;
|
|
73
|
-
const merchantPubKey = requirement.merchantPubKey ?? extra?.merchantPubKey;
|
|
74
|
-
const verifyingContract = requirement.verifyingContract ?? extra?.verifyingContract;
|
|
75
|
-
if (!rail || !challengeNonce || !challengeExpiry || !merchantPubKey || !verifyingContract) {
|
|
76
|
-
throw new Error('payment requirement missing shielded rail metadata');
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
...requirement,
|
|
80
|
-
x402Version: 2,
|
|
81
|
-
rail,
|
|
82
|
-
challengeNonce,
|
|
83
|
-
challengeExpiry,
|
|
84
|
-
merchantPubKey,
|
|
85
|
-
verifyingContract,
|
|
86
|
-
extra: {
|
|
87
|
-
...(extra ?? {}),
|
|
88
|
-
rail,
|
|
89
|
-
challengeNonce,
|
|
90
|
-
challengeExpiry,
|
|
91
|
-
merchantPubKey,
|
|
92
|
-
verifyingContract
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=x402.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../../../../../../packages/shared-types/src/x402.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Hex, type PaymentRequirement, type ShieldedNote, type ShieldedPaymentResponse } from '@shielded-x402/shared-types';
|
|
2
|
-
import { type MerkleWitness } from './merkle.js';
|
|
3
|
-
import type { Parsed402, Prepared402Payment, ShieldedClientConfig, SpendBuildParams, SpendProofBundle } from './types.js';
|
|
4
|
-
export declare class ShieldedClientSDK {
|
|
5
|
-
private readonly config;
|
|
6
|
-
constructor(config: ShieldedClientConfig);
|
|
7
|
-
deposit(amount: bigint, ownerPkHash: Hex): Promise<{
|
|
8
|
-
note: ShieldedNote;
|
|
9
|
-
txHash?: Hex;
|
|
10
|
-
leafIndex: number;
|
|
11
|
-
}>;
|
|
12
|
-
buildSpendProof(params: SpendBuildParams): SpendProofBundle;
|
|
13
|
-
buildSpendProofWithProvider(params: SpendBuildParams): Promise<SpendProofBundle>;
|
|
14
|
-
private attachRealProof;
|
|
15
|
-
pay402(paymentResponse: ShieldedPaymentResponse, requirement: PaymentRequirement, challengeNonce: Hex): Promise<{
|
|
16
|
-
payload: string;
|
|
17
|
-
signature: string;
|
|
18
|
-
paymentSignatureHeader: string;
|
|
19
|
-
}>;
|
|
20
|
-
parse402Response(response: Response): Parsed402;
|
|
21
|
-
prepare402Payment(requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex, baseHeaders?: HeadersInit): Promise<Prepared402Payment>;
|
|
22
|
-
complete402Payment(input: string, init: RequestInit, requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex, fetchFn?: typeof fetch): Promise<Response>;
|
|
23
|
-
fetchWithShieldedPayment(input: string, init: RequestInit, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex): Promise<Response>;
|
|
24
|
-
}
|
|
25
|
-
export declare function buildWitnessFromCommitments(commitments: Hex[], targetIndex: number): MerkleWitness;
|
|
26
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAcpB,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEnD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBjH,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IA8CrD,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAKxE,eAAe;IA8BvB,MAAM,CACV,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,kBAAkB,EAC/B,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC;IAalF,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAMzC,iBAAiB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAoCxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,GAAG,EAChB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,QAAQ,CAAC;IAed,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAOlJ;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAElG"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { X402_HEADERS, buildPaymentSignatureHeader, normalizeRequirement, parsePaymentRequiredHeader } from '@shielded-x402/shared-types';
|
|
2
|
-
import { randomBytes } from 'node:crypto';
|
|
3
|
-
import { deriveChallengeHash, deriveCommitment, deriveNullifier } from './crypto.js';
|
|
4
|
-
import { deriveWitness } from './merkle.js';
|
|
5
|
-
const BN254_FIELD_MODULUS = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
|
|
6
|
-
function randomFieldHex() {
|
|
7
|
-
while (true) {
|
|
8
|
-
const candidate = BigInt(`0x${randomBytes(32).toString('hex')}`);
|
|
9
|
-
if (candidate < BN254_FIELD_MODULUS) {
|
|
10
|
-
return (`0x${candidate.toString(16).padStart(64, '0')}`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class ShieldedClientSDK {
|
|
15
|
-
config;
|
|
16
|
-
constructor(config) {
|
|
17
|
-
this.config = config;
|
|
18
|
-
}
|
|
19
|
-
async deposit(amount, ownerPkHash) {
|
|
20
|
-
const rho = randomFieldHex();
|
|
21
|
-
const commitment = deriveCommitment(amount, rho, ownerPkHash);
|
|
22
|
-
const tx = this.config.depositFn ? await this.config.depositFn(amount, commitment) : undefined;
|
|
23
|
-
const result = {
|
|
24
|
-
note: {
|
|
25
|
-
amount,
|
|
26
|
-
rho,
|
|
27
|
-
pkHash: ownerPkHash,
|
|
28
|
-
commitment,
|
|
29
|
-
leafIndex: tx?.leafIndex ?? -1
|
|
30
|
-
},
|
|
31
|
-
leafIndex: tx?.leafIndex ?? -1
|
|
32
|
-
};
|
|
33
|
-
if (tx?.txHash) {
|
|
34
|
-
result.txHash = tx.txHash;
|
|
35
|
-
}
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
buildSpendProof(params) {
|
|
39
|
-
if (params.amount > params.note.amount) {
|
|
40
|
-
throw new Error('insufficient note amount');
|
|
41
|
-
}
|
|
42
|
-
const nullifier = deriveNullifier(params.nullifierSecret, params.note.commitment);
|
|
43
|
-
const merchantRho = params.merchantRho ?? randomFieldHex();
|
|
44
|
-
const merchantCommitment = deriveCommitment(params.amount, merchantRho, params.merchantPubKey);
|
|
45
|
-
const changeAmount = params.note.amount - params.amount;
|
|
46
|
-
const changeRho = params.changeRho ?? randomFieldHex();
|
|
47
|
-
const changeCommitment = deriveCommitment(changeAmount, changeRho, params.note.pkHash);
|
|
48
|
-
const challengeHash = deriveChallengeHash(params.challengeNonce, params.amount, params.merchantAddress);
|
|
49
|
-
const amountHex = `0x${params.amount.toString(16).padStart(64, '0')}`;
|
|
50
|
-
const response = {
|
|
51
|
-
proof: '0x00',
|
|
52
|
-
publicInputs: [
|
|
53
|
-
nullifier,
|
|
54
|
-
params.witness.root,
|
|
55
|
-
merchantCommitment,
|
|
56
|
-
changeCommitment,
|
|
57
|
-
challengeHash,
|
|
58
|
-
amountHex
|
|
59
|
-
],
|
|
60
|
-
nullifier,
|
|
61
|
-
root: params.witness.root,
|
|
62
|
-
merchantCommitment,
|
|
63
|
-
changeCommitment,
|
|
64
|
-
challengeHash,
|
|
65
|
-
encryptedReceipt: params.encryptedReceipt,
|
|
66
|
-
txHint: `leaf:${params.note.leafIndex}`
|
|
67
|
-
};
|
|
68
|
-
return {
|
|
69
|
-
merchantRho,
|
|
70
|
-
response,
|
|
71
|
-
changeNote: {
|
|
72
|
-
amount: changeAmount,
|
|
73
|
-
rho: changeRho,
|
|
74
|
-
pkHash: params.note.pkHash,
|
|
75
|
-
commitment: changeCommitment,
|
|
76
|
-
leafIndex: -1
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
async buildSpendProofWithProvider(params) {
|
|
81
|
-
const bundle = this.buildSpendProof(params);
|
|
82
|
-
return this.attachRealProof(bundle, params);
|
|
83
|
-
}
|
|
84
|
-
async attachRealProof(bundle, params) {
|
|
85
|
-
if (!this.config.proofProvider) {
|
|
86
|
-
return bundle;
|
|
87
|
-
}
|
|
88
|
-
const proofResult = await this.config.proofProvider.generateProof({
|
|
89
|
-
note: params.note,
|
|
90
|
-
witness: params.witness,
|
|
91
|
-
nullifierSecret: params.nullifierSecret,
|
|
92
|
-
merchantPubKey: params.merchantPubKey,
|
|
93
|
-
merchantRho: bundle.merchantRho,
|
|
94
|
-
changePkHash: params.note.pkHash,
|
|
95
|
-
changeRho: bundle.changeNote.rho,
|
|
96
|
-
amount: params.amount,
|
|
97
|
-
challengeNonce: params.challengeNonce,
|
|
98
|
-
merchantAddress: params.merchantAddress,
|
|
99
|
-
expectedPublicInputs: bundle.response.publicInputs
|
|
100
|
-
});
|
|
101
|
-
const publicInputs = proofResult.publicInputs ?? bundle.response.publicInputs;
|
|
102
|
-
return {
|
|
103
|
-
...bundle,
|
|
104
|
-
response: {
|
|
105
|
-
...bundle.response,
|
|
106
|
-
proof: proofResult.proof,
|
|
107
|
-
publicInputs
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
async pay402(paymentResponse, requirement, challengeNonce) {
|
|
112
|
-
const payload = JSON.stringify(paymentResponse);
|
|
113
|
-
const signature = await this.config.signer(payload);
|
|
114
|
-
const paymentSignatureHeader = buildPaymentSignatureHeader({
|
|
115
|
-
x402Version: 2,
|
|
116
|
-
accepted: normalizeRequirement(requirement),
|
|
117
|
-
payload: paymentResponse,
|
|
118
|
-
challengeNonce,
|
|
119
|
-
signature: signature
|
|
120
|
-
});
|
|
121
|
-
return { payload, signature, paymentSignatureHeader };
|
|
122
|
-
}
|
|
123
|
-
parse402Response(response) {
|
|
124
|
-
const header = response.headers.get(X402_HEADERS.paymentRequired);
|
|
125
|
-
if (!header)
|
|
126
|
-
throw new Error(`missing ${X402_HEADERS.paymentRequired} header`);
|
|
127
|
-
return { requirement: parsePaymentRequiredHeader(header) };
|
|
128
|
-
}
|
|
129
|
-
async prepare402Payment(requirement, note, witness, payerPkHash, baseHeaders) {
|
|
130
|
-
if (requirement.rail !== 'shielded-usdc') {
|
|
131
|
-
throw new Error(`unsupported rail: ${requirement.rail}`);
|
|
132
|
-
}
|
|
133
|
-
const nonce = requirement.challengeNonce;
|
|
134
|
-
const merchant = requirement.verifyingContract;
|
|
135
|
-
const amount = BigInt(requirement.amount);
|
|
136
|
-
const spendParams = {
|
|
137
|
-
note,
|
|
138
|
-
witness,
|
|
139
|
-
nullifierSecret: payerPkHash,
|
|
140
|
-
merchantPubKey: requirement.merchantPubKey,
|
|
141
|
-
merchantAddress: merchant,
|
|
142
|
-
amount,
|
|
143
|
-
challengeNonce: nonce,
|
|
144
|
-
encryptedReceipt: '0x'
|
|
145
|
-
};
|
|
146
|
-
const bundleWithProof = await this.buildSpendProofWithProvider(spendParams);
|
|
147
|
-
const signed = await this.pay402(bundleWithProof.response, requirement, requirement.challengeNonce);
|
|
148
|
-
const headers = new Headers(baseHeaders);
|
|
149
|
-
headers.set(X402_HEADERS.paymentSignature, signed.paymentSignatureHeader);
|
|
150
|
-
return {
|
|
151
|
-
requirement,
|
|
152
|
-
headers,
|
|
153
|
-
response: bundleWithProof.response
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
async complete402Payment(input, init, requirement, note, witness, payerPkHash, fetchFn = fetch) {
|
|
157
|
-
const prepared = await this.prepare402Payment(requirement, note, witness, payerPkHash, init.headers);
|
|
158
|
-
return fetchFn(input, {
|
|
159
|
-
...init,
|
|
160
|
-
headers: prepared.headers
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
async fetchWithShieldedPayment(input, init, note, witness, payerPkHash) {
|
|
164
|
-
const first = await fetch(input, init);
|
|
165
|
-
if (first.status !== 402)
|
|
166
|
-
return first;
|
|
167
|
-
const parsed = this.parse402Response(first);
|
|
168
|
-
return this.complete402Payment(input, init, parsed.requirement, note, witness, payerPkHash);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
export function buildWitnessFromCommitments(commitments, targetIndex) {
|
|
172
|
-
return deriveWitness(commitments, targetIndex);
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Hex } from 'viem';
|
|
2
|
-
export declare function deriveCommitment(amount: bigint, rho: Hex, pkHash: Hex): Hex;
|
|
3
|
-
export declare function deriveNullifier(nullifierSecret: Hex, commitment: Hex): Hex;
|
|
4
|
-
export declare function deriveChallengeHash(challengeNonce: Hex, amount: bigint, merchant: Hex): Hex;
|
|
5
|
-
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/crypto.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAG3E;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,GAAG,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAM3F"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CRYPTO_SPEC } from '@shielded-x402/shared-types';
|
|
2
|
-
import { concatHex, keccak256, pad } from 'viem';
|
|
3
|
-
export function deriveCommitment(amount, rho, pkHash) {
|
|
4
|
-
const amountWord = `0x${amount.toString(16).padStart(64, '0')}`;
|
|
5
|
-
return keccak256(concatHex([amountWord, rho, pkHash]));
|
|
6
|
-
}
|
|
7
|
-
export function deriveNullifier(nullifierSecret, commitment) {
|
|
8
|
-
return keccak256(concatHex([nullifierSecret, commitment]));
|
|
9
|
-
}
|
|
10
|
-
export function deriveChallengeHash(challengeNonce, amount, merchant) {
|
|
11
|
-
const amountWord = `0x${amount.toString(16).padStart(64, '0')}`;
|
|
12
|
-
const merchantWord = pad(merchant, { size: 32 });
|
|
13
|
-
return keccak256(concatHex([CRYPTO_SPEC.challengeDomainHash, challengeNonce, amountWord, merchantWord]));
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=crypto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAY,MAAM,MAAM,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,GAAQ,EAAE,MAAW;IACpE,MAAM,UAAU,GAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAU,CAAC;IACzE,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,eAAoB,EAAE,UAAe;IACnE,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,cAAmB,EAAE,MAAc,EAAE,QAAa;IACpF,MAAM,UAAU,GAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAU,CAAC;IACzE,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,SAAS,CACd,SAAS,CAAC,CAAC,WAAW,CAAC,mBAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './client.js';
|
|
2
|
-
export * from './crypto.js';
|
|
3
|
-
export * from './indexer.js';
|
|
4
|
-
export * from './merkle.js';
|
|
5
|
-
export * from './notes.js';
|
|
6
|
-
export * from './proofProvider.js';
|
|
7
|
-
export * from './relayerFetch.js';
|
|
8
|
-
export * from './shieldedFetch.js';
|
|
9
|
-
export * from './types.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './client.js';
|
|
2
|
-
export * from './crypto.js';
|
|
3
|
-
export * from './indexer.js';
|
|
4
|
-
export * from './merkle.js';
|
|
5
|
-
export * from './notes.js';
|
|
6
|
-
export * from './proofProvider.js';
|
|
7
|
-
export * from './relayerFetch.js';
|
|
8
|
-
export * from './shieldedFetch.js';
|
|
9
|
-
export * from './types.js';
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|