Skip to content

Commit 88fca8f

Browse files
fix: preferredTokens props
1 parent ae3c88c commit 88fca8f

File tree

19 files changed

+276
-1237
lines changed

19 files changed

+276
-1237
lines changed

examples/nextjs-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
"@farcaster/frame-sdk": "^0.0.26",
1414
"@headlessui/react": "^2.2.0",
1515
"@rainbow-me/rainbowkit": "^2.2.8",
16-
"@rozoai/intent-common": "0.1.7-beta.1",
17-
"@rozoai/intent-pay": "0.1.7-beta.1",
16+
"@rozoai/intent-common": "workspace:*",
17+
"@rozoai/intent-pay": "workspace:*",
1818
"@tanstack/react-query": "^5.51.11",
1919
"@types/react-syntax-highlighter": "^15.5.13",
2020
"@wagmi/core": "^2.22.0",

examples/nextjs-app/src/app/basic/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ export default function DemoBasic() {
312312
}}
313313
feeType={FeeType.ExactOut}
314314
metadata={metadata}
315+
// preferredTokens={[baseEURC, baseUSDC, rozoStellarEURC]}
315316
resetOnSuccess
316317
showProcessingPayout
317318
>

packages/connectkit/bundle-analysis.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

packages/connectkit/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"@albedo-link/intent": "^0.13.0",
4848
"@reown/appkit": "^1.7.0",
4949
"@rollup/plugin-typescript": "^12.1.2",
50-
"@rozoai/intent-common": "0.1.7-beta.1",
50+
"@rozoai/intent-common": "workspace:*",
5151
"@solana/spl-token": "^0.4.14",
5252
"@solana/wallet-adapter-base": "^0.9.27",
5353
"@solana/wallet-adapter-react": "^0.15.39",

packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,7 @@ const OptionsContainer = styled.div`
2020

2121
export default function SelectAnotherMethodButton() {
2222
const { paymentState, setRoute } = usePayContext();
23-
const {
24-
externalPaymentOptions,
25-
showSolanaPaymentMethod,
26-
showStellarPaymentMethod,
27-
tokenMode,
28-
payParams,
29-
} = paymentState;
23+
const { externalPaymentOptions, tokenMode, payParams } = paymentState;
3024
const { connector } = useAccount();
3125
const { order } = useRozoPay();
3226
const paymentOptions = order?.metadata.payer?.paymentOptions;

packages/connectkit/src/components/DaimoPayButton/index.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {
1414
RozoPayHydratedOrderWithOrg,
1515
rozoSolana,
1616
rozoStellar,
17-
TokenSymbol,
1817
writeRozoPayOrderID,
1918
} from "@rozoai/intent-common";
2019
import { AnimatePresence, Variants } from "framer-motion";
@@ -91,7 +90,6 @@ function RozoPayButtonCustom(props: RozoPayButtonCustomProps): JSX.Element {
9190
paymentOptions,
9291
preferredChains,
9392
preferredTokens,
94-
preferredSymbol,
9593
feeType,
9694
externalId,
9795
metadata,
@@ -108,10 +106,6 @@ function RozoPayButtonCustom(props: RozoPayButtonCustomProps): JSX.Element {
108106
paymentOptions,
109107
preferredChains,
110108
preferredTokens,
111-
preferredSymbol: preferredSymbol ?? [
112-
TokenSymbol.USDC,
113-
TokenSymbol.USDT,
114-
], // Default to USDC and USDT
115109
evmChains: undefined,
116110
externalId,
117111
metadata,

packages/connectkit/src/components/DaimoPayButton/types.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import {
55
PaymentCompletedEvent,
66
PaymentPayoutCompletedEvent,
77
PaymentStartedEvent,
8+
Token,
89
} from "@rozoai/intent-common";
910
import { ReactElement } from "react";
1011
import { Address } from "viem";
11-
import { PreferredTokenSymbol } from "../../payment/paymentFsm";
1212
import { CustomTheme, Mode, Theme } from "../../types";
1313

1414
/** Chain-specific props for EVM chains (Base, Ethereum, Polygon) */
@@ -92,12 +92,7 @@ type CommonPaymentProps = {
9292
/**
9393
* Preferred tokens. These appear first in the token list.
9494
*/
95-
preferredTokens?: { chain: number; address: Address | string }[];
96-
/**
97-
* Preferred token symbols to filter. Only tokens with these symbols will be shown.
98-
* Default: [TokenSymbol.USDC, TokenSymbol.USDT]
99-
*/
100-
preferredSymbol?: PreferredTokenSymbol[];
95+
preferredTokens?: Token[];
10196
/**
10297
* Only allow payments on these EVM chains.
10398
*/

packages/connectkit/src/components/DaimoPayModal/index.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,10 +365,13 @@ export const RozoPayModal: React.FC<{
365365
setSelectedChainId(undefined);
366366
}
367367
} else if (
368-
context.route !== ROUTES.SELECT_TOKEN &&
369-
context.route !== ROUTES.SELECT_WALLET_CHAIN &&
370-
context.route !== ROUTES.CONNECT &&
371-
context.route !== ROUTES.SELECT_METHOD
368+
![
369+
ROUTES.SELECT_TOKEN,
370+
ROUTES.SELECT_WALLET_CHAIN,
371+
ROUTES.CONNECT,
372+
ROUTES.SELECT_METHOD,
373+
ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,
374+
].includes(context.route as ROUTES)
372375
) {
373376
// Clear selectedChainId when leaving SELECT_TOKEN, SELECT_WALLET_CHAIN, CONNECT, or SELECT_METHOD
374377
// but preserve it when navigating between these routes (including SELECT_METHOD)

packages/connectkit/src/components/Pages/SelectMethod/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export default function SelectMethod() {
141141
setRoute(ROUTES.SELECT_TOKEN, {
142142
event: "click-wallet",
143143
walletId: connector?.id,
144-
chainId: chain?.id,
144+
chainId: paymentState.selectedChainId ?? chain?.id,
145145
address: address,
146146
});
147147
},
@@ -316,6 +316,8 @@ export default function SelectMethod() {
316316
options.push(depositAddressOption);
317317
}
318318

319+
console.log("showStellarPaymentMethod", showStellarPaymentMethod);
320+
319321
if (showStellarPaymentMethod) {
320322
options.push({
321323
id: "stellar",

packages/connectkit/src/components/Pages/SelectToken/index.tsx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getChainById, TokenSymbol } from "@rozoai/intent-common";
1+
import { getChainName, Token } from "@rozoai/intent-common";
22
import { useWallet } from "@solana/wallet-adapter-react";
33
import { useMemo, useState } from "react";
44
import { injected, useAccount } from "wagmi";
@@ -130,7 +130,7 @@ export default function SelectToken() {
130130
<NoTokensAvailable
131131
onRefresh={refreshOptions}
132132
chainId={paymentState.selectedChainId}
133-
preferredSymbol={paymentState.payParams?.preferredSymbol}
133+
preferredTokens={paymentState.payParams?.preferredTokens}
134134
/>
135135
)}
136136
{!isLoading && !isConnected && effectiveTokenMode === "all" && (
@@ -158,12 +158,12 @@ function NoConnectedWallet() {
158158

159159
function NoTokensAvailable({
160160
onRefresh,
161-
preferredSymbol,
161+
preferredTokens,
162162
chainId,
163163
}: {
164164
onRefresh: () => Promise<void>;
165165
chainId: number | undefined;
166-
preferredSymbol?: string[];
166+
preferredTokens?: Token[];
167167
}) {
168168
const [isRefreshing, setIsRefreshing] = useState(false);
169169

@@ -178,10 +178,13 @@ function NoTokensAvailable({
178178
}
179179
};
180180

181-
// Get supported token symbols from payParams, default to USDC and USDT
181+
// Get supported token symbols from preferredTokens if available
182182
const supportedSymbols = useMemo(() => {
183-
return preferredSymbol ?? [TokenSymbol.USDC, TokenSymbol.USDT];
184-
}, [preferredSymbol]);
183+
if (preferredTokens && preferredTokens.length > 0) {
184+
return preferredTokens.map((pt) => pt.symbol);
185+
}
186+
return [];
187+
}, [preferredTokens]);
185188

186189
// Format token symbols for display
187190
const formattedTokens = useMemo(() => {
@@ -210,8 +213,11 @@ function NoTokensAvailable({
210213
);
211214
}, [supportedSymbols]);
212215

213-
const selectedChain = useMemo(() => {
214-
return chainId ? getChainById(chainId) : undefined;
216+
const formattedChainName = useMemo(() => {
217+
if (chainId) {
218+
return getChainName(chainId);
219+
}
220+
return null;
215221
}, [chainId]);
216222

217223
return (
@@ -234,7 +240,7 @@ function NoTokensAvailable({
234240
}}
235241
>
236242
We can&apos;t find any supported tokens ({formattedTokens}) in your
237-
account.
243+
account {formattedChainName ? `on ${formattedChainName}` : ""}.
238244
</ModalBody>
239245
<Button
240246
variant="secondary"

0 commit comments

Comments
 (0)