Inverse Bonding Curve
  • The Inverse Bonding Curve
  • Security
    • Trust Security Audit Report
  • Usecases
    • Exponents
  • Concepts & Protocol
    • Bonding Curves
    • Inverse Bonding Curves (IBCs)
    • Curve Initialization
    • Minting / Burning
    • Liquidity Providing
    • Inverse Bonded Assets (ibAssets)
    • Fees
  • Smart Contracts
    • Deployed Contracts
    • Inverse Bonding Curve
    • IBC Factory
    • IBC Router
    • IBC Admin
Powered by GitBook
On this page
  • Events
  • CurveCreated
  • State-Changing Functions
  • CreateCurve
  • Read-Only Functions
  • getCurve
  • allCurvesLength
  1. Smart Contracts

IBC Factory

The IBC Factory contract acts as the deployer for new Inverse Bonding Curve contracts. Users can make a request to this contract to make new deployments of IBCs.

The IBC Factory maintains the full list of all deployed IBCs (curves), made queryable by users.

Events

CurveCreated

Emitted at IBC contract creation for the specified reserve asset.

event CurveCreated(
    address curveContract, 
    address tokenContract, 
    address proxyContract, 
    uint256 initialReserve
);
Parameter
Type
Description

curveContract

address

Contract address of IBC implementation

tokenContract

address

Contract address of ibAsset token contract

proxyContract

address

Contract address of IBC proxy contract

initialReserve

uint256

Initial reserve amount of curve

State-Changing Functions

CreateCurve

Deploys a new IBC implementation, its proxy contract, and the relevant ibAsset token contract for the specified reserve asset.

function createCurve(
    uint256 initialReserves, 
    address reserveTokenAddress, 
    address recipient
) external payable
Parameter
Type
Description

initialReserves

uint256

Amount of initial reserves to supply to curve

reserveTokenAddress

address

Contract address of the reserve asset token contract

recipient

address

Address to receive initial LP position

Read-Only Functions

getCurve

Gets the contract address of the specified reserve asset's IBC implementation.

function getCurve(address reserveToken) public view returns (address)
Parameter
Type
Description

reserveToken

address

Contract address of reserve asset

Type
Description

address

Contract address of the specified reserve asset's IBC implemenation

allCurvesLength

Gets the total number of IBC curves created through the IBC factory so far.

function allCurvesLength() public view returns (uint256)
Parameter
Type
Description

Type
Description

uint256

Total number of IBC curves created by Factory

PreviousInverse Bonding CurveNextIBC Router

Last updated 1 year ago