0x0x230x

Untitled

Dec 9th, 2024
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. import { Widget } from "@kyberswap/widgets";
  2. import { ethers } from "ethers";
  3. import { useState, useEffect } from "react";
  4.  
  5. interface SwapWidgetProps {
  6. chainId?: number;
  7. theme?: "dark" | "light";
  8. width?: string | number;
  9. height?: string | number;
  10. }
  11.  
  12. const provider = new ethers.JsonRpcProvider("https://eth.llamarpc.com");
  13.  
  14. const DexToolsSwap = ({
  15. chainId = 8453, // Base network
  16. theme = "dark",
  17. width = "100%",
  18. height = "600px",
  19. }: SwapWidgetProps) => {
  20. const [showWidget, setShowWidget] = useState(false);
  21.  
  22. useEffect(() => {
  23. setTimeout(() => {
  24. setShowWidget(true);
  25. }, 1000);
  26. }, []);
  27.  
  28. // useEffect(() => {
  29. // const setupProvider = async () => {
  30. // try {
  31. // const newProvider = new JsonRpcProvider("https://base.llamarpc.com", {
  32. // chainId: chainId,
  33. // name: "Base",
  34. // });
  35.  
  36. // await newProvider.ready;
  37. // setProvider(newProvider);
  38. // } catch (error) {
  39. // console.error("Provider setup error:", error);
  40. // }
  41. // };
  42.  
  43. // setupProvider();
  44. // }, [chainId]);
  45.  
  46. // Token configuration
  47. const tokens = {
  48. defaultTokenIn: "0x4200000000000000000000000000000000000006", // WETH on Base
  49. defaultTokenOut: "0x9a11e38A2bcf287c912ae575bB803AC6CE211c28", // Your specified token
  50. };
  51.  
  52. // const MY_TOKEN_LIST = [
  53. // {
  54. // name: "KNC",
  55. // address: "0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C",
  56. // symbol: "KNC",
  57. // decimals: 18,
  58. // chainId: 1,
  59. // logoURI: "https://s2.coinmarketcap.com/static/img/coins/64x64/9444.png",
  60. // },
  61. // {
  62. // name: "Tether USD",
  63. // address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
  64. // symbol: "USDT",
  65. // decimals: 6,
  66. // chainId: 1,
  67. // logoURI:
  68. // "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
  69. // },
  70. // {
  71. // name: "USD Coin",
  72. // address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  73. // symbol: "USDC",
  74. // decimals: 6,
  75. // chainId: 1,
  76. // logoURI:
  77. // "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",
  78. // },
  79. // ];
  80.  
  81. return (
  82. showWidget && (
  83. <Widget
  84. client="companyName"
  85. defaultTokenIn={tokens.defaultTokenIn}
  86. defaultTokenOut={tokens.defaultTokenOut}
  87. // tokenList={MY_TOKEN_LIST}
  88. enableRoute={true}
  89. enableDexes="kyberswap-elastic,uniswapv3,uniswap"
  90. provider={provider}
  91. title={<div>Swap</div>}
  92. feeSetting={{
  93. feeAmount: 100,
  94. feeReceiver: "0xDcFCD5dD752492b95ac8C1964C83F992e7e39FA9",
  95. chargeFeeBy: "currency_in",
  96. isInBps: true,
  97. }}
  98. />
  99. )
  100. );
  101. };
  102.  
  103. export default DexToolsSwap;
  104.  
Advertisement
Add Comment
Please, Sign In to add comment