Contract name: pancake::masterchef
Contract address:
7968a225eba6c99f5f1070aeec1b405757dee939eabcfda43ba91588bf5fccf3::masterchef
Admin multi sig address: eef8788f3eaa34b936d0bc5897fc40fa3782b1e663bf04edf2cd22fcd18329ff
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 | ||
---|---|---|
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. |
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. |
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. |
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. |
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 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. |
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. |
Update all the pool information.
public entry fun mass_update_pools()
Update a specific pool information.
public entry fun update_pool(pid: u64)
Name | Type | Description |
---|---|---|
pid | u64 |
The id of the pool. |
The pending cake reward of the user.
public fun pending_cake(
pid: u64,
user: address
): u64
Name | Type | Description |
---|---|---|
pid | u64 |
The id of the pool. |
user | address |
The address of the depositor. |
Type | Description |
---|---|
u64 |
The total amount of cake reward. |
The total number of pools.
public fun pool_length():u64
Type | Description |
---|---|
u64 |
The total number of pools. |
OtterSec's PancakeSwap Aptos MasterChef security audit:
{% file src="../../.gitbook/assets/PancakeSwap_aptos_masterchef_audit.pdf" %}