@rozoai/intent-pay 0.1.57 → 0.1.59-beta.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 +21 -0
- package/build/components/Common/TokenChainLogo/index.d.ts +7 -1
- package/build/components/Pages/WaitingDepositAddress/index.d.ts +26 -0
- package/build/components/RozoPayButton/types.d.ts +5 -3
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +6 -1
- package/build/hooks/useDepositAddressOptions.d.ts +3 -2
- package/build/hooks/useSolanaPaymentOptions.d.ts +1 -1
- package/build/hooks/useStellarPaymentOptions.d.ts +1 -1
- package/build/hooks/useWalletPaymentOptions.d.ts +10 -5
- package/build/package.json.js +1 -1
- package/build/payment/createPaymentPayload.d.ts +6 -4
- package/build/payment/nativeSpendable.d.ts +1 -0
- package/build/payment/paymentFsm.d.ts +25 -2
- package/build/provider/PayContext.d.ts +3 -3
- package/build/src/components/Common/ConnectorList/index.js +2 -3
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/TokenChainLogo/index.js +27 -3
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +9 -4
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +9 -4
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +38 -12
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
- package/build/src/components/RozoPayModal/index.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +6 -2
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
- package/build/src/hooks/useDepositAddressOptions.js +21 -11
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +98 -60
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +59 -15
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useStellarPaymentOptions.js +47 -19
- package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
- package/build/src/hooks/useSupportedChains.js +3 -2
- package/build/src/hooks/useSupportedChains.js.map +1 -1
- package/build/src/hooks/useTokenOptions.js +13 -8
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/hooks/useWalletPaymentOptions.js +33 -17
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
- package/build/src/payment/createPaymentPayload.js +40 -37
- package/build/src/payment/createPaymentPayload.js.map +1 -1
- package/build/src/payment/nativeSpendable.js +10 -0
- package/build/src/payment/nativeSpendable.js.map +1 -0
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/utils/feeCache.js +3 -13
- package/build/src/utils/feeCache.js.map +1 -1
- package/build/src/utils/format.js +22 -1
- package/build/src/utils/format.js.map +1 -1
- package/build/src/utils/token.js +70 -13
- package/build/src/utils/token.js.map +1 -1
- package/build/utils/format.d.ts +39 -1
- package/build/utils/token.d.ts +21 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPaymentPayload.js","sources":["../../../src/payment/createPaymentPayload.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createPaymentPayload.js","sources":["../../../src/payment/createPaymentPayload.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// All values are atomic units. Reserve one unit beyond the quoted transfer
|
|
2
|
+
// and estimated network fee so native payments never intentionally drain gas.
|
|
3
|
+
function assertNativeSpendable(balance, amount, fee, symbol) {
|
|
4
|
+
if (amount <= 0n || fee < 0n || balance <= amount + fee) {
|
|
5
|
+
throw new Error(`Insufficient spendable ${symbol} for payment and network fee`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { assertNativeSpendable };
|
|
10
|
+
//# sourceMappingURL=nativeSpendable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeSpendable.js","sources":["../../../src/payment/nativeSpendable.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACM,SAAU,qBAAqB,CACnC,OAAe,EACf,MAAc,EACd,GAAW,EACX,MAAc,EAAA;AAEd,IAAA,IAAI,MAAM,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,OAAO,IAAI,MAAM,GAAG,GAAG,EAAE;AACvD,QAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAA,4BAAA,CAA8B,CAAC;IACjF;AACF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentFsm.js","sources":["../../../src/payment/paymentFsm.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"paymentFsm.js","sources":["../../../src/payment/paymentFsm.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { getFee,
|
|
1
|
+
import { getFee, FeeType } from '@rozoai/intent-common';
|
|
2
2
|
import { DEFAULT_ROZO_APP_ID } from '../constants/rozoConfig.js';
|
|
3
|
+
import { resolveStellarDirectIntent } from '../payment/createPaymentPayload.js';
|
|
3
4
|
|
|
4
5
|
/** Resolved fee quotes are time-sensitive (rate/gas drift), so expire after 60s. */
|
|
5
6
|
const TTL_MS = 60_000;
|
|
@@ -73,18 +74,7 @@ function resolveOrderAppId(order, payParamsAppId) {
|
|
|
73
74
|
*/
|
|
74
75
|
function buildFeeQuoteParams(params) {
|
|
75
76
|
const { order, payParams, destChainId, destTokenAddress, destAddress, sourceChainId, sourceTokenAddress, toUnits, } = params;
|
|
76
|
-
|
|
77
|
-
// (createPaymentPayload.ts). When both source and destination are Stellar
|
|
78
|
-
// with the same supported token (USDC or EURC), force intent to
|
|
79
|
-
// "stellar_direct" so getFee quotes the zero-fee direct-settlement path
|
|
80
|
-
// instead of the bridge/hub route.
|
|
81
|
-
const isStellarSameToken = destChainId === rozoStellar.chainId &&
|
|
82
|
-
sourceChainId === rozoStellar.chainId &&
|
|
83
|
-
destTokenAddress.toLowerCase() === sourceTokenAddress.toLowerCase();
|
|
84
|
-
const isSupportedStellarToken = destTokenAddress.toLowerCase() === rozoStellarUSDC.token.toLowerCase() ||
|
|
85
|
-
destTokenAddress.toLowerCase() === rozoStellarEURC.token.toLowerCase();
|
|
86
|
-
const isStellarDirect = isStellarSameToken && isSupportedStellarToken;
|
|
87
|
-
const intent = isStellarDirect ? "stellar_direct" : payParams?.intent;
|
|
77
|
+
const intent = resolveStellarDirectIntent(destChainId, destTokenAddress, sourceChainId, sourceTokenAddress, payParams?.intent);
|
|
88
78
|
// ExactOut toUnits is destination receive amount. Backend calculates source fee.
|
|
89
79
|
const feeType = payParams?.feeType ?? FeeType.ExactIn;
|
|
90
80
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeCache.js","sources":["../../../src/utils/feeCache.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feeCache.js","sources":["../../../src/utils/feeCache.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,27 @@ function tokenAmountToRoundedUsd(amount, token, round = "nearest") {
|
|
|
146
146
|
const amountUnits = formatUnits(BigInt(amount), token.decimals);
|
|
147
147
|
return roundUsd(Number(amountUnits) * token.usd, round);
|
|
148
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Convert a `RozoPayTokenAmount.amount` value to a full-precision, human-readable
|
|
151
|
+
* decimal string suitable for sending to the backend (checkout/create-payment
|
|
152
|
+
* payloads, on-chain transfer amounts, etc).
|
|
153
|
+
*
|
|
154
|
+
* `amount` is documented as `BigIntStr` (integer base units, e.g. lamports/wei)
|
|
155
|
+
* but some endpoints (e.g. Solana tRPC payment options) have been observed to
|
|
156
|
+
* return an already-human-readable decimal string instead (e.g. "0.012985327").
|
|
157
|
+
* `BigInt()` throws on decimal strings, so this detects the shape first:
|
|
158
|
+
* - Contains a "." → already a decimal token amount, pass through as-is.
|
|
159
|
+
* - Otherwise → integer base units, convert via `formatUnits`.
|
|
160
|
+
*/
|
|
161
|
+
function tokenBaseAmountToDecimalString(amount, decimals) {
|
|
162
|
+
if (typeof amount === "string" && amount.includes(".")) {
|
|
163
|
+
return amount;
|
|
164
|
+
}
|
|
165
|
+
return formatUnits(BigInt(amount), decimals);
|
|
166
|
+
}
|
|
167
|
+
function formatNativeInsufficientBalance(balance) {
|
|
168
|
+
return `Balance too low: ${tokenBaseAmountToDecimalString(balance.amount, balance.token.decimals)} ${balance.token.symbol} (~$${formatTokenAmount(balance.usd, USD_DECIMALS)})`;
|
|
169
|
+
}
|
|
149
170
|
|
|
150
|
-
export { USD_DECIMALS, fallbackDisplayDecimals, formatTokenAmount, formatUsd, roundDecimals, roundTokenAmount, roundTokenAmountUnits, roundUsd, stripTrailingZeros, tokenAmountToRoundedUsd, trimTokenAmount, usdToRoundedTokenAmount };
|
|
171
|
+
export { USD_DECIMALS, fallbackDisplayDecimals, formatNativeInsufficientBalance, formatTokenAmount, formatUsd, roundDecimals, roundTokenAmount, roundTokenAmountUnits, roundUsd, stripTrailingZeros, tokenAmountToRoundedUsd, tokenBaseAmountToDecimalString, trimTokenAmount, usdToRoundedTokenAmount };
|
|
151
172
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sources":["../../../src/utils/format.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../../../src/utils/format.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/build/src/utils/token.js
CHANGED
|
@@ -1,9 +1,55 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { arbitrum, base, bsc, ethereum, polygon, getChainNativeToken, supportedTokens, TokenSymbol, solana, rozoSolana, solanaSOL, stellar, rozoStellar, stellarXLM, isNativeToken, normalizeTokenAddress, getKnownToken } from '@rozoai/intent-common';
|
|
2
|
+
export { isNativeToken } from '@rozoai/intent-common';
|
|
3
|
+
import { zeroAddress } from 'viem';
|
|
2
4
|
|
|
5
|
+
// Keep source-only EVM natives outside supportedTokens: the proxy uses that
|
|
6
|
+
// map to generate stablecoin deposit rows before applying its native allowlist.
|
|
7
|
+
const evmNativeSourceTokens = [arbitrum, base, bsc, ethereum, polygon].map((chain) => getChainNativeToken(chain.chainId));
|
|
8
|
+
const sourcePaymentTokens = [
|
|
9
|
+
...Array.from(supportedTokens.values()).flat(),
|
|
10
|
+
...evmNativeSourceTokens,
|
|
11
|
+
];
|
|
12
|
+
/** Compare proxy source identities without changing destination or quoted addresses. */
|
|
13
|
+
function normalizeSourceTokenAddress(chainId, address) {
|
|
14
|
+
if ((chainId === solana.chainId || chainId === rozoSolana.chainId) &&
|
|
15
|
+
(address === "native" || address === "11111111111111111111111111111112" || address === solanaSOL.token)) {
|
|
16
|
+
return solanaSOL.token;
|
|
17
|
+
}
|
|
18
|
+
if ((chainId === stellar.chainId || chainId === rozoStellar.chainId) &&
|
|
19
|
+
(address === "XLM" || address === stellarXLM.token)) {
|
|
20
|
+
return stellarXLM.token;
|
|
21
|
+
}
|
|
22
|
+
if (evmNativeSourceTokens.some((token) => token.chainId === chainId) &&
|
|
23
|
+
address.startsWith("0x") &&
|
|
24
|
+
isNativeToken(address)) {
|
|
25
|
+
return zeroAddress;
|
|
26
|
+
}
|
|
27
|
+
return normalizeTokenAddress(chainId, address) ?? address;
|
|
28
|
+
}
|
|
29
|
+
function sourceTokenChainId(chainId) {
|
|
30
|
+
if (chainId === solana.chainId)
|
|
31
|
+
return rozoSolana.chainId;
|
|
32
|
+
if (chainId === stellar.chainId)
|
|
33
|
+
return rozoStellar.chainId;
|
|
34
|
+
return chainId;
|
|
35
|
+
}
|
|
36
|
+
/** A quoted source may use the proxy sentinel, unlike known payout tokens. */
|
|
37
|
+
function getSourcePaymentToken(chainId, address) {
|
|
38
|
+
return (getKnownToken(chainId, address) ??
|
|
39
|
+
sourcePaymentTokens.find((token) => sourceTokenChainId(token.chainId) === sourceTokenChainId(chainId) &&
|
|
40
|
+
normalizeSourceTokenAddress(token.chainId, token.token) ===
|
|
41
|
+
normalizeSourceTokenAddress(chainId, address)));
|
|
42
|
+
}
|
|
3
43
|
/**
|
|
4
44
|
* Converts preferredSymbol array to preferredTokens array.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
45
|
+
*
|
|
46
|
+
* Explicit preferredSymbol values are respected as given: stablecoins
|
|
47
|
+
* (USDC, USDT, USDT0, EURC) or native (ETH/BNB/POL/SOL/XLM). When neither
|
|
48
|
+
* preferredSymbol nor preferredTokens is provided, defaults to stablecoins
|
|
49
|
+
* plus native tokens so native options aren't silently filtered out of the
|
|
50
|
+
* default request. Matches tokens across supported chains (Base, Polygon,
|
|
51
|
+
* Ethereum, Solana, Stellar) via sourcePaymentTokens, which includes the
|
|
52
|
+
* source-only EVM natives kept outside supportedTokens.
|
|
7
53
|
*/
|
|
8
54
|
function convertPreferredSymbolsToTokens(symbols, existingPreferredTokens) {
|
|
9
55
|
// If preferredTokens is explicitly provided, it takes precedence
|
|
@@ -11,16 +57,29 @@ function convertPreferredSymbolsToTokens(symbols, existingPreferredTokens) {
|
|
|
11
57
|
if (existingPreferredTokens !== undefined) {
|
|
12
58
|
return existingPreferredTokens.filter((v) => !!v);
|
|
13
59
|
}
|
|
14
|
-
|
|
60
|
+
const nativeSymbols = [
|
|
61
|
+
TokenSymbol.ETH,
|
|
62
|
+
TokenSymbol.BNB,
|
|
63
|
+
TokenSymbol.POL,
|
|
64
|
+
TokenSymbol.SOL,
|
|
65
|
+
TokenSymbol.XLM,
|
|
66
|
+
];
|
|
67
|
+
// If no preferredSymbol provided, default to stablecoins plus native tokens
|
|
15
68
|
const symbolsToUse = symbols && symbols.length > 0
|
|
16
69
|
? symbols
|
|
17
|
-
: [TokenSymbol.USDC, TokenSymbol.USDT];
|
|
70
|
+
: [TokenSymbol.USDC, TokenSymbol.USDT, TokenSymbol.USDT0, ...nativeSymbols];
|
|
18
71
|
// Validate that only allowed symbols are used
|
|
19
|
-
const allowedSymbols = [
|
|
72
|
+
const allowedSymbols = [
|
|
73
|
+
TokenSymbol.USDC,
|
|
74
|
+
TokenSymbol.USDT,
|
|
75
|
+
TokenSymbol.USDT0,
|
|
76
|
+
TokenSymbol.EURC,
|
|
77
|
+
...nativeSymbols,
|
|
78
|
+
];
|
|
20
79
|
const validSymbols = symbolsToUse.filter((s) => allowedSymbols.includes(s));
|
|
21
80
|
const invalidSymbols = symbolsToUse.filter((s) => !allowedSymbols.includes(s));
|
|
22
81
|
if (invalidSymbols.length > 0) {
|
|
23
|
-
console.warn(`[RozoPay] Invalid preferredSymbol values: ${invalidSymbols.join(", ")}.
|
|
82
|
+
console.warn(`[RozoPay] Invalid preferredSymbol values: ${invalidSymbols.join(", ")}. Allowed: ${allowedSymbols.join(", ")}.`);
|
|
24
83
|
}
|
|
25
84
|
if (validSymbols.length === 0) {
|
|
26
85
|
return undefined;
|
|
@@ -29,15 +88,13 @@ function convertPreferredSymbolsToTokens(symbols, existingPreferredTokens) {
|
|
|
29
88
|
const tokens = [];
|
|
30
89
|
const symbolSet = new Set(validSymbols);
|
|
31
90
|
// Iterate through all supported tokens (organized by chain)
|
|
32
|
-
for (const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
tokens.push(token);
|
|
36
|
-
}
|
|
91
|
+
for (const token of sourcePaymentTokens) {
|
|
92
|
+
if (symbolSet.has(token.symbol)) {
|
|
93
|
+
tokens.push(token);
|
|
37
94
|
}
|
|
38
95
|
}
|
|
39
96
|
return tokens.length > 0 ? tokens : undefined;
|
|
40
97
|
}
|
|
41
98
|
|
|
42
|
-
export { convertPreferredSymbolsToTokens };
|
|
99
|
+
export { convertPreferredSymbolsToTokens, getSourcePaymentToken, normalizeSourceTokenAddress, sourcePaymentTokens, sourceTokenChainId };
|
|
43
100
|
//# sourceMappingURL=token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sources":["../../../src/utils/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA
|
|
1
|
+
{"version":3,"file":"token.js","sources":["../../../src/utils/token.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/build/utils/format.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BigIntStr, RozoPayToken } from "@rozoai/intent-common";
|
|
1
|
+
import { BigIntStr, RozoPayToken, type Token, type WalletPaymentOption } from "@rozoai/intent-common";
|
|
2
2
|
export declare const USD_DECIMALS = 2;
|
|
3
3
|
/**
|
|
4
4
|
* Fallback for `token.displayDecimals` when absent. Mirrors
|
|
@@ -64,3 +64,41 @@ export declare function usdToRoundedTokenAmount(usd: number, token: RozoPayToken
|
|
|
64
64
|
* @returns The formatted USD amount
|
|
65
65
|
*/
|
|
66
66
|
export declare function tokenAmountToRoundedUsd(amount: bigint | BigIntStr, token: RozoPayToken, round?: "up" | "down" | "nearest"): string;
|
|
67
|
+
/**
|
|
68
|
+
* Build a Stellar SEP-0007 `pay` URI that opens a Stellar wallet with the
|
|
69
|
+
* destination, amount, asset, and optional memo pre-filled.
|
|
70
|
+
*
|
|
71
|
+
* Native XLM uses asset_code=XLM with no asset_issuer. Custom assets use the
|
|
72
|
+
* token address (issuer) and token symbol parsed from the Rozo token object.
|
|
73
|
+
*/
|
|
74
|
+
export declare function generateStellarDeepLink({ amountUnits, recipientAddress, token, memo, }: {
|
|
75
|
+
amountUnits: string;
|
|
76
|
+
recipientAddress: string;
|
|
77
|
+
token: Token;
|
|
78
|
+
memo?: string | null;
|
|
79
|
+
}): string;
|
|
80
|
+
/**
|
|
81
|
+
* Convert a `RozoPayTokenAmount.amount` value to a full-precision, human-readable
|
|
82
|
+
* decimal string suitable for sending to the backend (checkout/create-payment
|
|
83
|
+
* payloads, on-chain transfer amounts, etc).
|
|
84
|
+
*
|
|
85
|
+
* `amount` is documented as `BigIntStr` (integer base units, e.g. lamports/wei)
|
|
86
|
+
* but some endpoints (e.g. Solana tRPC payment options) have been observed to
|
|
87
|
+
* return an already-human-readable decimal string instead (e.g. "0.012985327").
|
|
88
|
+
* `BigInt()` throws on decimal strings, so this detects the shape first:
|
|
89
|
+
* - Contains a "." → already a decimal token amount, pass through as-is.
|
|
90
|
+
* - Otherwise → integer base units, convert via `formatUnits`.
|
|
91
|
+
*/
|
|
92
|
+
export declare function tokenBaseAmountToDecimalString(amount: bigint | string, decimals: number): string;
|
|
93
|
+
export declare function formatNativeInsufficientBalance(balance: WalletPaymentOption["balance"]): string;
|
|
94
|
+
/**
|
|
95
|
+
* Inverse of `tokenBaseAmountToDecimalString`: convert a
|
|
96
|
+
* `RozoPayTokenAmount.amount` value to an integer base-units bigint, suitable
|
|
97
|
+
* for on-chain transfer instructions (e.g. lamports for SOL, raw SPL/ERC20
|
|
98
|
+
* transfer amounts).
|
|
99
|
+
*
|
|
100
|
+
* Same shape ambiguity as above — detects a decimal string (already
|
|
101
|
+
* human-readable) and converts it up to base units via `parseUnits`;
|
|
102
|
+
* otherwise assumes the string is already an integer base-units amount.
|
|
103
|
+
*/
|
|
104
|
+
export declare function tokenAmountToBaseUnits(amount: bigint | BigIntStr, decimals: number): bigint;
|
package/build/utils/token.d.ts
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
import { Token, TokenSymbol } from "@rozoai/intent-common";
|
|
1
|
+
import { isNativeToken, Token, TokenSymbol } from "@rozoai/intent-common";
|
|
2
|
+
export { isNativeToken };
|
|
3
|
+
export declare const sourcePaymentTokens: Token[];
|
|
4
|
+
/** Compare proxy source identities without changing destination or quoted addresses. */
|
|
5
|
+
export declare function normalizeSourceTokenAddress(chainId: number, address: string): string;
|
|
6
|
+
export declare function sourceTokenChainId(chainId: number): number;
|
|
7
|
+
/** A quoted source may use the proxy sentinel, unlike known payout tokens. */
|
|
8
|
+
export declare function getSourcePaymentToken(chainId: number, address: string): Token | undefined;
|
|
2
9
|
/**
|
|
3
10
|
* Converts preferredSymbol array to preferredTokens array.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
11
|
+
*
|
|
12
|
+
* Explicit preferredSymbol values are respected as given: stablecoins
|
|
13
|
+
* (USDC, USDT, USDT0, EURC) or native (ETH/BNB/POL/SOL/XLM). When neither
|
|
14
|
+
* preferredSymbol nor preferredTokens is provided, defaults to stablecoins
|
|
15
|
+
* plus native tokens so native options aren't silently filtered out of the
|
|
16
|
+
* default request. Matches tokens across supported chains (Base, Polygon,
|
|
17
|
+
* Ethereum, Solana, Stellar) via sourcePaymentTokens, which includes the
|
|
18
|
+
* source-only EVM natives kept outside supportedTokens.
|
|
6
19
|
*/
|
|
7
20
|
export declare function convertPreferredSymbolsToTokens(symbols: TokenSymbol[] | undefined, existingPreferredTokens: Token[] | undefined): Token[] | undefined;
|
|
21
|
+
/** Resolve the canonical Stellar asset, never trust a wallet option's issuer or symbol. */
|
|
22
|
+
export declare function getStellarPaymentAsset(tokenAddress: string): {
|
|
23
|
+
code: string;
|
|
24
|
+
issuer: string;
|
|
25
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rozoai/intent-pay",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.59-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.",
|
|
6
6
|
"keywords": [
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@reown/appkit": "^1.7.0",
|
|
50
50
|
"@rollup/plugin-image": "^3.0.3",
|
|
51
51
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
52
|
-
"@rozoai/intent-common": "0.1.
|
|
52
|
+
"@rozoai/intent-common": "0.1.42",
|
|
53
53
|
"@solana/spl-memo": "^0.2.5",
|
|
54
54
|
"@solana/spl-token": "^0.4.14",
|
|
55
55
|
"@solana/wallet-adapter-base": "^0.9.27",
|