inno-data
This is a collection of utilities to query LuckySwap data from Ethereum. This data has been indexed by the Graph via the subgraph the LuckySwap team maintains.
Supported Queries
The below all return a Promise that resolves with the requested results.
-
innai.priceUSD({¹})
Gets USD price of Innovai. -
innai.priceETH({¹})
Gets ETH price of Innovai. -
blocks.latestBlock()
Gets the latest block. -
blocks.getBlock({¹})
Gets data for the specified block. -
charts.factory()
Gets data for the LuckySwap factory broken down daily + weekly. -
charts.tokenHourly({token_address, startTime?})
Gets data for specified token broken down hourly. -
charts.tokenDaily({token_address})
Gets data for specified token broken down daily. -
charts.pairHourly({pair_address, startTime?})
Gets data for specified pair broken down hourly. -
charts.pairDaily({pair_address})
Gets data for specified pair broken down daily. -
exchange.token({¹, token_address})
Gets data for specified token. -
exchange.token24h({¹, token_address})
Gets 24h data for specified token. -
exchange.tokenHourData({², token_address})
Gets hourly data for specified token. -
exchange.tokenDayData({², token_address})
Gets daily data for specified token. -
exchange.tokens({¹})
Gets data for all tokens. -
exchange.tokens24h({¹})
Gets 24h data for all tokens. -
exchange.pair({¹, pair_address})
Gets data for specified pair. -
exchange.pair24h({¹, pair_address})
Gets 24h data for specified pair. -
exchange.pairHourData({², pair_address})
Gets hourly data for specified pair. -
exchange.pairDayData({{², pair_address})
Gets daily data for specified pair. -
exchange.pairs({¹, [pair_addresses]?})
Gets data for all / specified pairs. -
exchange.pairs24h({¹})
Gets 24h data for all pairs. -
exchange.ethPrice({¹})
Gets USD price of ETH. -
exchange.ethPriceHourly({²})
Gets USD price of ETH broken down hourly. -
exchange.factory({¹})
Gets all data for the LuckySwap factory. -
exchange.dayData({²})
Gets data for the LuckySwap factory broken down by day. -
exchange.twentyFourHourData({¹})
Gets 24h data for the LuckySwap factory. -
exchange_v1.userHistory({², user_address})
Gets LP history for specified user. -
exchange_v1.userPositions({¹, user_address})
Gets LP positions for specified user. -
masterdeveloper.info({¹})
Gets MasterDeveloper contract info. -
masterdeveloper.pool({¹, pool_id, pool_address})
Gets pool info, either by pool id or by pool address. -
masterdeveloper.pools({¹})
Gets pool info for all pools in MasterDeveloper. -
masterdeveloper.user({¹, user_address})
Gets user's data for all of the user's pools. -
masterdeveloper.users({¹})
Gets all users and data for all of the users' pools. -
masterdeveloper.apys({¹})
Gets pool info for all pools in MasterDeveloper including APYs. -
masterdeveloper.apys24h({¹})
Gets 24h pool info for all pools in MasterDeveloper including APYs. -
exchange.stakedValue({¹, token_address})
Get pricing info for MasterDeveloper pool. -
innovaegenerator.info({¹})
Gets InnovaeGenerator contract info. -
innovaegenerator.user({¹, user_address})
Gets InnovaeGenerator data for specified user. -
innovaispawner.info({¹})
Gets InnovaiSpawner contract info. -
innovaispawner.servings({²})
Gets past servings to the innovaegenerator. -
innovaispawner.servers({¹})
Gets servers that have served Innovai to the innovaegenerator. -
innovaispawner.pendingServings({¹})
Gets data on the servings ready to be served to the innovaegenerator. -
timelock.queuedTxs({²})
Gets queued Timelock transactions. -
timelock.canceledTxs({²})
Gets canceled Timelock transactions. -
timelock.executedTxs({²})
Gets executed Timelock transactions. -
timelock.allTxs({²})
Gets all Timelock transactions. -
lockup.user({¹, user_address})
Gets lockup data for specified user. -
breadbox.clones({masterAddress, chainId})
Gets Clone contracts for specified master contract.
¹ {block, timestamp}
Supports fetching at a specific block / UNIX timestamp.
² {minBlock, maxBlock, minTimestamp, maxTimestamp}
Supports fetching in a specific timeframe.
Supported Subscriptions
The below all return an Observable that when subscribed to with an object.
-
innai.observePriceETH()
Gets an observable of the current ETH price of Innovai. -
blocks.observeLatestBlock()
Gets an observable of the latest block. -
exchange.observeToken({token_address})
Gets an observable for specified token. -
exchange.observeTokens()
Gets an observable for the top 1000 tokens (by volume in USD). -
exchange.observePair({pair_address})
Gets an observable for specified pair. -
exchange.observePairs()
Gets an observable for the top 1000 pairs (by liquidity in USD). -
exchange.observeEthPrice()
Gets an observable for the current USD price of ETH. -
exchange.observeFactory()
Gets an observable for the LuckySwap factory. -
innovaegenerator.observeInfo()
Gets an observable for InnovaeGenerator contract info. -
innovaispawner.observePendingServings()
Gets an observable for pending servings.
Timeseries
innaiData.timeseries({blocks = [], timestamps = [], target = targetFunction}, {targetArguments})
Returns an array of queries. Blocks / timestamps are arrays of the blocks / timestamps to query (choose one). The target is the target function, the target arguments are the arguments for the target. See example below
Example
const innaiData = require('@innoswap/inno-data'); // common js
// or
import innaiData from '@innoswap/inno-data'; // es modules
// query and log resolved results
innaiData.masterdeveloper
.pools({block: 11223344})
.then(pools => console.log(pools))
innaiData.timelock
.allTxs({minTimestamp: 1605239738, maxTimestamp: 1608239738})
.then(txs => console.log(txs))
innaiData.innovaegenerator
.user({user_address: '0x6684977bbed67e101bb80fc07fccfba655c0a64f'})
.then(user => console.log(user))
innaiData.exchange
.observePairs()
.subscribe({next: (pairs) => console.log(pairs), error: (err) => console.log(err)})
innaiData
.timeseries({blocks: [11407623, 11507623, 11607623], target: innaiData.exchange.pair}, {pair_address: "0x795065dCc9f64b5614C407a6EFDC400DA6221FB0"})