Blockchain Protocol
prediqtpedia
This contract is the hearth of predIQt, it handles the order-book matching and connect creators with resolvers. It also takes care of the transfers and shares issuance.
prediqt::setfee(uint64_t fee_id, uint64_t fee_amount)
Set fees for the prediction markets. Only contract can run this action. There are 4 types of fees, 1 - market creation fee in IQ, 2 - creator fee %, 3 - resolver fee %, 4 - referral fee %. 2,3,4 have a precion of 10000.
fee_id -
fee_amount
prediqt::setresolver(name resolver, uint64_t market_id)
Set resolver for the prediction markets. Contract can run this action, or resolver after expiration.
resolver account that will be the new resolver
market_id market identifier
prediqt::propmarket(name creator, name resolver, string ipfs, uint32_t time_in, symbol symbol)
Creates a prediction market. Everybody can run this action.
creator account that will create the market
resolver account that will resolve the market
ipfs IPFS hash with content of the market
time_in when the market will allow resolver to act
symbol denominated symbol for the current market
prediqt::lmtorderyes(name user, uint64_t market_id, uint64_t shares, uint64_t limit, name referral, bool buy)
Open an order for YES. Everybody can run this action.
user account that will be opening the order
market_id market identifier
shares amount of shares willing to buy
limit limit price per share
referral referral account
buy buying or selling a share
prediqt::lmtorderno(name user, uint64_t market_id, uint64_t shares, uint64_t limit, name referral, bool buy)
Open an order for NO. Everybody can run this action.
user account that will be opening the order
market_id market identifier
shares amount of shares willing to buy
limit limit price per share
referral referral account
buy buying or selling a share
prediqt::cnclorderyes(name user, uint64_t market_id, uint64_t id)
Cancel a YES order. If market is resolved, everybody can run this action. If market is active, only order owner.
user account that will be closing an order
market_id market identifier
id order id
prediqt::cnclorderno(name user, uint64_t market_id, uint64_t id)
Cancel a NO order. If market is resolved, everybody can run this action. If market is active, only order owner.
user account that will be closing an order
market_id market identifier
id order id
prediqt::mktresolve(name resolver, uint64_t market_id, bool sharetype, string memo)
Resolve a market. Only resolver can run this action.
resolver account that will be resolving the market
market_id market identifier
sharetype YES or NO
memo message related to the resolution
prediqt::trnsfrshares(name from, name to, uint64_t shares, bool sharetype, uint64_t market_id)
Transfer shares between accounts. Only from account can perform this action.
from account that will be transfering his shares
to account destination
shares amount of shares to transfer
sharetype YES or NO
market_id market identifier
prediqt::withdraw(name user, uint64_t quantity)
Withdraw balance that its in user balance. Everybody can run this action.
user account that will be withdrawing his balance
quantity amount of tokens to withdraw
prediqt::mktinvalid(uint64_t market_id, string memo)
Mark a market as invalid. If market has not expired yet, only contract can execute, if it has expired, market resolver can execute it.
market_id market identifier
memo message related to invalidation
prediqt::delmarket(uint64_t market_id)
Delete a market if nobody has place an order. Market creator can execute this action.
market_id market identifier
memo message related to invalidation
prediqt::claimshares(name user, uint64_t market_id)
Burn shares and get EOS. Only owner of shares can perform this action.
user account that will receive earned shares
market_id market identifier
prediqt::payrefshares(name to, uint64_t quantity, uint64_t market_id)
Pay referral shares to users. Only contract can execute this action.
to account that will receive earned shares
quantity amount of shares to pay
market_id market identifier
prediqt::addasset(symbol symbol, name contract)
Add allowed assets to the contract. Only contract can execute this action.
symbol symbol that will be allowed
contract contract owner of the symbol
prediqt::removeasset(symbol symbol, name contract)
Remove allowed assets to the contract. Only contract can execute this action.
symbol symbol that will be allowed
contract contract owner of the symbol
prediqtbank
👍This contract stores tokens on behalve of main contract. Its purpose its to stake tokens and send them back to the main contract at the time that its needed. That reduces the amount of stored tokens in the main contract for security reasons.
prediqtbank::sync()
Sync and unstake / transfer back tokens. Everybody can execute this action.
prediqtiqresolution
👍This contract is one of the possible resolvers. It allows to vote using IQ for the outcome of a prediction market.
prediqtiqresolution::changeresolv(uint64_t market_id)
Change resolver to oracle. Everyone can execute this action once 3 days expiration time happens.
market_id market identifier
prediqtiqresolution::sendpayouts(uint64_t market_id)
Send payouts once market has been resolved by this resolver. Everyone can execute this action once market has been resolved.
market_id market identifier
Last updated