Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@sushiswap/trident
Advanced tools
TRIDENT 🔱 is a newly developed AMM and routing system from SushiSwap (Sushi). As a system, Trident is not a fork of any existing AMM, though to start, it incorporates popular AMM concepts into a single, upgradeable framework. The Sushi core team began development with Andre Cronje as Deriswap. This development continued on as Mirin developed by LevX. On May 12th, 2021, Sushi began building Trident in earnest on the Mirin/Deriswap foundation.
Trident is designed as an extensible AMM framework that allows developers to add new pool types that conform to the IPool interface. Before launch, an EIP will be submitted for the IPool interface design to help standardize pool interfaces across Ethereum. As new AMM pool types are designed or experimented with, they can be added to Trident so long as they conform to the interface. In this way Trident will at minimum be a superset of all popular AMM pool designs as well as a future-proof architecture for Sushi to build on.
Initially, Trident has been developed with four primary pool types for launch:
Constant product pools are the "classic" pools that users will be most familiar with, where trading happens between two assets over the x*y=k constant product formula. In this pool type, liquidity providers own both of the pool's assets in a 50:50 ratio, but the pool also supports a native zap-in feature where liquidity can be added in any ratio of the two tokens. This pool is our most "gas optimized" pool, where swaps are up to 25% cheaper than swaps on the existing Sushi AMM.
Concentrated liquidity pools allow liquidity providers to specify a price range on which to provide liquidity. Providing liquidity on a narrower price range has a multiplying effect on the added liquidity, meaning traders will experience lesser price impacts. This makes the Concentrated Liquidity pool more capital efficient than the classic pool, with the tradeoff being that liquidity providers can suffer greater impermanent loss. Each concentrated liquidity pool supports two assets.
Hybrid pools are designed for swapping like-kind assets. They are an implementation of the stableswap curve which is a hybrid of the x*y=k and x+y=k formulas. The pool works by concentrating liquidity around the price of 1 (e.g., 1 USDC per DAI or 1 renBTC per WBTC). Each hybrid pool supports two assets, with larger baskets supported in upcoming implementations.
Index pools are designed to hold from two to eight tokens, each with a different weight. Trading between two assets of the pool happens over a modified version of the constant product formula used in classic pools. The advantage of these pools is liquidity providers can utilize them to create auto rebalancing indices (e.g., a DeFi blue-chip index) that best match their risk profile.
All of these pools will have configurable fees that allow liquidity providers to strike a balance between offsetting their impermanent loss and having the pool stay market competitive.
As a gas-saving measure, Trident further allows pool deployers to disable TWAP oracles. Architecturally, this makes the most sense for common pairs that already have accurate Chainlink price oracles.
Trident is a native application on the Sushi BentoBox vault platform. BentoBox is part of the broader Sushi infrastructure that allows users to build complex, capital-efficient applications on top. BentoBox works by storing tokens to be utilized in strategies and flash lending. Meanwhile, a virtual "share" balance tracked by BentoBox is used by applications like Trident. The yield from BentoBox strategies and flash lending are returned to users, such as liquidity providers, enabling an optimized AMM experience. Indeed, Trident will be the most capital efficient AMM in existence at launch from this DeFi-optimized design.
For instance, if a user were to place a limit order or provide liquidity for a Trident pool, the underlying tokens would be making additional yield even if no swaps were occurring.
MasterDeployer
to deploy new pools from whitelisted factories.MasterDeployer
also controls the fee percentage that goes to xSUSHI, the barFeeTo
address.MasterDeployer
has an owner
(ops multisig), that'll control these parameters.TridentRouter
is the contract that gets whitelisted in BentoBox as the master app to transfer user tokens in/out of Trident pools and BentoBox.Tines is a new routing engine designed by Sushi for the Trident front end. Tines is an efficient multihop/multiroute swap router. Tines will query Trident pool types and consider factors such as gas costs, price impacts, and graph topology to generate a best price solution.
Different asset types perform better in different pool types. For instance, like-kind assets such as wBTC and renBTC tend to perform better in hybrid pools. Tines will allow routing more effectively to make multiple pools act as a unified pool resulting in drastically reduced price impacts.
At Sushi, we believe deeply in growing the open source ecosystem of DeFi. Our Trident contract set will be GPL3. As a matter of principle, Sushi will continue to release all software that we develop or own under GPL3 or other permissive OSS licenses.
Storage Proof TWAP
FAQs
Trident is a experimental framework for building AMM's.
We found that @sushiswap/trident demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.