|
@@ -13,7 +13,7 @@ const sentPositions = new Set()
|
|
|
/**
|
|
/**
|
|
|
* 获取 top-positions 数据
|
|
* 获取 top-positions 数据
|
|
|
*/
|
|
*/
|
|
|
-async function fetchTopPositions() {
|
|
|
|
|
|
|
+async function fetchTopPositions(token_symbol) {
|
|
|
try {
|
|
try {
|
|
|
const response = await fetch(API_URL, {
|
|
const response = await fetch(API_URL, {
|
|
|
method: 'POST',
|
|
method: 'POST',
|
|
@@ -21,7 +21,7 @@ async function fetchTopPositions() {
|
|
|
'content-type': 'application/json',
|
|
'content-type': 'application/json',
|
|
|
},
|
|
},
|
|
|
body: JSON.stringify({
|
|
body: JSON.stringify({
|
|
|
- poolAddress: DEFAULT_POOL_ADDRESS,
|
|
|
|
|
|
|
+ poolAddress: TOKEN_MAP[token_symbol],
|
|
|
page: 1,
|
|
page: 1,
|
|
|
pageSize: 200,
|
|
pageSize: 200,
|
|
|
sortField: 'liquidity',
|
|
sortField: 'liquidity',
|
|
@@ -164,10 +164,10 @@ function calculateAPR(position) {
|
|
|
/**
|
|
/**
|
|
|
* 处理新仓位
|
|
* 处理新仓位
|
|
|
*/
|
|
*/
|
|
|
-async function processPositions() {
|
|
|
|
|
|
|
+async function processPositions(token_symbol) {
|
|
|
console.log(`\n[${new Date().toLocaleString('zh-CN')}] 开始检查新仓位...`)
|
|
console.log(`\n[${new Date().toLocaleString('zh-CN')}] 开始检查新仓位...`)
|
|
|
|
|
|
|
|
- const { records, symbol } = await fetchTopPositions()
|
|
|
|
|
|
|
+ const { records, symbol } = await fetchTopPositions(token_symbol)
|
|
|
|
|
|
|
|
if (!records) {
|
|
if (!records) {
|
|
|
console.log('获取数据失败')
|
|
console.log('获取数据失败')
|
|
@@ -214,7 +214,11 @@ console.log(`- 最大年龄: ${MAX_AGE_MS / 1000 / 60} 分钟`)
|
|
|
console.log(`- Discord Webhook: ${DISCORD_WEBHOOK_URL}`)
|
|
console.log(`- Discord Webhook: ${DISCORD_WEBHOOK_URL}`)
|
|
|
|
|
|
|
|
// 立即执行一次
|
|
// 立即执行一次
|
|
|
-processPositions()
|
|
|
|
|
|
|
+processPositions('MON')
|
|
|
|
|
+processPositions('WET')
|
|
|
|
|
|
|
|
// 每5分钟执行一次
|
|
// 每5分钟执行一次
|
|
|
-setInterval(processPositions, INTERVAL_MS)
|
|
|
|
|
|
|
+setInterval(() => {
|
|
|
|
|
+ processPositions('MON')
|
|
|
|
|
+ processPositions('WET')
|
|
|
|
|
+}, INTERVAL_MS)
|