Shprd
  • Shprd
    • 📒Introduction
    • 📜Whitepaper
  • UNDERSTAND SHPRD
    • 📚Protocol Overview
    • 📈Vault Rebalancing
    • 🛡️Security
      • ⏯️Pause procedure
      • 🆘Emergency Contact
    • 💸Protocol Fees
    • 🕸️Networks
  • Guides
    • 👷Create and manage a vault
      • ⛏️Create a vault
      • ⚙️Manage a vault
    • 💰Investing in a vault
      • 🤝Choose a vault
      • 📥Deposit in a vault
      • 📤Redeem in vault
    • 🏎️RPC
      • 🔁Change RPC
      • 🔧Create your own RPC
    • 🔑Cold Wallet
  • Technical Reference
    • 🧠Core Contracts
      • 📓VLib
      • 🏭Factory
      • 💎Vault
      • 💰FeesManager
      • ⛔AccessManager
      • 🛂KYCToken
    • 📌Contracts Addresses
      • 🪙BNB Chain
      • 🚀Arbitrum
    • 📊Subgraphs
  • Other websites
    • 🔗Linktree
    • 🆔Authentication
    • 🏛️Trading Signals
  • Find Us
    • 🎮Discord
  • Help
    • 📢Issues
Powered by GitBook
On this page
  • UUPS Proxies
  • Beacon Proxy
  1. UNDERSTAND SHPRD

Security

PreviousVault RebalancingNextPause procedure

Last updated 2 years ago

UUPS Proxies

In order to be able to improve and secure the protocol, the following smart-contracts use UUPS Proxy pattern to make them upgradeable:

  • AccessManager

  • FeesManager

  • KYCToken

The UUPS proxy pattern was first documented in EIP-1822. Unlike Transparent pattern, in UUPS the upgrade logic is handled by the implementation contract itself. The UUPS implementation used by Shprd smart-contracts is the OpenZeppelin UUPSUpgradeable interface.

Beacon Proxy

Vault smart-contracts use Beacon proxy pattern to be able to change the logic of all the vaults created at once. The beacon proxy pattern was first documented in EIP-1967. The Beacon implementation used by Shprd smart-contracts is the OpenZeppelin UpgradeableBeacon interface.

🛡️
EIP-1822: Universal Upgradeable Proxy Standard (UUPS)Ethereum Improvement Proposals
EIP-1822
Proxies - OpenZeppelin Docs
OpenZeppelin UUPSUpgradeable interface
EIP-1967: Standard Proxy Storage SlotsEthereum Improvement Proposals
EIP-1967
Proxies - OpenZeppelin Docs
OpenZeppelin UpgradeableBeacon interface
Logo
Logo