PancakeSwap
English
Search…
⌃K
Links

MasterChef

Contract info

Contract name: pancake::masterchef Contract address:
7968a225eba6c99f5f1070aeec1b405757dee939eabcfda43ba91588bf5fccf3::masterchef
Admin multi sig address: eef8788f3eaa34b936d0bc5897fc40fa3782b1e663bf04edf2cd22fcd18329ff

Resources

MasterChef

Th metadata of the masterchef.
struct MasterChef has key {
signer_cap: account::SignerCapability,
admin: address,
upkeep_admin: address,
lp_to_pid: TableWithLength<string::String, u64>,
lps: vector<string::String>,
pool_info: vector<PoolInfo>,
total_regular_alloc_point: u64,
total_special_alloc_point: u64,
cake_per_second: u64,
cake_rate_to_regular: u64,
cake_rate_to_special: u64,
last_upkeep_timestamp: u64,
end_timestamp: u64
}
Name
Text
Text
signer_cap
account::SingerCapability
The signer capability of the resource account.
admin
address
The admin address of the module.
upkeep_admin
address
The account that execute upkeep call.
lp_to_pid
table_with_length::TableWithLength
LP token type info and corresponding pool id.
lps
vector
All added LP token type info array.
pool_info
vector
A list of pool _info struct.
total_regular_alloc_point
u64
Sum of all regular farm allocate points.
total_special_alloc_point
u64
Sum of all special farm allocate points.
cake_per_second
u64
Cake reward per second for all farm pools.
cake_rate_to_regular
u64
The percentage of cake rewards that regular farm can earn
cake_rate_to_special
u64
The percentage of cake rewards that special farm can earn.
last_upkeep_timestamp
u64
The timestamp of the last upkeep execution.
end_timestamp
u64
The last time that farms can get cake reward, each upkeep operation will extend this timestamp.

PoolUserInfo

All pool informations.
struct PoolUserInfo has key {
pid_to_user_info: TableWithLength<u64, UserInfo>,
pids: vector<u64>,
}
Name
Type
Description
pid_to_user_info
table_with_length::TableWithLength
A table contains userInfo corresponds to the pool id.
pids
vector
A list of pool id.

UserInfo

The user information in each pool.
struct UserInfo has store {
amount: u128,
reward_debt: u128
}
Name
Type
Description
amount
u128
The total amount of token staked in the pool.
reward_debt
u128
The total amount of reward distributed to the user.

PoolInfo

The information of each pool
struct PoolInfo has store {
total_amount: u128,
acc_cake_per_share: u128,
last_reward_timestamp: u64,
alloc_point: u64,
is_regular: bool
}
Name
Type
Description
total_amount
u128
The total amount of stake token.
acc_cake_per_share
u128
The accumulated cake per share in the pool.
last_reward_timestamp
u64
The latest time when reward is distributed.
alloc_point
u64
The pool allocated point.
is_regular
bool
True means this pool is regular farm, otherwise is special farm.

Entry Functions

Deposit

Deposit the stake token into the pool. It will also transfer reward token to the user if there's any.
public entry fun deposit<CoinType>(
sender: &signer,
amount: u64
)
Name
Type
Description
sender
signer
The sender's signer when calling the function.
amount
u64
The amount of token that will be deposited.

Withdraw

Withdraw the stake token from the pool. It will also transfer reward token to the user if there's any.
public entry fun withdraw<CoinType>(
sender: &signer,
amount: u64
)
Name
Type
Description
sender
signer
The sender's signer when calling the function.
amount
u64
The amount of token that will be withdrawn.

Emergency Withdraw

Withdraw the stake token from the pool regardless of any rewards.
public entry fun emergency_withdraw<CoinType>(sender: &signer)
Name
Type
Description
sender
signer
The sender's signer when calling the function.

Mass Update Pools

Update all the pool information.
public entry fun mass_update_pools()

Update Pool

Update a specific pool information.
public entry fun update_pool(pid: u64)
Name
Type
Description
pid
u64
The id of the pool.

Public Function

Pending Cake

The pending cake reward of the user.
public fun pending_cake(
pid: u64,
user: address
): u64

Input Values

Name
Type
Description
pid
u64
The id of the pool.
user
address
The address of the depositor.

Return Values

Type
Description
u64
The total amount of cake reward.

Pool Length

The total number of pools.
public fun pool_length():u64

Return Values

Type
Description
u64
The total number of pools.

Audit