Staking Key Functions
Important functions of the staking smart contract
Last updated
Important functions of the staking smart contract
Last updated
The CAMP Staking contract is an extension of the with the added ability for a cooldown period upon unstaking as well as a legally required ability to freeze funds for sanctioned addresses.
There are three roles in the CAMP Staking contract:
DEFAULT_ADMIN_ROLE
Rewarder
Blacklister
You are able to view the deployed CAMP Staking contract on the Ethereum blockchain here.
DEFAULT_ADMIN_ROLE
The DEFAULT_ADMIN_ROLE
is able to perform a number of operations:
It can set setCooldownDuration
, up to a maximum value of 90 days from the unstaking request. The cooldown period is the time period from the unstaking request until the user is able to withdraw USDca.
It can rescue tokens using rescueTokens
to move any ERC20 tokens (except USDca) to an address CAMP Labs controls. This has been implemented in case a user accidentally sends non-USDca assets to the CAMP Staking contract.
It can redistribute sUSDca tokens that have been locked using resdistributeLockedAmounts.
Locks on sUSDca held in specific wallets have been implemented due to legal requirements to ensure sanctioned, criminal, and other high-risk actors are not able to interact with the staking contract, in the interest of complying with Sanctions, Anti-Money Laundering, and Combating the Financing of Terrorism regimes. This is extremely similar functionality to what Circle implements for USDC. CAMP is able to redistribute funds to CAMP Labs addresses (in segregated wallets/vaults from other protocol assets) from fully restricted addresses. Note that this ability is limited to sUSDca.
Rewarder
The Rewarder
role is able to transfer in USDca rewards, growing the balance of USDca in the CAMP Staking contract.
Blacklister
The Blacklister
role is able to grant and remove Soft_restricted_staking_role
or Fully_restricted_staking_role
assigned to an address. "Soft Restricted Stakers" can invoke all contract functions except unstaking (i.e., sUSDca remains transferable but USDca cannot be unstaked). "Fully Restricted Stakers" cannot interact with the staking contract or transfer sUSDca .
The user of the Blacklister
role is only intended to ensure high-risk actors, such as sanctioned individuals, wallets associated with criminal activity/terrorism, and other similar individuals covered under relevant laws and regulations cannot access protocol yield. The blacklist will never be invoked at the discretion of CAMP Labs for any user absent those conditions or unless required by law enforcement pursuant to a court order, injunction, or similar official action we are required by law to comply with.
As noted above, this function is limited to sUSDca.