Error codes
Core contract revert codes
We have adopted a system of error codes at GYSR to save gas costs on long revert messages.
Code | Contract | Description |
---|---|---|
p1 | Pool | withdraw amount is zero |
p2 | Pool | withdraw amount exceeds vested balance |
| | |
f1 | PoolFactory | invalid staking module factory |
f2 | PoolFactory | invalid reward module factory |
f3 | PoolFactory | fee exceeds max |
f4 | PoolFactory | invalid whitelist type |
f5 | PoolFactory | module factory is zero address |
| | |
oc1 | OwnerController | sender is not owner |
oc2 | OwnerController | sender is not controller |
oc3 | OwnerController | new owner is zero address |
oc4 | OwnerController | new controller is zero address |
| | |
sm1 | ERC20StakingModule | stake amount is zero |
sm2 | ERC20StakingModule | stake amount is too small |
sm3 | ERC20StakingModule | unstake or claim amount is zero |
sm4 | ERC20StakingModule | staking module has zero balance |
sm5 | ERC20StakingModule | unstake or claim amount is too small |
sm6 | ERC20StakingModule | unstake or claim amount exceeds user balance |
sm7 | ERC20StakingModule | invalid bytes data for account address |
sm8 | ERC20StakingModule | staking operator is not approved |
| | |
smf1 | ERC20StakingModuleFactory | invalid constructor data |
| | |
smn1 | ERC721StakingModule | token does not support ERC721 interface |
smn2 | ERC721StakingModule | stake amount is zero |
smn3 | ERC721StakingModule | stake amount exceeds user balance |
smn4 | ERC721StakingModule | stake token ID data is invalid |
smn5 | ERC721StakingModule | unstake amount is zero |
smn6 | ERC721StakingModule | unstake amount exceeds user balance |
smn7 | ERC721StakingModule | unstake token ID data is invalid |
smn8 | ERC721StakingModule | user does not own the specified token |
smn9 | ERC721StakingModule | claim amount is zero |
smn10 | ERC721StakingModule | claim amount exceeds user balance |
| | |
smnf1 | ERC721StakingModuleFactory | invalid constructor data |
| | |
rm1 | ERC20BaseRewardModule | reward funding amount is zero |
rm2 | ERC20BaseRewardModule | funding start is in the past |
rm3 | ERC20BaseRewardModule | exceeds max active funding schedules |
| | |
crm1 | ERC20CompetitiveRewardModule | initial time bonus is greater than max |
crm2 | ERC20CompetitiveRewardModule | unstake, invalid gysr bonus data |
crm3 | ERC20CompetitiveRewardModule | unstake in same block, no time has elapsed |
| | |
crmf1 | ERC20CompetitiveRewardModuleFactory | invalid constructor data |
| | |
frm1 | ERC20FriendlyRewardModule | vesting start is greater than 1.0 |
frm2 | ERC20FriendlyRewardModule | stake, invalid gysr bonus data |
frm3 | ERC20FriendlyRewardModule | unstake in same block, no time has elapsed |
| | |
frmf1 | ERC20FriendlyRewardModuleFactory | invalid constructor data |
| | |
asm1 | AssignmentStakingModule | stake amount is zero |
asm2 | AssignmentStakingModule | sender is not the controller |
asm3 | AssignmentStakingModule | invalid byte encoding for assignee address |
asm4 | AssignmentStakingModule | unstake amount is zero |
asm5 | AssignmentStakingModule | sender is not the controller |
asm6 | AssignmentStakingModule | invalid byte encoding for assignee address |
asm7 | AssignmentStakingModule | unstake amount exceeds current assignee rate |
asm8 | AssignmentStakingModule | claim amount is zero |
asm9 | AssignmentStakingModule | claim amount exceeds current assignee rate |
| | |
bsm1 | ERC20BondStakingModule | vesting period below minimum threshold |
bsm2 | ERC20BondStakingModule | stake amount is zero |
bsm3 | ERC20BondStakingModule | invalid byte encoding for stake params |
bsm4 | ERC20BondStakingModule | token market is not open |
bsm5 | ERC20BondStakingModule | debt exceeds market max for individual bond |
bsm6 | ERC20BondStakingModule | debt exceeds remaining market capacity |
bsm7 | ERC20BondStakingModule | bond debt is below user minimum threshold |
bsm8 | ERC20BondStakingModule | invalid byte encoding for unstake bond ID |
bsm9 | ERC20BondStakingModule | unstake sender does not own specified bond |
bsm10 | ERC20BondStakingModule | unstake in same block, time has not elapsed |
bsm11 | ERC20BondStakingModule | unstake amount must be zero when burndown is disabled |
bsm12 | ERC20BondStakingModule | vesting period has elapsed, no principal left to unstake |
bsm13 | ERC20BondStakingModule | unstake amount exceeds remaining principal |
bsm14 | ERC20BondStakingModule | unstake amount is too small |
bsm15 | ERC20BondStakingModule | invalid byte encoding for claim bond ID |
bsm16 | ERC20BondStakingModule | claim sender does not own specified bond |
bsm17 | ERC20BondStakingModule | invalid byte encoding for update bond ID |
bsm18 | ERC20BondStakingModule | update sender does not own specified bond |
bsm19 | ERC20BondStakingModule | market has already been opened |
bsm20 | ERC20BondStakingModule | max number of markets has been reached |
bsm21 | ERC20BondStakingModule | open market, minimum price is zero |
bsm22 | ERC20BondStakingModule | open market, max bond size is zero |
bsm23 | ERC20BondStakingModule | open market, total debt capacity is zero |
bsm24 | ERC20BondStakingModule | close market, capacity is already zero |
bsm25 | ERC20BondStakingModule | adjusted market does not exist |
bsm26 | ERC20BondStakingModule | adjust market, minimum price is zero |
bsm27 | ERC20BondStakingModule | adjust market, max bond size is zero |
bsm28 | ERC20BondStakingModule | adjust market, total debt capacity is zero |
bsm29 | ERC20BondStakingModule | withdraw from market that does not exist |
bsm30 | ERC20BondStakingModule | withdraw amount is zero |
bsm31 | ERC20BondStakingModule | withdraw amount exceeds vested principal |
| | |
xrm1 | ERC20FixedRewardModule | time period is zero |
xrm2 | ERC20FixedRewardModule | constant reward rate is zero |
xrm3 | ERC20FixedRewardModule | stake amount exceeds rewards capacity |
xrm4 | ERC20FixedRewardModule | current stake has not fully vested |
xrm5 | ERC20FixedRewardModule | fund amount is zero |
xrm6 | ERC20FixedRewardModule | withdraw amount is zero |
xrm7 | ERC20FixedRewardModule | withdraw amount exceeds module balance |
xrm8 | ERC20FixedRewardModule | withdraw amount exceeds uncommitted budget |
| | |
lrm1 | ERC20LinearRewardModule | time period is zero |
lrm2 | ERC20LinearRewardModule | constant reward rate is zero |
lrm3 | ERC20LinearRewardModule | stake amount exceeds rewards capacity |
lrm4 | ERC20LinearRewardModule | fund amount is zero |
lrm5 | ERC20LinearRewardModule | withdraw amount is zero |
lrm6 | ERC20LinearRewardModule | withdraw amount exceeds module balance |
lrm7 | ERC20LinearRewardModule | withdraw amount exceeds budget for committed runway |
| | |
mrm1 | ERC20MultiRewardModule | vesting start exceeds 1.0 |
mrm2 | ERC20MultiRewardModule | invalid byte encoding for stake params |
mrm3 | ERC20MultiRewardModule | stake, reward token count exceeds total |
mrm4 | ERC20MultiRewardModule | stake, duplicate reward token |
mrm5 | ERC20MultiRewardModule | invalid byte encoding for unstake params |
mrm6 | ERC20MultiRewardModule | unstake, reward token count exceeds total |
mrm7 | ERC20MultiRewardModule | unstake, duplicate reward token |
mrm8 | ERC20MultiRewardModule | cannot unstake with remaining reward tokens registered |
mrm9 | ERC20MultiRewardModule | missing bytes data for claim params |
mrm10 | ERC20MultiRewardModule | invalid byte encoding for claim params |
mrm11 | ERC20MultiRewardModule | claim, reward token count exceeds total |
mrm12 | ERC20MultiRewardModule | claim index range is invalid |
mrm13 | ERC20MultiRewardModule | claim end index exceeds total user stakes |
mrm14 | ERC20MultiRewardModule | claim, duplicate reward token |
mrm15 | ERC20MultiRewardModule | missing bytes data for update params |
mrm16 | ERC20MultiRewardModule | invalid byte encoding for update params |
mrm17 | ERC20MultiRewardModule | update, reward token count exceeds total |
mrm18 | ERC20MultiRewardModule | update index range is invalid |
mrm19 | ERC20MultiRewardModule | update end index exceeds total user stakes |
mrm20 | ERC20MultiRewardModule | update, duplicate reward token |
mrm21 | ERC20MultiRewardModule | invalid byte encoding for clean params |
mrm22 | ERC20MultiRewardModule | clean, reward token count exceeds total |
mrm23 | ERC20MultiRewardModule | reward token does not exist |
mrm24 | ERC20MultiRewardModule | time elapsed is zero |
| | |
crmi1 | ERC20CompetitiveRewardModuleInfo | shares must be greater than zero |
crmi2 | ERC20CompetitiveRewardModuleInfo | shares greater than balance in user position |
| | |
frmi1 | ERC20FriendlyRewardModuleInfo | shares must be greater than zero |
frmi2 | ERC20FriendlyRewardModuleInfo | shares greater than balance in user position |
Last modified 5mo ago