@lemmaoracle/x402 0.1.2 → 0.1.3
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/lemma-server.d.ts.map +1 -1
- package/dist/lemma-server.js +83 -34
- package/dist/lemma-server.js.map +1 -1
- package/dist/lemma-submission.d.ts +4 -1
- package/dist/lemma-submission.d.ts.map +1 -1
- package/dist/lemma-submission.js +2 -1
- package/dist/lemma-submission.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lemma-server.d.ts","sourceRoot":"","sources":["../src/lemma-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,kBAAkB,IAAI,kBAAkB,EACzC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"lemma-server.d.ts","sourceRoot":"","sources":["../src/lemma-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,kBAAkB,IAAI,kBAAkB,EACzC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+DrD;;;;;;;;GAQG;AACH,cAAM,mBAAoB,SAAQ,kBAAkB;gBAEhD,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,EAC3D,WAAW,CAAC,EAAE,WAAW;CA6G5B;AAED,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,CAAC"}
|
package/dist/lemma-server.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { x402ResourceServer as BaseResourceServer, } from "@x402/core/server";
|
|
15
15
|
import { createLemmaSubmissionHandler } from "./lemma-submission.js";
|
|
16
|
+
import { poseidon6 } from "poseidon-lite";
|
|
16
17
|
/**
|
|
17
18
|
* Resolve LemmaConfig from available sources.
|
|
18
19
|
*
|
|
@@ -80,40 +81,88 @@ class LemmaResourceServer extends BaseResourceServer {
|
|
|
80
81
|
if (!config)
|
|
81
82
|
return;
|
|
82
83
|
const submissionHandler = createLemmaSubmissionHandler(config);
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
84
|
+
// Register Lemma extension to enrich settlement response with proof data.
|
|
85
|
+
// enrichSettlementResponse runs BEFORE createSettlementHeaders, so
|
|
86
|
+
// extensions.lemma is included in the PAYMENT-RESPONSE header.
|
|
87
|
+
this.registerExtension({
|
|
88
|
+
key: "lemma",
|
|
89
|
+
enrichSettlementResponse: async (_declaration, context) => {
|
|
90
|
+
try {
|
|
91
|
+
const settlementResult = context.result;
|
|
92
|
+
// Build submission context from settlement data
|
|
93
|
+
const docHash = context.requirements.extra?.docHash ??
|
|
94
|
+
settlementResult.transaction ??
|
|
95
|
+
"unknown";
|
|
96
|
+
const schema = context.requirements.extra?.schema ??
|
|
97
|
+
"default";
|
|
98
|
+
// Extract payment details for proof witness
|
|
99
|
+
// The circuit expects specific inputs matching X402Payment circuit
|
|
100
|
+
const txHash = (settlementResult.transaction ?? "").replace(/^0x/, "");
|
|
101
|
+
const bn128Prime = BigInt("21888242871839275222246405745257275088548364400416034343698204186575808495617");
|
|
102
|
+
// Split 256-bit tx hash into 2 field elements (128-bit each)
|
|
103
|
+
const txHashLow = txHash.length >= 32
|
|
104
|
+
? (BigInt(`0x${txHash.slice(-32)}`) % bn128Prime).toString()
|
|
105
|
+
: "0";
|
|
106
|
+
const txHashHigh = txHash.length >= 64
|
|
107
|
+
? (BigInt(`0x${txHash.slice(0, -32)}`) % bn128Prime).toString()
|
|
108
|
+
: (BigInt(`0x${txHash}`) % bn128Prime).toString();
|
|
109
|
+
// Recipient address (payTo) - split into low/high
|
|
110
|
+
const payTo = (context.requirements.payTo ?? "").replace(/^0x/, "").padStart(40, "0");
|
|
111
|
+
const recipientLow = (BigInt(`0x${payTo.slice(-16)}`) % bn128Prime).toString();
|
|
112
|
+
const recipientHigh = (BigInt(`0x${payTo.slice(0, -16) || "0"}`) % bn128Prime).toString();
|
|
113
|
+
// Amount (USDC has 6 decimals, x402 uses smallest unit)
|
|
114
|
+
const amount = context.requirements.amount ?? "1000";
|
|
115
|
+
// Timestamp - use current time for freshness
|
|
116
|
+
const timestamp = Math.floor(Date.now() / 1000).toString();
|
|
117
|
+
const timestampMax = (parseInt(timestamp) + 3600).toString();
|
|
118
|
+
// Min amount
|
|
119
|
+
const minAmount = amount;
|
|
120
|
+
// Commitment = Poseidon6(txHashPacked[0], txHashPacked[1], recipientLow, amount, timestamp, minAmount)
|
|
121
|
+
const commitment = poseidon6([
|
|
122
|
+
BigInt(txHashLow),
|
|
123
|
+
BigInt(txHashHigh),
|
|
124
|
+
BigInt(recipientLow),
|
|
125
|
+
BigInt(amount),
|
|
126
|
+
BigInt(timestamp),
|
|
127
|
+
BigInt(minAmount),
|
|
128
|
+
]).toString();
|
|
129
|
+
const witness = {
|
|
130
|
+
txHashPacked: [txHashLow, txHashHigh],
|
|
131
|
+
recipientLow,
|
|
132
|
+
recipientHigh,
|
|
133
|
+
amount,
|
|
134
|
+
timestamp,
|
|
135
|
+
minAmount,
|
|
136
|
+
commitment,
|
|
137
|
+
minAmountPublic: minAmount,
|
|
138
|
+
timestampMax,
|
|
139
|
+
};
|
|
140
|
+
const proofOutput = await submissionHandler({
|
|
141
|
+
docHash: txHash,
|
|
142
|
+
schema: String(schema),
|
|
143
|
+
issuerId: "lemma-x402",
|
|
144
|
+
witness,
|
|
145
|
+
metadata: {
|
|
146
|
+
payer: settlementResult.payer,
|
|
147
|
+
transaction: settlementResult.transaction,
|
|
148
|
+
network: settlementResult.network,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
const extData = {
|
|
152
|
+
proof: proofOutput.proof,
|
|
153
|
+
inputs: proofOutput.inputs,
|
|
154
|
+
circuitId: config.circuitId,
|
|
155
|
+
generatedAt: Date.now(),
|
|
156
|
+
};
|
|
157
|
+
return extData;
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
// Non-fatal -- settlement succeeded even if proof submission fails.
|
|
161
|
+
console.error("[Lemma] enrichSettlementResponse error:", err);
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
});
|
|
117
166
|
}
|
|
118
167
|
}
|
|
119
168
|
export { LemmaResourceServer as x402ResourceServer };
|
package/dist/lemma-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lemma-server.js","sourceRoot":"","sources":["../src/lemma-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,kBAAkB,IAAI,kBAAkB,GACzC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"lemma-server.js","sourceRoot":"","sources":["../src/lemma-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,10 @@ type SubmissionContext = Readonly<{
|
|
|
35
35
|
* to avoid pulling snarkjs/ffjavascript into the Workers bundle.
|
|
36
36
|
* prover.prove is delegated to the Relay (Node.js server).
|
|
37
37
|
*/
|
|
38
|
-
declare const createLemmaSubmissionHandler: (config: LemmaConfig, lemmaClientOverride?: LemmaClient) => ((ctx: SubmissionContext) => Promise<
|
|
38
|
+
declare const createLemmaSubmissionHandler: (config: LemmaConfig, lemmaClientOverride?: LemmaClient) => ((ctx: SubmissionContext) => Promise<{
|
|
39
|
+
proof: string;
|
|
40
|
+
inputs: ReadonlyArray<string>;
|
|
41
|
+
}>);
|
|
39
42
|
export type { SubmissionContext };
|
|
40
43
|
export { createLemmaSubmissionHandler };
|
|
41
44
|
//# sourceMappingURL=lemma-submission.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lemma-submission.d.ts","sourceRoot":"","sources":["../src/lemma-submission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,mEAAmE;AACnE,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAChC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,2CAA2C;IAC3C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,CAAC,CAAC;AA6BH;;;;;;GAMG;AACH,QAAA,MAAM,4BAA4B,GAChC,QAAQ,WAAW,EACnB,sBAAsB,WAAW,KAChC,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"lemma-submission.d.ts","sourceRoot":"","sources":["../src/lemma-submission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,mEAAmE;AACnE,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAChC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,2CAA2C;IAC3C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C,CAAC,CAAC;AA6BH;;;;;;GAMG;AACH,QAAA,MAAM,4BAA4B,GAChC,QAAQ,WAAW,EACnB,sBAAsB,WAAW,KAChC,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAiDxF,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
package/dist/lemma-submission.js
CHANGED
|
@@ -45,7 +45,7 @@ const createLemmaSubmissionHandler = (config, lemmaClientOverride) => {
|
|
|
45
45
|
apiBase: config.apiBase,
|
|
46
46
|
apiKey: config.apiKey,
|
|
47
47
|
});
|
|
48
|
-
const relayUrl = config.relayUrl ?? "https://p01--lemma-relay-api--
|
|
48
|
+
const relayUrl = config.relayUrl ?? "https://p01--lemma-relay-api--svxwx5jzx.code.run/";
|
|
49
49
|
return async (ctx) => {
|
|
50
50
|
// Step 1: Register document (pure HTTP — Workers-safe via sub-path import)
|
|
51
51
|
const _docResult = await register(client, {
|
|
@@ -74,6 +74,7 @@ const createLemmaSubmissionHandler = (config, lemmaClientOverride) => {
|
|
|
74
74
|
proof: proofOutput.proof,
|
|
75
75
|
inputs: proofOutput.inputs,
|
|
76
76
|
});
|
|
77
|
+
return proofOutput;
|
|
77
78
|
};
|
|
78
79
|
};
|
|
79
80
|
export { createLemmaSubmissionHandler };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lemma-submission.js","sourceRoot":"","sources":["../src/lemma-submission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAsBtE,6CAA6C;AAC7C,MAAM,aAAa,GAAG,CACpB,QAAgB,EAChB,OAAe,EACf,MAA0B,EAC1B,SAAiB,EACjB,OAA0C,EACiB,EAAE;IAC7D,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC;IAC1D,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO;YACP,MAAM;YACN,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;SAC9B,CAAC;KACH,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqD,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,CACnC,MAAmB,EACnB,mBAAiC,
|
|
1
|
+
{"version":3,"file":"lemma-submission.js","sourceRoot":"","sources":["../src/lemma-submission.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemmaoracle/x402",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Drop-in replacement for @x402/* with automatic Lemma discovery and proof submission",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build:circuit": "bash scripts/build.sh",
|
|
25
25
|
"dev": "tsc --watch",
|
|
26
26
|
"type-check": "tsc --noEmit",
|
|
27
|
-
"test": "
|
|
27
|
+
"test": "bash -c 'if [ ! -f \"build/payment_js/payment.wasm\" ]; then echo \"🔧 Circuit not built. Building circuit first...\" && npm run build:circuit; fi && node circuits/payment.test.mjs'",
|
|
28
28
|
"test:vitest": "vitest run",
|
|
29
29
|
"test:watch": "vitest",
|
|
30
30
|
"test:circuit": "node circuits/payment.test.mjs",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"@x402/core": "^2.9.0",
|
|
36
36
|
"@x402/evm": "^2.9.0",
|
|
37
37
|
"@x402/hono": "^2.9.0",
|
|
38
|
-
"hono": "^4.6.14"
|
|
38
|
+
"hono": "^4.6.14",
|
|
39
|
+
"poseidon-lite": "^0.3.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@cloudflare/workers-types": "^4.20241230.0",
|
|
42
43
|
"circom2": "^0.2.22",
|
|
43
44
|
"circomlib": "^2.0.5",
|
|
44
45
|
"dotenv": "^16.4.7",
|
|
45
|
-
"poseidon-lite": "^0.3.0",
|
|
46
46
|
"snarkjs": "^0.7.5",
|
|
47
47
|
"tsx": "^4.19.0",
|
|
48
48
|
"typescript": "^5.7.3",
|
|
@@ -50,6 +50,6 @@
|
|
|
50
50
|
"wrangler": "^3.101.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@lemmaoracle/sdk": "^0.0.
|
|
53
|
+
"@lemmaoracle/sdk": "^0.0.19"
|
|
54
54
|
}
|
|
55
55
|
}
|