agentwallet-sdk 6.0.5 → 6.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.
Files changed (40) hide show
  1. package/README.md +201 -1
  2. package/dist/bridge/solana.d.ts.map +1 -1
  3. package/dist/bridge/types.d.ts.map +1 -1
  4. package/dist/identity/index.d.ts +2 -0
  5. package/dist/identity/index.d.ts.map +1 -1
  6. package/dist/identity/index.js +2 -0
  7. package/dist/identity/index.js.map +1 -1
  8. package/dist/identity/uaid.d.ts +193 -0
  9. package/dist/identity/uaid.d.ts.map +1 -0
  10. package/dist/identity/uaid.js +296 -0
  11. package/dist/identity/uaid.js.map +1 -0
  12. package/dist/index.d.ts +4994 -13961
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +6 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/policy/UptoBillingPolicy.d.ts +88 -0
  17. package/dist/policy/UptoBillingPolicy.d.ts.map +1 -0
  18. package/dist/policy/UptoBillingPolicy.js +183 -0
  19. package/dist/policy/UptoBillingPolicy.js.map +1 -0
  20. package/dist/policy/UptoBillingPolicy.test.d.ts +2 -0
  21. package/dist/policy/UptoBillingPolicy.test.d.ts.map +1 -0
  22. package/dist/policy/UptoBillingPolicy.test.js +102 -0
  23. package/dist/policy/UptoBillingPolicy.test.js.map +1 -0
  24. package/dist/router/PaymentRouter.d.ts +79 -0
  25. package/dist/router/PaymentRouter.d.ts.map +1 -0
  26. package/dist/router/PaymentRouter.js +144 -0
  27. package/dist/router/PaymentRouter.js.map +1 -0
  28. package/dist/router/index.d.ts +3 -0
  29. package/dist/router/index.d.ts.map +1 -0
  30. package/dist/router/index.js +2 -0
  31. package/dist/router/index.js.map +1 -0
  32. package/dist/swap/SwapModule.d.ts +2 -2
  33. package/dist/swap/SwapModule.d.ts.map +1 -1
  34. package/dist/swap/types.d.ts.map +1 -1
  35. package/dist/tokens/solana.d.ts.map +1 -1
  36. package/package.json +2 -2
  37. package/dist/x402/chains/stellar/index.d.ts +0 -149
  38. package/dist/x402/chains/stellar/index.d.ts.map +0 -1
  39. package/dist/x402/chains/stellar/index.js +0 -199
  40. package/dist/x402/chains/stellar/index.js.map +0 -1
