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

factoryAddress

Gets the contract address of the IBC Factory contract.

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

feeOwner

Gets the address receiving protocol creator fees.

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

weth

Gets the contract address of the WETH token contract.

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

router

Gets the contract address of the IBC Router contract.

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

curveImplementation

Gets the contract address of the IBC implementation contract.

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

Last updated