去中心化交易所工作流程详解
1. 市场订单执行示例
假设我们要以市场价格出售 10 个 TokenA 以换取 TokenB。当前最有利可图的限价订单是用 40 个 TokenB 购买 5 个 TokenA,此时 1 个 TokenA 的价格为 8 个 TokenB。我们创建市场订单并立即执行该限价订单,出售 5 个 TokenA 获得 40 个 TokenB。对于剩余要出售的 5 个 TokenA,我们会寻找下一个最有利可图的买单,假设该买单是以 700 个 TokenB 购买 100 个 TokenA,此时 1 个 TokenA 的价格为 7 个 TokenB,虽然利润不如上一个订单,但仍然不错。我们出售这 5 个 TokenA 获得 35 个 TokenB,该限价买单剩余为以 665 个 TokenB 购买 95 个 TokenA,直到下一个用户完成该订单。最终,我们通过结合当时特定时刻的市场价格,用 10 个 TokenA 换得了 75 个 TokenB。
基于此,我们可以创建市场订单函数的签名:
/// @notice The function to create market orders by filling existing limit
/// orders
/// @param _type The type of the market order which can be "Buy" or "Sell"
/// @param _symbol The token that we want to buy or sell
/// @param _maxPrice The maximum price we
超级会员免费看
订阅专栏 解锁全文
2528

被折叠的 条评论
为什么被折叠?



