爱马仕二期各模块交互流程
2022-01-05 12:11:55 0 举报
aaaaa
作者其他创作
大纲/内容
vault合约
withdraw()
Heco->火币
1. 转账异常报警并重试2. 监控签名基地址和交易所账户余额,低于设定值的钉钉报警3. 监控执行中的任务4. 监控RPC、阿波罗、数据库等第三方依赖,连接异常报警
火币转出确认
否
发送消息通知
是
上链确认
6.recordLiquidityRemove
10.将平账资金返回策略
5.从vualt借到资金
跨链
recieveFromBridge()
小re
最近n小时内存在失败状态的任务
是否solo
bridge
广播
claimAll()
业务方发起跨链
deposit
调用合约的全局的getReward()领取当前所有策略的对应标的的收益
是sendToBridge()
1. 校验数值和权限;2. 接受资金3. 更新账目
抛出getreward事件、拆lp事件claimformVault和平无常事件emitSurplusChange
1. 数值和权限校验2. 异常数据处理3. 更新用户取款信息等账目4. 项目方收益转账到指定地址
1. 数值和权限校验2. 更新账目3.奖励和本金转移4.抛出withdraw事件
updateWithdraw()
repayToVaultGetReward
7.doSurplus
结束
合约1. 校验数值和权限2.getreward()3. 拆lp,平无常
前端
lpstrategy合约1.doInvest2. addUnderlyingLiquidity6. 去标的router添加流动性7.进入标的挖矿
币安转出确认
receiveFromBridge()
提交跨链任务,执行跨链(跨链任务会一直重试直到成功
抛出receiveFromBridge事件
mgt批量取回流程
计算失败
claimFromVaultWithdraw
跨链执行超时
取回流程
发送资金到跨链桥地址
发起提币
12.返回base和counter的本金
合约1.校验数值和权限(用户的depositBalance必须大于0,是否满足申请取回比例的最低需求,申请数值amount必须小于用户的depositBalance,用的apply标志必须是false)2.更新apply标记为true
执行invest
抛出profit事件和updatewithdraw事件
CEX跨链桥
rebalance
get reward
1.校验操作者身份2.校验桥地址3.更新账户4. 抛出receiveFromBridge事件
invest()
合约:1. 校验数值和权限;2. 资金转移;3.更新账目
mgt
更新rebalance状态为成功并发送通知
3.borrowFromStrategy,从对应的两个vault借钱组lp
用户取款
mgt监听跨链额度是否满足跨链需求
mgt更新cp
奖励币兑换成本币
暂停中
前端用户申请取回
合约执行getreward,抛出getreawrd事件
vault合约1. 验证参数正确性2. 异常处理13. 输出get reward事件和claim事件
solostrategy合约1.deposit2.抛出soloinvest事件
birdge/小re服务
mgt更新cp计算跨链金额
奖励币一分为二,分别swap成base和counter本币
币安 -> BSC
9.平账操作
getReward
applyWithdraw()
strategy合约
小re服务
1. 计算转账链路,评估链路中手续费、gas费、跨链币种余额是否足够2. 如果跨链数量精度超出CEX充提币精度,判读目标地址是否足够补足差额
mgt更新cp,更新账本
1. 遍历所有参数;2. getReward();3. 判断单币和lp;4. LP:从counter Vault借钱,组lp;4.SOLO:直接存入solo策略;
更新rebalance状态为失败并发送告警
调用deposit方法
满足re条件
大re服务拆lp
任务完成,更新任务状态
火币->币安
组lp
vaultA合约1.数值和权限校验,getReward,抛出get reward事件4.检查金额8.抛出invest事件
mgt跨链侧拆lp
转出确认失败(暂停提币、审核拒绝等),重新发起提币
火币入账确认
mgt计算用户奖励
valut资金充足
strategy合约4. 从标的取回等量的lp5. 拆除lp11.paybacktovault
币安转入确认
抛出sendToBrdge事件
发送资金成功
余额不足,将任务状态更新为暂停
从跨链桥地址取回资金
账本已更新
1.校验操作者身份2.校验桥地址3.校验可跨链金额5. 抛出sendToBridge事件4.更新账户
nonce冲突,重新签名
BSC上链确认
取回资金到valut成功
配资计算创建rebalance任务
拆lp
合约1. getreward()2.校验数值和权限3.遍历参数中的所有claim项,针对每一项span style=\"font-size: inherit;\
签名
跨链桥资金流转
发送消息通知(消息之间有发送间隔)
1. 用户deposit(amount),2. 合约校验白名单和额度,3. 领取当前的收益 getReward()4. 将用户金额划转到vault5. 更新账目
invest成功
获取账本数据
3.userWithdraw
sendToBridge()
5.抛出getreward事件和invest事件
大re拆lp
抛出getreward事件和deposit事件
抛出applywithdraw事件
claimFromVaultWithdraw()
surplus合约8. dosurpuls平账,多余转到surpuls,不足surplus补足
收藏
0 条评论
下一页
为你推荐
查看更多