diff --git a/src/consts/misc.ts b/src/consts/misc.ts index 1141963..6b42f60 100644 --- a/src/consts/misc.ts +++ b/src/consts/misc.ts @@ -2,6 +2,7 @@ export const SQUID_ADDRESS = { mainnet: '0xce16F69375520ab01377ce7B88f5BA8C48F8D666', testnet: '0xC3468a191Fe51815b26535ED1F82C1f79e6Ec37D', } +export const SQUID_API_URL = 'https://apiplus.squidrouter.com/v2' export const PEANUT_SALT = '0x70adbbeba9d4f0c82e28dd574f15466f75df0543b65f24460fc445813b5d94e0' export const ANYONE_WITHDRAWAL_MODE = '0x0000000000000000000000000000000000000000000000000000000000000000' diff --git a/src/index.ts b/src/index.ts index d36ae69..298b51b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -72,7 +72,7 @@ import { } from './util.ts' import * as interfaces from './consts/interfaces.consts.ts' -import { SQUID_ADDRESS } from './consts/misc.ts' +import { SQUID_ADDRESS, SQUID_API_URL } from './consts/misc.ts' import { EIP3009Tokens, GaslessReclaimTypes, @@ -2128,9 +2128,7 @@ async function claimLinkXChainGasless({ async function getSquidChains({ isTestnet }: { isTestnet: boolean }): Promise { // TODO rate limits? Caching? - const url = isTestnet - ? 'https://testnet.apiplus.squidrouter.com/v2/chains' - : 'https://apiplus.squidrouter.com/v2/chains' + const url = isTestnet ? 'https://testnet.apiplus.squidrouter.com/v2/chains' : `${SQUID_API_URL}/chains` try { const response = await fetch(url, { headers: { @@ -2162,9 +2160,7 @@ async function getSquidChains({ isTestnet }: { isTestnet: boolean }): Promise { // TODO rate limits? Caching? // const url = isTestnet ? 'https://testnet.api.squidrouter.com/v1/tokens' : 'https://api.squidrouter.com/v1/tokens' - const url = isTestnet - ? 'https://testnet.apiplus.squidrouter.com/v2/tokens' - : 'https://apiplus.squidrouter.com/v2/tokens' + const url = isTestnet ? 'https://testnet.apiplus.squidrouter.com/v2/tokens' : `${SQUID_API_URL}/tokens` try { const response = await fetch(url, { diff --git a/src/util.ts b/src/util.ts index 9fd2529..37ad18a 100644 --- a/src/util.ts +++ b/src/util.ts @@ -5,6 +5,7 @@ import * as interfaces from './consts/interfaces.consts.ts' import { ANYONE_WITHDRAWAL_MODE, PEANUT_SALT, RECIPIENT_WITHDRAWAL_MODE } from './consts/misc.ts' import { TransactionRequest } from '@ethersproject/abstract-provider' import { getSquidRoute } from '.' +import { SQUID_API_URL } from './consts/misc.ts' export function assert(condition: any, message: string) { if (!condition) { @@ -599,7 +600,7 @@ export function getSquidRouterUrl(isMainnet: boolean, usePeanutApi: boolean): st } else { // using squid api if (isMainnet) { - squidRouteUrl = 'https://apiplus.squidrouter.com/v2/route' + squidRouteUrl = `${SQUID_API_URL}/route` } else { squidRouteUrl = 'https://testnet.apiplus.squidrouter.com/v2/route' } @@ -693,11 +694,11 @@ export async function getTokenPrice({ tokenAddress: string chainId: string | number }): Promise { - const response = await fetch( - 'https://api.0xsquid.com/v1/token-price?' + new URLSearchParams({ tokenAddress, chainId: chainId.toString() }) - ) + const response = await fetch(`${SQUID_API_URL}/token-price?tokenAddress=${tokenAddress}&chainId=${chainId}`, { + headers: { 'x-integrator-id': '11CBA45B-5EE9-4331-B146-48CCD7ED4C7C' }, + }) const data = await response.json() - return data.price + return data.token.usdPrice } interface TokenData {