@rhinestone/deposit-modal 0.4.3 → 0.5.1

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/dist/styles.css CHANGED
@@ -2336,6 +2336,10 @@
2336
2336
  background: var(--rs-background);
2337
2337
  }
2338
2338
 
2339
+ .rs-review-detail-icon--square {
2340
+ border-radius: 2px;
2341
+ }
2342
+
2339
2343
  .rs-review-detail-icon img {
2340
2344
  width: 100%;
2341
2345
  height: 100%;
@@ -5014,43 +5018,60 @@
5014
5018
  flex-direction: column;
5015
5019
  align-items: center;
5016
5020
  justify-content: center;
5017
- gap: 24px;
5018
- padding: 32px 0 24px;
5021
+ flex: 1;
5022
+ min-height: 326px;
5023
+ gap: 34px;
5024
+ padding: 0;
5019
5025
  text-align: center;
5020
5026
  }
5021
5027
 
5022
5028
  .rs-finalising-spinner {
5023
- display: inline-flex;
5024
- color: var(--color-blue10);
5029
+ width: 80px;
5030
+ height: 80px;
5031
+ animation: rs-spin 1s linear infinite;
5032
+ overflow: visible;
5025
5033
  }
5026
5034
 
5027
- .rs-finalising-spinner .rs-spinner {
5028
- width: 56px;
5029
- height: 56px;
5035
+ .rs-finalising-spinner-track,
5036
+ .rs-finalising-spinner-head {
5037
+ fill: none;
5038
+ stroke-width: 4;
5039
+ vector-effect: non-scaling-stroke;
5040
+ }
5041
+
5042
+ .rs-finalising-spinner-track {
5043
+ stroke: #bae6fd;
5044
+ }
5045
+
5046
+ .rs-finalising-spinner-head {
5047
+ stroke: #0ea5e9;
5048
+ stroke-linecap: round;
5049
+ stroke-dasharray: 54 214;
5050
+ stroke-dashoffset: -8;
5030
5051
  }
5031
5052
 
5032
5053
  .rs-finalising-text {
5033
5054
  display: flex;
5034
5055
  flex-direction: column;
5035
5056
  align-items: center;
5036
- gap: 6px;
5057
+ gap: 8px;
5037
5058
  }
5038
5059
 
5039
5060
  .rs-finalising-title {
5040
- font-size: 16px;
5061
+ font-size: 20px;
5041
5062
  font-weight: 700;
5042
- line-height: 1.2;
5063
+ line-height: 1.25;
5043
5064
  color: var(--rs-foreground);
5044
5065
  margin: 0;
5045
5066
  }
5046
5067
 
5047
5068
  .rs-finalising-subtitle {
5048
- font-size: 14px;
5069
+ font-size: 16px;
5049
5070
  font-weight: 500;
5050
- line-height: 1.4;
5071
+ line-height: 1.35;
5051
5072
  color: var(--rs-muted);
5052
5073
  margin: 0;
5053
- max-width: 280px;
5074
+ max-width: 410px;
5054
5075
  }
5055
5076
 
5056
5077
  .rs-fiat-onramp-loading,
@@ -5279,55 +5300,76 @@
5279
5300
  margin: 0;
5280
5301
  display: flex;
5281
5302
  flex-direction: column;
5282
- flex-grow: 1;
5303
+ gap: 8px;
5283
5304
  }
5284
5305
 
5285
5306
  .rs-swapped-tracker-step {
5286
5307
  position: relative;
5287
5308
  display: flex;
5288
- align-items: center;
5309
+ align-items: flex-start;
5289
5310
  justify-content: space-between;
5290
5311
  gap: 12px;
5291
- padding: 16px 0;
5312
+ min-height: 36px;
5313
+ padding: 0;
5314
+ }
5315
+
5316
+ .rs-swapped-tracker-step:last-child {
5317
+ min-height: 17px;
5292
5318
  }
5293
5319
 
