# Elixir Elixir利用了hummingbot的 Avellaneda & Stoikov算法,通过统一账户带管理用户的资金在vertext当中提供order feeding的做市方式,并通过收益以及协议代币分红的方式给予用户奖励。 仓库:https://github.com/ElixirProtocol/vertex-contracts?utm_source=immunefi ## 组件: ### 链上: 1. [Vertex Manager](https://arbiscan.io/address/0x052ab3fd33cadf9d9f227254252da3f996431f75) 负责接收用户的deposit信号,并将序号加入到队列当中 2. [VertexRouter](https://arbiscan.io/address/0xee7dfbe0ce3ad8044eb36c38bdb59f56e0f86088#code) 将收到的token发送到vertex endpoint合约当中,执行真正的deposit操作 3. [Executor](https://arbiscan.io/address/0xd7cb7f791bb97a1a8b5afc3aec5fbd0bec4536a5) 负责将Vertex Manager队列中的事物从队列中拿出来执行,比如,将用户的token转移到VertexRouter中,并根据VertexRouter将token转移到对应的vertexpool当中(真正的deposit操作) 4. [vertex endpoint](https://arbiscan.io/address/0xbbee07b3e8121227afcfe1e2b82772246226128e#writeProxyContract) vertex负责接收deposit/withdraw等操作的合约,vertex将所有用户的资金用一个账户统一在vertex中进行管理 ### 链下:通过hummingbot和vertex链下order system进行交互,不断的进行price feeding **存在的问题:** 1.再进行用户撤出获取收益的时候,response传入参数产生方式不明,涉及到APY的计算验证 function processSpot(Spot calldata spot, bytes memory response) public { if (msg.sender != address(this)) revert NotSelf(); // Process spot. Skips if fail or revert. try this.processSpot(spot, response) {} catch {} } 2.应该对hummingbot进行魔改了,但是放在github上的只是一个老旧的开源版本
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up