xdefilab / xhalflife-base

xDeFi Exponentially or Linear Decaying Money Stream Protocol
https://xhalflife.xdefi.com
GNU General Public License v3.0
10 stars 4 forks source link

疑问:tokens的长度如果大于maxAmountsIn的长度,在for循环中访问maxAmountsIn,是否会数组越界 #52

Closed niuniu-afk closed 3 years ago

niuniu-afk commented 3 years ago

image

niuniu-afk commented 3 years ago

另:管理员添加流动性后,不需要把流动性给管理员吗?普通用户添加流动性后,都是会把流动性给用户的

xdefilab commented 3 years ago

会越界。应该检验长度是否一致。

xdefilab commented 3 years ago

XConfig

管理逻辑:

  1. SAFU是一个多签账号
  2. SAFU账号是XConfig合约的owner dev创建XConfig合约后,通过setCore() 和 setSAFU() 将 合约的 core 和 SAFU 设置成多签账号

资金流:

  1. 所有按照SAFU_FEE收取的资金进入SAFU
  2. 涉及的资金操作,如convert() 、joinPool()、exitPool()、burnForSelf()等,都应该是从SAFU划扣,再转回到SAFU
  3. collect()的to参数只能是SAFU,不允许是其它地址,否则权限过大

结论:convert() 、joinPool()、exitPool()、burnForSelf()、collect()等函数的资金流管理都有bug

xdefilab commented 3 years ago

Update:

  1. 去掉convert() 、joinPool()、exitPool(),因为SAFU可以直接通过Proxy完成
  2. 去掉burnForSelf(),SAFU可以通过XDEX完成
  3. collect()保留,但是去掉to参数
xdefilab commented 3 years ago

https://github.com/xdefilab/xdefi-base/pull/25

xdefilab commented 3 years ago

https://github.com/xdefilab/xhalflife-base/issues/62

niuniu-afk commented 3 years ago

已解决