48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const axios = require('axios');
|
|
const { apiKey, signerUUID, zeroXApiKey } = require('./secrets');
|
|
|
|
async function checkTokenPriceChange(contractAddress, percentage) {
|
|
// Implement token price check using 0x API
|
|
const response = await axios.get('https://api.0x.org/swap/v1/price', {
|
|
params: {
|
|
sellToken: contractAddress,
|
|
buyToken: 'ETH',
|
|
sellAmount: 1e18
|
|
},
|
|
headers: {
|
|
'0x-api-key': 'Entering_API_here'
|
|
}
|
|
});
|
|
const price = response.data.price;
|
|
|
|
// Compare price change with the specified percentage
|
|
let previousPrice = null;
|
|
if (previousPrice !== null) {
|
|
const priceChange = ((currentPrice - previousPrice) / previousPrice) * 100;
|
|
previousPrice = currentPrice;
|
|
return { priceChanged: Math.abs(priceChange) >= percentage };
|
|
} else {
|
|
previousPrice = currentPrice;
|
|
return { priceChanged: false };
|
|
}
|
|
}
|
|
|
|
|
|
// percentage comparison
|
|
return { priceChanged: true }; // Replace with logic
|
|
|
|
async function sendDirectCast(fid, message) {
|
|
const apiUrl = 'https://api.neynar.com/v2/farcaster/cast';
|
|
const payload = {
|
|
signerUUID: 'UUID_Entered_here',
|
|
text: message,
|
|
embeds: []
|
|
};
|
|
await axios.post(apiUrl, payload, {
|
|
headers: {
|
|
apiKey: 'neynar_api_key_here',
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = { checkTokenPriceChange, sendDirectCast };
|