BOB
  • 👋BOB Stablecoin
  • BOB Info
    • 🗺️BOB Ecosystem
      • Mellow Protocol Vaults
    • 🦊MetaMask
      • Swap BOB with Metamask Swap
    • 🔁BOB Swap
    • 🦄Uniswap v3
    • 🙋‍♀️BOB FAQ
  • BOB CDP
    • ℹ️About
    • 💡Use Cases
    • 👨‍🎤System actors
    • 📚System configurations
    • 🏦Vault health
    • 🏘️User flow examples
    • 👨‍💻Technical docs
      • Position valuation (technical)
      • Liquidations
      • Deployment addresses
      • Smart Contracts
        • NFTVaultRegistry
        • NFTVault
        • UniV3Oracle
        • ChainlinkOracle
        • DebtMinter
        • SurplusMinter
    • 🙋‍♂️CDP FAQ
  • BOB DAO
    • 🧑‍🤝‍🧑Governance
      • BOB DAO
      • Protocol Governance
        • GP 0: Increase SAFE membership
        • GP 1: Bob Swap beta testing infrastructure
        • GP 2: Upgrade Contracts to v1.0.0
        • GP 3: Enable Bob Swap for Public Use
        • GP 4: Increase Multisig & Upgrade BOB contract on all networks
        • GP 5: Enable Bob Swap on Ethereum Mainnet
        • GP 6: Upgrade zkBob to support direct deposits
        • GP 7: Increase Multi-chain Inventory and Update Bob Swap
        • GP 8: Extend pool limits for KYC'd users
        • GP 9: Deactivate Kyberswap inventory pairs [Emergency Measure]
        • GP 10: Reallocate previous Kyberswap inventory
        • GP 11: Add 24 hour timelock to BOB contract on Optimism
        • GP 12: Raise Polygon limits
        • GP 13: Launch BOB CDP
        • GP 14: Migrate BOB pool to USDC on Polygon
        • GP 15: KYB tiers on Optimism
        • GP 16: Remove excess inventory on Arbitrum and BNB Smart Chain
        • GP 17: Remove excess inventory on Optimism and Ethereum
        • GP 18: Remove excess inventory on Polygon
        • GP 19: Accrued Revenue Allocation
        • GP 20: Migrate BOB pool to USDC on Optimism
        • GP 21: BOB inventory reduction
    • 📋Inventory
      • Inventory Actions
  • BOB Resources
    • 🧩Visual Assets
    • ⛓️Links
Powered by GitBook
On this page
  • Proposal objective
  • Proposal Details
  • Optimism (8m → 1m)
  • Ethereum Mainnet (14m → 1m)
  • Proposal breakdown
  • Optimism
  • Ethereum Mainnet
  • Additional verification
  1. BOB DAO
  2. Governance
  3. Protocol Governance

GP 17: Remove excess inventory on Optimism and Ethereum

PreviousGP 16: Remove excess inventory on Arbitrum and BNB Smart ChainNextGP 18: Remove excess inventory on Polygon

Last updated 1 year ago

The proposal has been confirmed and executed by:

Proposal objective

Continued reduction of BOB inventory (see ) with decreases for BOB inventory on Ethereum Mainnet and Optimism.

Proposal Details

Overall decrease of total supply after this proposal is -20m BOB (35.5m → 15.5m).

Optimism (8m → 1m)

  1. Deallocate 5,000,000 BOB (5,000,000 BOB → 0 BOB) from BobSwap

  2. Deallocate 1,000,000 BOB (2,000,000 BOB → 1,000,000 BOB) from BOB/USDC 0.01% inventory position on Uniswap V3

  3. Deallocate 1,000,000 BOB (1,000,000 BOB → 0 BOB) from BOB/USDC 0.05% inventory position on Uniswap V3

