@armory-sh/client-ethers 0.2.12 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +53 -4
- package/dist/index.js +35 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -14,9 +14,6 @@ export { Provider, Signer } from 'ethers';
|
|
|
14
14
|
* Detect x402 protocol version from response headers
|
|
15
15
|
*/
|
|
16
16
|
declare function detectX402Version(response: Response): 1 | 2;
|
|
17
|
-
/**
|
|
18
|
-
* Parsed payment requirements with version info
|
|
19
|
-
*/
|
|
20
17
|
interface ParsedPaymentRequirements {
|
|
21
18
|
version: 1 | 2;
|
|
22
19
|
requirements: X402PaymentRequirementsV1 | PaymentRequirementsV2;
|
|
@@ -168,4 +165,56 @@ declare function recoverEIP3009Signer(params: TransferWithAuthorizationParams, s
|
|
|
168
165
|
s: string;
|
|
169
166
|
}, domain: EIP712Domain): Promise<`0x${string}`>;
|
|
170
167
|
|
|
171
|
-
|
|
168
|
+
/**
|
|
169
|
+
* X402 Client Factory for Ethers
|
|
170
|
+
*
|
|
171
|
+
* Creates a configured client instance for making X-402 payments
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* X402 Client instance
|
|
176
|
+
* Provides a high-level API for making X-402 authenticated requests
|
|
177
|
+
*/
|
|
178
|
+
interface X402Client {
|
|
179
|
+
/**
|
|
180
|
+
* Make a GET request
|
|
181
|
+
*/
|
|
182
|
+
get(url: string, init?: X402RequestInit): Promise<Response>;
|
|
183
|
+
/**
|
|
184
|
+
* Make a POST request
|
|
185
|
+
*/
|
|
186
|
+
post(url: string, body?: unknown, init?: X402RequestInit): Promise<Response>;
|
|
187
|
+
/**
|
|
188
|
+
* Make a PUT request
|
|
189
|
+
*/
|
|
190
|
+
put(url: string, body?: unknown, init?: X402RequestInit): Promise<Response>;
|
|
191
|
+
/**
|
|
192
|
+
* Make a DELETE request
|
|
193
|
+
*/
|
|
194
|
+
del(url: string, init?: X402RequestInit): Promise<Response>;
|
|
195
|
+
/**
|
|
196
|
+
* Make a PATCH request
|
|
197
|
+
*/
|
|
198
|
+
patch(url: string, body?: unknown, init?: X402RequestInit): Promise<Response>;
|
|
199
|
+
/**
|
|
200
|
+
* Set the signer for payment signing
|
|
201
|
+
*/
|
|
202
|
+
setSigner(signer: Signer): void;
|
|
203
|
+
/**
|
|
204
|
+
* Get the current signer
|
|
205
|
+
*/
|
|
206
|
+
getSigner(): Signer | undefined;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Create an X402 client
|
|
211
|
+
*
|
|
212
|
+
* @param config - Client configuration
|
|
213
|
+
* @returns Configured X402 client
|
|
214
|
+
*/
|
|
215
|
+
declare function createX402Client(config: X402ClientConfig & SignerClientConfig & {
|
|
216
|
+
signer: Signer;
|
|
217
|
+
}): X402Client;
|
|
218
|
+
declare function createX402Client(config: X402ClientConfig & ProviderClientConfig): X402Client;
|
|
219
|
+
|
|
220
|
+
export { AuthorizationError, type ClientConfig, type ParsedPaymentRequirements, PaymentError, ProviderRequiredError, SignerRequiredError, SigningError, type X402Client, type X402ClientConfig, X402ClientError, type X402RequestInit, type X402Transport, type X402TransportConfig, createPaymentPayload, createX402Client, createX402Payment, createX402Transport, createX402V1Payment, createX402V2Payment, detectProtocolVersion, detectX402Version, encodeX402Payment, getPaymentHeaderName, parsePaymentRequired, parsePaymentRequirements, recoverEIP3009Signer, signEIP3009, signEIP3009WithDomain, signPayment };
|
package/dist/index.js
CHANGED
|
@@ -332,7 +332,8 @@ async function createX402V2Payment(signer, requirements, fromAddress, nonce, val
|
|
|
332
332
|
};
|
|
333
333
|
return {
|
|
334
334
|
x402Version: 2,
|
|
335
|
-
|
|
335
|
+
scheme: requirements.scheme,
|
|
336
|
+
network: requirements.network,
|
|
336
337
|
payload
|
|
337
338
|
};
|
|
338
339
|
}
|
|
@@ -502,6 +503,38 @@ var createX402Transport = (config) => {
|
|
|
502
503
|
getSigner: () => state.signer
|
|
503
504
|
};
|
|
504
505
|
};
|
|
506
|
+
|
|
507
|
+
// src/client.ts
|
|
508
|
+
function createX402Client(config) {
|
|
509
|
+
const transport = createX402Transport(void 0);
|
|
510
|
+
if ("signer" in config && config.signer) {
|
|
511
|
+
transport.setSigner(config.signer);
|
|
512
|
+
} else if ("provider" in config && config.provider) {
|
|
513
|
+
const provider = config.provider;
|
|
514
|
+
if (provider.getSigner) {
|
|
515
|
+
try {
|
|
516
|
+
const signer = provider.getSigner();
|
|
517
|
+
if (signer) {
|
|
518
|
+
transport.setSigner(signer);
|
|
519
|
+
}
|
|
520
|
+
} catch {
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
} else {
|
|
524
|
+
throw new SignerRequiredError(
|
|
525
|
+
"Either 'signer' or 'provider' with getSigner() must be provided"
|
|
526
|
+
);
|
|
527
|
+
}
|
|
528
|
+
return {
|
|
529
|
+
get: (url, init) => transport.get(url, init),
|
|
530
|
+
post: (url, body, init) => transport.post(url, body, init),
|
|
531
|
+
put: (url, body, init) => transport.put(url, body, init),
|
|
532
|
+
del: (url, init) => transport.del(url, init),
|
|
533
|
+
patch: (url, body, init) => transport.patch(url, body, init),
|
|
534
|
+
setSigner: (signer) => transport.setSigner(signer),
|
|
535
|
+
getSigner: () => transport.getSigner()
|
|
536
|
+
};
|
|
537
|
+
}
|
|
505
538
|
export {
|
|
506
539
|
AuthorizationError,
|
|
507
540
|
EIP712_TYPES2 as EIP712_TYPES,
|
|
@@ -517,6 +550,7 @@ export {
|
|
|
517
550
|
createEIP712Domain3 as createEIP712Domain,
|
|
518
551
|
createPaymentPayload,
|
|
519
552
|
createTransferWithAuthorization2 as createTransferWithAuthorization,
|
|
553
|
+
createX402Client,
|
|
520
554
|
createX402Payment,
|
|
521
555
|
createX402Transport,
|
|
522
556
|
createX402V1Payment,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@armory-sh/client-ethers",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Sawyer Cutler <sawyer@dirtroad.dev>",
|
|
6
6
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"directory": "packages/client-ethers"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@armory-sh/base": "^0.2.
|
|
30
|
+
"@armory-sh/base": "^0.2.13",
|
|
31
31
|
"ethers": "6.16.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"bun-types": "latest"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
|
-
"build": "tsup",
|
|
38
|
+
"build": "rm -rf dist && tsup",
|
|
39
39
|
"test": "bun test",
|
|
40
40
|
"example": "bun run examples/"
|
|
41
41
|
}
|