查询Pancakeswap Auto CAKE池用户质押奖励需调用哪个合约?
PancakeSwap AutoCAKE池用户CAKE奖励查询方法
你当前调用的0xa80240Eb5d7E05d3F250cF000eEc0891d00b51CC就是BSC链上的PancakeSwap官方AutoCAKE池合约,不需要额外对接其他合约即可计算用户已产生的CAKE奖励,具体逻辑如下:
- 调用该合约的
userInfo(address user)方法,获取两个返回值:用户持有的份额shares、用户上次操作时的累计存入本金cakeAtLastUserAction - 调用该合约的
getPricePerFullShare()方法,获取当前每份份额对应的CAKE价值,返回值精度为1e18 - 计算用户当前的总权益(本金+累计未收割奖励):
用户总权益 = shares * getPricePerFullShare() / 1e18 - 最终用户已产生的CAKE奖励 = 用户总权益 - cakeAtLastUserAction
如果需要查询用户历史已收割的CAKE奖励总额,遍历该用户地址与该合约交互产生的所有Harvest事件进行累加即可。
内容的提问来源于stack exchange,提问作者Aktarus
相关产品推荐
相关产品推荐

