uvd-x402-sdk 2.16.2 → 2.17.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 +70 -5
- package/dist/adapters/index.js +103 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/index.mjs +103 -0
- package/dist/adapters/index.mjs.map +1 -1
- package/dist/backend/index.d.mts +392 -2
- package/dist/backend/index.d.ts +392 -2
- package/dist/backend/index.js +448 -0
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/index.mjs +445 -1
- package/dist/backend/index.mjs.map +1 -1
- package/dist/{index-oE4dj05k.d.mts → index-BDLgm-Sg.d.mts} +3 -2
- package/dist/{index-B2cQzyKa.d.ts → index-DDrvK4em.d.ts} +3 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +103 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +103 -0
- package/dist/index.mjs.map +1 -1
- package/dist/providers/algorand/index.js +103 -0
- package/dist/providers/algorand/index.js.map +1 -1
- package/dist/providers/algorand/index.mjs +103 -0
- package/dist/providers/algorand/index.mjs.map +1 -1
- package/dist/providers/evm/index.js +103 -0
- package/dist/providers/evm/index.js.map +1 -1
- package/dist/providers/evm/index.mjs +103 -0
- package/dist/providers/evm/index.mjs.map +1 -1
- package/dist/providers/near/index.js +103 -0
- package/dist/providers/near/index.js.map +1 -1
- package/dist/providers/near/index.mjs +103 -0
- package/dist/providers/near/index.mjs.map +1 -1
- package/dist/providers/solana/index.js +103 -0
- package/dist/providers/solana/index.js.map +1 -1
- package/dist/providers/solana/index.mjs +103 -0
- package/dist/providers/solana/index.mjs.map +1 -1
- package/dist/providers/stellar/index.js +103 -0
- package/dist/providers/stellar/index.js.map +1 -1
- package/dist/providers/stellar/index.mjs +103 -0
- package/dist/providers/stellar/index.mjs.map +1 -1
- package/dist/providers/sui/index.js +103 -0
- package/dist/providers/sui/index.js.map +1 -1
- package/dist/providers/sui/index.mjs +103 -0
- package/dist/providers/sui/index.mjs.map +1 -1
- package/dist/react/index.d.mts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +103 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +103 -0
- package/dist/react/index.mjs.map +1 -1
- package/dist/utils/index.js +103 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +103 -0
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +9 -3
- package/src/backend/index.ts +695 -1
- package/src/chains/index.ts +102 -2
- package/src/types/index.ts +3 -0
package/README.md
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
# uvd-x402-sdk
|
|
2
2
|
|
|
3
|
-
Gasless crypto payments across
|
|
3
|
+
Gasless crypto payments across 21 blockchain networks using the x402 protocol.
|
|
4
4
|
|
|
5
5
|
Users sign a message or transaction, and the Ultravioleta facilitator handles on-chain settlement. No gas fees for users.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- **
|
|
9
|
+
- **21 Networks**: EVM (13 including Scroll, SKALE), Solana, Fogo, Stellar, NEAR, Algorand, Sui
|
|
10
10
|
- **Multi-Stablecoin**: USDC, EURC, AUSD, PYUSD, USDT
|
|
11
11
|
- **x402 v1 & v2**: Both protocol versions with auto-detection
|
|
12
12
|
- **Gasless**: Facilitator pays all network fees
|
|
13
13
|
- **Type-Safe**: Full TypeScript support
|
|
14
14
|
- **React & Wagmi**: First-class integrations
|
|
15
|
+
- **ERC-8004 Trustless Agents**: On-chain reputation and identity
|
|
16
|
+
- **Escrow & Refunds**: Hold payments with dispute resolution
|
|
15
17
|
|
|
16
18
|
## Installation
|
|
17
19
|
|
|
@@ -432,7 +434,7 @@ const header = svm.encodePaymentHeader(payload, chainConfig);
|
|
|
432
434
|
|
|
433
435
|
## Supported Networks
|
|
434
436
|
|
|
435
|
-
### EVM (
|
|
437
|
+
### EVM (13)
|
|
436
438
|
|
|
437
439
|
| Network | Chain ID | Tokens |
|
|
438
440
|
|---------|----------|--------|
|
|
@@ -440,12 +442,15 @@ const header = svm.encodePaymentHeader(payload, chainConfig);
|
|
|
440
442
|
| Ethereum | 1 | USDC, EURC, AUSD, PYUSD, USDT |
|
|
441
443
|
| Polygon | 137 | USDC, AUSD |
|
|
442
444
|
| Arbitrum | 42161 | USDC, AUSD, USDT |
|
|
443
|
-
| Optimism | 10 | USDC |
|
|
445
|
+
| Optimism | 10 | USDC, USDT |
|
|
444
446
|
| Avalanche | 43114 | USDC, EURC, AUSD |
|
|
445
|
-
| Celo | 42220 | USDC |
|
|
447
|
+
| Celo | 42220 | USDC, USDT |
|
|
446
448
|
| HyperEVM | 999 | USDC |
|
|
447
449
|
| Unichain | 130 | USDC |
|
|
448
450
|
| Monad | 143 | USDC, AUSD |
|
|
451
|
+
| Scroll | 534352 | USDC |
|
|
452
|
+
| SKALE | 1187947933 | USDC |
|
|
453
|
+
| SKALE Testnet | 324705682 | USDC |
|
|
449
454
|
|
|
450
455
|
### SVM (2)
|
|
451
456
|
|
|
@@ -584,6 +589,66 @@ try {
|
|
|
584
589
|
}
|
|
585
590
|
```
|
|
586
591
|
|
|
592
|
+
## ERC-8004 Trustless Agents
|
|
593
|
+
|
|
594
|
+
Build verifiable on-chain reputation for AI agents and services.
|
|
595
|
+
|
|
596
|
+
```typescript
|
|
597
|
+
import { Erc8004Client } from 'uvd-x402-sdk/backend';
|
|
598
|
+
|
|
599
|
+
const erc8004 = new Erc8004Client();
|
|
600
|
+
|
|
601
|
+
// Get agent identity
|
|
602
|
+
const identity = await erc8004.getIdentity('ethereum', 42);
|
|
603
|
+
console.log(identity.agentUri);
|
|
604
|
+
|
|
605
|
+
// Get agent reputation
|
|
606
|
+
const reputation = await erc8004.getReputation('ethereum', 42);
|
|
607
|
+
console.log(`Score: ${reputation.summary.summaryValue}`);
|
|
608
|
+
|
|
609
|
+
// Submit feedback after payment
|
|
610
|
+
const result = await erc8004.submitFeedback({
|
|
611
|
+
x402Version: 1,
|
|
612
|
+
network: 'ethereum',
|
|
613
|
+
feedback: {
|
|
614
|
+
agentId: 42,
|
|
615
|
+
value: 95,
|
|
616
|
+
valueDecimals: 0,
|
|
617
|
+
tag1: 'quality',
|
|
618
|
+
proof: settleResponse.proofOfPayment,
|
|
619
|
+
},
|
|
620
|
+
});
|
|
621
|
+
|
|
622
|
+
// Respond to feedback (agents only)
|
|
623
|
+
await erc8004.appendResponse('ethereum', 42, 1, 'Thank you for your feedback!');
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
## Escrow & Refunds
|
|
627
|
+
|
|
628
|
+
Hold payments in escrow with dispute resolution.
|
|
629
|
+
|
|
630
|
+
```typescript
|
|
631
|
+
import { EscrowClient } from 'uvd-x402-sdk/backend';
|
|
632
|
+
|
|
633
|
+
const escrow = new EscrowClient();
|
|
634
|
+
|
|
635
|
+
// Create escrow payment
|
|
636
|
+
const escrowPayment = await escrow.createEscrow({
|
|
637
|
+
paymentHeader: req.headers['x-payment'],
|
|
638
|
+
requirements: paymentRequirements,
|
|
639
|
+
escrowDuration: 86400, // 24 hours
|
|
640
|
+
});
|
|
641
|
+
|
|
642
|
+
// Release after service delivery
|
|
643
|
+
await escrow.release(escrowPayment.id);
|
|
644
|
+
|
|
645
|
+
// Or request refund if service failed
|
|
646
|
+
await escrow.requestRefund({
|
|
647
|
+
escrowId: escrowPayment.id,
|
|
648
|
+
reason: 'Service not delivered',
|
|
649
|
+
});
|
|
650
|
+
```
|
|
651
|
+
|
|
587
652
|
## Links
|
|
588
653
|
|
|
589
654
|
- [x402 Protocol](https://x402.org)
|
package/dist/adapters/index.js
CHANGED
|
@@ -407,6 +407,106 @@ var SUPPORTED_CHAINS = {
|
|
|
407
407
|
enabled: true
|
|
408
408
|
}
|
|
409
409
|
},
|
|
410
|
+
scroll: {
|
|
411
|
+
chainId: 534352,
|
|
412
|
+
chainIdHex: "0x82750",
|
|
413
|
+
name: "scroll",
|
|
414
|
+
displayName: "Scroll",
|
|
415
|
+
networkType: "evm",
|
|
416
|
+
rpcUrl: "https://rpc.scroll.io",
|
|
417
|
+
explorerUrl: "https://scrollscan.com",
|
|
418
|
+
nativeCurrency: {
|
|
419
|
+
name: "Ethereum",
|
|
420
|
+
symbol: "ETH",
|
|
421
|
+
decimals: 18
|
|
422
|
+
},
|
|
423
|
+
usdc: {
|
|
424
|
+
address: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
|
|
425
|
+
decimals: 6,
|
|
426
|
+
name: "USD Coin",
|
|
427
|
+
version: "2"
|
|
428
|
+
},
|
|
429
|
+
tokens: {
|
|
430
|
+
usdc: {
|
|
431
|
+
address: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
|
|
432
|
+
decimals: 6,
|
|
433
|
+
name: "USD Coin",
|
|
434
|
+
version: "2"
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
x402: {
|
|
438
|
+
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
439
|
+
enabled: true
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
skale: {
|
|
443
|
+
chainId: 1187947933,
|
|
444
|
+
chainIdHex: "0x46cea59d",
|
|
445
|
+
name: "skale",
|
|
446
|
+
displayName: "SKALE",
|
|
447
|
+
networkType: "evm",
|
|
448
|
+
rpcUrl: "https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague",
|
|
449
|
+
explorerUrl: "https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com",
|
|
450
|
+
nativeCurrency: {
|
|
451
|
+
name: "sFUEL",
|
|
452
|
+
symbol: "sFUEL",
|
|
453
|
+
decimals: 18
|
|
454
|
+
},
|
|
455
|
+
usdc: {
|
|
456
|
+
address: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
|
|
457
|
+
decimals: 6,
|
|
458
|
+
name: "USDC",
|
|
459
|
+
// SKALE uses "USDC"
|
|
460
|
+
version: "2"
|
|
461
|
+
},
|
|
462
|
+
tokens: {
|
|
463
|
+
usdc: {
|
|
464
|
+
address: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
|
|
465
|
+
decimals: 6,
|
|
466
|
+
name: "USDC",
|
|
467
|
+
// SKALE uses "USDC"
|
|
468
|
+
version: "2"
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
x402: {
|
|
472
|
+
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
473
|
+
enabled: true
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
"skale-testnet": {
|
|
477
|
+
chainId: 324705682,
|
|
478
|
+
chainIdHex: "0x135a9d92",
|
|
479
|
+
name: "skale-testnet",
|
|
480
|
+
displayName: "SKALE Testnet",
|
|
481
|
+
networkType: "evm",
|
|
482
|
+
rpcUrl: "https://testnet.skalenodes.com/v1/lanky-ill-funny-testnet",
|
|
483
|
+
explorerUrl: "https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com",
|
|
484
|
+
nativeCurrency: {
|
|
485
|
+
name: "sFUEL",
|
|
486
|
+
symbol: "sFUEL",
|
|
487
|
+
decimals: 18
|
|
488
|
+
},
|
|
489
|
+
usdc: {
|
|
490
|
+
address: "0x2e08028E3C4c2356572E096d8EF835cD5C6030bD",
|
|
491
|
+
decimals: 6,
|
|
492
|
+
name: "USDC",
|
|
493
|
+
// SKALE testnet uses "USDC"
|
|
494
|
+
version: "2"
|
|
495
|
+
},
|
|
496
|
+
tokens: {
|
|
497
|
+
usdc: {
|
|
498
|
+
address: "0x2e08028E3C4c2356572E096d8EF835cD5C6030bD",
|
|
499
|
+
decimals: 6,
|
|
500
|
+
name: "USDC",
|
|
501
|
+
// SKALE testnet uses "USDC"
|
|
502
|
+
version: "2"
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
x402: {
|
|
506
|
+
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
507
|
+
enabled: true
|
|
508
|
+
}
|
|
509
|
+
},
|
|
410
510
|
// ============================================================================
|
|
411
511
|
// SVM CHAINS (2 networks) - Solana Virtual Machine
|
|
412
512
|
// ============================================================================
|
|
@@ -710,6 +810,9 @@ var CAIP2_IDENTIFIERS = {
|
|
|
710
810
|
hyperevm: "eip155:999",
|
|
711
811
|
unichain: "eip155:130",
|
|
712
812
|
monad: "eip155:143",
|
|
813
|
+
scroll: "eip155:534352",
|
|
814
|
+
skale: "eip155:1187947933",
|
|
815
|
+
"skale-testnet": "eip155:324705682",
|
|
713
816
|
// SVM chains
|
|
714
817
|
solana: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
715
818
|
fogo: "svm:fogo",
|