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
string -
resolver
string -
ipfs
string -
timeIn
number -
symbol
string -
transferToken
string -
transferMemo
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
boolean -
skip
number -
count
number -
creator
string -
filterUrlParam
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