Tranchess Docs
Website
  • ♟️Welcome to Tranchess
  • FAQ
    • 🎯Turbo and Stable
      • QUEEN
      • Turbo
      • Stable
      • Swap and LPs
      • Upon maturity
      • Staked ETH Yield Enhancement
        • Primary Market
          • turYETH and staYETH (Turbo and Stable)
        • Swap
    • ⚓Asset-Tracking and Liquid Staking
      • General
        • Create & Redeem
      • Liquid Staking
        • Liquid Staking - Ethereum
        • BNB Fund
      • Instant Swap
        • Instant Swap - Ethereum
        • Instant Swap - BNB Chain
        • Tranchess Swap (V1)
      • Rebalance
        • History Rebalance Record
    • CHESS
    • veChess
    • Governance
    • Roadmap
      • Milestone Timeline
    • Media Kit
  • Product Retirement Tracker
    • Intro: Transition Updates
    • Timeline & Milestones
    • User Guides
  • Tech Support
    • Protocol Overview
      • Fund
      • Primary Market
      • PrimaryMarket Router
      • StableSwap Router
      • Node Operator Registry
      • Governance & Crosschain
    • Node Operator
      • The Mechanics of qETH
        • An example for Node Operators
      • Node Operator Manual
        • Functions to Read Node Operator Information
    • Contracts
      • Tranchess on Scroll
      • Tranchess on Ethereum
      • Tranchess on BNB Chain
      • [Archive]Tranchess V1 Contracts
  • Whitepaper
    • DISCLAIMERS
  • Links
  • Tranchess
  • Governance Forum
  • GitHub
  • Medium
  • Twitter
  • Discord
  • Telegram
  • TranchessWiki
  • Bug Bounty
Powered by GitBook
On this page

Was this helpful?

  1. Tech Support
  2. Protocol Overview

PrimaryMarket Router

Creating/Splitting/Staking Tranches

PrimaryMarketRouter.create(address recipient, uint256 underlying, uint256 minOutQ, uint256 version) → uint256

Create QUEEN with underlying amount of underlying asset for recipient. It enforces the resulting QUEEN to be at least minOutQ and the version to be the current rebalance version.

PrimaryMarketRouter.createAndStake(uint256 underlying, uint256 minOutQ, address staking, uint256 version)

Create QUEEN with underlying amount of underlying asset and stake the QUEEN to staking contract for msg.sender. It enforces the resulting QUEEN to be at least minOutQ and the version to be the current rebalance version.

PrimaryMarketRouter.createSplitAndStake(uint256 underlying, uint256 minOutQ, address router, address quoteAddress, uint256 minLpOut, address staking, uint256 version)

Create QUEEN with underlying amount of underlying asset, split QUEEN into BISHOP and ROOK, stake the resulting BISHOP to StableSwap (found by querying router contract with BISHOP address and quoteAddress) for LP tokens. If staking is non-zero address, it further stakes the resulting ROOK to staking contract for msg.sender. It enforces the resulting LP token to be at least minLpOut and the version to be the current rebalance version.

PrimaryMarketRouter.splitAndStake(uint256 inQ, address router, address quoteAddress, uint256 minLpOut, address staking, uint256 version)

Split inQ amount of QUEEN into BISHOP and ROOK, stake the resulting BISHOP to StableSwap (found by querying router contract with BISHOP address and quoteAddress) for LP tokens. If staking is non-zero address, it further stakes the resulting ROOK to staking contract for msg.sender. It enforces the resulting LP token to be at least minLpOut and the version to be the current rebalance version.

PreviousPrimary MarketNextStableSwap Router

Last updated 1 year ago

Was this helpful?