@kimafinance/kima-transaction-widget 1.5.23 → 1.5.24
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 +67 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +67 -21
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -6504,43 +6504,64 @@ var useTrc20Allowance = () => {
|
|
|
6504
6504
|
(0, import_react_redux20.useSelector)(selectNetworkOption)
|
|
6505
6505
|
);
|
|
6506
6506
|
const poolAddress = (0, import_react28.useMemo)(() => getPoolAddress(pools, "TRX"), [pools]);
|
|
6507
|
+
const tokenAddressTrimmed = (0, import_react28.useMemo)(
|
|
6508
|
+
() => tokenAddress?.trim(),
|
|
6509
|
+
[tokenAddress]
|
|
6510
|
+
);
|
|
6511
|
+
const poolAddressTrimmed = (0, import_react28.useMemo)(
|
|
6512
|
+
() => poolAddress?.trim(),
|
|
6513
|
+
[poolAddress]
|
|
6514
|
+
);
|
|
6507
6515
|
const isOwnerValid = !!address && !!tronWeb?.isAddress?.(address);
|
|
6508
|
-
const
|
|
6516
|
+
const isTokenValid = !!tokenAddressTrimmed && !!tronWeb?.isAddress?.(tokenAddressTrimmed);
|
|
6517
|
+
const isPoolValid = !!poolAddressTrimmed && !!tronWeb?.isAddress?.(poolAddressTrimmed);
|
|
6518
|
+
const enabled = isOwnerValid && isTokenValid && isPoolValid && !!tronWeb && sourceChain.shortName === "TRX";
|
|
6509
6519
|
(0, import_react28.useEffect)(() => {
|
|
6510
6520
|
logger_default.debug("[useTrc20Allowance] init", {
|
|
6511
6521
|
mode,
|
|
6512
6522
|
sourceChain: sourceChain?.shortName,
|
|
6513
6523
|
address,
|
|
6514
|
-
tokenAddress,
|
|
6515
|
-
poolAddress,
|
|
6524
|
+
tokenAddress: tokenAddressTrimmed,
|
|
6525
|
+
poolAddress: poolAddressTrimmed,
|
|
6516
6526
|
hasTronWeb: !!tronWeb,
|
|
6517
6527
|
isOwnerValid,
|
|
6528
|
+
isTokenValid,
|
|
6529
|
+
isPoolValid,
|
|
6518
6530
|
enabled
|
|
6519
6531
|
});
|
|
6520
6532
|
}, [
|
|
6521
6533
|
mode,
|
|
6522
6534
|
sourceChain?.shortName,
|
|
6523
6535
|
address,
|
|
6524
|
-
|
|
6525
|
-
|
|
6536
|
+
tokenAddressTrimmed,
|
|
6537
|
+
poolAddressTrimmed,
|
|
6526
6538
|
tronWeb,
|
|
6527
6539
|
isOwnerValid,
|
|
6540
|
+
isTokenValid,
|
|
6541
|
+
isPoolValid,
|
|
6528
6542
|
enabled
|
|
6529
6543
|
]);
|
|
6530
6544
|
const q = (0, import_react_query12.useQuery)({
|
|
6531
|
-
queryKey: [
|
|
6545
|
+
queryKey: [
|
|
6546
|
+
"tronAllowance",
|
|
6547
|
+
address,
|
|
6548
|
+
tokenAddressTrimmed,
|
|
6549
|
+
poolAddressTrimmed
|
|
6550
|
+
],
|
|
6532
6551
|
enabled,
|
|
6533
6552
|
staleTime: 6e4,
|
|
6534
6553
|
refetchInterval: 6e4,
|
|
6535
6554
|
queryFn: async () => {
|
|
6536
6555
|
logger_default.debug("[useTrc20Allowance] queryFn:start", {
|
|
6537
6556
|
owner: address,
|
|
6538
|
-
tokenAddress,
|
|
6539
|
-
poolAddress,
|
|
6557
|
+
tokenAddress: tokenAddressTrimmed,
|
|
6558
|
+
poolAddress: poolAddressTrimmed,
|
|
6540
6559
|
defaultAddress: tronWeb?.defaultAddress
|
|
6541
6560
|
});
|
|
6542
6561
|
try {
|
|
6543
6562
|
const ownerBase58 = address;
|
|
6563
|
+
const tokenBase58 = tokenAddressTrimmed;
|
|
6564
|
+
const poolBase58 = poolAddressTrimmed;
|
|
6544
6565
|
try {
|
|
6545
6566
|
const cur = tronWeb.defaultAddress?.base58;
|
|
6546
6567
|
if (!cur || cur !== ownerBase58) {
|
|
@@ -6554,25 +6575,28 @@ var useTrc20Allowance = () => {
|
|
|
6554
6575
|
logger_default.warn("[useTrc20Allowance] setAddress failed (non-fatal)", e);
|
|
6555
6576
|
}
|
|
6556
6577
|
const isOwner = tronWeb.isAddress(ownerBase58);
|
|
6557
|
-
const isToken = tronWeb.isAddress(
|
|
6558
|
-
const isPool = tronWeb.isAddress(
|
|
6578
|
+
const isToken = tronWeb.isAddress(tokenBase58);
|
|
6579
|
+
const isPool = tronWeb.isAddress(poolBase58);
|
|
6559
6580
|
logger_default.debug("[useTrc20Allowance] address checks", {
|
|
6560
6581
|
isOwner,
|
|
6561
6582
|
isToken,
|
|
6562
6583
|
isPool
|
|
6563
6584
|
});
|
|
6585
|
+
if (!isOwner || !isToken || !isPool) {
|
|
6586
|
+
throw new Error("Invalid Tron address for allowance lookup");
|
|
6587
|
+
}
|
|
6564
6588
|
let tokenHex;
|
|
6565
6589
|
let ownerHex;
|
|
6566
6590
|
let poolHex;
|
|
6567
6591
|
try {
|
|
6568
|
-
tokenHex = tronWeb.address.toHex(
|
|
6592
|
+
tokenHex = tronWeb.address.toHex(tokenBase58);
|
|
6569
6593
|
ownerHex = tronWeb.address.toHex(ownerBase58);
|
|
6570
|
-
poolHex = tronWeb.address.toHex(
|
|
6594
|
+
poolHex = tronWeb.address.toHex(poolBase58);
|
|
6571
6595
|
} catch (hexErr) {
|
|
6572
6596
|
logger_default.error("[useTrc20Allowance] toHex error", {
|
|
6573
6597
|
ownerBase58,
|
|
6574
|
-
tokenAddress,
|
|
6575
|
-
poolAddress,
|
|
6598
|
+
tokenAddress: tokenBase58,
|
|
6599
|
+
poolAddress: poolBase58,
|
|
6576
6600
|
hexErr
|
|
6577
6601
|
});
|
|
6578
6602
|
throw hexErr;
|
|
@@ -6635,6 +6659,14 @@ var useApproveTrc20 = () => {
|
|
|
6635
6659
|
(0, import_react_redux21.useSelector)(selectNetworkOption)
|
|
6636
6660
|
);
|
|
6637
6661
|
const poolAddress = (0, import_react29.useMemo)(() => getPoolAddress(pools, "TRX"), [pools]);
|
|
6662
|
+
const tokenAddressTrimmed = (0, import_react29.useMemo)(
|
|
6663
|
+
() => tokenAddress?.trim(),
|
|
6664
|
+
[tokenAddress]
|
|
6665
|
+
);
|
|
6666
|
+
const poolAddressTrimmed = (0, import_react29.useMemo)(
|
|
6667
|
+
() => poolAddress?.trim(),
|
|
6668
|
+
[poolAddress]
|
|
6669
|
+
);
|
|
6638
6670
|
const { data } = useTrc20Allowance();
|
|
6639
6671
|
const approve = (0, import_react29.useCallback)(
|
|
6640
6672
|
async (isCancel = false) => {
|
|
@@ -6648,12 +6680,12 @@ var useApproveTrc20 = () => {
|
|
|
6648
6680
|
hasTronWeb: !!tronWeb
|
|
6649
6681
|
});
|
|
6650
6682
|
try {
|
|
6651
|
-
if (!tronWeb || !address || !
|
|
6683
|
+
if (!tronWeb || !address || !tokenAddressTrimmed || !poolAddressTrimmed || sourceChain.shortName !== "TRX") {
|
|
6652
6684
|
logger_default.warn("[useApproveTrc20] missing prerequisites", {
|
|
6653
6685
|
hasTronWeb: !!tronWeb,
|
|
6654
6686
|
address,
|
|
6655
|
-
tokenAddress,
|
|
6656
|
-
poolAddress,
|
|
6687
|
+
tokenAddress: tokenAddressTrimmed,
|
|
6688
|
+
poolAddress: poolAddressTrimmed,
|
|
6657
6689
|
source: sourceChain?.shortName
|
|
6658
6690
|
});
|
|
6659
6691
|
return;
|
|
@@ -6663,11 +6695,25 @@ var useApproveTrc20 = () => {
|
|
|
6663
6695
|
logger_default.error("[useApproveTrc20] " + msg, { address });
|
|
6664
6696
|
throw new Error(msg);
|
|
6665
6697
|
}
|
|
6698
|
+
if (!tronWeb.isAddress(tokenAddressTrimmed)) {
|
|
6699
|
+
const msg = "Invalid Tron token address";
|
|
6700
|
+
logger_default.error("[useApproveTrc20] " + msg, {
|
|
6701
|
+
tokenAddress: tokenAddressTrimmed
|
|
6702
|
+
});
|
|
6703
|
+
throw new Error(msg);
|
|
6704
|
+
}
|
|
6705
|
+
if (!tronWeb.isAddress(poolAddressTrimmed)) {
|
|
6706
|
+
const msg = "Invalid Tron pool address";
|
|
6707
|
+
logger_default.error("[useApproveTrc20] " + msg, {
|
|
6708
|
+
poolAddress: poolAddressTrimmed
|
|
6709
|
+
});
|
|
6710
|
+
throw new Error(msg);
|
|
6711
|
+
}
|
|
6666
6712
|
const amount = isCancel ? "0" : allowanceNeeded.toString();
|
|
6667
6713
|
logger_default.info("[useApproveTrc20] approve amount", { amount });
|
|
6668
6714
|
const ownerHex = tronWeb.address.toHex(address);
|
|
6669
|
-
const tokenHex = tronWeb.address.toHex(
|
|
6670
|
-
const poolHex = tronWeb.address.toHex(
|
|
6715
|
+
const tokenHex = tronWeb.address.toHex(tokenAddressTrimmed);
|
|
6716
|
+
const poolHex = tronWeb.address.toHex(poolAddressTrimmed);
|
|
6671
6717
|
logger_default.debug("[useApproveTrc20] hex", { ownerHex, tokenHex, poolHex });
|
|
6672
6718
|
const txResp = await tronWeb.transactionBuilder.triggerSmartContract(
|
|
6673
6719
|
tokenHex,
|
|
@@ -6716,8 +6762,8 @@ var useApproveTrc20 = () => {
|
|
|
6716
6762
|
tronWeb,
|
|
6717
6763
|
signTransaction,
|
|
6718
6764
|
address,
|
|
6719
|
-
|
|
6720
|
-
|
|
6765
|
+
tokenAddressTrimmed,
|
|
6766
|
+
poolAddressTrimmed,
|
|
6721
6767
|
allowanceNeeded,
|
|
6722
6768
|
sourceChain?.shortName,
|
|
6723
6769
|
qc
|