@@ -1,199 +0,0 @@
1
- /**
2
- * Stellar x402 Payment Adapter
3
- *
4
- * Implements x402 payment protocol on Stellar network.
5
- * Stellar x402 support went live March 11, 2026.
6
- *
7
- * Chain identifiers:
8
- * - Stellar Mainnet: "stellar:pubnet"
9
- * - Stellar Testnet: "stellar:testnet"
10
- *
11
- * Key differences from EVM chains:
12
- * - Uses Ed25519 keypairs (not secp256k1)
13
- * - Transaction format: Stellar XDR (not EVM tx)
14
- * - Settlement: ~5 seconds (1 ledger close)
15
- * - Fees: ~0.00001 XLM per operation (effectively free at scale)
16
- * - USDC: Circle-issued USDC on Stellar
17
- */
18
- // ─── Stellar Chain Constants ─────────────────────────────────────────────────
19
- export const STELLAR_NETWORK = {
20
- pubnet: {
21
- horizonUrl: 'https://horizon.stellar.org',
22
- networkPassphrase: 'Public Global Stellar Network ; September 2015',
23
- chainId: 'stellar:pubnet',
24
- },
25
- testnet: {
26
- horizonUrl: 'https://horizon-testnet.stellar.org',
27
- networkPassphrase: 'Test SDF Network ; September 2015',
28
- chainId: 'stellar:testnet',
29
- },
30
- };
31
- /**
32
- * Circle USDC on Stellar (Mainnet)
33
- * Asset code: USDC
34
- * Issuer: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
35
- */
36
- export const STELLAR_USDC = {
37
- pubnet: {
38
- code: 'USDC',
39
- issuer: 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN',
40
- },
41
- testnet: {
42
- code: 'USDC',
43
- issuer: 'GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5',
44
- },
45
- };
46
- // ─── Stellar x402 Payment Adapter ────────────────────────────────────────────
47
- /**
48
- * StellarX402Adapter
49
- *
50
- * Handles x402 payment flow for Stellar network.
51
- *
52
- * Usage (with stellar-sdk):
53
- * ```typescript
54
- * import { StellarX402Adapter } from 'agentwallet-sdk/x402/stellar';
55
- * import { Keypair, Networks } from '@stellar/stellar-sdk';
56
- *
57
- * const adapter = new StellarX402Adapter({ network: 'pubnet' });
58
- * const result = await adapter.pay({
59
- * destination: 'GDESTWVX3VMLQCXPHPVLS3FMNMG2X7L5IGGQT7BQMIZXZZ4V7KBQVS',
60
- * amount: '0.50',
61
- * sourcePublicKey: keypair.publicKey(),
62
- * resource: '/api/data-endpoint',
63
- * }, keypair.secret());
64
- * ```
65
- *
66
- * Note: stellar-sdk must be installed separately:
67
- * npm install @stellar/stellar-sdk
68
- */
69
- export class StellarX402Adapter {
70
- constructor(config = {}) {
71
- this.network = config.network ?? 'pubnet';
72
- this.horizonUrl = config.horizonUrl ?? STELLAR_NETWORK[this.network].horizonUrl;
73
- }
74
- /**
75
- * Parse an x402 402 response and extract Stellar payment details.
76
- * The 402 response should include X-Payment-Chains: stellar:pubnet
77
- * and X-Payment-Amount, X-Payment-Destination headers.
78
- */
79
- parseX402Response(headers) {
80
- const chains = headers['x-payment-chains'] ?? headers['X-Payment-Chains'] ?? '';
81
- const chainId = STELLAR_NETWORK[this.network].chainId;
82
- if (!chains.includes(chainId) && !chains.includes('stellar')) {
83
- return { supported: false };
84
- }
85
- return {
86
- supported: true,
87
- destination: headers['x-payment-destination'] ?? headers['X-Payment-Destination'],
88
- amount: headers['x-payment-amount'] ?? headers['X-Payment-Amount'],
89
- resource: headers['x-payment-resource'] ?? headers['X-Payment-Resource'],
90
- };
91
- }
92
- /**
93
- * Build a Stellar USDC payment transaction.
94
- *
95
- * Requires @stellar/stellar-sdk to be installed:
96
- * npm install @stellar/stellar-sdk
97
- *
98
- * Returns the XDR-encoded transaction envelope for signing and submission.
99
- */
100
- async buildPaymentTransaction(request) {
101
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
102
- let StellarSdk;
103
- try {
104
- // @ts-expect-error — @stellar/stellar-sdk is an optional peer dependency
105
- StellarSdk = await import('@stellar/stellar-sdk');
106
- }
107
- catch {
108
- throw new Error('Stellar support requires @stellar/stellar-sdk: npm install @stellar/stellar-sdk');
109
- }
110
- const networkConfig = STELLAR_NETWORK[request.network ?? this.network];
111
- const usdcAsset = STELLAR_USDC[request.network ?? this.network];
112
- // Load source account sequence number from Horizon
113
- const account = await this._loadAccount(request.sourcePublicKey, networkConfig.horizonUrl);
114
- const stellarAccount = new StellarSdk.Account(request.sourcePublicKey, account.sequence);
115
- const asset = new StellarSdk.Asset(usdcAsset.code, usdcAsset.issuer);
116
- const memoText = request.resource
117
- ? request.resource.slice(0, 28) // Stellar memo max 28 bytes
118
- : 'x402-payment';
119
- const transaction = new StellarSdk.TransactionBuilder(stellarAccount, {
120
- fee: StellarSdk.BASE_FEE,
121
- networkPassphrase: networkConfig.networkPassphrase,
122
- })
123
- .addOperation(StellarSdk.Operation.payment({
124
- destination: request.destination,
125
- asset,
126
- amount: request.amount,
127
- }))
128
- .addMemo(StellarSdk.Memo.text(memoText))
129
- .setTimeout(300) // 5 minute window
130
- .build();
131
- return transaction.toXDR();
132
- }
133
- /**
134
- * Submit a signed Stellar transaction to Horizon.
135
- */
136
- async submitTransaction(signedXdr) {
137
- const networkConfig = STELLAR_NETWORK[this.network];
138
- const body = new URLSearchParams({ tx: signedXdr }).toString();
139
- const resp = await fetch(`${networkConfig.horizonUrl}/transactions`, {
140
- method: 'POST',
141
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
142
- body,
143
- });
144
- if (!resp.ok) {
145
- const err = await resp.text();
146
- throw new Error(`Stellar transaction failed: ${resp.status} ${err.slice(0, 200)}`);
147
- }
148
- const result = await resp.json();
149
- return {
150
- hash: result.hash,
151
- ledger: result.ledger,
152
- successful: result.successful ?? true,
153
- network: this.network,
154
- };
155
- }
156
- async _loadAccount(publicKey, horizonUrl) {
157
- const resp = await fetch(`${horizonUrl}/accounts/${publicKey}`);
158
- if (!resp.ok) {
159
- throw new Error(`Cannot load Stellar account ${publicKey}: ${resp.status}. ` +
160
- `Ensure the account exists and has a USDC trustline established.`);
161
- }
162
- const data = await resp.json();
163
- return { sequence: data.sequence };
164
- }
165
- /** Chain ID for this adapter (e.g. "stellar:pubnet") */
166
- get chainId() {
167
- return STELLAR_NETWORK[this.network].chainId;
168
- }
169
- }
170
- // ─── x402 Auto-Pay Helper ────────────────────────────────────────────────────
171
- /**
172
- * Full x402 payment flow for Stellar.
173
- * 1. Detects 402 response from API
174
- * 2. Parses Stellar payment details from headers
175
- * 3. Builds, signs, and submits Stellar USDC payment
176
- * 4. Retries the original request with payment proof
177
- *
178
- * Requires stellar-sdk: npm install @stellar/stellar-sdk
179
- */
180
- export async function stellarX402Pay(params) {
181
- const adapter = new StellarX402Adapter({ network: params.network ?? 'pubnet' });
182
- const details = adapter.parseX402Response(params.responseHeaders);
183
- if (!details.supported) {
184
- throw new Error('This endpoint does not support Stellar x402 payments');
185
- }
186
- if (!details.destination || !details.amount) {
187
- throw new Error('x402 response missing destination or amount headers');
188
- }
189
- const xdr = await adapter.buildPaymentTransaction({
190
- destination: details.destination,
191
- amount: details.amount,
192
- sourcePublicKey: params.sourcePublicKey,
193
- resource: details.resource,
194
- network: params.network ?? 'pubnet',
195
- });
196
- const signedXdr = await params.sign(xdr);
197
- return adapter.submitTransaction(signedXdr);
198
- }
199
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/x402/chains/stellar/index.ts"],"names":[],"mappings":"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"}