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
  • FeeConfigChanged
  • FeeOwnerChanged
  • RouterChanged
  • CurveImplementationChanged
  • Read-Only Functions
  • feeConfig
  • factoryAddress
  • feeOwner
  • weth
  • router
  • curveImplementation
  1. Smart Contracts

IBC Admin

The IBC Admin contract is where protocol configuration changes are made. Fee configuration updates as well as contract upgrades and pauses are managed through this contract.

Events

FeeConfigChanged

Emitted when fee configurations have been changed by the contract owner.

event FeeConfigChanged(
    ActionType actionType, 
    uint256 lpFee, 
    uint256 stakingFee, 
    uint256 protocolFee
); 
Parameter
Type
Description

actionType

ActionType

Type of user action

lpFee

uint256

Rate of fees given to LPs

stakingFee

uint256

Rate of fees given to ibAsset stakers

protocolFee

uint256

Rate of fees given to protocol creator

ActionType

enum ActionType {
    BUY_TOKEN,
    SELL_TOKEN,
    ADD_LIQUIDITY,
    REMOVE_LIQUIDITY
}
Parameter
Description

BUY_TOKEN

Action is the minting of ibAssets

SELL_TOKEN

Action is the burning of ibAssets

ADD_LIQUIDITY

Action is the adding of liquidity to the IBC

REMOVE_LIQUIDITY

Action is the removing of liquidity from the IBC

FeeOwnerChanged

Emitted when the protocol creator fee receival address is changed.

event FeeOwnerChanged(address feeOwner); 
Parameter
Type
Description

feeOwner

address

New address receiving protocol creator fees

RouterChanged

Emitted when the IBC Router contract is changed.

event RouterChanged(address router); 
Parameter
Type
Description

router

address

Address of new IBC Router contract

CurveImplementationChanged

Emitted when the IBC contract implementation is changed.

event CurveImplementationChanged(address implementation); 
Parameter
Type
Description

implementation

address

Address of new IBC contract implementation

Read-Only Functions

feeConfig

Gets the fee configurations of inverse bonding curve interactions for the specified action type.

function feeConfig(ActionType actionType) external view returns (
    uint256 lpFee, 
    uint256 stakingFee, 
    uint256 protocolFee
)
Parameter
Type
Description

actionType

ActionType

Type of user action

ActionType

enum ActionType {
    BUY_TOKEN,
    SELL_TOKEN,
    ADD_LIQUIDITY,
    REMOVE_LIQUIDITY
}
Parameter
Description

BUY_TOKEN

Action is the minting of ibAssets

SELL_TOKEN

Action is the burning of ibAssets

ADD_LIQUIDITY

Action is the adding of liquidity to the IBC

REMOVE_LIQUIDITY

Action is the removing of liquidity from the IBC

Parameter
Type
Description

lpFee

uint256

Fee rate given to LPs for user action type

stakingFee

uint256

Fee rate given to ibAsset stakers for user action type

protocolFee

uint256

Fee rate given to protocol creator for user action type

factoryAddress

Gets the contract address of the IBC Factory contract.

function factoryAddress() external view returns (address)
Parameter
Type
Description

Type
Description

address

Contract address of the IBC Factory contract

feeOwner

Gets the address receiving protocol creator fees.

function feeOwner() external view returns (address)
Parameter
Type
Description

Type
Description

address

Address receiving protocol creator fees

weth

Gets the contract address of the WETH token contract.

function weth() external view returns (address)
Parameter
Type
Description

Type
Description

address

Contract address of the WETH token contract

router

Gets the contract address of the IBC Router contract.

function router() external view returns (address)
Parameter
Type
Description

Type
Description

address

Contract address of the IBC Router contract

curveImplementation

Gets the contract address of the IBC implementation contract.

function curveImplementation() external view returns (address)
Parameter
Type
Description

Type
Description

address

Address of the IBC implementation

PreviousIBC Router

Last updated 1 year ago