@kimafinance/kima-transaction-widget 1.3.4 → 1.3.5

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/index.cjs CHANGED
@@ -1488,7 +1488,7 @@ var initialState = {
1488
1488
  tokenOptions: {},
1489
1489
  pendingTxs: 0,
1490
1490
  pendingTxData: [],
1491
- kimaExplorerUrl: "https://explorer.kima.network",
1491
+ kimaExplorerUrl: "https://explorer.sardis.kima.network",
1492
1492
  mode: "bridge" /* bridge */,
1493
1493
  sourceChain: {
1494
1494
  ...import_chains.arbitrumSepolia,
@@ -3037,10 +3037,10 @@ function useSolanaAllowance() {
3037
3037
  const tokenOptions = (0, import_react_redux7.useSelector)(selectTokenOptions);
3038
3038
  const { pools } = useGetPools_default(backendUrl, networkOption);
3039
3039
  const [approvalsCount, setApprovalsCount] = (0, import_react83.useState)(0);
3040
- const isSolanaProvider = sourceChain === "SOL" && externalProvider?.type === "solana" && externalProvider.provider && externalProvider.signer instanceof import_web38.PublicKey;
3041
- const userPublicKey = isSolanaProvider ? externalProvider.signer : sourceChain === "SOL" ? internalPublicKey : void 0;
3042
- const signTransaction = isSolanaProvider && externalProvider.provider.signTransaction ? externalProvider.provider.signTransaction : sourceChain === "SOL" ? internalSignTransaction : void 0;
3043
- const connection = isSolanaProvider && externalProvider.provider.connection ? externalProvider.provider.connection : sourceChain === "SOL" ? internalConnection : void 0;
3040
+ const isSolanaProvider = sourceChain.shortName === "SOL" && externalProvider?.type === "solana" && externalProvider.provider && externalProvider.signer instanceof import_web38.PublicKey;
3041
+ const userPublicKey = isSolanaProvider ? externalProvider.signer : sourceChain.shortName === "SOL" ? internalPublicKey : void 0;
3042
+ const signTransaction = isSolanaProvider && externalProvider.provider.signTransaction ? externalProvider.provider.signTransaction : sourceChain.shortName === "SOL" ? internalSignTransaction : void 0;
3043
+ const connection = isSolanaProvider && externalProvider.provider.connection ? externalProvider.provider.connection : sourceChain.shortName === "SOL" ? internalConnection : void 0;
3044
3044
  const {
3045
3045
  data: allowanceData,
3046
3046
  isLoading,
@@ -3062,7 +3062,7 @@ function useSolanaAllowance() {
3062
3062
  connection,
3063
3063
  pools
3064
3064
  }),
3065
- enabled: !!userPublicKey && !!selectedCoin && !!tokenOptions && pools.length > 0 && sourceChain === "SOL",
3065
+ enabled: !!userPublicKey && !!selectedCoin && !!tokenOptions && pools.length > 0 && sourceChain.shortName === "SOL",
3066
3066
  refetchInterval: 1e3 * 60,
3067
3067
  // 1 min
3068
3068
  staleTime: 1e3 * 60
@@ -3602,7 +3602,7 @@ function useTronAllowance() {
3602
3602
  signTransaction: internalSignTronTransaction
3603
3603
  } = (0, import_tronwallet_adapter_react_hooks3.useWallet)();
3604
3604
  const [approvalsCount, setApprovalsCount] = (0, import_react88.useState)(0);
3605
- const isTronProvider2 = sourceChain === "TRX" && externalProvider?.type === "tron" && externalProvider.provider.tronWeb instanceof import_tronweb5.TronWeb && typeof externalProvider.signer === "string";
3605
+ const isTronProvider2 = sourceChain.shortName === "TRX" && externalProvider?.type === "tron" && externalProvider.provider.tronWeb instanceof import_tronweb5.TronWeb && typeof externalProvider.signer === "string";
3606
3606
  const tronWeb = (0, import_react88.useMemo)(() => {
3607
3607
  if (isTronProvider2)
3608
3608
  return externalProvider.provider.tronWeb;
@@ -3627,7 +3627,7 @@ function useTronAllowance() {
3627
3627
  }),
3628
3628
  refetchInterval: 1e3 * 60,
3629
3629
  // 1 min
3630
- enabled: !!tokenOptions && !!selectedCoin && !!userAddress && !!tronWeb && pools.length > 0 && sourceChain === "TRX",
3630
+ enabled: !!tokenOptions && !!selectedCoin && !!userAddress && !!tronWeb && pools.length > 0 && sourceChain.shortName === "TRX",
3631
3631
  staleTime: 1e3 * 60
3632
3632
  // 1 min
3633
3633
  });
@@ -3796,7 +3796,12 @@ var KimaProvider = ({
3796
3796
  walletConnectProjectId,
3797
3797
  children = /* @__PURE__ */ React77.createElement(React77.Fragment, null),
3798
3798
  externalProvider,
3799
- kimaBackendUrl = "http://localhost:3001"
3799
+ kimaBackendUrl = "http://localhost:3001",
3800
+ keplrHandler,
3801
+ successHandler,
3802
+ closeHandler,
3803
+ errorHandler,
3804
+ switchChainHandler
3800
3805
  }) => {
3801
3806
  let validExternalProvider;
3802
3807
  let sourceAddress;
@@ -3812,7 +3817,12 @@ var KimaProvider = ({
3812
3817
  const kimaContext = {
3813
3818
  externalProvider: validExternalProvider,
3814
3819
  sourceAddress,
3815
- kimaBackendUrl
3820
+ kimaBackendUrl,
3821
+ keplrHandler,
3822
+ successHandler,
3823
+ closeHandler,
3824
+ errorHandler,
3825
+ switchChainHandler
3816
3826
  };
3817
3827
  return /* @__PURE__ */ React77.createElement(import_react_query11.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React77.createElement(import_react_redux14.Provider, { store }, /* @__PURE__ */ React77.createElement(KimaContext.Provider, { value: kimaContext }, /* @__PURE__ */ React77.createElement(
3818
3828
  InternalKimaProvider,
@@ -4565,7 +4575,7 @@ var ConfirmDetails = ({ isApproved }) => {
4565
4575
  }
4566
4576
  return formatterFloat2.format(feeDeduct ? +amount : +amount + totalFeeUsd);
4567
4577
  }, [amount, totalFeeUsd, originNetwork, targetNetwork, feeDeduct]);
4568
- return /* @__PURE__ */ import_react112.default.createElement("div", { className: `confirm-details ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement("p", null, "Step ", isApproved ? "2" : "1", "\xA0of 2\xA0\xA0\xA0", isApproved ? "Submit transaction" : originNetwork.shortName === "FIAT" /* FIAT */ ? "Bank Details" : "Approval"), originNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react112.default.createElement("div", null, /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: originNetworkOption?.shortName }), "FIAT"), /* @__PURE__ */ import_react112.default.createElement("p", null, "ES6621000418401234567891")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react112.default.createElement("p", null, "Kima Sandbox")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "BIC:"), /* @__PURE__ */ import_react112.default.createElement("p", null, "CAIXESBBXXX")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Description:"), /* @__PURE__ */ import_react112.default.createElement("p", { className: "signature" }, signature))) : /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Source wallet:"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: originNetworkOption?.shortName }), originNetworkOption.name)), /* @__PURE__ */ import_react112.default.createElement("p", { className: theme.colorMode }, width >= 916 ? dAppOption === "LPDrain" /* LPDrain */ ? targetAddress : walletAddress : dAppOption === "LPDrain" /* LPDrain */ ? targetWalletAddress : sourceWalletAddress))), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item amount" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Transaction", width > 500 && /* @__PURE__ */ import_react112.default.createElement("br", null), "Details:"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "amount-container" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Source Transfer amount"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "coin-details" }, /* @__PURE__ */ import_react112.default.createElement("p", null, feeDeduct ? formatterFloat2.format(Number(amount)) : formatterFloat2.format(Number(amount) + totalFeeUsd), " ", sourceCurrency)), sourceCurrency !== targetCurrency && /* @__PURE__ */ import_react112.default.createElement("div", { className: "coin-details" }, "\u2192 ", targetCurrency)), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Source Network Fee (", originNetwork.shortName, ")"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, formatterFloat2.format(sourceNetworkFee?.amount || 0), " ", sourceCurrency)), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Target Network Fee (", targetNetwork.shortName, ")"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, formatterFloat2.format(targetNetworkFee?.amount || 0), " ", sourceCurrency)), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Target Transfer Amount"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, !feeDeduct ? formatterFloat2.format(Number(amount)) : formatterFloat2.format(Number(amount) - totalFeeUsd), " ", targetCurrency)))), targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react112.default.createElement("div", null, /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react112.default.createElement("p", null, bankDetails.iban), /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), "FIAT")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react112.default.createElement("p", null, bankDetails.recipient))) : /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Target wallet:"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), targetNetworkOption?.name)), /* @__PURE__ */ import_react112.default.createElement("p", { className: theme.colorMode }, width >= 916 ? dAppOption === "LPDrain" /* LPDrain */ ? walletAddress : targetAddress : dAppOption === "LPDrain" /* LPDrain */ ? sourceWalletAddress : targetWalletAddress))), mode === "bridge" /* bridge */ && totalFeeUsd > 0 ? (
4578
+ return /* @__PURE__ */ import_react112.default.createElement("div", { className: `confirm-details ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement("p", null, "Step ", isApproved ? "2" : "1", "\xA0of 2\xA0\xA0\xA0", isApproved ? "Submit transaction" : originNetwork.shortName === "FIAT" /* FIAT */ ? "Bank Details" : "Approval"), originNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react112.default.createElement("div", null, /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: originNetworkOption?.shortName }), "FIAT"), /* @__PURE__ */ import_react112.default.createElement("p", null, "ES6621000418401234567891")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react112.default.createElement("p", null, "Kima Sandbox")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "BIC:"), /* @__PURE__ */ import_react112.default.createElement("p", null, "CAIXESBBXXX")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Description:"), /* @__PURE__ */ import_react112.default.createElement("p", { className: "signature" }, signature))) : /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Source wallet:"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: originNetworkOption?.shortName }), originNetworkOption.name)), /* @__PURE__ */ import_react112.default.createElement("p", { className: theme.colorMode }, width >= 916 ? dAppOption === "LPDrain" /* LPDrain */ ? targetAddress : walletAddress : dAppOption === "LPDrain" /* LPDrain */ ? targetWalletAddress : sourceWalletAddress))), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item amount" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Transaction", width > 500 && /* @__PURE__ */ import_react112.default.createElement("br", null), "Details:"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "amount-container" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Source Transfer amount"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "coin-details" }, /* @__PURE__ */ import_react112.default.createElement("p", null, feeDeduct ? formatterFloat2.format(Number(amount)) : formatterFloat2.format(Number(amount) + totalFeeUsd), " ", sourceCurrency))), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Source Network Fee (", originNetwork.shortName, ")"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, formatterFloat2.format(sourceNetworkFee?.amount || 0), " ", sourceCurrency)), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Target Network Fee (", targetNetwork.shortName, ")"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, formatterFloat2.format(targetNetworkFee?.amount || 0), " ", sourceCurrency)), /* @__PURE__ */ import_react112.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react112.default.createElement("span", null, "Target Transfer Amount"), /* @__PURE__ */ import_react112.default.createElement("span", { className: "service-fee" }, !feeDeduct ? formatterFloat2.format(Number(amount)) : formatterFloat2.format(Number(amount) - totalFeeUsd), " ", targetCurrency)))), targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react112.default.createElement("div", null, /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react112.default.createElement("p", null, bankDetails.iban), /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), "FIAT")), /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react112.default.createElement("p", null, bankDetails.recipient))) : /* @__PURE__ */ import_react112.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: "label" }, "Target wallet:"), /* @__PURE__ */ import_react112.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react112.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react112.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react112.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), targetNetworkOption?.name)), /* @__PURE__ */ import_react112.default.createElement("p", { className: theme.colorMode }, width >= 916 ? dAppOption === "LPDrain" /* LPDrain */ ? walletAddress : targetAddress : dAppOption === "LPDrain" /* LPDrain */ ? sourceWalletAddress : targetWalletAddress))), mode === "bridge" /* bridge */ && totalFeeUsd > 0 ? (
4569
4579
  // <FeeDeductionSlider />
