Giter Club home page Giter Club logo

everipedia-bounties's People

Contributors

dawsbot avatar kesar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

everipedia-bounties's Issues

PredIQt alert bot ($3,500)

Pre-Requisites

Description

A Telegram bot that allow users to subscribe to their personal data in predIQt.

Users should be able to receive alerts (with links) when:

  • their orders are placed, partially filled or filled
  • market changes statuses (ended, resolved, disputed)
  • shares available to claim
  • shares claimed / burned

User can add multiple accounts to subscribe, you can take as an inspiration @EOSauthoritybot in telegram.

All the bot UI should be intuitive using buttons like the one we suggested as inspiration.

Must use Telegraf ( https://github.com/telegraf/telegraf ). Use Dfuse's GraphQL API for data reception.

Bot should use environment variables to allow running in Kylin (for testing purposes) & Mainnet.


This task will require using a database. Please use SQL. Information stored in the database will include information like:

  • EOS account name
  • Telegram account name
  • You do NOT need to store which events the user subscribes to. Event subscriptions are all or nothing.

Mindswap limit order Node.js bot ($1,000)

Blocked on completion of #2

Pre-Requisites

  • Node.js programing

Description

Create a Node.js bot that can interact with limit order contract and arbitrage.

Contracts branch: https://github.com/Avm07/mindswap-smart-contracts/tree/develop/contracts/limit
Kylin contract deployed: https://kylin.bloks.io/account/mindswaplimt

Bot should be able to place orders, withdraw and arbitrage with mindswap. It should use environment variables to allow run on Kylin & EOS Mainnet.

Opendata price feed Oracle ($2,500)

Description

Develop an EOS smart-contract that allow to verify signatures from open data oracles. Allow set bounties per data push. Store median of last prices.

Contract should have an action where anyone can push a json string that comes from the coinbase / okex API. Contract must parse that json and validate the signatures, then store pair information in a table and calculate aggregated data (median, etc).

Entities will have an easy & documented eos table that can integrate in their products for pricing oracles. Those entities should be able to fill a bounty table transfering IQ tokens.

There must be a configurable table to set the bounty per data push, and oracles that push the data will earn a fee per push. Contract should only allow one unique push of data, so nobody can send twice same data.

Links

https://prices.compound.finance/
https://api.pro.coinbase.com/oracle
https://www.okex.com/api/market/v3/oracle
https://compound.finance/docs/prices#introduction
https://github.com/compound-finance/open-oracle
https://blog.coinbase.com/introducing-the-coinbase-price-oracle-6d1ee22c7068


Contracts must have a test suite build with boost similar to eosio.contracts. Please you must use this project as template ( https://github.com/kesar/eos-dev-template ) that uses docker + makefiles + boost unit tests.

Opendata price feed Node.js bot ($1,000)

Blocked on completion of #5

Pre-Requisites

  • Node.js programing

Description

Create a bot that can interact with open data price feed oracle contract.

Bot should be able to check data from coinbase & okex & more in the future and push it into the contract. It should use environment variables to allow run on Kylin & EOS Mainnet.

PredIQt oracle using Provable ($2,000)

Blocked awaiting communication between Everipedia and Provable team

Description

Develop a contract that uses provable ( https://github.com/provable-things/eos-examples ) to resolve a market for token price.

As actions can't be automatized on EOS, it should be triggered manually when market ends with a public action through a cron or using croneos ( http://croneos.io )

Contracts must have a test suite build with boost similar to eosio.contracts. We strongly recommend to use this project as template ( https://github.com/kesar/eos-dev-template ) that uses docker + makefiles + boost unit tests.

Mindswap limit order smart-contracts ($3,000)

Pre-Requisites

Description

Contract 1 (limit order contract)

Develop a contract that allow to store limit orders between 2 different extended assets. This contract should allow partial and full fill.

When an order is filled or partially-filled, the user can then withdraw the earned asset from the smart contract. (do not do an auto-transfer)

Contract 2 (arbitrage contract)

Develop a contract that has a method that can arbitrage between the previous limit order contract and mindswap.

a contract similar to the flash loans ones, that can be called by a pair or by an order id from the limit order, and it will try to fill it or fail using mindswap. Something like:

action arbtrade(user, orderId, mindswapool)

for example, lets say we have an order 1 EOS - 4 IQ
arbtrade(orderId)

  • check limit order contract to see the orderId and mindswap pool for EOS IQ, if its possible to exchange 1 EOS for >= 4 IQ. then trade is executed, otherwise fail and no cpu usage.
  • if arbitrage is successfull and there are some earnings, those will go to user

arbpair(user, limitpair, mindswapool, limit)
same than arbtrade but with an iterator over the whole limit pair


Inspiration: https://medium.com/@pine_eth/pine-finance-an-amm-orders-engine-525fe1f1b1eb

Contracts must have a test suite build with boost similar to eosio.contracts. Please use this project as template ( https://github.com/kesar/eos-dev-template ) that uses docker + makefiles + boost unit tests.

If you complete this AND want to continue similar work, #3 is another bounty that comes after this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.