@zkproofport-ai/sdk 0.2.17 → 0.4.0
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/README.md +120 -154
- package/dist/actionApproval.d.ts +51 -0
- package/dist/actionApproval.d.ts.map +1 -0
- package/dist/actionApproval.js +216 -0
- package/dist/actionApproval.js.map +1 -0
- package/dist/attestation.d.ts +6 -1
- package/dist/attestation.d.ts.map +1 -1
- package/dist/attestation.js +41 -4
- package/dist/attestation.js.map +1 -1
- package/dist/cdp.d.ts +3 -3
- package/dist/circuits.d.ts +1 -3
- package/dist/circuits.d.ts.map +1 -1
- package/dist/circuits.js +0 -4
- package/dist/circuits.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -10
- package/dist/constants.js.map +1 -1
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +5 -7
- package/dist/extract.js.map +1 -1
- package/dist/flow.d.ts +2 -2
- package/dist/flow.d.ts.map +1 -1
- package/dist/flow.js +42 -30
- package/dist/flow.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -12
- package/dist/index.js.map +1 -1
- package/dist/inputs.d.ts +4 -3
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +4 -7
- package/dist/inputs.js.map +1 -1
- package/dist/payment.d.ts +7 -9
- package/dist/payment.d.ts.map +1 -1
- package/dist/payment.js +20 -43
- package/dist/payment.js.map +1 -1
- package/dist/typedAction.js +1 -1
- package/dist/typedAction.js.map +1 -1
- package/dist/types.d.ts +12 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/usdc.d.ts +6 -10
- package/dist/usdc.d.ts.map +1 -1
- package/dist/usdc.js +6 -11
- package/dist/usdc.js.map +1 -1
- package/dist/wallets.d.ts +8 -34
- package/dist/wallets.d.ts.map +1 -1
- package/dist/wallets.js +10 -87
- package/dist/wallets.js.map +1 -1
- package/package.json +2 -12
- package/dist/arcWallet.d.ts +0 -50
- package/dist/arcWallet.d.ts.map +0 -1
- package/dist/arcWallet.js +0 -155
- package/dist/arcWallet.js.map +0 -1
- package/dist/delegation.d.ts +0 -107
- package/dist/delegation.d.ts.map +0 -1
- package/dist/delegation.js +0 -126
- package/dist/delegation.js.map +0 -1
- package/dist/nanopayment.d.ts +0 -71
- package/dist/nanopayment.d.ts.map +0 -1
- package/dist/nanopayment.js +0 -77
- package/dist/nanopayment.js.map +0 -1
package/dist/flow.js
CHANGED
|
@@ -9,6 +9,7 @@ import { CIRCUITS } from './constants.js';
|
|
|
9
9
|
import { hashTypedAction } from './action.js';
|
|
10
10
|
import { CIRCUIT_IDS } from './circuits.js';
|
|
11
11
|
import { encryptForTee } from './tee.js';
|
|
12
|
+
import { ActionApprovalError, resolveActionApproval } from './actionApproval.js';
|
|
12
13
|
/**
|
|
13
14
|
* Generate a ZK proof end-to-end.
|
|
14
15
|
*
|
|
@@ -18,17 +19,24 @@ import { encryptForTee } from './tee.js';
|
|
|
18
19
|
* sent in plaintext.
|
|
19
20
|
*
|
|
20
21
|
* @param config - Server URL
|
|
21
|
-
* @param signers -
|
|
22
|
+
* @param signers - Attestation signer for proofs without an action; optional payment wallet
|
|
22
23
|
* @param params - Circuit name, scope, and optional country params
|
|
23
24
|
* @param callbacks - Optional callbacks for step progress
|
|
24
25
|
* @returns ProofResult with proof, publicInputs, and attestation info
|
|
25
26
|
*/
|
|
26
27
|
export async function generateProof(config, signers, params, callbacks) {
|
|
27
|
-
// Keep the approved values stable across asynchronous
|
|
28
|
+
// Keep the requested circuit and approved values stable across asynchronous operations.
|
|
29
|
+
const circuit = params.circuit;
|
|
28
30
|
const action = params.action ? structuredClone(params.action) : params.action;
|
|
29
|
-
|
|
31
|
+
if (!Object.hasOwn(CIRCUIT_NAME_MAP, circuit)) {
|
|
32
|
+
throw new Error(`Unknown circuit '${String(circuit)}'. Known: ${Object.keys(CIRCUIT_NAME_MAP).join(', ')}.`);
|
|
33
|
+
}
|
|
34
|
+
const circuitId = CIRCUIT_NAME_MAP[circuit];
|
|
30
35
|
const scope = params.scope || 'proofport';
|
|
31
36
|
const isOidc = CIRCUITS[circuitId]?.inputType === 'oidc';
|
|
37
|
+
if (params.actionApproval && !action) {
|
|
38
|
+
throw new ActionApprovalError('ACTION_APPROVAL_INVALID', 'Resuming an action approval requires its original action.');
|
|
39
|
+
}
|
|
32
40
|
const steps = [];
|
|
33
41
|
function recordStep(step, name, data, startTime) {
|
|
34
42
|
const result = { step, name, data, durationMs: Date.now() - startTime };
|
|
@@ -42,24 +50,26 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
42
50
|
let domainSeparator;
|
|
43
51
|
let actionHash;
|
|
44
52
|
/*
|
|
45
|
-
* Which
|
|
53
|
+
* Which circuit carries an action, and what happens when one is given.
|
|
46
54
|
*
|
|
47
|
-
*
|
|
48
|
-
* data, without one it signs the request's signal hash.
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* dropped action leaves the caller believing the proof authorized something.
|
|
55
|
+
* giwa_attestation branches in-circuit: with an action the wallet signs the
|
|
56
|
+
* typed data, without one it signs the request's signal hash. The only
|
|
57
|
+
* refusal is an action sent where nothing can prove it, which must be an
|
|
58
|
+
* error rather than a silent drop: a dropped action leaves the caller
|
|
59
|
+
* believing the proof authorized something.
|
|
53
60
|
*/
|
|
54
|
-
const canBindAction = circuitId === CIRCUIT_IDS.
|
|
55
|
-
circuitId === CIRCUIT_IDS.GIWA_ATTESTATION;
|
|
61
|
+
const canBindAction = circuitId === CIRCUIT_IDS.GIWA_ATTESTATION;
|
|
56
62
|
if (action && !canBindAction) {
|
|
57
63
|
throw new Error(`An action was given but '${circuitId}' was requested, and it has no inputs for one. ` +
|
|
58
64
|
`Signing typed data for '${circuitId}' yields a signature that circuit cannot verify. ` +
|
|
59
|
-
`Ask for ${CIRCUIT_IDS.
|
|
65
|
+
`Ask for ${CIRCUIT_IDS.GIWA_ATTESTATION}, or drop the action.`);
|
|
60
66
|
}
|
|
61
67
|
const actionHashes = action ? hashTypedAction(action) : undefined;
|
|
62
68
|
if (!isOidc) {
|
|
69
|
+
const credentialSigner = signers.attestation;
|
|
70
|
+
if (!action && !credentialSigner) {
|
|
71
|
+
throw new Error('An attestation signer is required for this proof without an action. Pass signers.attestation.');
|
|
72
|
+
}
|
|
63
73
|
// Step 1: Sign.
|
|
64
74
|
//
|
|
65
75
|
// `signal_hash` is computed either way, because the nullifier derives from
|
|
@@ -71,25 +81,27 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
71
81
|
// structure, which the wallet renders as named fields, and the verifying
|
|
72
82
|
// contract can recompute.
|
|
73
83
|
let t = Date.now();
|
|
74
|
-
const
|
|
84
|
+
const approved = action
|
|
85
|
+
? await resolveActionApproval(config, { circuit, scope, action }, params.actionApproval)
|
|
86
|
+
: undefined;
|
|
87
|
+
const attestationAddress = approved ? approved.address : await credentialSigner.getAddress();
|
|
75
88
|
const signalHash = computeSignalHash(attestationAddress, scope, circuitId);
|
|
76
89
|
const signalHashHex = ethers.hexlify(signalHash);
|
|
77
90
|
let signature;
|
|
78
91
|
if (action) {
|
|
79
|
-
const { domain
|
|
92
|
+
const { domain } = action;
|
|
80
93
|
({ domainSeparator, actionHash } = actionHashes);
|
|
81
|
-
signature =
|
|
82
|
-
recordStep(1, '
|
|
94
|
+
signature = approved.signature;
|
|
95
|
+
recordStep(1, 'Approve Typed Action', {
|
|
83
96
|
signalHash: signalHashHex,
|
|
84
97
|
domainSeparator,
|
|
85
98
|
actionHash,
|
|
86
99
|
primaryType: action.primaryType,
|
|
87
100
|
verifyingContract: domain.verifyingContract,
|
|
88
|
-
signature,
|
|
89
101
|
}, t);
|
|
90
102
|
}
|
|
91
103
|
else {
|
|
92
|
-
signature = await
|
|
104
|
+
signature = await credentialSigner.signMessage(signalHash);
|
|
93
105
|
recordStep(1, 'Sign Signal Hash', { signalHash: signalHashHex, signature }, t);
|
|
94
106
|
}
|
|
95
107
|
// Step 2: Prepare inputs
|
|
@@ -127,15 +139,13 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
127
139
|
}
|
|
128
140
|
// Step 3: Request challenge (server returns nonce + TEE key if available)
|
|
129
141
|
let t = Date.now();
|
|
130
|
-
const challenge = await requestChallenge(config,
|
|
142
|
+
const challenge = await requestChallenge(config, circuit);
|
|
131
143
|
const isE2E = !!challenge.teePublicKey;
|
|
132
|
-
recordStep(3, 'Request Challenge', { nonce: challenge.nonce, e2e: isE2E, keyId: challenge.teePublicKey?.keyId ?? null }, t);
|
|
144
|
+
recordStep(3, 'Request Challenge', action ? { e2e: isE2E } : { nonce: challenge.nonce, e2e: isE2E, keyId: challenge.teePublicKey?.keyId ?? null }, t);
|
|
133
145
|
// Step 3b: Pay, if the service charges.
|
|
134
146
|
//
|
|
135
147
|
// The buyer signs an EIP-3009 authorization and the service settles it, so
|
|
136
|
-
// no gas and no native balance are needed on the paying chain
|
|
137
|
-
// what makes paying on Arc possible at all, since no public facilitator
|
|
138
|
-
// settles Arc and the buyer cannot rely on one.
|
|
148
|
+
// no gas and no native balance are needed on the paying chain.
|
|
139
149
|
let paymentHeaders;
|
|
140
150
|
if (challenge.requiresPayment) {
|
|
141
151
|
if (!signers.payment) {
|
|
@@ -144,7 +154,7 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
144
154
|
.filter(Boolean)
|
|
145
155
|
.join(', ');
|
|
146
156
|
throw new Error(`${config.baseUrl} charges for proofs and no payment wallet was given. ` +
|
|
147
|
-
`Pass signers.payment (see walletFromPrivateKey / walletFromCdp
|
|
157
|
+
`Pass signers.payment (see walletFromPrivateKey / walletFromCdp). ` +
|
|
148
158
|
`Chains offered: ${offered || 'none named'}`);
|
|
149
159
|
}
|
|
150
160
|
t = Date.now();
|
|
@@ -160,17 +170,17 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
160
170
|
const inputsToEncrypt = isOidc ? oidcPayload : easInputs;
|
|
161
171
|
const encryptedPayload = encryptForTee(JSON.stringify({ circuitId, inputs: inputsToEncrypt }), challenge.teePublicKey.publicKey);
|
|
162
172
|
proveResponse = await submitEncryptedProof(config, {
|
|
163
|
-
circuit
|
|
173
|
+
circuit,
|
|
164
174
|
encryptedPayload,
|
|
165
175
|
nonce: challenge.nonce,
|
|
166
176
|
paymentHeaders,
|
|
167
177
|
});
|
|
168
|
-
recordStep(4, 'Generate Proof (E2E Encrypted)', proveResponse, t);
|
|
178
|
+
recordStep(4, 'Generate Proof (E2E Encrypted)', action ? { circuit, completed: true } : proveResponse, t);
|
|
169
179
|
}
|
|
170
180
|
else if (isOidc) {
|
|
171
181
|
// OIDC plaintext path: send payload (JWT + JWKS) — server relays to prover, prover validates + builds inputs
|
|
172
182
|
proveResponse = await submitProof(config, {
|
|
173
|
-
circuit
|
|
183
|
+
circuit,
|
|
174
184
|
inputs: oidcPayload,
|
|
175
185
|
nonce: challenge.nonce,
|
|
176
186
|
paymentHeaders,
|
|
@@ -180,12 +190,14 @@ export async function generateProof(config, signers, params, callbacks) {
|
|
|
180
190
|
else {
|
|
181
191
|
// Coinbase plaintext path: send pre-computed inputs (TEE disabled / local dev)
|
|
182
192
|
proveResponse = await submitProof(config, {
|
|
183
|
-
circuit
|
|
193
|
+
circuit,
|
|
184
194
|
inputs: easInputs,
|
|
185
195
|
nonce: challenge.nonce,
|
|
186
196
|
paymentHeaders,
|
|
187
197
|
});
|
|
188
|
-
|
|
198
|
+
// An untrusted response may echo witness fields. Progress for an action
|
|
199
|
+
// reports completion without forwarding the provider's response object.
|
|
200
|
+
recordStep(4, 'Generate Proof', action ? { circuit, completed: true } : proveResponse, t);
|
|
189
201
|
}
|
|
190
202
|
return {
|
|
191
203
|
circuit: proveResponse.circuit,
|
package/dist/flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export { CIRCUITS, COINBASE_ATTESTER_CONTRACT, AUTHORIZED_SIGNERS, } from './con
|
|
|
6
6
|
export { createConfig } from './config.js';
|
|
7
7
|
export { generateProof } from './flow.js';
|
|
8
8
|
export type { FlowCallbacks } from './flow.js';
|
|
9
|
+
export { createActionApproval, getActionApprovalStatus, consumeActionApproval, resolveActionApproval, ActionApprovalRequiredError, ActionApprovalError, } from './actionApproval.js';
|
|
10
|
+
export type { ActionApproval, ActionApprovalRequest, ActionApprovalStatus, ActionApprovalState, ActionApprovalErrorCode, } from './actionApproval.js';
|
|
9
11
|
export { requestChallenge, createSession } from './session.js';
|
|
10
12
|
export { submitProof, submitEncryptedProof } from './prove.js';
|
|
11
13
|
export { encryptForTee } from './tee.js';
|
|
@@ -14,7 +16,7 @@ export { prepareInputs, computeSignalHash, computeScope, computeNullifier, } fro
|
|
|
14
16
|
export { prepareOidcInputs, prepareOidcPayload } from './oidc-inputs.js';
|
|
15
17
|
export type { OidcCircuitInputs, OidcProvePayload, PrepareOidcParams } from './oidc-inputs.js';
|
|
16
18
|
export type { ProofportSigner } from './signer.js';
|
|
17
|
-
export { walletFromPrivateKey, walletFromCdp,
|
|
19
|
+
export { walletFromPrivateKey, walletFromCdp, walletFromEnv, walletFor } from './wallets.js';
|
|
18
20
|
export { signPayment, paymentOffers } from './payment.js';
|
|
19
21
|
export type { PaymentWallet, PaymentOffer, PaidRequest } from './types.js';
|
|
20
22
|
export { CdpWalletSigner } from './cdp.js';
|
|
@@ -23,8 +25,5 @@ export { EthersWalletSigner, fromEthersWallet, fromPrivateKey } from './signer.j
|
|
|
23
25
|
export { extractDomainFromPublicInputs, extractScopeFromPublicInputs, extractNullifierFromPublicInputs, } from './extract.js';
|
|
24
26
|
export { fetchAttestation, getSignerAddress, } from './attestation.js';
|
|
25
27
|
export { validateTypedAction } from './typedAction.js';
|
|
26
|
-
export { ARC_GATEWAY_CHAIN, gatewayBalance, ensureGatewayBalance, payWithNanopayments, type NanopaymentWallet, type GatewayBalances, } from './nanopayment.js';
|
|
27
|
-
export { buildDelegationAction, delegationActionHash, delegationDomainSeparator, delegationMatchesProof, delegateOf, DELEGATION_PRIMARY_TYPE, DELEGATION_TYPES, type Delegation, } from './delegation.js';
|
|
28
|
-
export { walletFromArcAgent, listArcAgentWallets, createArcAgentWallet, ARC_CLI_CHAINS, type ArcCliChain, } from './arcWallet.js';
|
|
29
28
|
export { hashTypedAction } from './action.js';
|
|
30
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG/F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGnF,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export { CIRCUITS, COINBASE_ATTESTER_CONTRACT, AUTHORIZED_SIGNERS, } from './con
|
|
|
8
8
|
export { createConfig } from './config.js';
|
|
9
9
|
// Flow (main entry point)
|
|
10
10
|
export { generateProof } from './flow.js';
|
|
11
|
+
export { createActionApproval, getActionApprovalStatus, consumeActionApproval, resolveActionApproval, ActionApprovalRequiredError, ActionApprovalError, } from './actionApproval.js';
|
|
11
12
|
// Individual steps (for step-by-step usage)
|
|
12
13
|
export { requestChallenge, createSession } from './session.js';
|
|
13
14
|
export { submitProof, submitEncryptedProof } from './prove.js';
|
|
@@ -19,7 +20,7 @@ export { prepareInputs, computeSignalHash, computeScope, computeNullifier, } fro
|
|
|
19
20
|
export { prepareOidcInputs, prepareOidcPayload } from './oidc-inputs.js';
|
|
20
21
|
// Paying for a proof. The wallet and the chain are chosen separately: any of
|
|
21
22
|
// the three wallets can pay on any chain the service offers.
|
|
22
|
-
export { walletFromPrivateKey, walletFromCdp,
|
|
23
|
+
export { walletFromPrivateKey, walletFromCdp, walletFromEnv, walletFor } from './wallets.js';
|
|
23
24
|
export { signPayment, paymentOffers } from './payment.js';
|
|
24
25
|
export { CdpWalletSigner } from './cdp.js';
|
|
25
26
|
export { EthersWalletSigner, fromEthersWallet, fromPrivateKey } from './signer.js';
|
|
@@ -27,19 +28,10 @@ export { EthersWalletSigner, fromEthersWallet, fromPrivateKey } from './signer.j
|
|
|
27
28
|
export { extractDomainFromPublicInputs, extractScopeFromPublicInputs, extractNullifierFromPublicInputs, } from './extract.js';
|
|
28
29
|
// Attestation (customer-facing helpers)
|
|
29
30
|
export { fetchAttestation, getSignerAddress, } from './attestation.js';
|
|
30
|
-
// Checking the EIP-712 action
|
|
31
|
-
// the customer SDK; see the note in typedAction.ts for why, and
|
|
31
|
+
// Checking the EIP-712 action a giwa_attestation proof can bind to. Mirrored
|
|
32
|
+
// from the customer SDK; see the note in typedAction.ts for why, and
|
|
32
33
|
// tests/typedAction.test.ts for the guard that keeps them equal.
|
|
33
34
|
export { validateTypedAction } from './typedAction.js';
|
|
34
|
-
// Arc nanopayments: deposit into Circle Gateway once, then pay per request for
|
|
35
|
-
// almost no gas. See ./nanopayment.ts for why this is separate from the
|
|
36
|
-
// ordinary x402 path.
|
|
37
|
-
export { ARC_GATEWAY_CHAIN, gatewayBalance, ensureGatewayBalance, payWithNanopayments, } from './nanopayment.js';
|
|
38
|
-
// Authorizing another wallet to act while the KYC holder stays hidden.
|
|
39
|
-
// This generic legacy schema has no amount; see ./delegation.ts for Gate limits.
|
|
40
|
-
export { buildDelegationAction, delegationActionHash, delegationDomainSeparator, delegationMatchesProof, delegateOf, DELEGATION_PRIMARY_TYPE, DELEGATION_TYPES, } from './delegation.js';
|
|
41
|
-
// Paying from an Arc agent wallet — Circle holds it and its CLI signs.
|
|
42
|
-
export { walletFromArcAgent, listArcAgentWallets, createArcAgentWallet, ARC_CLI_CHAINS, } from './arcWallet.js';
|
|
43
35
|
// Validate and hash caller-owned actions before local signing.
|
|
44
36
|
export { hashTypedAction } from './action.js';
|
|
45
37
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,iCAAiC;AACjC,8EAA8E;AAC9E,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,YAAY;AACZ,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,0BAA0B;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,iCAAiC;AACjC,8EAA8E;AAC9E,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,YAAY;AACZ,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,0BAA0B;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAS7B,4CAA4C;AAC5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8CAA8C;AAC9C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,oEAAoE;AACpE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMzE,6EAA6E;AAC7E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnF,6DAA6D;AAC7D,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AAEtB,wCAAwC;AACxC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,6EAA6E;AAC7E,qEAAqE;AACrE,iEAAiE;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,+DAA+D;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/inputs.d.ts
CHANGED
|
@@ -70,10 +70,11 @@ export declare function prepareInputs(config: ClientConfig, params: {
|
|
|
70
70
|
countryList?: string[];
|
|
71
71
|
isIncluded?: boolean;
|
|
72
72
|
/**
|
|
73
|
-
* The EIP-712 hashes the wallet signed over, for `
|
|
73
|
+
* The EIP-712 hashes the wallet signed over, for `giwa_attestation` with an
|
|
74
|
+
* action.
|
|
74
75
|
*
|
|
75
|
-
* Required
|
|
76
|
-
*
|
|
76
|
+
* Required then, because the wallet signs a typed action rather than
|
|
77
|
+
* `signal_hash` — recovering against `signal_hash` yields a public key
|
|
77
78
|
* that is not the user's, and the circuit then fails on "User pubkey does not
|
|
78
79
|
* match address", which points at the address rather than at the message.
|
|
79
80
|
* Added after exactly that failure on 2026-09-12: the caller was attaching
|
package/dist/inputs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAevE;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOhD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAKjF;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,UAAU,CAMZ;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACrB,UAAU,CAQZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,UAAU,CAMZ;
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAevE;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOhD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAKjF;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,UAAU,CAMZ;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACrB,UAAU,CAQZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,UAAU,CAMZ;AAgBD,2DAA2D;AAC3D,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACrB,UAAU,CAaZ;AA4ED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAChE,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiGvB"}
|
package/dist/inputs.js
CHANGED
|
@@ -87,7 +87,6 @@ export function computeWalletNullifier(userAddress, circuitId, scopeBytes) {
|
|
|
87
87
|
const NULLIFIER_RULE = {
|
|
88
88
|
[CIRCUIT_IDS.COINBASE_ATTESTATION]: 'wallet-and-signal-hash',
|
|
89
89
|
[CIRCUIT_IDS.COINBASE_COUNTRY_ATTESTATION]: 'wallet-and-signal-hash',
|
|
90
|
-
[CIRCUIT_IDS.ARC_ELIGIBILITY]: 'wallet-and-circuit-tag',
|
|
91
90
|
[CIRCUIT_IDS.GIWA_ATTESTATION]: 'wallet-and-circuit-tag',
|
|
92
91
|
// OIDC's nullifier is derived inside the OIDC payload builder, from the
|
|
93
92
|
// identity token; this function is never asked for it.
|
|
@@ -207,16 +206,14 @@ export async function prepareInputs(config, params) {
|
|
|
207
206
|
const signalHash = computeSignalHash(userAddress, scope, circuitId);
|
|
208
207
|
// Step 2: Recover the user's public key from the digest they actually signed.
|
|
209
208
|
/*
|
|
210
|
-
* The
|
|
211
|
-
*
|
|
212
|
-
* what made a GIWA request with an action impossible to express.
|
|
209
|
+
* The one circuit that can carry an action, optionally, since its circuit
|
|
210
|
+
* gained the branch on 2026-09-22.
|
|
213
211
|
*/
|
|
214
|
-
const canBindAction = circuitId === CIRCUIT_IDS.
|
|
215
|
-
circuitId === CIRCUIT_IDS.GIWA_ATTESTATION;
|
|
212
|
+
const canBindAction = circuitId === CIRCUIT_IDS.GIWA_ATTESTATION;
|
|
216
213
|
const isAction = Boolean(params.domainSeparator) && Boolean(params.actionHash);
|
|
217
214
|
if (!canBindAction && (params.domainSeparator || params.actionHash)) {
|
|
218
215
|
throw new Error(`An EIP-712 action was given but '${circuitId}' has no inputs for one. ` +
|
|
219
|
-
`Only ${CIRCUIT_IDS.
|
|
216
|
+
`Only ${CIRCUIT_IDS.GIWA_ATTESTATION} carries one.`);
|
|
220
217
|
}
|
|
221
218
|
if (Boolean(params.domainSeparator) !== Boolean(params.actionHash)) {
|
|
222
219
|
throw new Error('Half an action: pass both domainSeparator and actionHash, or neither. ' +
|
package/dist/inputs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"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"}
|
package/dist/payment.d.ts
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* 3. The service settles the authorization and returns the proof.
|
|
11
11
|
*
|
|
12
12
|
* The buyer signs. It never submits a transaction, so it needs no gas and no
|
|
13
|
-
* native balance on the chain it pays on -- only USDC. That holds on Base
|
|
14
|
-
*
|
|
13
|
+
* native balance on the chain it pays on -- only USDC. That holds on Base and
|
|
14
|
+
* on Ethereum alike.
|
|
15
15
|
*
|
|
16
16
|
* ## Why this file is short
|
|
17
17
|
*
|
|
@@ -31,16 +31,14 @@
|
|
|
31
31
|
* ## Which chains
|
|
32
32
|
*
|
|
33
33
|
* Any EVM chain the service offers. The v2 scheme registers as an `eip155:*`
|
|
34
|
-
* wildcard, so nothing here holds a chain list
|
|
35
|
-
*
|
|
36
|
-
* bare names are a fixed 24-chain table inside `@x402/evm` and Arc is not in
|
|
37
|
-
* it.
|
|
34
|
+
* wildcard, so nothing here holds a chain list, and the offer is CAIP-2
|
|
35
|
+
* (`eip155:84532`) rather than a bare name.
|
|
38
36
|
*/
|
|
39
37
|
import type { PaymentWallet, PaymentOffer, PaidRequest, ApprovedPayment } from './types.js';
|
|
40
38
|
/**
|
|
41
39
|
* The chains a 402 answer will take payment on, in the order offered.
|
|
42
40
|
*
|
|
43
|
-
* Reading this before paying is what lets a caller choose -- "pay on
|
|
41
|
+
* Reading this before paying is what lets a caller choose -- "pay on Base" is a
|
|
44
42
|
* filter over this list, not a separate code path.
|
|
45
43
|
*/
|
|
46
44
|
export declare function paymentOffers(challenge: {
|
|
@@ -52,13 +50,13 @@ export declare function paymentOffers(challenge: {
|
|
|
52
50
|
* Sign payment for one of the offers and return the headers to retry with.
|
|
53
51
|
*
|
|
54
52
|
* `network` names the chain to pay on, as either the CAIP-2 id
|
|
55
|
-
* (`eip155:
|
|
53
|
+
* (`eip155:84532`) or the plain name (`base-sepolia`). Omitting it takes the
|
|
56
54
|
* first offer, which is the order the service listed its chains in.
|
|
57
55
|
*
|
|
58
56
|
* An unmatched name is an error listing what was offered. It is never a
|
|
59
57
|
* silent fall back to the first chain: paying on a chain the caller did not
|
|
60
58
|
* ask for spends real money in the wrong place, and the caller who typed
|
|
61
|
-
* `--network
|
|
59
|
+
* `--network base` would be told the payment succeeded.
|
|
62
60
|
*/
|
|
63
61
|
export declare function assertApprovedPayment(offer: PaymentOffer, approved: ApprovedPayment): void;
|
|
64
62
|
export declare function signPayment(challenge: {
|
package/dist/payment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE;IACvC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,YAAY,EAAE,CAcjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAwB1F;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrE,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAC,eAAe,CAAA;CAAO,GACrF,OAAO,CAAC,WAAW,CAAC,CAiFtB"}
|
package/dist/payment.js
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* 3. The service settles the authorization and returns the proof.
|
|
11
11
|
*
|
|
12
12
|
* The buyer signs. It never submits a transaction, so it needs no gas and no
|
|
13
|
-
* native balance on the chain it pays on -- only USDC. That holds on Base
|
|
14
|
-
*
|
|
13
|
+
* native balance on the chain it pays on -- only USDC. That holds on Base and
|
|
14
|
+
* on Ethereum alike.
|
|
15
15
|
*
|
|
16
16
|
* ## Why this file is short
|
|
17
17
|
*
|
|
@@ -31,17 +31,14 @@
|
|
|
31
31
|
* ## Which chains
|
|
32
32
|
*
|
|
33
33
|
* Any EVM chain the service offers. The v2 scheme registers as an `eip155:*`
|
|
34
|
-
* wildcard, so nothing here holds a chain list
|
|
35
|
-
*
|
|
36
|
-
* bare names are a fixed 24-chain table inside `@x402/evm` and Arc is not in
|
|
37
|
-
* it.
|
|
34
|
+
* wildcard, so nothing here holds a chain list, and the offer is CAIP-2
|
|
35
|
+
* (`eip155:84532`) rather than a bare name.
|
|
38
36
|
*/
|
|
39
|
-
import { supportsBatching } from '@circle-fin/x402-batching';
|
|
40
37
|
import { usdcSpendControls, isKnownUsdc, knownUsdc, DEFAULT_MAX_PAYMENT } from './usdc.js';
|
|
41
38
|
/**
|
|
42
39
|
* The chains a 402 answer will take payment on, in the order offered.
|
|
43
40
|
*
|
|
44
|
-
* Reading this before paying is what lets a caller choose -- "pay on
|
|
41
|
+
* Reading this before paying is what lets a caller choose -- "pay on Base" is a
|
|
45
42
|
* filter over this list, not a separate code path.
|
|
46
43
|
*/
|
|
47
44
|
export function paymentOffers(challenge) {
|
|
@@ -61,30 +58,30 @@ export function paymentOffers(challenge) {
|
|
|
61
58
|
* Sign payment for one of the offers and return the headers to retry with.
|
|
62
59
|
*
|
|
63
60
|
* `network` names the chain to pay on, as either the CAIP-2 id
|
|
64
|
-
* (`eip155:
|
|
61
|
+
* (`eip155:84532`) or the plain name (`base-sepolia`). Omitting it takes the
|
|
65
62
|
* first offer, which is the order the service listed its chains in.
|
|
66
63
|
*
|
|
67
64
|
* An unmatched name is an error listing what was offered. It is never a
|
|
68
65
|
* silent fall back to the first chain: paying on a chain the caller did not
|
|
69
66
|
* ask for spends real money in the wrong place, and the caller who typed
|
|
70
|
-
* `--network
|
|
67
|
+
* `--network base` would be told the payment succeeded.
|
|
71
68
|
*/
|
|
72
69
|
export function assertApprovedPayment(offer, approved) {
|
|
73
70
|
const extra = offer.raw.extra;
|
|
74
71
|
const isAddress = (value) => typeof value === 'string' && /^0x[0-9a-fA-F]{40}$/.test(value);
|
|
75
72
|
const sameAddress = (a, b) => isAddress(a) && isAddress(b) && a.toLowerCase() === b.toLowerCase();
|
|
76
|
-
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
const verifyingContract =
|
|
73
|
+
// Match the signing library, not an optional hint in the 402 response:
|
|
74
|
+
// exact EIP-3009 signs against the token asset. Permit2 has another domain
|
|
75
|
+
// and is not approved here, and neither is a Circle Gateway batched domain
|
|
76
|
+
// (`GatewayWalletBatched`), which this SDK does not sign.
|
|
77
|
+
const verifyingContract = offer.asset;
|
|
81
78
|
const supportedDomain = offer.raw.scheme === 'exact' && /^eip155:[1-9]\d*$/.test(offer.network) &&
|
|
82
79
|
typeof extra?.name === 'string' && extra.name.length > 0 &&
|
|
83
80
|
typeof extra?.version === 'string' && extra.version.length > 0 &&
|
|
84
81
|
(extra.assetTransferMethod === undefined || extra.assetTransferMethod === 'eip3009') &&
|
|
85
|
-
|
|
82
|
+
extra.name !== 'GatewayWalletBatched' &&
|
|
86
83
|
isAddress(verifyingContract) &&
|
|
87
|
-
(
|
|
84
|
+
(extra.verifyingContract === undefined || sameAddress(extra.verifyingContract, offer.asset));
|
|
88
85
|
if (!supportedDomain || offer.network !== approved.network || offer.raw.scheme !== approved.scheme ||
|
|
89
86
|
offer.amount !== approved.amount || !sameAddress(offer.asset, approved.asset) ||
|
|
90
87
|
!sameAddress(offer.payTo, approved.payTo) || extra?.name !== approved.extra.name ||
|
|
@@ -119,9 +116,9 @@ export async function signPayment(challenge, wallet, opts = {}) {
|
|
|
119
116
|
`. Refusing to sign: a 402 answer names the token it wants, and signing whatever it names ` +
|
|
120
117
|
`lets a service ask to be paid in anything.`);
|
|
121
118
|
}
|
|
122
|
-
// x402's top-level USD cap does not cover custom allowed assets
|
|
123
|
-
//
|
|
124
|
-
//
|
|
119
|
+
// x402's top-level USD cap does not cover custom allowed assets. Enforce
|
|
120
|
+
// the same six-decimal limit on the selected offer here, before invoking
|
|
121
|
+
// any signer, whether or not exact terms were supplied.
|
|
125
122
|
const maximum = opts.maxPayment ?? DEFAULT_MAX_PAYMENT;
|
|
126
123
|
const match = /^\$?(\d+)(?:\.(\d{1,6}))?$/.exec(maximum);
|
|
127
124
|
if (!match)
|
|
@@ -134,35 +131,15 @@ export async function signPayment(challenge, wallet, opts = {}) {
|
|
|
134
131
|
}
|
|
135
132
|
const { x402Client, x402HTTPClient } = await import('@x402/core/client');
|
|
136
133
|
const { registerExactEvmScheme } = await import('@x402/evm/exact/client');
|
|
137
|
-
|
|
138
|
-
// Spend controls stay ON. Arc's USDC is not among the library's default
|
|
139
|
-
// assets, so paying there needs the assets named -- not the control
|
|
134
|
+
// Spend controls stay ON, with the USDC assets named -- not the control
|
|
140
135
|
// disabled, which would allow any token on any chain.
|
|
141
136
|
const client = new x402Client();
|
|
142
137
|
client.setSpendControls(usdcSpendControls(opts.maxPayment));
|
|
143
|
-
// How the authorization gets signed depends on the offer.
|
|
144
|
-
//
|
|
145
|
-
// A batched offer is signed against Circle Gateway's wallet contract, not
|
|
146
|
-
// against USDC, and the two signatures are not interchangeable: registering
|
|
147
|
-
// the ordinary scheme and then the batched one leaves the ordinary one
|
|
148
|
-
// signing, which Gateway rejects as `unauthorized` -- a valid signature over
|
|
149
|
-
// the wrong thing. Circle's own way is to hand the ordinary scheme in as the
|
|
150
|
-
// fallback, so ONE composite scheme picks per offer.
|
|
151
|
-
const batched = supportsBatching(offer.raw);
|
|
152
138
|
const signer = {
|
|
153
|
-
address:
|
|
139
|
+
address: wallet.address,
|
|
154
140
|
signTypedData: wallet.signTypedData.bind(wallet),
|
|
155
141
|
};
|
|
156
|
-
|
|
157
|
-
const { ExactEvmScheme } = await import('@x402/evm/exact/client');
|
|
158
|
-
registerBatchScheme(client, {
|
|
159
|
-
signer: signer,
|
|
160
|
-
fallbackScheme: new ExactEvmScheme(wallet),
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
registerExactEvmScheme(client, { signer: signer });
|
|
165
|
-
}
|
|
142
|
+
registerExactEvmScheme(client, { signer: signer });
|
|
166
143
|
const http = new x402HTTPClient(client);
|
|
167
144
|
const payload = await client.createPaymentPayload({
|
|
168
145
|
x402Version: 2,
|
package/dist/payment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAI7B;IACC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAE/E,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,uEAAuE;QACvE,iCAAiC;QACjC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,iBAAiB,IAAI,GAAG,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,GAAG,EAAE,CAAC;KACP,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB,EAAE,QAAyB;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAA4C,CAAC;IACrE,MAAM,SAAS,GAAG,CAAC,KAAc,EAAmB,EAAE,CACpD,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAC7C,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7F,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACxD,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC9D,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC;QACpF,KAAK,CAAC,IAAI,KAAK,sBAAsB;QACrC,SAAS,CAAC,iBAAiB,CAAC;QAC5B,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAC9F,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;QAC7E,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI;QAChF,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,uKAAuK,CAAC,CAAC;IAC3L,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAqE,EACrE,MAAqB,EACrB,OAAoF,EAAE;IAEtF,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,MAAM,CACpF,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,OAAO,gBAAgB;gBACrE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,IAAG,IAAI,CAAC,eAAe;QAAC,qBAAqB,CAAC,KAAK,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,2DAA2D;IAC3D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,CAAC,WAAW,mCAAmC,KAAK,CAAC,KAAK,0BAA0B;YAC5F,+BAA+B;YAC/B,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC;YAChG,2FAA2F;YAC3F,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IACvD,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IAC/G,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAU,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1G,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,kCAAkC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACzE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE1E,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAU,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;KACjD,CAAC;IACF,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;QAChD,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;KACZ,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,uEAAuE;YACvE,qEAAqE;YACrE,kEAAkE;YAClE,iEAAiE;YACjE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;QACD,MAAM,EAAE,KAAK,CAAC,WAAW;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,MAAM,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|