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
  • Objective
  • BAB NFTs
  • KnowYourCat Protocol
  • Mechanism
  • Proposal breakdown
  • Action 1
  • Action 2
  • Verification
  1. BOB DAO
  2. Governance
  3. Protocol Governance

GP 8: Extend pool limits for KYC'd users

PreviousGP 7: Increase Multi-chain Inventory and Update Bob SwapNextGP 9: Deactivate Kyberswap inventory pairs [Emergency Measure]

Last updated 1 year ago

Proposal was confirmed and executed:

Objective

Allow KYC'd users to deposit additional funds into zkBOB. An additional tier is added to increase limits to 20,000 BOB per day for users who hold a BAB NFT on Binance Chain.

BAB NFTs

In 2022, Binance introduced soulbound tokens known as . These tokens serve as identity credentials for Binance users who have completed KYC verification. These credentials can be extended to other chains using the protocol.

KnowYourCat Protocol

Information about BAB token ownership can be transferred from BNB Smart Chain to additional chains using the protocol. This protocol creates a cryptographic proof that a user possesses the token on BSC and lets users provide this proof to other supported chains. A user's BAB token status can be obtained from an NFT-compatible contract. The official KnowYourCat contract on Polygon is at , as referenced in the .

Mechanism

To extend limits for BAB token holders, this proposal creates a new tier limit in the zkBob pool and configures a KYC Provider Manager which checks the status of BAB token ownership on the KnowYourCat NFT contract.

The KYC Provider Manager manager is deployed at .

This manager contract introduces the method getIfKYCpassedAndTier to access the limit tier for a user owning a BAB token. The manager provides 254 as the tier id for users who hold a BAB NFT.

The manager is configured so that each time a user requests a deposit, the account is checked to see if it has its own tier limit. If it does not, the manager is asked to return the tier and default limits apply.

Proposal breakdown

The transaction contains 2 actions:

Action 1

tvlCap: 1'000'000 BOB
dailyDepositCap: 300'000 BOB
dailyWithdrawalCap: 100'000 BOB
dailyUserDepositCap: 20'000 BOB
depositCap: 20'000 BOB
dailyUserDirectDepositCap: 10'000 BOB
directDepositCap: 1'000 BOB

Action 2

Verification

  1. The method kycProvidersManager must return 0xb8580ea6312dd2311d72bc932b0354a07d974138

The corresponding transaction in the governance safe is.

setLimits (the selector is 0xe8fd02e4) is called from the zkBobPool contract (). The method is called to configure limits for tier 254 which is associated with BAB token owners. The limits for this tier differ from tier 0 where dailyUserDepositCap and depositCap are both 10,000 BOB.

The zkBobPool contract is upgraded to reflect these changes. ().

The new implementation is applied through the upgradeTo call (the selector is 0x3659cfe6).

setKycProvidersManager (the selector 790c3a33) is called from the zkBobPool contract ().

This method configures the contract as the KYC Provider Manager.

Proposal execution can be verified in the :

The method getLimitsFor for an account synchronised with BAB token ownership information through should display new limits. For example, one could use the account 0x813399e5b08Bb50b038AA7dF6347b6AF2D161828.

πŸ§‘β€πŸ€β€πŸ§‘
https://polygonscan.com/tx/0xd1f394e880ac56f1929f93d49b98b7b318b80544040ffe3009191f46ce438fb3
Binance Account Bound (BAB) tokens
KnowYourCat
KnowYourCat
0xE3c6Fd631043A0a1927c4681C736b778aA8F8feF
KnowYourCat documentation
0xb8580ea6312dd2311d72bc932b0354a07d974138
transaction #28
0x72e6B59D4a90ab232e55D4BB7ed2dD17494D62fB
0x72e6B59D4a90ab232e55D4BB7ed2dD17494D62fB
0x0eDcE5CAf830c6b845503001D8378b0d4F3b89bB
0x72e6B59D4a90ab232e55D4BB7ed2dD17494D62fB
0xb8580ea6312dd2311d72bc932b0354a07d974138
zkBobPool contract
the KnowYourCat protocol