5294
- /* Dashed vertical connector between adjacent step markers. */
5295
- .rs-swapped-tracker-step + .rs-swapped-tracker-step::before {
5320
+ /* Dashed vertical connector below each marker. */
5321
+ .rs-swapped-tracker-step:not(:last-child)::after {
5296
5322
  content: "";
5297
5323
  position: absolute;
5298
- top: -14px;
5299
- right: 11px;
5300
- width: 2px;
5301
- height: 28px;
5324
+ top: 20px;
5325
+ right: 7.5px;
5326
+ width: 1px;
5327
+ height: 16px;
5302
5328
  background: repeating-linear-gradient(
5303
5329
  to bottom,
5304
5330
  #5f5f5f 0,
5305
5331
  #5f5f5f 3px,
5306
5332
  transparent 3px,
5307
- transparent 7px
5333
+ transparent 6px
5308
5334
  );
5309
5335
  }
5310
5336
 
5311
5337
  .rs-swapped-tracker-step-label {
5312
5338
  font-size: 15px;
5313
- color: var(--rs-foreground);
5339
+ line-height: 17px;
5340
+ color: var(--rs-muted);
5314
5341
  flex-grow: 1;
5315
5342
  }
5316
5343
 
5317
5344
  .rs-swapped-tracker-step-marker {
5318
- width: 24px;
5319
- height: 24px;
5345
+ position: relative;
5346
+ width: 16px;
5347
+ height: 16px;
5320
5348
  border-radius: 50%;
5321
5349
  flex-shrink: 0;
5322
5350
  display: flex;
5323
5351
  align-items: center;
5324
5352
  justify-content: center;
5325
5353
  background: transparent;
5326
- border: 1.5px solid #d4d4d8;
5354
+ border: 0;
5327
5355
  color: transparent;
5328
5356
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
5329
5357
  }
5330
5358
 
5359
+ .rs-swapped-tracker-step-ring {
5360
+ width: 16px;
5361
+ height: 16px;
5362
+ overflow: visible;
5363
+ }
5364
+
5365
+ .rs-swapped-tracker-step-ring circle {
5366
+ fill: none;
5367
+ stroke: #5f5f5f;
5368
+ stroke-width: 1.5;
5369
+ stroke-linecap: round;
5370
+ stroke-dasharray: 3 3;
5371
+ }
5372
+
5331
5373
  .rs-swapped-tracker-step--active .rs-swapped-tracker-step-marker {
5332
5374
  border-color: transparent;
5333
5375
  border-width: 0;
@@ -5340,9 +5382,9 @@
5340
5382
 
5341
5383
  .rs-swapped-tracker-step--active .rs-swapped-tracker-step-marker .rs-spinner {
5342
5384
  display: block;
5343
- flex: 0 0 24px;
5344
- width: 24px;
5345
- height: 24px;
5385
+ flex: 0 0 16px;
5386
+ width: 16px;
5387
+ height: 16px;
5346
5388
  }
5347
5389
 
5348
5390
  /* Satisfying scale-pop when a step ticks complete — the color transition
@@ -5351,13 +5393,14 @@
5351
5393
  animation: rs-tracker-step-complete 320ms cubic-bezier(0.34, 1.56, 0.64, 1);
5352
5394
  background: #18181b;
5353
5395
  border-color: #18181b;
5396
+ border-style: solid;
5354
5397
  color: #fff;
5355
5398
  }
5356
5399
 
5357
5400
  .rs-swapped-tracker-step--complete .rs-swapped-tracker-step-marker svg {
5358
- width: 14px;
5359
- height: 14px;
5360
- stroke-width: 3;
5401
+ width: 10px;
5402
+ height: 10px;
5403
+ stroke-width: 4;
5361
5404
  }
5362
5405
 
5363
5406
  /* Failed step marker — terminal processor failure or cancellation. Red in
@@ -5365,13 +5408,14 @@
5365
5408
  .rs-swapped-tracker-step--failed .rs-swapped-tracker-step-marker {
5366
5409
  background: #fb2c36;
5367
5410
  border-color: #fb2c36;
5411
+ border-style: solid;
5368
5412
  color: #fff;
5369
5413
  }
5370
5414
 
5371
5415
  .rs-swapped-tracker-step--failed .rs-swapped-tracker-step-marker svg {
5372
- width: 14px;
5373
- height: 14px;
5374
- stroke-width: 3;
5416
+ width: 10px;
5417
+ height: 10px;
5418
+ stroke-width: 4;
5375
5419
  }
5376
5420
 
5377
5421
  /* Terminal message block shown below the steps on failure / cancellation. */
@@ -5410,10 +5454,6 @@
5410
5454
  background: var(--rs-border);
5411
5455
  }
5412
5456
 
5413
- .rs-modal[data-theme="dark"] .rs-swapped-tracker-step--pending .rs-swapped-tracker-step-marker {
5414
- border-color: #3f3f46;
5415
- }
5416
-
5417
5457
  .rs-modal[data-theme="dark"] .rs-swapped-tracker-step--active .rs-swapped-tracker-step-marker {
5418
5458
  border-color: transparent;
5419
5459
  color: #fafafa;
@@ -67,6 +67,20 @@ interface DappImportsConfig {
67
67
  polymarket?: boolean;
68
68
  }
69
69
 
70
+ /**
71
+ * Consumer-supplied RPC URL overrides, scoped to a single modal instance (see
72
+ * {@link RpcUrlsProvider}). Threaded into every client the modal builds — EVM
73
+ * public clients (`public-client.ts`), the wallet adapter's transports
74
+ * (`reown.tsx`), and the Solana connection (`solana.ts`).
75
+ *
76
+ * Keyed by the same `number | "solana"` chain identifier the rest of the modal
77
+ * uses (see `core/constants.ts`), so a single `rpcUrls` prop covers every
78
+ * chain — EVM mainnets, Polygon (137, also feeds Polymarket reads), HyperEVM
79
+ * (999), and Solana.
80
+ */
81
+ type ChainKey = number | "solana";
82
+ type RpcUrlMap = Partial<Record<ChainKey, string>>;
83
+
70
84
  type Caip2ChainId = `eip155:${number}` | `solana:${string}`;
71
85
  type ChainId = number | "solana" | Caip2ChainId;
72
86
  interface DepositModalTheme {
@@ -205,7 +219,14 @@ interface DepositModalProps {
205
219
  outputTokenRules?: OutputTokenRule[];
206
220
  rejectUnmapped?: boolean;
207
221
  backendUrl?: string;
208
- solanaRpcUrl?: string;
222
+ /**
223
+ * Per-chain RPC URL overrides, keyed by EVM chain id plus the literal
224
+ * `"solana"` key. Applied everywhere the modal reads chain state — EVM
225
+ * public clients, the connected wallet's transports (avoiding the
226
+ * rate-limited public defaults), Polygon/Polymarket reads, HyperEVM (999),
227
+ * and the Solana connection. Chains left unset use their default RPC.
228
+ */
229
+ rpcUrls?: RpcUrlMap;
209
230
  rhinestoneApiKey?: string;
210
231
  signerAddress?: Address;
211
232
  sessionChainIds?: number[];
@@ -272,6 +293,12 @@ interface WithdrawModalProps {
272
293
  closeOnOverlayClick?: boolean;
273
294
  allowedRoutes?: RouteConfig;
274
295
  backendUrl?: string;
296
+ /**
297
+ * Per-chain RPC URL overrides, keyed by EVM chain id plus the literal
298
+ * `"solana"` key. Applied to every chain read (EVM public clients and the
299
+ * connected wallet's transports). Chains left unset use their default RPC.
300
+ */
301
+ rpcUrls?: RpcUrlMap;
275
302
  rhinestoneApiKey?: string;
276
303
  signerAddress?: Address;
277
304
  sessionChainIds?: number[];
@@ -445,4 +472,4 @@ type WithdrawAnalyticsEvent = {
445
472
  };
446
473
  type ModalAnalyticsEvent = DepositAnalyticsEvent | WithdrawAnalyticsEvent;
447
474
 
448
- export type { AssetOption as A, ChainId as C, DappImportsConfig as D, ErrorEventData as E, ModalAnalyticsEvent as M, OrderBookSwapAction as O, PostBridgeAction as P, RouteConfig as R, SafeTransactionRequest as S, WithdrawAnalyticsEvent as W, ConnectedEventData as a, DepositAnalyticsEvent as b, DepositCompleteEventData as c, DepositFailedEventData as d, DepositLifecycleEvent as e, DepositModalProps as f, DepositModalTheme as g, DepositModalUIConfig as h, DepositSubmittedEventData as i, OutputTokenRule as j, WithdrawCompleteEventData as k, WithdrawFailedEventData as l, WithdrawLifecycleEvent as m, WithdrawModalProps as n, WithdrawSubmittedEventData as o };
475
+ export type { AssetOption as A, ChainId as C, DappImportsConfig as D, ErrorEventData as E, ModalAnalyticsEvent as M, OrderBookSwapAction as O, PostBridgeAction as P, RouteConfig as R, SafeTransactionRequest as S, WithdrawAnalyticsEvent as W, ConnectedEventData as a, DepositAnalyticsEvent as b, DepositCompleteEventData as c, DepositFailedEventData as d, DepositLifecycleEvent as e, DepositModalProps as f, DepositModalTheme as g, DepositModalUIConfig as h, DepositSubmittedEventData as i, OutputTokenRule as j, RpcUrlMap as k, WithdrawCompleteEventData as l, WithdrawFailedEventData as m, WithdrawLifecycleEvent as n, WithdrawModalProps as o, WithdrawSubmittedEventData as p };
@@ -67,6 +67,20 @@ interface DappImportsConfig {
67
67
  polymarket?: boolean;
68
68
  }
69
69
 
70
+ /**
71
+ * Consumer-supplied RPC URL overrides, scoped to a single modal instance (see
72
+ * {@link RpcUrlsProvider}). Threaded into every client the modal builds — EVM
73
+ * public clients (`public-client.ts`), the wallet adapter's transports
74
+ * (`reown.tsx`), and the Solana connection (`solana.ts`).
75
+ *
76
+ * Keyed by the same `number | "solana"` chain identifier the rest of the modal
77
+ * uses (see `core/constants.ts`), so a single `rpcUrls` prop covers every
78
+ * chain — EVM mainnets, Polygon (137, also feeds Polymarket reads), HyperEVM
79
+ * (999), and Solana.
80
+ */
81
+ type ChainKey = number | "solana";
82
+ type RpcUrlMap = Partial<Record<ChainKey, string>>;
83
+
70
84
  type Caip2ChainId = `eip155:${number}` | `solana:${string}`;
71
85
  type ChainId = number | "solana" | Caip2ChainId;
72
86
  interface DepositModalTheme {
@@ -205,7 +219,14 @@ interface DepositModalProps {
205
219
  outputTokenRules?: OutputTokenRule[];
206
220
  rejectUnmapped?: boolean;
207
221
  backendUrl?: string;
208
- solanaRpcUrl?: string;
222
+ /**
223
+ * Per-chain RPC URL overrides, keyed by EVM chain id plus the literal
224
+ * `"solana"` key. Applied everywhere the modal reads chain state — EVM
225
+ * public clients, the connected wallet's transports (avoiding the
226
+ * rate-limited public defaults), Polygon/Polymarket reads, HyperEVM (999),
227
+ * and the Solana connection. Chains left unset use their default RPC.
228
+ */
229
+ rpcUrls?: RpcUrlMap;
209
230
  rhinestoneApiKey?: string;
210
231
  signerAddress?: Address;
211
232
  sessionChainIds?: number[];
@@ -272,6 +293,12 @@ interface WithdrawModalProps {
272
293
  closeOnOverlayClick?: boolean;
273
294
  allowedRoutes?: RouteConfig;
274
295
  backendUrl?: string;
296
+ /**
297
+ * Per-chain RPC URL overrides, keyed by EVM chain id plus the literal
298
+ * `"solana"` key. Applied to every chain read (EVM public clients and the
299
+ * connected wallet's transports). Chains left unset use their default RPC.
300
+ */
301
+ rpcUrls?: RpcUrlMap;
275
302
  rhinestoneApiKey?: string;
276
303
  signerAddress?: Address;
277
304
  sessionChainIds?: number[];
@@ -445,4 +472,4 @@ type WithdrawAnalyticsEvent = {
445
472
  };
446
473
  type ModalAnalyticsEvent = DepositAnalyticsEvent | WithdrawAnalyticsEvent;
447
474
 
448
- export type { AssetOption as A, ChainId as C, DappImportsConfig as D, ErrorEventData as E, ModalAnalyticsEvent as M, OrderBookSwapAction as O, PostBridgeAction as P, RouteConfig as R, SafeTransactionRequest as S, WithdrawAnalyticsEvent as W, ConnectedEventData as a, DepositAnalyticsEvent as b, DepositCompleteEventData as c, DepositFailedEventData as d, DepositLifecycleEvent as e, DepositModalProps as f, DepositModalTheme as g, DepositModalUIConfig as h, DepositSubmittedEventData as i, OutputTokenRule as j, WithdrawCompleteEventData as k, WithdrawFailedEventData as l, WithdrawLifecycleEvent as m, WithdrawModalProps as n, WithdrawSubmittedEventData as o };
475
+ export type { AssetOption as A, ChainId as C, DappImportsConfig as D, ErrorEventData as E, ModalAnalyticsEvent as M, OrderBookSwapAction as O, PostBridgeAction as P, RouteConfig as R, SafeTransactionRequest as S, WithdrawAnalyticsEvent as W, ConnectedEventData as a, DepositAnalyticsEvent as b, DepositCompleteEventData as c, DepositFailedEventData as d, DepositLifecycleEvent as e, DepositModalProps as f, DepositModalTheme as g, DepositModalUIConfig as h, DepositSubmittedEventData as i, OutputTokenRule as j, RpcUrlMap as k, WithdrawCompleteEventData as l, WithdrawFailedEventData as m, WithdrawLifecycleEvent as n, WithdrawModalProps as o, WithdrawSubmittedEventData as p };
package/dist/withdraw.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3NZUMDSTcjs = require('./chunk-3NZUMDST.cjs');
4
- require('./chunk-EDUWRMQI.cjs');
3
+ var _chunkV4XVFT25cjs = require('./chunk-V4XVFT25.cjs');
4
+ require('./chunk-PDFLALUT.cjs');
5
5
  require('./chunk-UEKPBRBY.cjs');
6
6
  require('./chunk-ABVRVW3P.cjs');
7
7
 
8
8
 
9
- exports.WithdrawModal = _chunk3NZUMDSTcjs.WithdrawModal;
9
+ exports.WithdrawModal = _chunkV4XVFT25cjs.WithdrawModal;
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
- import { n as WithdrawModalProps } from './types-CUOqIIvZ.cjs';
3
- export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, S as SafeTransactionRequest, k as WithdrawCompleteEventData, l as WithdrawFailedEventData, o as WithdrawSubmittedEventData } from './types-CUOqIIvZ.cjs';
2
+ import { o as WithdrawModalProps } from './types-_m8w8BYq.cjs';
3
+ export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, k as RpcUrlMap, S as SafeTransactionRequest, l as WithdrawCompleteEventData, m as WithdrawFailedEventData, p as WithdrawSubmittedEventData } from './types-_m8w8BYq.cjs';
4
4
  import 'viem';
5
5
 
6
6
  declare function WithdrawModal(props: WithdrawModalProps): react.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
- import { n as WithdrawModalProps } from './types-CUOqIIvZ.js';
3
- export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, S as SafeTransactionRequest, k as WithdrawCompleteEventData, l as WithdrawFailedEventData, o as WithdrawSubmittedEventData } from './types-CUOqIIvZ.js';
2
+ import { o as WithdrawModalProps } from './types-_m8w8BYq.js';
3
+ export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, k as RpcUrlMap, S as SafeTransactionRequest, l as WithdrawCompleteEventData, m as WithdrawFailedEventData, p as WithdrawSubmittedEventData } from './types-_m8w8BYq.js';
4
4
  import 'viem';
5
5
 
6
6
  declare function WithdrawModal(props: WithdrawModalProps): react.JSX.Element;
package/dist/withdraw.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  WithdrawModal
3
- } from "./chunk-IDJBMNV2.mjs";
4
- import "./chunk-7EQQD7B4.mjs";
3
+ } from "./chunk-KYHPKMTK.mjs";
4
+ import "./chunk-4YLVKTSU.mjs";
5
5
  import "./chunk-F7P4MV72.mjs";
6
6
  import "./chunk-WJX3TJFK.mjs";
7
7
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/deposit-modal",
3
- "version": "0.4.3",
3
+ "version": "0.5.1",
4
4
  "description": "React modal component for Rhinestone cross-chain deposits",
5
5
  "author": "Rhinestone <dev@rhinestone.wtf>",
6
6
  "bugs": {
@@ -111,13 +111,13 @@
111
111
  },
112
112
  "devDependencies": {
113
113
  "@changesets/cli": "^2.28.1",
114
- "@reown/appkit": "1.8.20",
115
- "@reown/appkit-adapter-solana": "1.8.20",
116
- "@reown/appkit-adapter-wagmi": "1.8.20",
114
+ "@reown/appkit": "1.8.21",
115
+ "@reown/appkit-adapter-solana": "1.8.21",
116
+ "@reown/appkit-adapter-wagmi": "1.8.21",
117
117
  "@size-limit/preset-small-lib": "^12.0.0",
118
118
  "@solana/spl-token": "^0.4.14",
119
119
  "@solana/web3.js": "^1.98.4",
120
- "@tanstack/react-query": "^5.0.0",
120
+ "@tanstack/react-query": "^5.101.1",
121
121
  "@testing-library/jest-dom": "^6",
122
122
  "@testing-library/react": "^16",
123
123
  "@testing-library/user-event": "^14",
@@ -131,9 +131,9 @@
131
131
  "size-limit": "^12.0.0",
132
132
  "tsup": "^8.0.0",
133
133
  "typescript": "^5.5.0",
134
- "viem": "^2.47.12",
134
+ "viem": "^2.53.1",
135
135
  "vitest": "^4.0.10",
136
- "wagmi": "^3.4.2"
136
+ "wagmi": "^3.6.18"
137
137
  },
138
138
  "size-limit": [
139
139
  {
@@ -198,6 +198,7 @@
198
198
  "url": "git+https://github.com/rhinestonewtf/deposit-modal.git"
199
199
  },
200
200
  "overrides": {
201
- "@reown/appkit-common": "1.8.20"
201
+ "@reown/appkit-common": "1.8.21",
202
+ "viem": "$viem"
202
203
  }
203
204
  }