@relai-fi/x402 0.5.27 → 0.5.28
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 +112 -0
- package/dist/client.cjs +21 -2
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +22 -2
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +24 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +25 -3
- package/dist/index.js.map +1 -1
- package/dist/management.cjs +47 -0
- package/dist/management.cjs.map +1 -1
- package/dist/management.d.cts +67 -1
- package/dist/management.d.ts +67 -1
- package/dist/management.js +47 -0
- package/dist/management.js.map +1 -1
- package/dist/react/index.cjs +23 -2
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +24 -2
- package/dist/react/index.js.map +1 -1
- package/dist/server.cjs +11 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +3 -1
- package/dist/server.d.ts +3 -1
- package/dist/server.js +11 -1
- package/dist/server.js.map +1 -1
- package/dist/{types-BSCuAZJb.d.cts → types-Y9ni5XwY.d.cts} +1 -1
- package/dist/{types-BSCuAZJb.d.ts → types-Y9ni5XwY.d.ts} +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { DynamicPrice, PaymentInfo, ProtectOptions, default as Relai, RelaiIntegritasFlow, RelaiIntegritasOptions, RelaiServerConfig, SettleResult, StripePayTo, default, stripePayTo } from './server.cjs';
|
|
2
2
|
export { RelayWebSocketFactory, RelayWebSocketLike, X402Client, X402ClientConfig, X402FetchInit, X402IntegritasConfig, X402IntegritasFlow, X402NetworkSelectionMode, X402RelayWsConfig, X402RelayWsError, X402RelayWsResponse, X402RequestOptions, default as createX402Client } from './client.cjs';
|
|
3
|
-
export { A as AcceptsExtra, B as BASE_MAINNET_NETWORK, C as CAIP2_TO_NETWORK, b as CHAIN_IDS, E as EXPLORER_TX_URL, l as EvmWallet, N as NETWORK_CAIP2, e as NETWORK_LABELS, d as NETWORK_TOKENS, c as NetworkToken, P as PaymentAccept, o as PaymentRequired, R as RELAI_FACILITATOR_URL, h as RELAI_NETWORKS, a as RelaiNetwork, m as ResourceInfo, S as SOLANA_MAINNET_NETWORK, k as SolanaWallet, U as USDC_ADDRESSES, g as USDC_BASE, f as USDC_SOLANA, W as WalletSet, j as isEvm, i as isSolana, n as normalizeNetwork, r as resolveToken } from './types-
|
|
3
|
+
export { A as AcceptsExtra, B as BASE_MAINNET_NETWORK, C as CAIP2_TO_NETWORK, b as CHAIN_IDS, E as EXPLORER_TX_URL, l as EvmWallet, N as NETWORK_CAIP2, e as NETWORK_LABELS, d as NETWORK_TOKENS, c as NetworkToken, P as PaymentAccept, o as PaymentRequired, R as RELAI_FACILITATOR_URL, h as RELAI_NETWORKS, a as RelaiNetwork, m as ResourceInfo, S as SOLANA_MAINNET_NETWORK, k as SolanaWallet, U as USDC_ADDRESSES, g as USDC_BASE, f as USDC_SOLANA, W as WalletSet, j as isEvm, i as isSolana, n as normalizeNetwork, r as resolveToken } from './types-Y9ni5XwY.cjs';
|
|
4
|
+
export { BridgeBalances, BridgeQuoteResult, BridgeResult } from './management.cjs';
|
|
4
5
|
export { NETWORK_V1_TO_V2, NETWORK_V2_TO_V1, convertPayloadToVersion, convertV1ToV2, convertV2ToV1, detectPayloadVersion, formatUsd, fromAtomicUnits, isEvmNetwork, isSolanaNetwork, networkV1ToV2, networkV2ToV1, normalizePaymentHeader, toAtomicUnits } from './utils/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { DynamicPrice, PaymentInfo, ProtectOptions, default as Relai, RelaiIntegritasFlow, RelaiIntegritasOptions, RelaiServerConfig, SettleResult, StripePayTo, default, stripePayTo } from './server.js';
|
|
2
2
|
export { RelayWebSocketFactory, RelayWebSocketLike, X402Client, X402ClientConfig, X402FetchInit, X402IntegritasConfig, X402IntegritasFlow, X402NetworkSelectionMode, X402RelayWsConfig, X402RelayWsError, X402RelayWsResponse, X402RequestOptions, default as createX402Client } from './client.js';
|
|
3
|
-
export { A as AcceptsExtra, B as BASE_MAINNET_NETWORK, C as CAIP2_TO_NETWORK, b as CHAIN_IDS, E as EXPLORER_TX_URL, l as EvmWallet, N as NETWORK_CAIP2, e as NETWORK_LABELS, d as NETWORK_TOKENS, c as NetworkToken, P as PaymentAccept, o as PaymentRequired, R as RELAI_FACILITATOR_URL, h as RELAI_NETWORKS, a as RelaiNetwork, m as ResourceInfo, S as SOLANA_MAINNET_NETWORK, k as SolanaWallet, U as USDC_ADDRESSES, g as USDC_BASE, f as USDC_SOLANA, W as WalletSet, j as isEvm, i as isSolana, n as normalizeNetwork, r as resolveToken } from './types-
|
|
3
|
+
export { A as AcceptsExtra, B as BASE_MAINNET_NETWORK, C as CAIP2_TO_NETWORK, b as CHAIN_IDS, E as EXPLORER_TX_URL, l as EvmWallet, N as NETWORK_CAIP2, e as NETWORK_LABELS, d as NETWORK_TOKENS, c as NetworkToken, P as PaymentAccept, o as PaymentRequired, R as RELAI_FACILITATOR_URL, h as RELAI_NETWORKS, a as RelaiNetwork, m as ResourceInfo, S as SOLANA_MAINNET_NETWORK, k as SolanaWallet, U as USDC_ADDRESSES, g as USDC_BASE, f as USDC_SOLANA, W as WalletSet, j as isEvm, i as isSolana, n as normalizeNetwork, r as resolveToken } from './types-Y9ni5XwY.js';
|
|
4
|
+
export { BridgeBalances, BridgeQuoteResult, BridgeResult } from './management.js';
|
|
4
5
|
export { NETWORK_V1_TO_V2, NETWORK_V2_TO_V1, convertPayloadToVersion, convertV1ToV2, convertV2ToV1, detectPayloadVersion, formatUsd, fromAtomicUnits, isEvmNetwork, isSolanaNetwork, networkV1ToV2, networkV2ToV1, normalizePaymentHeader, toAtomicUnits } from './utils/index.js';
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var RELAI_FACILITATOR_URL = "https://facilitator.x402.fi";
|
|
3
3
|
var NETWORK_CAIP2 = {
|
|
4
4
|
"solana": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
5
|
+
"solana-devnet": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
5
6
|
"base": "eip155:8453",
|
|
6
7
|
"avalanche": "eip155:43114",
|
|
7
8
|
"skale-base": "eip155:1187947933",
|
|
@@ -33,6 +34,14 @@ var NETWORK_TOKENS = {
|
|
|
33
34
|
decimals: 6
|
|
34
35
|
}
|
|
35
36
|
],
|
|
37
|
+
"solana-devnet": [
|
|
38
|
+
{
|
|
39
|
+
address: "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
|
|
40
|
+
symbol: "USDC",
|
|
41
|
+
name: "USD Coin (Devnet)",
|
|
42
|
+
decimals: 6
|
|
43
|
+
}
|
|
44
|
+
],
|
|
36
45
|
"base": [
|
|
37
46
|
{ address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", symbol: "USDC", name: "USD Coin", decimals: 6, domainVersion: "2", isStableUsd: true }
|
|
38
47
|
],
|
|
@@ -164,6 +173,7 @@ function resolveToken(network, asset) {
|
|
|
164
173
|
}
|
|
165
174
|
var USDC_ADDRESSES = {
|
|
166
175
|
"solana": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
176
|
+
"solana-devnet": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
|
|
167
177
|
"base": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
168
178
|
"avalanche": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
|
|
169
179
|
"skale-base": "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
|
|
@@ -175,6 +185,7 @@ var USDC_ADDRESSES = {
|
|
|
175
185
|
};
|
|
176
186
|
var EXPLORER_TX_URL = {
|
|
177
187
|
"solana": (tx) => `https://solscan.io/tx/${tx}`,
|
|
188
|
+
"solana-devnet": (tx) => `https://solscan.io/tx/${tx}?cluster=devnet`,
|
|
178
189
|
"base": (tx) => `https://basescan.org/tx/${tx}`,
|
|
179
190
|
"avalanche": (tx) => `https://snowtrace.io/tx/${tx}`,
|
|
180
191
|
"skale-base": (tx) => `https://skale-base-explorer.skalenodes.com/tx/${tx}`,
|
|
@@ -186,6 +197,7 @@ var EXPLORER_TX_URL = {
|
|
|
186
197
|
};
|
|
187
198
|
var NETWORK_LABELS = {
|
|
188
199
|
"solana": "Solana",
|
|
200
|
+
"solana-devnet": "Solana Devnet",
|
|
189
201
|
"base": "Base",
|
|
190
202
|
"avalanche": "Avalanche",
|
|
191
203
|
"skale-base": "SKALE Base",
|
|
@@ -201,6 +213,7 @@ var USDC_SOLANA = USDC_ADDRESSES["solana"];
|
|
|
201
213
|
var USDC_BASE = USDC_ADDRESSES["base"];
|
|
202
214
|
var RELAI_NETWORKS = [
|
|
203
215
|
"solana",
|
|
216
|
+
"solana-devnet",
|
|
204
217
|
"base",
|
|
205
218
|
"avalanche",
|
|
206
219
|
"skale-base",
|
|
@@ -211,7 +224,7 @@ var RELAI_NETWORKS = [
|
|
|
211
224
|
"telos"
|
|
212
225
|
];
|
|
213
226
|
function isSolana(network) {
|
|
214
|
-
return network === "solana" || network.startsWith("solana:");
|
|
227
|
+
return network === "solana" || network === "solana-devnet" || network.startsWith("solana:");
|
|
215
228
|
}
|
|
216
229
|
function isEvm(network) {
|
|
217
230
|
return ["base", "avalanche", "skale-base", "skale-base-sepolia", "skale-bite", "polygon", "ethereum", "telos"].includes(network) || network.startsWith("eip155:");
|
|
@@ -543,7 +556,7 @@ var Relai = class {
|
|
|
543
556
|
} else {
|
|
544
557
|
resolvedPayTo = options.payTo;
|
|
545
558
|
}
|
|
546
|
-
const feePayer = await self.getFeePayer(caip2);
|
|
559
|
+
const feePayer = options.feePayer || await self.getFeePayer(caip2);
|
|
547
560
|
return res.status(402).json({
|
|
548
561
|
x402Version: 2,
|
|
549
562
|
error: "Payment required",
|
|
@@ -695,6 +708,7 @@ import {
|
|
|
695
708
|
import {
|
|
696
709
|
getAssociatedTokenAddress,
|
|
697
710
|
createTransferCheckedInstruction,
|
|
711
|
+
createAssociatedTokenAccountIdempotentInstruction,
|
|
698
712
|
getMint,
|
|
699
713
|
TOKEN_PROGRAM_ID,
|
|
700
714
|
TOKEN_2022_PROGRAM_ID
|
|
@@ -1455,11 +1469,19 @@ function createX402Client(config) {
|
|
|
1455
1469
|
[],
|
|
1456
1470
|
programId
|
|
1457
1471
|
);
|
|
1472
|
+
const createDestAtaIx = createAssociatedTokenAccountIdempotentInstruction(
|
|
1473
|
+
feePayerPubkey,
|
|
1474
|
+
// payer (feePayer covers this)
|
|
1475
|
+
destinationAta,
|
|
1476
|
+
merchantPubkey,
|
|
1477
|
+
mintPubkey,
|
|
1478
|
+
programId
|
|
1479
|
+
);
|
|
1458
1480
|
const { blockhash } = await connection.getLatestBlockhash("confirmed");
|
|
1459
1481
|
const message = new TransactionMessage({
|
|
1460
1482
|
payerKey: feePayerPubkey,
|
|
1461
1483
|
recentBlockhash: blockhash,
|
|
1462
|
-
instructions: [transferIx]
|
|
1484
|
+
instructions: [createDestAtaIx, transferIx]
|
|
1463
1485
|
}).compileToV0Message();
|
|
1464
1486
|
const transaction = new VersionedTransaction(message);
|
|
1465
1487
|
const signedTx = await solWallet.signTransaction(transaction);
|