Skip to content

Commit

Permalink
update bots!
Browse files Browse the repository at this point in the history
  • Loading branch information
ethboi committed Jul 29, 2023
1 parent 77c6a3b commit cbb3961
Show file tree
Hide file tree
Showing 211 changed files with 27,168 additions and 23,673 deletions.
2 changes: 1 addition & 1 deletion app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"@ethersproject/bytes": "^5.7.0",
"@ethersproject/providers": "^5.7.2",
"@ethersproject/units": "^5.7.0",
"@lyrafinance/lyra-js": "^0.0.25",
"@lyrafinance/lyra-js": "^0.0.26",
"axios": "^1.3.2",
"cross-fetch": "^3.1.5",
"dayjs": "^1.11.7",
Expand Down
48 changes: 25 additions & 23 deletions app/src/bot.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import { RunTradeBot } from './lyra/trades'
import { FetchLeaderBoard } from './lyra/leaderboard'
import {
DISCORD_ACCESS_TOKEN,
DISCORD_ACCESS_TOKEN_ARB,
DISCORD_ACCESS_TOKEN_BTC,
DISCORD_ACCESS_TOKEN_ETH,
DISCORD_ACCESS_TOKEN_LYRA,
DISCORD_ACCESS_TOKEN_OP,
TELEGRAM_ENABLED,
TESTNET,
TWITTER_ENABLED,
Expand All @@ -17,31 +19,37 @@ import { TelegramClient } from './clients/telegramClient'
import { Network } from '@lyrafinance/lyra-js'
import { GetPrices } from './integrations/prices'
import { TrackEvents } from './event/blockEvent'
import { ArbitrageJob, LeaderBoardFillJob, LeaderboardSendJob, PricingJob, StatsJob } from './schedule'
import { ArbitrageJob, LeaderBoardFillJob, LeaderboardSendJob, OneMinuteJob, StatsJob } from './schedule'
import { SetUpDiscord } from './discord'
import printObject from './utils/printObject'
import getLyraSDK from './utils/getLyraSDK'
import { GetArbitrageDeals } from './lyra/arbitrage'
import { getLyraRates } from './providers/Lyra'

let discordClient: Client<boolean>
let discordClientBtc: Client<boolean>
let discordClientLyra: Client<boolean>
let discordClientEth: Client
let discordClientBtc: Client
let discordClientLyra: Client
let discordClientArb: Client
let discordClientOp: Client

let twitterClient: TwitterApi
let twitterClient1: TwitterApi
let telegramClient: Telegraf

const networks = [Network.Optimism, Network.Arbitrum]
const networks = [Network.Arbitrum, Network.Optimism] // Network.Arbitrum]

export async function Run() {
InitVariables()

await GetPrices()
const pairs = await GetPrices()
global.PRICES = pairs

// set up the clients
await Promise.all([
SetUpDiscord((discordClient = DiscordClient()), 'eth', DISCORD_ACCESS_TOKEN),
SetUpDiscord((discordClientEth = DiscordClient()), 'eth', DISCORD_ACCESS_TOKEN_ETH),
SetUpDiscord((discordClientBtc = DiscordClient()), 'btc', DISCORD_ACCESS_TOKEN_BTC),
//SetUpDiscord((discordClientLyra = DiscordClient()), 'lyra', DISCORD_ACCESS_TOKEN_LYRA),
SetUpDiscord((discordClientArb = DiscordClient()), 'arb', DISCORD_ACCESS_TOKEN_ARB),
SetUpDiscord((discordClientOp = DiscordClient()), 'op', DISCORD_ACCESS_TOKEN_OP),
SetUpDiscord((discordClientLyra = DiscordClient()), 'lyra', DISCORD_ACCESS_TOKEN_LYRA),
SetUpTwitter(),
SetUpTelegram(),
FetchLeaderBoard(),
Expand All @@ -51,35 +59,29 @@ export async function Run() {
networks.map(async (network) => {
await runBot(network)
})

OneMinuteJob(discordClientEth, discordClientBtc, discordClientOp, discordClientArb, discordClientLyra)
// periodic jobs
if (!TESTNET) {
PricingJob(discordClient, discordClientBtc, discordClientLyra)
LeaderBoardFillJob()
LeaderboardSendJob(discordClient, twitterClient, telegramClient, networks)
StatsJob(discordClient, discordClientBtc, twitterClient, telegramClient, networks)
ArbitrageJob(discordClient, discordClientBtc, twitterClient, telegramClient, networks)
LeaderboardSendJob(discordClientLyra, twitterClient, telegramClient, networks)
StatsJob(discordClientLyra, twitterClient, telegramClient, networks)
ArbitrageJob(discordClientLyra, twitterClient, telegramClient, networks)
}
}

function InitVariables() {
global.LYRA_ENS = {}
global.LEADERBOARD_OPT = []
global.LEADERBOARD_ARB = []
global.PRICES = []
global.FREN = {}
global.LYRA_ARB = getLyraSDK(Network.Arbitrum)
global.LYRA_OPT = getLyraSDK(Network.Optimism)
global.ETH_PRICE = 0
global.ETH_24HR = 0
global.BTC_PRICE = 0
global.BTC_24HR = 0
global.LYRA_PRICE = 0
global.LYRA_24HR = 0
}

export async function runBot(network: Network) {
await RunTradeBot(discordClient, discordClientBtc, twitterClient, telegramClient, network)
await TrackEvents(discordClient, discordClientBtc, telegramClient, twitterClient, twitterClient1, network)
await RunTradeBot(discordClientLyra, twitterClient, telegramClient, network)
await TrackEvents(discordClientLyra, telegramClient, twitterClient, twitterClient1, network)
}

export async function SetUpTwitter() {
Expand Down
6 changes: 4 additions & 2 deletions app/src/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ export const DISCORD_ENABLED: boolean = _.defaultTo(
export const TELEGRAM_ACCESS_TOKEN = _.defaultTo(process.env.TELEGRAM_ACCESS_TOKEN, '')
export const TELEGRAM_CHANNEL = _.defaultTo(process.env.TELEGRAM_CHANNEL, '')

export const DISCORD_ACCESS_TOKEN = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN, '')
export const DISCORD_ACCESS_TOKEN_ETH = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN_ETH, '')
export const DISCORD_ACCESS_TOKEN_BTC = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN_BTC, '')
export const DISCORD_ACCESS_TOKEN_LYRA = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN_LYRA, '')
export const DISCORD_ACCESS_TOKEN_ARB = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN_ARB, '')
export const DISCORD_ACCESS_TOKEN_OP = _.defaultTo(process.env.DISCORD_ACCESS_TOKEN_OP, '')

export const TESTNET: boolean = _.defaultTo(convertToBoolean(process.env.TESTNET as string), true) as boolean
export const ENTROPY = _.defaultTo(process.env.ENTROPY, '')
Expand All @@ -54,6 +56,6 @@ export const TWITTER_APP_KEY1 = _.defaultTo(process.env.TWITTER_APP_KEY1, '')
export const TWITTER_APP_SECRET1 = _.defaultTo(process.env.TWITTER_APP_SECRET1, '')
export const TWITTER_ACCESS_TOKEN1 = _.defaultTo(process.env.TWITTER_ACCESS_TOKEN1, '')
export const TWITTER_ACCESS_SECRET1 = _.defaultTo(process.env.TWITTER_ACCESS_SECRET1, '')

export const SATSUMA_API_KEY = _.defaultTo(process.env.SATSUMA_API_KEY, '')
export const TOKEN_THRESHOLD = _.defaultTo(process.env.TOKEN_THRESHOLD, 1000)
export const DEPOSIT_THRESHOLD = _.defaultTo(process.env.DEPOSIT_THRESHOLD, 1000)
18 changes: 18 additions & 0 deletions app/src/constants/contractAddresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ export const ETH_OPTION_MARKET_ARB = '0x919e5e0c096002cb8a21397d724c4e3ebe77bc15
export const BTC_OPTION_MARKET_OP = '0xc7f1a22c30ae981e6a74a0267ce6cbbf27d8ecd5'
export const BTC_OPTION_MARKET_ARB = '0xe044919cf58dfb066fc9de7c69c7db19f336b20c'

export const OP_LIQUIDITY_POOL_OP = '0x12a4fd54aa321eb16b45310ccb177bd87c6ae447'
export const OP_OPTION_MARKET_OP = '0x2a21bfca834d122769cdf9d50b609ca6b210b7f0'

export const ARB_LIQUIDITY_POOL_OP = '0xdd0d125475453767e65f1a4dd30b62699fdcc9f5'
export const ARB_OPTION_MARKET_OP = '0xf10bb5296aa5bda5c190ce22f8acb4d4adaae1cd'

export const LYRA_TOKENS = {
LYRA_ETH: '0x01ba67aac7f75f647d94220cc98fb30fcc5105bf',
STKLYRA_ETH: '0xcb9f85730f57732fc899fb158164b9ed60c77d49',
Expand All @@ -22,6 +28,8 @@ export const LYRA_TOKENS = {
export const LYRA_OP = '0x50c5725949a6f0c72e6c4a641f24049a917db0cb'
export const ETH_OP = '0x4200000000000000000000000000000000000006'
export const BTC_OP = '0x68f180fcce6836688e9084f035309e29bf0a2095'
export const ARB_OP = '0x912CE59144191C1204E64559FE8253a0e49E6548'
export const OP_OP = '0x4200000000000000000000000000000000000042'

export const CONTRACT_ADDRESSES = [
LYRA_TOKENS.LYRA_ETH,
Expand All @@ -30,12 +38,22 @@ export const CONTRACT_ADDRESSES = [
LYRA_TOKENS.STKLYRA_OP,
LYRA_TOKENS.LYRA_ARB,
LYRA_TOKENS.STKLYRA_ARB,

ETH_LIQUIDITY_POOL_OP,
ETH_LIQUIDITY_POOL_ARB,

BTC_LIQUIDITY_POOL_OP,
BTC_LIQUIDITY_POOL_ARB,

OP_LIQUIDITY_POOL_OP,
OP_OPTION_MARKET_OP,

ARB_LIQUIDITY_POOL_OP,
ARB_OPTION_MARKET_OP,

ETH_OPTION_MARKET_OP,
ETH_OPTION_MARKET_ARB,

BTC_OPTION_MARKET_OP,
BTC_OPTION_MARKET_ARB,
]
18 changes: 12 additions & 6 deletions app/src/constants/urls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,20 @@ export const urls = {
}

export const iconUrls = {
optimism: 'https://raw.githubusercontent.com/ethboi/assets/main/optimism.png',
arbitrum: 'https://raw.githubusercontent.com/ethboi/assets/main/arbitrum.png',
lyra: 'https://raw.githubusercontent.com/ethboi/assets/main/general/lyra.png',
}

export const bannerUrls = {
optimism: 'https://raw.githubusercontent.com/ethboi/assets/main/op-bg.jpg',
arbitrum: 'https://raw.githubusercontent.com/ethboi/assets/main/arb-bg.jpg',
optimismSpacer: 'https://raw.githubusercontent.com/ethboi/assets/main/op-spacer.jpg',
arbitrumSpacer: 'https://raw.githubusercontent.com/ethboi/assets/main/arb-spacer.jpg',
lyra: 'https://raw.githubusercontent.com/ethboi/assets/main/lyra-bg.jpg',
spacer: 'https://raw.githubusercontent.com/ethboi/assets/main/spacer.jpg',
}

export type AssetType = 'eth' | 'wbtc' | 'op' | 'arb' | 'btc'

export const thumbUrls: Record<AssetType, string> = {
eth: 'https://raw.githubusercontent.com/ethboi/assets/main/discord/eth.png',
wbtc: 'https://raw.githubusercontent.com/ethboi/assets/main/discord/wbtc.png',
op: 'https://raw.githubusercontent.com/ethboi/assets/main/discord/op.png',
arb: 'https://raw.githubusercontent.com/ethboi/assets/main/discord/arb.png',
btc: 'https://raw.githubusercontent.com/ethboi/assets/main/discord/wbtc.png',
}
Loading

0 comments on commit cbb3961

Please sign in to comment.