欢迎光临散文网 会员登陆 & 注册

互助公排双轨开发丨DAPP互助公排双轨模式系统开发案例详细/方案逻辑/项目开发/源码

2023-07-04 09:19 作者:bili_36625761919  | 我要投稿

  DApp是指基于区块练技术的去中心化应用程序,它的特点是去中心化、透明、安全、不可篡改等特点。


  DApp和APP的最大不同在于,DApp是基于区块练技术的去中心化应用程序,而APP是基于中心化服务器的应用程序,DApp的数据存储和处理都是分布式的,There is no centralized server,therefore it has higher security and reliability.


  function mint(


  address recipient,


  int24 tickLower,


  int24 tickUpper,


  uint128 amount,


  bytes calldata data


  )external override lock returns(uint256 amount0,uint256 amount1){


  require(amount>0);


  (,int256 amount0Int,int256 amount1Int)=


  _modifyPosition(


  ModifyPositionParams({


  owner:recipient,


  tickLower:tickLower,


  tickUpper:tickUpper,


  liquidityDelta:int256(amount).toInt128()


  })


  );


  amount0=uint256(amount0Int);


  amount1=uint256(amount1Int);


  uint256 balance0Before;


  uint256 balance1Before;


  //获取当前池中的x token,y token余额


  if(amount0>0)balance0Before=balance0();


  if(amount1>0)balance1Before=balance1();


  //将需要的x token和y token数量传给回调函数,这里预期回调函数会将指定数量的token发送到合约中


  IUniswapV3MintCallback(msg.sender).uniswapV3MintCallback(amount0,amount1,data);


  //回调完成后,检查发送至合约的token是否复合预期,如果不满足检查则回滚交易


  if(amount0>0)require(balance0Before.add(amount0)<=balance0(),'M0');


  if(amount1>0)require(balance1Before.add(amount1)<=balance1(),'M1');


  emit Mint(msg.sender,recipient,tickLower,tickUpper,amount,amount0,amount1);


  }


互助公排双轨开发丨DAPP互助公排双轨模式系统开发案例详细/方案逻辑/项目开发/源码的评论 (共 条)

分享到微博请遵守国家法律