@xswap-link/sdk 0.1.0 → 0.1.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.
Files changed (41) hide show
  1. package/.github/workflows/main.yml +1 -0
  2. package/.github/workflows/publish.yml +1 -0
  3. package/CHANGELOG.md +15 -0
  4. package/dist/index.css +125 -29
  5. package/dist/index.d.mts +21 -18
  6. package/dist/index.d.ts +21 -18
  7. package/dist/index.js +1140 -32916
  8. package/dist/index.mjs +1112 -32913
  9. package/nodemon.json +5 -0
  10. package/package.json +17 -6
  11. package/src/components/TxConfigForm/BalanceComponent.tsx +51 -0
  12. package/src/components/TxConfigForm/ChainListElement.tsx +36 -0
  13. package/src/components/TxConfigForm/Description.tsx +15 -0
  14. package/src/components/TxConfigForm/ErrorField.tsx +17 -0
  15. package/src/components/TxConfigForm/FeesDetails.tsx +105 -0
  16. package/src/components/TxConfigForm/Form.tsx +130 -447
  17. package/src/components/TxConfigForm/History.tsx +28 -32
  18. package/src/components/TxConfigForm/Settings.tsx +137 -0
  19. package/src/components/TxConfigForm/Summary.tsx +57 -0
  20. package/src/components/TxConfigForm/SwapPanel.tsx +191 -0
  21. package/src/components/TxConfigForm/TokenPicker.tsx +8 -2
  22. package/src/components/TxConfigForm/TopBar.tsx +53 -0
  23. package/src/components/TxConfigForm/index.tsx +121 -0
  24. package/src/components/icons/ArrowDownIcon.tsx +16 -0
  25. package/src/components/icons/ChainlinkCCIPIcon.tsx +23 -0
  26. package/src/components/icons/ChevronDownIcon.tsx +2 -2
  27. package/src/components/icons/ChevronUpIcon.tsx +2 -2
  28. package/src/components/icons/CloseIcon.tsx +2 -2
  29. package/src/components/icons/CoinsIcon.tsx +8 -6
  30. package/src/components/icons/HistoryIcon.tsx +8 -5
  31. package/src/components/icons/InfoIcon.tsx +13 -0
  32. package/src/components/icons/SettingsIcon.tsx +16 -0
  33. package/src/components/icons/TimerIcon.tsx +15 -0
  34. package/src/components/icons/XSwapBadgeIcon.tsx +23 -0
  35. package/src/components/icons/index.ts +6 -0
  36. package/src/config/index.ts +1 -0
  37. package/src/config/wagmiConfig.ts +45 -0
  38. package/src/constants/index.ts +5 -2
  39. package/tailwind.config.js +7 -2
  40. package/src/components/TxConfigForm/index.jsx +0 -100
  41. package/src/components/global.d.ts +0 -6
@@ -18,4 +18,5 @@ jobs:
18
18
  cache: "pnpm"
19
19
 
20
20
  - run: pnpm install
21
+ - run: pnpm install react@18.2.0 react-dom@18.2.0 @types/react@18.2.0 @types/react-dom@18.2.0
21
22
  - run: pnpm run lint && pnpm run build
@@ -26,6 +26,7 @@ jobs:
26
26
  cache: "pnpm"
27
27
 
28
28
  - run: pnpm install
29
+ - run: pnpm install react@18.2.0 react-dom@18.2.0 @types/react@18.2.0 @types/react-dom@18.2.0
29
30
  - name: Create Release Pull Request or Publish
30
31
  id: changesets
31
32
  uses: changesets/action@v1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @xswap-link/xswap-sdk
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f2f2fa7: refactor: move settings to separate tab
8
+ - 6c34220: add error display field
9
+ - 1f9c975: refactor: split form into smaller components
10
+ - bc37d57: add express delivery indicator
11
+ - 03de728: request chain change on tx form submit
12
+ - af15c81: refactor: apply changes from figma design
13
+ - f9b5d80: add powered by xswap and ccip badge
14
+ - 4ecbb88: fix small balance display
15
+ - 6742608: fix: close chain list on click outside
16
+ - a06be7d: fix token amount clearing on token change and add Max balance button
17
+
3
18
  ## 0.1.0