4570
4580
  /* @__PURE__ */ import_react112.default.createElement(FeeDeductionRadioButtons_default, null)
4571
4581
  ) : null);
@@ -4952,13 +4962,6 @@ var TransactionWidget = ({ theme }) => {
4952
4962
  ),
4953
4963
  [data, mode, targetChain]
4954
4964
  );
4955
- console.log(
4956
- "tx details: ",
4957
- networks,
4958
- transactionSourceChain,
4959
- transactionTargetChain,
4960
- data
4961
- );
4962
4965
  const isValidTxId = (0, import_react121.useMemo)(() => {
4963
4966
  return !(!txId || typeof txId === "string" && txId.length === 0 || typeof txId === "number" && txId < 0);
4964
4967
  }, [txId]);
@@ -5032,6 +5035,7 @@ var TransactionWidget = ({ theme }) => {
5032
5035
  }
5033
5036
  }, [data?.status]);
5034
5037
  const resetForm = () => {
5038
+ closeHandler && closeHandler();
5035
5039
  if (mode !== "payment" /* payment */) {
5036
5040
  if (transactionOption?.sourceChain) {
5037
5041
  const sourceChain2 = chainData?.find(
@@ -5050,14 +5054,17 @@ var TransactionWidget = ({ theme }) => {
5050
5054
  dispatch(setTargetChain(networks[0]));
5051
5055
  }
5052
5056
  dispatch(setTargetAddress(transactionOption?.targetAddress || ""));
5053
- dispatch(setTargetCurrency(transactionOption?.currency || ""));
5057
+ dispatch(
5058
+ setTargetCurrency(
5059
+ transactionOption?.currency || networks[1].supportedTokens[0].symbol
5060
+ )
5061
+ );
5054
5062
  dispatch(setAmount(transactionOption?.amount.toString() || ""));
5055
5063
  }
5056
- dispatch(setSubmitted(false));
5057
5064
  dispatch(
5058
5065
  setMode(transactionOption ? "payment" /* payment */ : "bridge" /* bridge */)
5059
5066
  );
5060
- closeHandler && closeHandler(0);
5067
+ dispatch(setSubmitted(false));
5061
5068
  };
5062
5069
  return /* @__PURE__ */ import_react121.default.createElement(import_react_redux38.Provider, { store }, /* @__PURE__ */ import_react121.default.createElement(
5063
5070
  "div",
@@ -6195,6 +6202,7 @@ var TransferWidget = ({
6195
6202
  };
6196
6203
  const resetForm = async () => {
6197
6204
  if (isApproving || isSubmitting || isSigning) return;
6205
+ closeHandler && closeHandler(0);
6198
6206
  setFormStep(0);
6199
6207
  if (mode !== "payment" /* payment */) {
6200
6208
  if (transactionOption?.sourceChain) {
@@ -6214,11 +6222,14 @@ var TransferWidget = ({
6214
6222
  dispatch(setTargetChain(networks[1]));
6215
6223
  }
6216
6224
  dispatch(setTargetAddress(transactionOption?.targetAddress || ""));
6217
- dispatch(setTargetCurrency(transactionOption?.currency || ""));
6225
+ dispatch(
6226
+ setTargetCurrency(
6227
+ transactionOption?.currency || networks[1].supportedTokens[0].symbol
6228
+ )
6229
+ );
6218
6230
  dispatch(setAmount(transactionOption?.amount.toString() || ""));
6219
6231
  }
6220
6232
  await disconnectWallet();
6221
- closeHandler && closeHandler(0);
6222
6233
  };
6223
6234
  (0, import_react132.useEffect)(() => {
6224
6235
  dispatch(setTheme(theme));
@@ -6404,6 +6415,9 @@ var KimaWidgetWrapper = ({
6404
6415
  } else if (mode === "status" /* status */) {
6405
6416
  dispatch(setTxId(txId || -1));
6406
6417
  dispatch(setSubmitted(true));
6418
+ } else if (mode === "bridge" /* bridge */) {
6419
+ dispatch(setTxId(-1));
6420
+ dispatch(setSubmitted(false));
6407
6421
  }
6408
6422
  }, [theme, transactionOption, mode, networkOption, chainData]);
6409
6423
  (0, import_react133.useEffect)(() => {