@pay-skill/sdk 0.1.7 → 0.2.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 +143 -154
- package/dist/auth.d.ts +11 -6
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +19 -7
- package/dist/auth.js.map +1 -1
- package/dist/errors.d.ts +4 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -6
- package/dist/index.js.map +1 -1
- package/dist/keychain.d.ts +8 -0
- package/dist/keychain.d.ts.map +1 -0
- package/dist/keychain.js +17 -0
- package/dist/keychain.js.map +1 -0
- package/dist/wallet.d.ts +135 -104
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +631 -276
- package/dist/wallet.js.map +1 -1
- package/jsr.json +13 -13
- package/knip.json +5 -5
- package/package.json +51 -48
- package/src/auth.ts +210 -200
- package/src/eip3009.ts +79 -79
- package/src/errors.ts +55 -48
- package/src/index.ts +24 -51
- package/src/keychain.ts +18 -0
- package/src/wallet.ts +1111 -445
- package/tests/test_auth_rejection.ts +102 -154
- package/tests/test_crypto.ts +138 -251
- package/tests/test_e2e.ts +99 -158
- package/tests/test_errors.ts +44 -36
- package/tests/test_ows.ts +153 -0
- package/tests/test_wallet.ts +194 -0
- package/dist/client.d.ts +0 -94
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -443
- package/dist/client.js.map +0 -1
- package/dist/models.d.ts +0 -78
- package/dist/models.d.ts.map +0 -1
- package/dist/models.js +0 -2
- package/dist/models.js.map +0 -1
- package/dist/ows-signer.d.ts +0 -75
- package/dist/ows-signer.d.ts.map +0 -1
- package/dist/ows-signer.js +0 -130
- package/dist/ows-signer.js.map +0 -1
- package/dist/signer.d.ts +0 -46
- package/dist/signer.d.ts.map +0 -1
- package/dist/signer.js +0 -111
- package/dist/signer.js.map +0 -1
- package/src/client.ts +0 -644
- package/src/models.ts +0 -77
- package/src/ows-signer.ts +0 -223
- package/src/signer.ts +0 -147
- package/tests/test_ows_integration.ts +0 -92
- package/tests/test_ows_signer.ts +0 -365
- package/tests/test_signer.ts +0 -47
- package/tests/test_validation.ts +0 -66
package/README.md
CHANGED
|
@@ -1,154 +1,143 @@
|
|
|
1
|
-
# @pay-skill/sdk
|
|
2
|
-
|
|
3
|
-
TypeScript SDK for [pay](https://pay-skill.com)
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
//
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
const
|
|
84
|
-
//
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
import {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
## Configuration
|
|
145
|
-
|
|
146
|
-
| Env Var | Purpose |
|
|
147
|
-
|---------|---------|
|
|
148
|
-
| `PAYSKILL_KEY` | Private key for raw signer mode |
|
|
149
|
-
|
|
150
|
-
The API URL is configurable via the `apiUrl` option. Default: `https://pay-skill.com/api/v1`.
|
|
151
|
-
|
|
152
|
-
## License
|
|
153
|
-
|
|
154
|
-
MIT
|
|
1
|
+
# @pay-skill/sdk
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for [pay](https://pay-skill.com) -- payment infrastructure for AI agents. USDC on Base.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { Wallet } from "@pay-skill/sdk";
|
|
7
|
+
|
|
8
|
+
const wallet = new Wallet();
|
|
9
|
+
await wallet.send("0xProvider...", 5, "for API access");
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @pay-skill/sdk
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Quick Start
|
|
19
|
+
|
|
20
|
+
### Zero-config (env var)
|
|
21
|
+
|
|
22
|
+
Set `PAYSKILL_KEY` to your hex private key:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
const wallet = new Wallet();
|
|
26
|
+
const { txHash } = await wallet.send("0xRecipient...", 10);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Explicit key
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
const wallet = new Wallet({ privateKey: "0xdead..." });
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### OS keychain (same key as `pay` CLI)
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
const wallet = await Wallet.create();
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Testnet
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
const wallet = new Wallet({ testnet: true });
|
|
45
|
+
// or: PAYSKILL_TESTNET=1
|
|
46
|
+
await wallet.mint(100); // mint $100 test USDC
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### OWS (Open Wallet Standard)
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
const wallet = await Wallet.fromOws({ walletId: "my-agent" });
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Requires `@open-wallet-standard/core` as a peer dependency.
|
|
56
|
+
|
|
57
|
+
## API
|
|
58
|
+
|
|
59
|
+
All amounts are in dollars by default. Use `{ micro: N }` for micro-USDC precision.
|
|
60
|
+
|
|
61
|
+
### Payments
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
await wallet.send(to, 5); // $5 direct payment
|
|
65
|
+
await wallet.send(to, 5, "invoice #42"); // with memo
|
|
66
|
+
await wallet.send(to, { micro: 5_000_000 }); // micro-USDC
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Tabs (pre-funded metered accounts)
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
const tab = await wallet.openTab(provider, 50, 1); // $50 tab, $1 max/charge
|
|
73
|
+
await wallet.chargeTab(tab.id, 0.01); // charge $0.01
|
|
74
|
+
await wallet.topUpTab(tab.id, 25); // add $25
|
|
75
|
+
await wallet.closeTab(tab.id); // close + settle
|
|
76
|
+
const tabs = await wallet.listTabs();
|
|
77
|
+
const tab = await wallet.getTab(tabId);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### x402 (paid HTTP)
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
const resp = await wallet.request("https://api.example.com/data");
|
|
84
|
+
// Handles 402 responses automatically: pays, retries, returns final response
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Wallet
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
const bal = await wallet.balance(); // { total, locked, available }
|
|
91
|
+
const info = await wallet.status(); // { address, balance, openTabs }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Discovery
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
const services = await wallet.discover("weather");
|
|
98
|
+
// Or without a wallet:
|
|
99
|
+
import { discover } from "@pay-skill/sdk";
|
|
100
|
+
const services = await discover("weather");
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Funding
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
const url = await wallet.createFundLink({ message: "Need $50 for API calls" });
|
|
107
|
+
const url = await wallet.createWithdrawLink();
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Webhooks
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
const wh = await wallet.registerWebhook("https://example.com/hook", ["payment.completed"]);
|
|
114
|
+
const hooks = await wallet.listWebhooks();
|
|
115
|
+
await wallet.deleteWebhook(wh.id);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Testnet
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
await wallet.mint(100); // mint $100 test USDC (testnet only)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Errors
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
import {
|
|
128
|
+
PayError, // base
|
|
129
|
+
PayValidationError, // invalid input
|
|
130
|
+
PayNetworkError, // network failure
|
|
131
|
+
PayServerError, // server 4xx/5xx
|
|
132
|
+
PayInsufficientFundsError, // low balance (hints createFundLink)
|
|
133
|
+
} from "@pay-skill/sdk";
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Requirements
|
|
137
|
+
|
|
138
|
+
- Node.js 18+
|
|
139
|
+
- ESM only
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
MIT
|
package/dist/auth.d.ts
CHANGED
|
@@ -32,13 +32,18 @@ export interface AuthHeaders {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare function buildAuthHeaders(privateKey: Hex, method: string, path: string, config: AuthConfig): Promise<AuthHeaders>;
|
|
34
34
|
/**
|
|
35
|
-
* Build auth headers using a
|
|
36
|
-
*
|
|
35
|
+
* Build auth headers using a signTypedData function.
|
|
36
|
+
* Used by OWS signers and any non-raw-key signing path.
|
|
37
37
|
*/
|
|
38
|
-
export declare function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
export declare function buildAuthHeadersSigned(address: string, signTypedData: (params: {
|
|
39
|
+
domain: Record<string, unknown>;
|
|
40
|
+
types: Record<string, readonly {
|
|
41
|
+
name: string;
|
|
42
|
+
type: string;
|
|
43
|
+
}[]>;
|
|
44
|
+
primaryType: string;
|
|
45
|
+
message: Record<string, unknown>;
|
|
46
|
+
}) => Promise<string>, method: string, path: string, config: AuthConfig): Promise<AuthHeaders>;
|
|
42
47
|
/**
|
|
43
48
|
* Compute the EIP-712 hash for an APIRequest.
|
|
44
49
|
* Must match the server's computation exactly.
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAIvE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAIvE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,KAAK,OAAO,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA0BtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,OAAO,GACzB,UAAU,CA4DZ"}
|
package/dist/auth.js
CHANGED
|
@@ -61,17 +61,29 @@ export async function buildAuthHeaders(privateKey, method, path, config) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* Build auth headers using a
|
|
65
|
-
*
|
|
64
|
+
* Build auth headers using a signTypedData function.
|
|
65
|
+
* Used by OWS signers and any non-raw-key signing path.
|
|
66
66
|
*/
|
|
67
|
-
export function
|
|
67
|
+
export async function buildAuthHeadersSigned(address, signTypedData, method, path, config) {
|
|
68
68
|
const timestamp = BigInt(Math.floor(Date.now() / 1000));
|
|
69
69
|
const nonce = ("0x" + randomBytes(32).toString("hex"));
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
const signature = await signTypedData({
|
|
71
|
+
domain: {
|
|
72
|
+
...EIP712_DOMAIN,
|
|
73
|
+
chainId: config.chainId,
|
|
74
|
+
verifyingContract: config.routerAddress,
|
|
75
|
+
},
|
|
76
|
+
types: API_REQUEST_TYPES,
|
|
77
|
+
primaryType: "APIRequest",
|
|
78
|
+
message: {
|
|
79
|
+
method: method.toUpperCase(),
|
|
80
|
+
path,
|
|
81
|
+
timestamp,
|
|
82
|
+
nonce,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
73
85
|
return {
|
|
74
|
-
"X-Pay-Agent":
|
|
86
|
+
"X-Pay-Agent": address,
|
|
75
87
|
"X-Pay-Signature": signature,
|
|
76
88
|
"X-Pay-Timestamp": timestamp.toString(),
|
|
77
89
|
"X-Pay-Nonce": nonce,
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAY,SAAS,EAAE,YAAY,EAAgB,MAAM,MAAM,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc1C,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;CACN,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAe,EACf,MAAc,EACd,IAAY,EACZ,MAAkB;IAElB,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ,CAAC;IAE9D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE;YACN,GAAG,aAAa;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,aAAa;SACxC;QACD,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;YAC5B,IAAI;YACJ,SAAS;YACT,KAAK;SACN;KACF,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,OAAO;QAC9B,iBAAiB,EAAE,SAAS;QAC5B,iBAAiB,EAAE,SAAS,CAAC,QAAQ,EAAE;QACvC,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -17,8 +17,10 @@ export declare class PayServerError extends PayError {
|
|
|
17
17
|
readonly statusCode: number;
|
|
18
18
|
constructor(message: string, statusCode: number);
|
|
19
19
|
}
|
|
20
|
-
/** Insufficient USDC balance. */
|
|
20
|
+
/** Insufficient USDC balance. Includes fund link hint for agents. */
|
|
21
21
|
export declare class PayInsufficientFundsError extends PayError {
|
|
22
|
-
|
|
22
|
+
readonly balance: number;
|
|
23
|
+
readonly required: number;
|
|
24
|
+
constructor(message: string, balance?: number, required?: number);
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,+BAA+B;AAC/B,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAK5C;AAED,8CAA8C;AAC9C,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,yCAAyC;AACzC,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,+BAA+B;AAC/B,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAK5C;AAED,8CAA8C;AAC9C,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,yCAAyC;AACzC,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED,qEAAqE;AACrE,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,QAAQ,SAAI;CAQvD"}
|
package/dist/errors.js
CHANGED
|
@@ -32,11 +32,16 @@ export class PayServerError extends PayError {
|
|
|
32
32
|
this.statusCode = statusCode;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
/** Insufficient USDC balance. */
|
|
35
|
+
/** Insufficient USDC balance. Includes fund link hint for agents. */
|
|
36
36
|
export class PayInsufficientFundsError extends PayError {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
balance;
|
|
38
|
+
required;
|
|
39
|
+
constructor(message, balance = 0, required = 0) {
|
|
40
|
+
const hint = '\nUse wallet.createFundLink({ message: "Need funds" }) to request funding.';
|
|
41
|
+
super(message + hint, "insufficient_funds");
|
|
39
42
|
this.name = "PayInsufficientFundsError";
|
|
43
|
+
this.balance = balance;
|
|
44
|
+
this.required = required;
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAI,GAAG,WAAW;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrC,KAAK,CAAU;IAExB,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAS;IAE5B,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAI,GAAG,WAAW;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrC,KAAK,CAAU;IAExB,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAS;IAE5B,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,OAAO,yBAA0B,SAAQ,QAAQ;IAC5C,OAAO,CAAS;IAChB,QAAQ,CAAS;IAE1B,YAAY,OAAe,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC;QACpD,MAAM,IAAI,GACR,4EAA4E,CAAC;QAC/E,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
export { PayClient, DEFAULT_API_URL } from "./client.js";
|
|
2
|
-
export type { PayClientOptions } from "./client.js";
|
|
3
1
|
export { PayError, PayValidationError, PayNetworkError, PayServerError, PayInsufficientFundsError, } from "./errors.js";
|
|
4
|
-
export
|
|
5
|
-
export type {
|
|
6
|
-
export { CliSigner, RawKeySigner, CallbackSigner, createSigner, } from "./signer.js";
|
|
7
|
-
export { OwsSigner } from "./ows-signer.js";
|
|
8
|
-
export type { OwsSignerOptions } from "./ows-signer.js";
|
|
9
|
-
export { Wallet, PrivateKeySigner } from "./wallet.js";
|
|
10
|
-
export type { WalletOptions, FundLinkOptions, PermitResult, } from "./wallet.js";
|
|
11
|
-
export { buildAuthHeaders, buildAuthHeadersWithSigner, computeEip712Hash, } from "./auth.js";
|
|
12
|
-
export type { AuthConfig, AuthHeaders } from "./auth.js";
|
|
13
|
-
export { signTransferAuthorization, combinedSignature, } from "./eip3009.js";
|
|
14
|
-
export type { TransferAuthorization } from "./eip3009.js";
|
|
2
|
+
export { Wallet, discover } from "./wallet.js";
|
|
3
|
+
export type { Amount, WalletOptions, OwsWalletOptions, SendResult, Tab, ChargeResult, Balance, Status, DiscoverService, DiscoverOptions, FundLinkOptions, WebhookRegistration, MintResult, } from "./wallet.js";
|
|
15
4
|
//# 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":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,EACN,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,UAAU,GACX,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export { PayClient, DEFAULT_API_URL } from "./client.js";
|
|
2
1
|
export { PayError, PayValidationError, PayNetworkError, PayServerError, PayInsufficientFundsError, } from "./errors.js";
|
|
3
|
-
export {
|
|
4
|
-
export { OwsSigner } from "./ows-signer.js";
|
|
5
|
-
export { Wallet, PrivateKeySigner } from "./wallet.js";
|
|
6
|
-
export { buildAuthHeaders, buildAuthHeadersWithSigner, computeEip712Hash, } from "./auth.js";
|
|
7
|
-
export { signTransferAuthorization, combinedSignature, } from "./eip3009.js";
|
|
2
|
+
export { Wallet, discover } from "./wallet.js";
|
|
8
3
|
//# 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":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OS keychain reader — reads the private key stored by `pay` CLI.
|
|
3
|
+
* Service: "pay", account: "default".
|
|
4
|
+
*
|
|
5
|
+
* keytar is an optional dependency. If not installed, returns null.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readFromKeychain(): Promise<string | null>;
|
|
8
|
+
//# sourceMappingURL=keychain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU/D"}
|
package/dist/keychain.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OS keychain reader — reads the private key stored by `pay` CLI.
|
|
3
|
+
* Service: "pay", account: "default".
|
|
4
|
+
*
|
|
5
|
+
* keytar is an optional dependency. If not installed, returns null.
|
|
6
|
+
*/
|
|
7
|
+
export async function readFromKeychain() {
|
|
8
|
+
try {
|
|
9
|
+
const moduleName = "keytar";
|
|
10
|
+
const keytar = (await import(moduleName));
|
|
11
|
+
return await keytar.default.getPassword("pay", "default");
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=keychain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAEvC,CAAC;QACF,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|