visoftsolutions / ksox Goto Github PK
View Code? Open in Web Editor NEWCryptocurrency Exchange & Crypto Payment Processor, powered by zk-STARK
Cryptocurrency Exchange & Crypto Payment Processor, powered by zk-STARK
Introduction
Users on KSOX Exchange will receive badges for certain actions, we need user panel to present already gained badges.
There are 5 groups of badges more info can be found here:
README.md
Root
ksox/web/@app/dasboard/
Task Description
Develop User Panel component that will present basic user info (user name, user's avatar) and received badges.
Panel should take less than half of the viewport's height.
Design frontend components using mainly color pallete from ksox/web/@app/dashboard/tailwind.config.cjs
Dashboard needs to be responsive, it has to present well on both desktop and mobile. For responsive design use only tailwindCSS media query tags.
Users on KSOX Exchange will receive badges for certain actions, we need dashboard to present already gained badges and those that are not yet received.
There are 5 groups of badges more info can be found here:
README.md
ksox/web/@app/dasboard/
Develop Dashboard component that will present badges themselves in groups they belong to in appealing and informative way.
Each badge is going to have name, short description, progress bar, and avatar / graphic.
Badge can be in two states "gained" (progressbar 100% and highlighted) and "not gained" (progresbarr at X%)
Design frontend components using mainly color pallete from ksox/web/@app/dashboard/tailwind.config.cjs
Dashboard needs to be responsive, it has to present well on both desktop and mobile. For responsive design use only tailwindCSS media query tags.
Progress bar component pattern can be found here:
ksox/web/@app/exchange-landing/src/components/Token/ProgressBar.tsx
We need to create a simplified view of the Payment Processor Application based on the Revolut design. The design should be coherent for both mobile and desktop versions, focusing on a minimalistic approach as per the reference pictures provided.
Home View
Transfer View
Basic Desktop View
Issue Description:
The goal of this issue is to create the Deposit and Withdrawal sections on our exchange front-end. These sections will allow users to deposit and withdraw assets from the exchange.
The following components need to be modified:
web/@app/exchange/src/components/Assets.tsx
web/@app/exchange/src/components/Assets/
Tasks:
Implement the Deposit section:
Implement the Withdrawal section:
Additional Notes:
The current backend codebase lacks consistent formatting and readability in various sections throughout the project. There are multiple places where code reformatting can be applied to enhance clarity and maintainability. To achieve this, we need to leverage the power of Rust macros, including procedural macros, derived macros, and other available macros, to streamline and beautify the code.
The primary goals of this task are as follows:
To accomplish the goals mentioned above, we will undertake the following steps:
This is a substantial task aimed at improving the overall consistency, readability, and maintainability of the backend codebase. If you encounter any challenges or require further clarification, please don't hesitate to reach out for assistance.
Description:
I would like to assign a task to develop a Rust module that serves as an interface for communicating with a blockchain. We will be using the alchemy provider for this purpose. The module should provide the following functionalities:
Subscribe to Blockchain Events:
Calling Smart Contract Methods:
To accomplish this task, I recommend utilizing the ethers-rs Crate. This library provides helpful abstractions and utilities for interacting with Ethereum, including the ability to specify the HTTP provider or WebSocket provider, as well as the contract's ABI.
To get started, please create a new blockchain module within the server crate and begin working on the implementation. Feel free to ask me any questions if you require clarification or guidance on the best approach for development.
Please ensure that the resulting interface is robust, flexible, and meets the requirements mentioned above. If you encounter any uncertainties or believe that additional information is necessary, please don't hesitate to ask for further clarification.
Introduction
There is need for component that we can show notifications with. This component is placed in bottom left corner. It works like FIFO queue. Items are auto-removed after constant amount of time.
Root
ksox/web/@app/dasboard/
Task Description
Most recent notification is displayed at the bottom-most position of the component. Notifications are removed from the
top-most position when the have been displayed for some time. Notifications are tiles on this stack.
Tile should be of simple design should handle arbitrary children component.
The current logic behind the Notification Manager in the notifications.rs
file located at server/worker/src/database/managers/notifications.rs
requires optimization and redesign to improve its efficiency. The existing implementation relies on a listen-notify channel from the database, where JSON messages flow to indicate changes in specific tables. The Notification Manager listens to this channel, retrieves modified or inserted data from the database, and propagates relevant messages to subscribed users based on their specified predicates.
However, the current approach becomes inefficient when dealing with a large number of users since it linearly checks each predicate for every received message. To enhance the performance and elegance of the Notification Manager, we need to come up with a more efficient algorithmic solution while maintaining its current functionality.
The primary goals of this task are as follows:
To ensure a successful redesign of the notification manager logic, it is crucial to have a clear understanding of the current implementation and the desired improvements. Please feel free to ask any questions or seek further clarification before proceeding with the implementation.
We need to implement the functionality to allow users to connect their wallet to our application and perform deposit and withdraw operations between their wallet and the application's smart contract. This will involve interaction with the specific methods within our smart contract and implementing appropriate client-side logic and interfaces.
Smart Contract: Treasury.sol
depositPermit
on the smart contract, which emits a Deposit
event containing the information needed for the server to account for the funds.Deposit
events from the blockchain, and when received, accounts the funds properly.depositPermit
method on the smart contract.withdrawPermit
method on the smart contract, providing a valid signature, triggering the Withdraw
event.Withdraw
event until a deadline
. If the event is not received, the server restores the locked funds to the user internally.The two subsites for deposit and withdraw functionality must be implemented more less according to this 'professional' Figma design.
There is a lot of free space to change this design and make that better.
depositPermit
method.withdrawPermit
method.The current badge storage mechanism in the engagement engine has limitations that hinder the flexibility of managing badges. The badges are currently stored in the code, preventing easy addition, modification, or removal of badges while the service is running. To overcome these limitations and improve the badge management functionality, we need to upgrade the badge storage to PostgreSQL.
Analyze the current engagement engine and the code responsible for badge storage: server/engagement/src/engagement_engine/badges
The proposed solution is to store the badges' metadata in a PostgreSQL database. This upgrade will allow us to add new badges, modify descriptions, names, and values of existing badges without having to make changes to the code. The goal is to preserve the current engagement functionality while enhancing the badge management capabilities.
Before proceeding with the implementation, please reach out to me to clarify any additional details or requirements. It is crucial to maintain the current code conventions and adhere to good practices throughout the upgrade process.
Note: If you need assistance or have any questions during the implementation, please don't hesitate to ask for support.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.