4
19
 
5
20
  ### Minor Changes
package/dist/index.css CHANGED
@@ -343,8 +343,11 @@ video {
343
343
  .right-0 {
344
344
  right: 0px;
345
345
  }
346
- .right-3 {
347
- right: 0.75rem;
346
+ .right-4 {
347
+ right: 1rem;
348
+ }
349
+ .right-\[50\%\] {
350
+ right: 50%;
348
351
  }
349
352
  .top-0 {
350
353
  top: 0px;
@@ -352,11 +355,14 @@ video {
352
355
  .top-10 {
353
356
  top: 2.5rem;
354
357
  }
355
- .top-3 {
356
- top: 0.75rem;
358
+ .top-4 {
359
+ top: 1rem;
360
+ }
361
+ .top-7 {
362
+ top: 1.75rem;
357
363
  }
358
- .top-3\.5 {
359
- top: 0.875rem;
364
+ .top-\[46px\] {
365
+ top: 46px;
360
366
  }
361
367
  .z-10 {
362
368
  z-index: 10;
@@ -405,6 +411,9 @@ video {
405
411
  .-ml-1 {
406
412
  margin-left: -0.25rem;
407
413
  }
414
+ .mb-1 {
415
+ margin-bottom: 0.25rem;
416
+ }
408
417
  .mb-2 {
409
418
  margin-bottom: 0.5rem;
410
419
  }
@@ -459,6 +468,9 @@ video {
459
468
  .h-7 {
460
469
  height: 1.75rem;
461
470
  }
471
+ .h-8 {
472
+ height: 2rem;
473
+ }
462
474
  .h-9 {
463
475
  height: 2.25rem;
464
476
  }
@@ -486,8 +498,8 @@ video {
486
498
  .max-h-\[70\%\] {
487
499
  max-height: 70%;
488
500
  }
489
- .min-h-\[562px\] {
490
- min-height: 562px;
501
+ .min-h-\[26px\] {
502
+ min-height: 26px;
491
503
  }
492
504
  .w-1\/2 {
493
505
  width: 50%;
@@ -513,33 +525,42 @@ video {
513
525
  .w-4 {
514
526
  width: 1rem;
515
527
  }
516
- .w-4\/5 {
517
- width: 80%;
518
- }
519
528
  .w-5 {
520
529
  width: 1.25rem;
521
530
  }
522
531
  .w-6 {
523
532
  width: 1.5rem;
524
533
  }
534
+ .w-7 {
535
+ width: 1.75rem;
536
+ }
537
+ .w-8 {
538
+ width: 2rem;
539
+ }
525
540
  .w-9 {
526
541
  width: 2.25rem;
527
542
  }
528
- .w-96 {
529
- width: 24rem;
530
- }
531
543
  .w-\[100\%\+48px\] {
532
544
  width: 100%+48px;
533
545
  }
534
546
  .w-\[190px\] {
535
547
  width: 190px;
536
548
  }
549
+ .w-\[310px\] {
550
+ width: 310px;
551
+ }
552
+ .w-\[360px\] {
553
+ width: 360px;
554
+ }
537
555
  .w-\[452px\] {
538
556
  width: 452px;
539
557
  }
540
558
  .w-full {
541
559
  width: 100%;
542
560
  }
561
+ .min-w-\[26px\] {
562
+ min-width: 26px;
563
+ }
543
564
  .max-w-full {
544
565
  max-width: 100%;
545
566
  }
@@ -552,6 +573,10 @@ video {
552
573
  .grow {
553
574
  flex-grow: 1;
554
575
  }
576
+ .translate-x-1\/2 {
577
+ --tw-translate-x: 50%;
578
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
579
+ }
555
580
  .translate-x-\[12px\] {
556
581
  --tw-translate-x: 12px;
557
582
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -560,6 +585,10 @@ video {
560
585
  --tw-translate-y: -4px;
561
586
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
562
587
  }
588
+ .translate-y-\[-60\%\] {
589
+ --tw-translate-y: -60%;
590
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
591
+ }
563
592
  @keyframes pulse {
564
593
  50% {
565
594
  opacity: .5;
@@ -603,9 +632,6 @@ video {
603
632
  .justify-between {
604
633
  justify-content: space-between;
605
634
  }
606
- .justify-around {
607
- justify-content: space-around;
608
- }
609
635
  .gap-1 {
610
636
  gap: 0.25rem;
611
637
  }
@@ -684,13 +710,22 @@ video {
684
710
  .border-\[rgba\(255\,255\,255\,0\.2\)\] {
685
711
  border-color: rgba(255, 255, 255, 0.2);
686
712
  }
713
+ .border-\[rgba\(54\,129\,198\,1\)\] {
714
+ border-color: rgba(54, 129, 198, 1);
715
+ }
687
716
  .border-\[rgba\(82\,82\,82\,1\)\] {
688
717
  border-color: rgba(82, 82, 82, 1);
689
718
  }
719
+ .border-transparent {
720
+ border-color: transparent;
721
+ }
690
722
  .border-x_alert {
691
723
  --tw-border-opacity: 1;
692
724
  border-color: rgb(255 183 77 / var(--tw-border-opacity));
693
725
  }
726
+ .border-x_error_border {
727
+ border-color: rgba(255, 111, 0, 1);
728
+ }
694
729
  .bg-\[\#272e40\] {
695
730
  --tw-bg-opacity: 1;
696
731
  background-color: rgb(39 46 64 / var(--tw-bg-opacity));
@@ -739,6 +774,12 @@ video {
739
774
  --tw-bg-opacity: 1;
740
775
  background-color: rgb(51 150 255 / var(--tw-bg-opacity));
741
776
  }
777
+ .bg-x_error_background {
778
+ background-color: rgba(255, 202, 40, 0.1);
779
+ }
780
+ .bg-gradient-to-l {
781
+ background-image: linear-gradient(to left, var(--tw-gradient-stops));
782
+ }
742
783
  .bg-gradient-to-r {
743
784
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
744
785
  }
@@ -747,9 +788,28 @@ video {
747
788
  --tw-gradient-to: rgb(54 129 198 / 0) var(--tw-gradient-to-position);
748
789
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
749
790
  }
791
+ .from-\[rgba\(54\,129\,198\,1\)\] {
792
+ --tw-gradient-from: rgba(54,129,198,1) var(--tw-gradient-from-position);
793
+ --tw-gradient-to: rgba(54, 129, 198, 0) var(--tw-gradient-to-position);
794
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
795
+ }
796
+ .from-x_blue_light {
797
+ --tw-gradient-from: rgba(54,129,198,1) var(--tw-gradient-from-position);
798
+ --tw-gradient-to: rgba(54, 129, 198, 0) var(--tw-gradient-to-position);
799
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
800
+ }
750
801
  .to-\[\#2b4a9d\] {
751
802
  --tw-gradient-to: #2b4a9d var(--tw-gradient-to-position);
752
803
  }
804
+ .to-\[rgba\(43\,74\,157\,1\)\] {
805
+ --tw-gradient-to: rgba(43,74,157,1) var(--tw-gradient-to-position);
806
+ }
807
+ .to-x_blue_dark {
808
+ --tw-gradient-to: rgba(43,74,157,1) var(--tw-gradient-to-position);
809
+ }
810
+ .bg-clip-text {
811
+ background-clip: text;
812
+ }
753
813
  .p-0 {
754
814
  padding: 0px;
755
815
  }
@@ -771,6 +831,9 @@ video {
771
831
  .p-6 {
772
832
  padding: 1.5rem;
773
833
  }
834
+ .p-\[5px\] {
835
+ padding: 5px;
836
+ }
774
837
  .px-0 {
775
838
  padding-left: 0px;
776
839
  padding-right: 0px;
@@ -787,6 +850,10 @@ video {
787
850
  padding-left: 0.75rem;
788
851
  padding-right: 0.75rem;
789
852
  }
853
+ .px-4 {
854
+ padding-left: 1rem;
855
+ padding-right: 1rem;
856
+ }
790
857
  .px-\[24px\] {
791
858
  padding-left: 24px;
792
859
  padding-right: 24px;
@@ -811,9 +878,24 @@ video {
811
878
  padding-top: 1rem;
812
879
  padding-bottom: 1rem;
813
880
  }
881
+ .pl-4 {
882
+ padding-left: 1rem;
883
+ }
884
+ .pr-8 {
885
+ padding-right: 2rem;
886
+ }
887
+ .pt-2 {
888
+ padding-top: 0.5rem;
889
+ }
890
+ .text-left {
891
+ text-align: left;
892
+ }
814
893
  .text-center {
815
894
  text-align: center;
816
895
  }
896
+ .text-right {
897
+ text-align: right;
898
+ }
817
899
  .align-middle {
818
900
  vertical-align: middle;
819
901
  }
@@ -834,30 +916,39 @@ video {
834
916
  font-size: 1rem;
835
917
  line-height: 1.5rem;
836
918
  }
837
- .text-lg {
838
- font-size: 1.125rem;
839
- line-height: 1.75rem;
840
- }
841
919
  .text-sm {
842
920
  font-size: 0.875rem;
843
921
  line-height: 1.25rem;
844
922
  }
923
+ .text-xl {
924
+ font-size: 1.25rem;
925
+ line-height: 1.75rem;
926
+ }
845
927
  .text-xs {
846
928
  font-size: 0.75rem;
847
929
  line-height: 1rem;
848
930
  }
931
+ .font-light {
932
+ font-weight: 300;
933
+ }
849
934
  .font-medium {
850
935
  font-weight: 500;
851
936
  }
852
937
  .font-normal {
853
938
  font-weight: 400;
854
939
  }
940
+ .leading-\[10px\] {
941
+ line-height: 10px;
942
+ }
855
943
  .leading-\[16px\] {
856
944
  line-height: 16px;
857
945
  }
858
946
  .leading-\[41px\] {
859
947
  line-height: 41px;
860
948
  }
949
+ .leading-none {
950
+ line-height: 1;
951
+ }
861
952
  .text-\[\#888\] {
862
953
  --tw-text-opacity: 1;
863
954
  color: rgb(136 136 136 / var(--tw-text-opacity));
@@ -866,6 +957,10 @@ video {
866
957
  --tw-text-opacity: 1;
867
958
  color: rgb(224 231 250 / var(--tw-text-opacity));
868
959
  }
960
+ .text-\[\#ffa726\] {
961
+ --tw-text-opacity: 1;
962
+ color: rgb(255 167 38 / var(--tw-text-opacity));
963
+ }
869
964
  .text-\[rgb\(100\,200\,100\)\] {
870
965
  --tw-text-opacity: 1;
871
966
  color: rgb(100 200 100 / var(--tw-text-opacity));
@@ -888,6 +983,9 @@ video {
888
983
  .text-\[rgba\(255\,255\,255\,0\.6\)\] {
889
984
  color: rgba(255, 255, 255, 0.6);
890
985
  }
986
+ .text-transparent {
987
+ color: transparent;
988
+ }
891
989
  .text-white {
892
990
  --tw-text-opacity: 1;
893
991
  color: rgb(255 255 255 / var(--tw-text-opacity));
@@ -896,6 +994,10 @@ video {
896
994
  --tw-text-opacity: 1;
897
995
  color: rgb(255 226 183 / var(--tw-text-opacity));
898
996
  }
997
+ .text-x_green {
998
+ --tw-text-opacity: 1;
999
+ color: rgb(102 187 106 / var(--tw-text-opacity));
1000
+ }
899
1001
  .no-underline {
900
1002
  text-decoration-line: none;
901
1003
  }
@@ -1000,13 +1102,7 @@ video {
1000
1102
  outline-offset: 2px;
1001
1103
  }
1002
1104
  @media (min-width: 640px) {
1003
- .sm\:w-\[482px\] {
1004
- width: 482px;
1005
- }
1006
- .sm\:flex-row {
1007
- flex-direction: row;
1008
- }
1009
- .sm\:justify-start {
1010
- justify-content: flex-start;
1105
+ .sm\:w-\[600px\] {
1106
+ width: 600px;
1011
1107
  }
1012
1108
  }
package/dist/index.d.mts CHANGED
@@ -1,24 +1,9 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import { BigNumber, ethers, BigNumberish } from 'ethers';
3
2
  import { TransactionRequest } from '@ethersproject/providers';
4
3
 
5
4
  declare const Alert: ({ desc }: {
6
5
  desc: string;
7
- }) => react_jsx_runtime.JSX.Element;
8
-
9
- declare function openTxConfigForm({ dstChainId, dstTokenAddr, customContractCalls, desc, supportedChains, }: {
10
- dstChainId: any;
11
- dstTokenAddr: any;
12
- customContractCalls: any;
13
- desc: any;
14
- supportedChains: any;
15
- }): Promise<any>;
16
-
17
- declare const Skeleton: ({ w, h }: Style) => react_jsx_runtime.JSX.Element;
18
- type Style = {
19
- w: string;
20
- h: string;
21
- };
6
+ }) => JSX.Element;
22
7
 
23
8
  type Addresses = {
24
9
  [chainId: string]: Contracts;
@@ -256,12 +241,30 @@ type Transaction = {
256
241
  status: TransactionStatus;
257
242
  };
258
243
 
244
+ type TxConfigFormProps = {
245
+ dstChainId: string;
246
+ dstTokenAddr: string;
247
+ customContractCalls: ContractCall[];
248
+ desc?: string;
249
+ supportedChains: Chain[];
250
+ };
251
+ declare const openTxConfigForm: ({ dstChainId, dstTokenAddr, customContractCalls, desc, supportedChains, }: TxConfigFormProps) => Promise<Route>;
252
+
253
+ declare const Skeleton: ({ w, h }: Style) => JSX.Element;
254
+ type Style = {
255
+ w: string;
256
+ h: string;
257
+ };
258
+
259
259
  declare const DEFAULT_ECOSYSTEM = Ecosystem.EVM;
260
260
  declare const NUMBER_INPUT_REGEX: RegExp;
261
261
  declare const SLIPPAGE_PRESETS: number[];
262
- declare const FALLBACK_CROSSCHAIN_ESTIMATION_TIME: number;
262
+ declare const DELIVERY_TIME: number;
263
+ declare const EXPRESS_DELIVERY_TIME: number;
263
264
  declare const BALANCES_CHUNK_SIZE = 500;
264
265
  declare const BALANCE_DISPLAY_MIN_LIMIT = 0.0001;
266
+ declare const ROUTE_TIMEOUT_MS = 5000;
267
+ declare const MINIMUM_DISPLAYED_TOKEN_AMOUNT = 0.00001;
265
268
 
266
269
  declare const BatchQueryAbi: ({
267
270
  inputs: {
@@ -516,4 +519,4 @@ declare const deepMergeObjects: (obj1: Record<string, any>, obj2: Record<string,
516
519
  };
517
520
  declare const chunkArray: (array: any[], chunkSize: number) => any[][];
518
521
 
519
- export { ADDRESSES, type AddReferralPayload, type Addresses, Alert, BALANCES_CHUNK_SIZE, BALANCE_DISPLAY_MIN_LIMIT, BatchQueryAbi, type BridgeToken, type Chain, type CoinTypeAddress, type CollectFees, type ContractCall, ContractName, type Contracts, DEFAULT_ECOSYSTEM, ERC20Abi, Ecosystem, Environment, FALLBACK_CROSSCHAIN_ESTIMATION_TIME, type GenerateStakingCallsParams, type GetPricesPayload, type GetRoutePayload, type GetSwapTxPayload, IERC20, NUMBER_INPUT_REGEX, type Prices, type Protocol, type Referral, type ReferralInfo, type Route, SLIPPAGE_PRESETS, Skeleton, type Token, type TokenBalances, type TokenPrices, type Transaction, type TransactionHistory, type TransactionStatus, type Transactions, type TxConfigFormData, Web3Environment, XSwapCallType, type XSwapConfig, type XSwapFee, type XSwapFees, XSwapRouterAbi, chunkArray, deepMergeObjects, findPlaceholderIndex, generateApproveTxData, generateRandomBigNumber, generateStakingCalls, generateUniqueRandomBigNumber, getBalanceOf, getBalances, getBridgeTokens, getChainData, getChains, getHistory, getPrices, getRoute, getSwapTx, getTokens, openTxConfigForm, replaceNull, safeBigNumberFrom, shortAddress, weiToHumanReadable };
522
+ export { ADDRESSES, type AddReferralPayload, type Addresses, Alert, BALANCES_CHUNK_SIZE, BALANCE_DISPLAY_MIN_LIMIT, BatchQueryAbi, type BridgeToken, type Chain, type CoinTypeAddress, type CollectFees, type ContractCall, ContractName, type Contracts, DEFAULT_ECOSYSTEM, DELIVERY_TIME, ERC20Abi, EXPRESS_DELIVERY_TIME, Ecosystem, Environment, type GenerateStakingCallsParams, type GetPricesPayload, type GetRoutePayload, type GetSwapTxPayload, IERC20, MINIMUM_DISPLAYED_TOKEN_AMOUNT, NUMBER_INPUT_REGEX, type Prices, type Protocol, ROUTE_TIMEOUT_MS, type Referral, type ReferralInfo, type Route, SLIPPAGE_PRESETS, Skeleton, type Token, type TokenBalances, type TokenPrices, type Transaction, type TransactionHistory, type TransactionStatus, type Transactions, type TxConfigFormData, type TxConfigFormProps, Web3Environment, XSwapCallType, type XSwapConfig, type XSwapFee, type XSwapFees, XSwapRouterAbi, chunkArray, deepMergeObjects, findPlaceholderIndex, generateApproveTxData, generateRandomBigNumber, generateStakingCalls, generateUniqueRandomBigNumber, getBalanceOf, getBalances, getBridgeTokens, getChainData, getChains, getHistory, getPrices, getRoute, getSwapTx, getTokens, openTxConfigForm, replaceNull, safeBigNumberFrom, shortAddress, weiToHumanReadable };
package/dist/index.d.ts CHANGED
@@ -1,24 +1,9 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import { BigNumber, ethers, BigNumberish } from 'ethers';
3
2
  import { TransactionRequest } from '@ethersproject/providers';
4
3
 
5
4
  declare const Alert: ({ desc }: {
6
5
  desc: string;
7
- }) => react_jsx_runtime.JSX.Element;
8
-
9
- declare function openTxConfigForm({ dstChainId, dstTokenAddr, customContractCalls, desc, supportedChains, }: {
10
- dstChainId: any;
11
- dstTokenAddr: any;
12
- customContractCalls: any;
13
- desc: any;
14
- supportedChains: any;
15
- }): Promise<any>;
16
-
17
- declare const Skeleton: ({ w, h }: Style) => react_jsx_runtime.JSX.Element;
18
- type Style = {
19
- w: string;
20
- h: string;
21
- };
6
+ }) => JSX.Element;
22
7
 
23
8
  type Addresses = {
24
9
  [chainId: string]: Contracts;
@@ -256,12 +241,30 @@ type Transaction = {
256
241
  status: TransactionStatus;
257
242
  };
258
243
 
244
+ type TxConfigFormProps = {
245
+ dstChainId: string;
246
+ dstTokenAddr: string;
247
+ customContractCalls: ContractCall[];
248
+ desc?: string;
249
+ supportedChains: Chain[];
250
+ };
251
+ declare const openTxConfigForm: ({ dstChainId, dstTokenAddr, customContractCalls, desc, supportedChains, }: TxConfigFormProps) => Promise<Route>;
252
+
253
+ declare const Skeleton: ({ w, h }: Style) => JSX.Element;
254
+ type Style = {
255
+ w: string;
256
+ h: string;
257
+ };
258
+
259
259
  declare const DEFAULT_ECOSYSTEM = Ecosystem.EVM;
260
260
  declare const NUMBER_INPUT_REGEX: RegExp;
261
261
  declare const SLIPPAGE_PRESETS: number[];
262
- declare const FALLBACK_CROSSCHAIN_ESTIMATION_TIME: number;
262
+ declare const DELIVERY_TIME: number;
263
+ declare const EXPRESS_DELIVERY_TIME: number;
263
264
  declare const BALANCES_CHUNK_SIZE = 500;
264
265
  declare const BALANCE_DISPLAY_MIN_LIMIT = 0.0001;
266
+ declare const ROUTE_TIMEOUT_MS = 5000;
267
+ declare const MINIMUM_DISPLAYED_TOKEN_AMOUNT = 0.00001;
265
268
 
266
269
  declare const BatchQueryAbi: ({
267
270
  inputs: {
@@ -516,4 +519,4 @@ declare const deepMergeObjects: (obj1: Record<string, any>, obj2: Record<string,
516
519
  };
517
520
  declare const chunkArray: (array: any[], chunkSize: number) => any[][];
518
521
 
519
- export { ADDRESSES, type AddReferralPayload, type Addresses, Alert, BALANCES_CHUNK_SIZE, BALANCE_DISPLAY_MIN_LIMIT, BatchQueryAbi, type BridgeToken, type Chain, type CoinTypeAddress, type CollectFees, type ContractCall, ContractName, type Contracts, DEFAULT_ECOSYSTEM, ERC20Abi, Ecosystem, Environment, FALLBACK_CROSSCHAIN_ESTIMATION_TIME, type GenerateStakingCallsParams, type GetPricesPayload, type GetRoutePayload, type GetSwapTxPayload, IERC20, NUMBER_INPUT_REGEX, type Prices, type Protocol, type Referral, type ReferralInfo, type Route, SLIPPAGE_PRESETS, Skeleton, type Token, type TokenBalances, type TokenPrices, type Transaction, type TransactionHistory, type TransactionStatus, type Transactions, type TxConfigFormData, Web3Environment, XSwapCallType, type XSwapConfig, type XSwapFee, type XSwapFees, XSwapRouterAbi, chunkArray, deepMergeObjects, findPlaceholderIndex, generateApproveTxData, generateRandomBigNumber, generateStakingCalls, generateUniqueRandomBigNumber, getBalanceOf, getBalances, getBridgeTokens, getChainData, getChains, getHistory, getPrices, getRoute, getSwapTx, getTokens, openTxConfigForm, replaceNull, safeBigNumberFrom, shortAddress, weiToHumanReadable };
522
+ export { ADDRESSES, type AddReferralPayload, type Addresses, Alert, BALANCES_CHUNK_SIZE, BALANCE_DISPLAY_MIN_LIMIT, BatchQueryAbi, type BridgeToken, type Chain, type CoinTypeAddress, type CollectFees, type ContractCall, ContractName, type Contracts, DEFAULT_ECOSYSTEM, DELIVERY_TIME, ERC20Abi, EXPRESS_DELIVERY_TIME, Ecosystem, Environment, type GenerateStakingCallsParams, type GetPricesPayload, type GetRoutePayload, type GetSwapTxPayload, IERC20, MINIMUM_DISPLAYED_TOKEN_AMOUNT, NUMBER_INPUT_REGEX, type Prices, type Protocol, ROUTE_TIMEOUT_MS, type Referral, type ReferralInfo, type Route, SLIPPAGE_PRESETS, Skeleton, type Token, type TokenBalances, type TokenPrices, type Transaction, type TransactionHistory, type TransactionStatus, type Transactions, type TxConfigFormData, type TxConfigFormProps, Web3Environment, XSwapCallType, type XSwapConfig, type XSwapFee, type XSwapFees, XSwapRouterAbi, chunkArray, deepMergeObjects, findPlaceholderIndex, generateApproveTxData, generateRandomBigNumber, generateStakingCalls, generateUniqueRandomBigNumber, getBalanceOf, getBalances, getBridgeTokens, getChainData, getChains, getHistory, getPrices, getRoute, getSwapTx, getTokens, openTxConfigForm, replaceNull, safeBigNumberFrom, shortAddress, weiToHumanReadable };