Balancer V1
Discord
  • Home
  • Getting Started
    • Use Cases
    • FAQ
  • Core Concepts
    • Protocol
      • Background
      • Glossary
      • Pool Lifecycle
      • Limitations
      • Math
        • Exponentiation
    • BAL Governance Token
      • BAL for Gas
    • Liquidity Mining
      • Exchange and BAL Mining Listing
      • Liquidity Mining Estimates API
    • Security
      • Audits
      • Bug Bounty
  • Smart Contracts
    • Exchange Proxy
    • Smart Order Router
      • Development & Examples
    • Smart Pools
      • Overview
      • Configurable Rights Pool
      • Component Libraries
        • Rights Manager
      • Smart Pool Templates
      • Liquidity Bootstrapping FAQ
    • On Chain Registry
    • Interfaces
    • Addresses
  • API
    • Migration to Version 1.0
    • Events
    • API Index
    • UML Docs
  • Guides
    • Interact via Etherscan
    • Using the SOR
    • Creating a Shared Pool
    • Creating a Smart Pool
    • CRP Tutorial
      • Liquidity Bootstrapping Example
    • Smart Pool Use Cases
      • Liquidity Bootstrapping Pool
      • Swing Trading Pool
      • Smart Treasury
      • Perpetual Synthetic Pool
      • Investors' Club
      • Experimental
    • Testing on Kovan
    • Hackathons
      • Hacking & Testing
      • Judging
      • Ideas
Powered by GitBook
On this page
  • This page has been deprecated. V1 documentation is partially maintained here
  • Smart Pool Templates
  1. Smart Contracts
  2. Smart Pools

Smart Pool Templates

PreviousRights ManagerNextLiquidity Bootstrapping FAQ

Last updated 3 years ago

This page has been deprecated. V1 documentation is partially maintained

Smart Pool Templates

Balancer provides templates at two levels. At the contract level, templates are examples of how to extend the core Smart Pool contract for custom use cases (see below).

For most use cases, you can just use the Configurable Rights Pool directly, and need only to customize the settings. The in the guides section show examples of how to configure smart pools for different expected use cases.

Smart Pool Template contracts are example subclasses of the Configurable Rights Pool, illustrating how particular use cases might be implemented. The first is the Ampleforth-inspired Elastic Supply Pool.

Updating weights in a regular Configurable Rights Pool transfers tokens (to keep prices stable). In the case of AMPL, a combination of "rebasing" (altering the token supply) and changing weights accomplishes this without transferring tokens. In Elastic Supply Pools, weights are "resynced" instead of "updated."

To disallow both kinds of updates in the same pool, the Elastic Supply Pool overrides and reverts the existing update functions, and implements the new resync() method.

here
Smart Pool Templates