* Support CCTP and noble auto deposits on testnet * slippage * fix fees * update isCctp, and comments * bump packages * cctp.json * Bump abacus * fix error * fix loading button
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { isMainnet } from '@/constants/networks';
|
|
import { GetStatus, StatusResponse } from '@0xsquid/sdk';
|
|
|
|
export const NATIVE_TOKEN_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
|
|
export const STATUS_ERROR_GRACE_PERIOD = 300_000;
|
|
|
|
const getSquidStatusUrl = (isV2: boolean) => {
|
|
if (isV2) {
|
|
return isMainnet
|
|
? 'https://v2.api.squidrouter.com/v2/status'
|
|
: 'https://testnet.v2.api.squidrouter.com/v2/status';
|
|
}
|
|
return isMainnet
|
|
? 'https://api.squidrouter.com/v1/status'
|
|
: 'https://testnet.api.squidrouter.com/v1/status';
|
|
};
|
|
|
|
export const fetchSquidStatus = async (
|
|
params: GetStatus,
|
|
isV2?: boolean,
|
|
integratorId?: string
|
|
): Promise<StatusResponse> => {
|
|
const parsedParams: { [key: string]: string } = {
|
|
transactionId: params.transactionId,
|
|
fromChainId: String(params.fromChainId),
|
|
toChainId: String(params.toChainId),
|
|
};
|
|
if (isV2) parsedParams.bridgeType = 'cctp';
|
|
const url = `${getSquidStatusUrl(!!isV2)}?${new URLSearchParams(parsedParams).toString()}`;
|
|
|
|
const response = await fetch(url, {
|
|
headers: {
|
|
"x-integrator-id": integratorId || 'dYdX-api'
|
|
},
|
|
});
|
|
|
|
if (!response.ok) {
|
|
const error = await response.json();
|
|
throw new Error(error);
|
|
}
|
|
|
|
return response.json();
|
|
};
|
|
|
|
export const getNobleChainId = () => {
|
|
return isMainnet ? 'noble-1' : 'grand-1';
|
|
}
|