ClayManager.sol

Main csMATIC contract for Polygon staking.

getExchangeRate()

Returns the current exchange rate accounting for any slashing or donations and a boolean value indicating whether a slashing event has occurred (Note: Slashing is not currently enabled on Polygon).

function getExchangeRate() returns (uint256, bool)

getLiquidityCsToken()

Returns total liquidity of csToken available for Flash Exit without considering external pools.

function getLiquidityCsToken() returns (uint256)

fees()

Returns all types protocol's fees. Protocol uses 2 point decimal precision(i.e base unit is 10000)

function fees() returns (Fees)

Fees Structure:

bridgeFee()

Fee to manually trigger the bridge by user

function bridgeFee() returns (uint256)

getUserOrders()

Returns paginated list of user's withdraw orders in descending order of creation.

function getUserOrders(address user, uint256 page) returns (WithdrawOrder)

UserWithdrawOrder Structure:

deposit()

Sends underlying tokens to contract and mints csToken to msg.sender.

function deposit(uint256 amountToken) returns (bool)

Note: Requirements:

  • msg.sender must have approved amountToken of Token to this contract.

Parameters:

Returns:

Bool confirmation of transaction.

depositDelegate()

Sends Token to contract and mints csToken to delegator.

function deposit(uint256 amountToken, uint256 delegator) returns (bool)

Note: Requirements:

  • msg.sender must have approved amountToken of Token to this contract.

Parameters:

Returns:

Bool confirmation of transaction.

depositETH()

Sends native to chain tokens msg.value to contract and mints csToken to msg.sender.

function depositETH() returns (bool)

withdraw()

Burns csToken from user and creates a withdraw order.

function withdraw(uint256 amountCs) returns (uint256)

Note: Requirements:

  • msg.sender must have approved amountCs of csToken to this contract.

Parameters:

Returns:

Withdraw Order ID.

claim()

Checks the validity of given orderIds, claims tokens and transfers the amount to user.

function claim(uint256[] orderIds) returns (bool)

Note: Requirements:

  • All orderIds must have fulfilled the un-bonding period.

Parameters:

Returns:

Bool confirmation of transaction.

instantWithdraw()

Burns csToken from user and instantly returns Token to user.

function instantWithdraw(uint256 amountCs) returns (bool)

Note: Requirements:

  • msg.sender must have approved amountCs of csToken to this contract.

  • Contract must have sufficient liquidity.

Parameters:

Returns:

Bool confirmation of transaction.

earlyClaim()

Checks the validity of given orderId, claims tokens and transfers the amount to user.

function earlyClaim(uint256 orderId) returns (bool)

Note: Requirements:

  • Order must be early claimable eligible and no slashing occurred within batch.

Parameters:

Returns:

Bool confirmation of transaction.

autoBalance()

Initiates transfer process to Ethereum while sends a message on expected tokens. A minimum amount or time is required for it to execute unless paid fee by the caller msg.value must exceed the bridge fee.

function autoBalance() returns (bool)

Returns:

Bool confirmation of transaction.