@rabby-wallet/rabby-swap 0.0.86-alpha.0 → 0.0.86-alpha.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.
|
@@ -15,6 +15,6 @@ export type VerifyRouterAndSpenderParams = {
|
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* 校验 tx.to / approve spender 是否在白名单。
|
|
18
|
-
* wrap、native
|
|
18
|
+
* wrap、native 支付或缺少 spender 时跳过 spender 校验。
|
|
19
19
|
*/
|
|
20
20
|
export declare const verifyRouterAndSpender: (p: VerifyRouterAndSpenderParams) => [boolean, boolean];
|
package/dist/verify/contracts.js
CHANGED
|
@@ -26,19 +26,20 @@ export const getSpender = (dexId, chain) => {
|
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* 校验 tx.to / approve spender 是否在白名单。
|
|
29
|
-
* wrap、native
|
|
29
|
+
* wrap、native 支付或缺少 spender 时跳过 spender 校验。
|
|
30
30
|
*/
|
|
31
31
|
export const verifyRouterAndSpender = (p) => {
|
|
32
32
|
const { chain, dexId, router, spender, payTokenId, receiveTokenId, nativeTokenAddress, } = p;
|
|
33
33
|
if (dexId === DEX_ENUM.WRAPTOKEN) {
|
|
34
34
|
return [true, true];
|
|
35
35
|
}
|
|
36
|
-
if (!dexId || !router || !
|
|
36
|
+
if (!dexId || !router || !payTokenId || !receiveTokenId) {
|
|
37
37
|
return [true, true];
|
|
38
38
|
}
|
|
39
39
|
const routerWhitelist = getRouter(dexId, chain, payTokenId, nativeTokenAddress);
|
|
40
40
|
const spenderWhitelist = getSpender(dexId, chain);
|
|
41
|
-
const skipSpender =
|
|
41
|
+
const skipSpender = !spender ||
|
|
42
|
+
isNativeToken(payTokenId, nativeTokenAddress) ||
|
|
42
43
|
isSwapWrapToken(payTokenId, receiveTokenId, chain, nativeTokenAddress);
|
|
43
44
|
return [
|
|
44
45
|
isSameAddress(routerWhitelist || "", router),
|