Ethereum Mainnet (14m → 1m)

  1. Deallocate 5,000,000 BOB (5,000,000 BOB → 0 BOB) from BobSwap

  2. Deallocate 5,000,000 BOB (6,000,000 BOB → 1,000,000 BOB) from BOB/USDC 0.01% inventory position on Uniswap V3

  3. Deallocate 1,000,000 BOB (1,000,000 BOB → 0 BOB) from BOB/USDC 0.05% inventory position on Uniswap V3

  4. Deallocate 2,000,000 BOB (2,000,000 BOB → 0 BOB) from BOB/USDT 0.01% inventory position on Uniswap V3

Proposal breakdown

Optimism

  1. Remove and burn all excess BOB from BobSwap.

  2. Withdraw 100% (~1,000,000 BOB/USDC) of BOB/USDC 0.05% Uniswap V3 inventory LP with its fees.

  3. Withdraw 50% (~1,000,000 BOB/USDC) of BOB/USDT 0.01% Uniswap V3 inventory LP with its fees.

  4. Burn BOB obtained from inventory position principal.

  5. Transfer USDC obtained from inventory position principal to BobSwap.

  6. Disable BobSwap USDT→BOB and USDC→BOB BobSwap directions by setting swap fees to 100%.

  7. Set zero fees for BOB→USDC and BOB→USDT BobSwap directions.

  8. Claim BobSwap fees accumulated in USDC and USDT.

  1. Remove and burn all excess BOB from BobSwap

The second transaction is executed only once all USDC and USDT collateral from BobSwap has been redeemed following the first transaction execution.

Ethereum Mainnet

  1. Remove and burn all excess BOB from BobSwap.

  2. Withdraw 100% (~1,000,000 BOB/USDC) of BOB/USDC 0.05% Uniswap V3 inventory LP with its fees.

  3. Withdraw 83.33% (5/6) (~5,000,000 BOB/USDC) of BOB/USDC 0.01% Uniswap V3 inventory LP with its fees.

  4. Withdraw 100% (~2,000,000 BOB/USDC) of BOB/USDT 0.01% Uniswap V3 inventory LP with its fees.

  5. Burn BOB obtained from inventory position principal.

  6. Transfer USDC and USDT obtained from inventory position principal to BobSwap.

  7. Disable BobSwap USDT→BOB, USDC→BOB and DAI→BOB BobSwap directions by setting swap fees to 100%.

  8. Set zero fees for BOB→USDC, BOB→USDT and BOB→DAI BobSwap directions.

  9. Claim BobSwap fees accumulated in USDC, USDT and DAI.

  1. Remove and burn all excess BOB from BobSwap

The second transaction is executed only once all USDC, USDT and DAI collateral from BobSwap has been redeemed following the first transaction execution.

Additional verification

  1. Check token transfers in Tenderly simulation:

    1. forge test --match-path ./script/scripts/VerifySafeTx_Gov41.t.sol --ffi -vvvv

    2. Make sure jq CLI is installed

The following transactions use delegatecall to the to efficiently facilitate the complex inventory management process.

The first transaction in the Safe on Optimism contains the following sequence of actions:

The second transaction in the Safe on Optimism contains the following sequence of actions:

The following transactions use delegatecall to the to efficiently facilitate the complex inventory management process.

The first transaction in the Safe on Mainnet contains the following sequence of actions:

The second transaction in the Safe on Mainnet contains the following sequence of actions:

Check the code of

Check the code of

Check the following script with safe contract execution -

🧑‍🤝‍🧑
a transaction on Optimism #1
a transaction on Optimism #2
a transaction on Mainnet #1
a transaction on Mainnet #2
GP 16
0x889aED5204D9FB23c758588dcc7bFdf67302e9d7
#13
#14
0xF853E272893035a8C6A82616B7b442aB329D92D9
#14
#15
https://optimism.blockscout.com/address/0x889aED5204D9FB23c758588dcc7bFdf67302e9d7?tab=contract
https://eth.blockscout.com/address/0xF853E272893035a8C6A82616B7b442aB329D92D9?tab=contract
Optimism #13
Optimism #14
Mainnet #14
Mainnet #15
https://gist.github.com/k1rill-fedoseev/fd38a2ec10dfaf0e2608acfaea27505b