PredIQt JavaScript/TypeScript Client Library
General purpose library for the PredIQt
Installation
Using yarn:
yarn add @everipedia/prediqt-js
or using npm:
npm install --save @everipedia/prediqt-js
Quick Start
API initialization
Frontend usage
import { Prediqt } from "@everipedia/prediqt-js"
const nodeEndpoint = "https://api.kylin.alohaeos.com"; // you can use any other node endpoint
const client = new Prediqt(
{ createApi: { signatureProvider, nodeEndpoint }}, // create signatureProvider with eosjs or based on it libs
auth, // (optional) Array with authorization objects, you can set it later with setAuth method
contracts // (optional) Object that takes prediqt, prediqtMarket, iqToken, prediqtBank contracts' names
);
// or you can pass created api
import { Api, JsonRpc } from "eosjs";
const rpc = new JsonRpc(nodeEndpoint);
const api = new Api({ rpc, signatureProvider }); // create rpc and signatureProvider with eosjs or based on it libs
const client = new Prediqt(
{ customApi: api },
... // the same parameters
);
Server usage
...
// or you can pass created api
const { Prediqt } = require("@everipedia/prediqt-js");
const { Api, JsonRpc } = require("eosjs");
const fetch = require("isomorphic-fetch");
const rpc = new JsonRpc(nodeEndpoint, { fetch });
const api = new Api({ rpc, signatureProvider }); // create rpc and signatureProvider with eosjs or based on it libs
const client = new Prediqt(
{ customApi: api },
... // the same parameters
);
Graph API initialization
import { PrediqtGraph } from "@everipedia/prediqt-js";
const apiEndponit = "https://prediqt-api-kylin.azurewebsites.net/graphql"; // endpoint for mainnet - https://prediqt-api-mainnet.azurewebsites.net/graphql
const graphClient = new PrediqtGraph(apiEndponit);
API
setAuth
Set authorization to execute transactions
Parameters
resetAuth
Reset authorization to execute transactions
setFee
Set a fee for the platform (admin only)
Parameters
claimShares
Claim shares for a particular market
Parameters
cancelOrder
Cancel an order
Parameters
createMarket
Create a Market
Parameters
data
Object
deleteMarket
Delete an existing Market
Parameters
marketId
number
limitOrder
Open an order for shares in a market
Parameters
data
Object
getLimitOrderActions
Gets an action for an order for shares in a market
Parameters
data
Object
marketResolve
Set the outcome of a market (only resolver)
Parameters
marketResolveOracle
Set the outcome of a market (only resolver)
Parameters
marketResolveIQ
IQ resolution method
Parameters
getTotalIqVotes
Get total IQ votes from IQ resolution method
proposeMarket
Propose a market to be part of the active markets
Parameters
creator
stringresolver
stringipfs
stringtimeIn
numbersymbol
stringtransferToken
stringtransferMemo
string
rejectMarket
Reject a proposed market (resolver only)
Parameters
setResolver
Change resolver for a market (admin only)
Parameters
withdraw
Withdraw from user balance
Parameters
syncBank
Sync Bank
transferShares
Transfer shares to user
Parameters
data
Object
cancelShares
Cancel transferred shares
Parameters
buyShares
Buy shares
Parameters
data
Object
sellShares
Sell shares
Parameters
data
Object
proposeMultiSig
Propose MultiSignature
Parameters
getAllowedAssets
Get allowed assets
getFees
Get fees related to the contract
Parameters
getShares
Get shares related to a market
Parameters
getReferrals
Get referral shares related to a market
Parameters
getMarkets
Get markets
Parameters
tableKey
string (optional, default""
)limit
number (optional, default100
)offset
number (optional, default0
)
getMarket
Get a single market
Parameters
marketId
number
getOrders
Get orders for a market
Parameters
data
Object
getBalance
Get balance of an user
Parameters
getIqBalance
Get IQ balance of an user
Parameters
username
string
getUserResources
Get resources of an user
Parameters
username
string
searchInOracles
Search user in table of oracles
Parameters
username
string
getAccount
Get account data of an user
Parameters
username
string
getContractForToken
Returns the appropriate smart contract for token
Parameters
token
string
Graph API
getProposedMarkets
Get proposed markets
Parameters
getMarkets
Get markets
Parameters
excludeInvalidIpfs
booleanskip
numbercount
numbercreator
stringfilterUrlParam
Object?isVerified
string
getMarket
Get market
Parameters
marketId
number
getMarketMetadata
Get market metadata only
Parameters
marketId
number
getMarketPage
Get market page
Parameters
getPlatformFees
Get platform fees
getCategoriesAndTags
Get categories and tags
getDappInfo
Get information about dapp
getUserProfile
Get user's profile
Parameters
username
string
getShareHolders
Get shareholders
Parameters
getChainInfo
Get info about node's backlog
getStatsByPeriod
Returns the platform stats by period (Weekly), limit: 20
Parameters
group_by
getLeaderboardByPeriod
Returns the leaderboard data group by period
Parameters
getUserSettings
Returns the user settings used for notifications
Parameters
username
string