Skip to content

Latest commit

 

History

History
92 lines (53 loc) · 6.51 KB

4.md

File metadata and controls

92 lines (53 loc) · 6.51 KB

Product

Return to home

Table of Content

  1. Roadmap Development Process
  2. Decentralized Deployment
  3. Asset Listing Process
  4. Synth Swap
  5. Socket Plugin

Roadmap Development Process

Any time a new council is voted in, it will be the responsibility of the Elite Council, in collaboration with Core Contributors, to establish a refreshed roadmap. The Elite Council President will be accountable for coordinating the development of the roadmap. The roadmap will need to pass a feasibility check by all Core Contributors (CCs) where consensus is reached amongst CCs that they are comfortable with the scope of work and direction. If the roadmap does not receive majority support within the council or amongst CCs, the roadmap will need to be adjusted until it passes both checks.

Once the roadmap is approved, the Core Contributors will work to establish a delivery schedule reflective of the roadmap. As new KIPs are introduced, the CCs will be tasked with updating the delivery schedule to accommodate for the newly passed KIPs.

Milestones on the roadmap will include budgets of KWENTA bonuses for the adminDAO to distribute according to the involvement of relevant Contributors if the milestones are completed. The milestone bonuses are not bound by the dates they are scheduled for as there will inevitably be delays; additionally incentivizing early completion will drive timely development. The treasuryDAO will send the KWENTA to the adminDAO upon confirmed completion of a given milestone. It will be the responsibility of the Elite Council to confirm once a milestone has been reached. It will be the responsibility of the Management Contributors to define what qualifies as a completed milestone. It will be the responsibility of the treasuryDAO to determine a given epoch roadmap's milestone rewards budget.

Decentralized Deployment

The Kwenta frontend source code and Kwenta State Log (KSL) are hosted both on GitHub and distributed through a decentralized code collaboration network called Radicle. The elected Elite Council votes on the repositories it officially endorses. The Elite Council and Core Contributors manage a multisig which requires 2/6 votes, 5 of which are held by Elite Council members and 1 of which is held by the Core Contributors (any Core Contributor).

Frontend

Transaction-based execution directs which version of the code the official Kwenta ENS is pointing to on IPFS. This official version of Kwenta can be reached at: https://kwenta.eth.limo or ipns://kwenta.eth.

Code Repository

The endorsed decentralized code project for Kwenta is:

rad:git:hnrkdc9jh3a1ud7k3spy9pper1ptbkh55yy5y

And can be found at: https://kwenta-gov.on.fleek.co/seeds/maple.radicle.garden/rad:git:hnrkdc9jh3a1ud7k3spy9pper1ptbkh55yy5y/tree or on Github at: https://github.com/Kwenta/kwenta

Kwenta State Log Repository

The endorsed decentralized code project for the KSL is:

rad:git:hnrkq1oex148yz4zi9tm7spfnjaryyuc93yay

And can be found at: https://kwenta-gov.on.fleek.co/seeds/maple.radicle.garden/rad:git:hnrkq1oex148yz4zi9tm7spfnjaryyuc93yay/tree/master or on GitHub at: https://github.com/Kwenta/kwenta-state-log

Radicle Note

Due to Radicles current limitations while under active development, active development of the frontend code repository and code collaboration of the Kwenta State Log are taking place on GitHub.

In case of disagreements, abandonment or forks of the endorsed Kwenta source code project, community members can put forward requests to the Elite Council in order to vote on alternative project ids being supported and officially endorsed.

Asset Listing Process

In the event the Synthetix protocol supports a new synth, the Kwenta protocol will automatically list the asset and make it available for use in the product. Kwenta shall not take custodial control over users' assets and shall continue to act as a decentralized trading protocol.

Synth Swap

Leveraging 1inch (smart contracts and API) and Synthetix, Kwenta will enable the exchange of any ERC20 tokens for any synths (and vice versa) directly on its platform. The first iteration will support most ERC20 tokens that can be swapped on 1inch but will withhold the ability to add custom tokens for swaps.

Specification

User Flows: As a spot trader, I want:

  • Spot exposure with synthetic assets:
    • By swapping my ERC20 tokens or ETH for synths
  • To leave the ecosystem:
    • By swapping my synths for ERC20 tokens or ETH

As a futures trader, I want:

  • To open positions:
    • By swapping my ERC20 tokens or ETH for sUSD margin

SynthSwap smart contracts utilize both 1inch and Synthetix to execute ERC20 token swaps. SynthSwap provides swap functionality for ETH and 1inch supported ERC20 tokens to synths and vice-versa. Swap aggregation data is generated off-chain via 1inch's API and used on-chain to efficiently execute token exchange through 1inch smart contracts. The Synthetix exchange fills in the last leg of the swap if needed (if swapping Synth <-> Synth). This allows for users to go from ETH to sETH in one transaction vs previously having to go from ETH to sUSD and then a separate transaction for sUSD to sETH.

  • SynthSwap NPM Package: npmjs.com/package/@kwenta/synthswap
  • Kwenta aggregator contracts: github.com/Kwenta/synthswap

Socket Plugin

The Socket Plugin offers a user-friendly, multichain experience with minimal resource allocation for integration and developer overhead. It currently supports multichain swaps between Optimism, Ethereum, Binance Smart Chain, Gnosis Chain, Polygon, Fantom, Arbitrum, Avalanche, and Aurora in a single transaction. This integration will improve onboarding for users across the DeFi ecosystem.

Specification

The Socket Plugin contracts interact with the Socket Liquidity Layer, which aggregates various bridge and DEX aggregators. The swap functionality will offer synthetic assets from Synthetix, where available, on their native chains.

This allows users to start from any token on any of the supported chains and exchange it into a new token on the chain of their choice. For example, a user could hold ETH on Arbitrum, bridge and exchange it into sUSD on Optimism, and deposit it directly into their trading account.

Fur further information, see Socket Plugin Documentation

Copyright

Copyright and related rights waived via CC0.