@blockhash / mancer-sdk
Mancer的带有钱包的bot的API,在TypeScript中 本人. Mancer是罗宾汉链的索引聚合器和订单层。 SDK使用bot自己的帐户登录,交换,放置和取消订单,发送,对Books进行操作并听到帐户的事件。 它要求Mancer为每个动作准备好签名的步骤,并在您的帐户签名之前检查您要求的每个步骤。 您的帐户在您的机器上或在您提交的钱包客户端上签名。 SDK从不记录、发送或存储私钥。
安装
npm install @blockhash/mancer-sdk viem
它需要Node 22或更新版本,并且可以在浏览器中运行。
一个交换
import { privateKeyToAccount } from 'viem/accounts'
import { ETH, Mancer } from '@blockhash/mancer-sdk'
const USDG = '0x5fc5360d0400a0fd4f2af552add042d716f1d168'
const mancer = new Mancer({ account: privateKeyToAccount(process.env.BOT_PRIVATE_KEY as `0x${string}`) })
const swap = await mancer.swap({
tokenIn: ETH,
tokenOut: USDG,
amountIn: 1_000_000_000_000_000n,
// the floor: what the deepest Uniswap pool of WETH and USDG pays on your node, less 1%
reference: mancer.poolReference(),
maxSlippageBps: 100,
})
console.log(`received ${swap.executed?.amountOut} USDG units`)
swap() 在它需要的地方签到,用你的钱包作为接收者构建交换,检查它,发送它的批准,然后交换。
buildSwap() 做同样的事,却什么也不送。
地板是你的
底线是交换所能提供的最低限度,而链条则控制着它。 在场内,一个错误的或不友好的报价仍然可以通过支付场内的池来路由掉期。 所以每次交换都有一个规则,或者在问任何问题之前就被拒绝了:
| 名字 | 地板上 |
|---|---|
minOut | 您自己的数字,输出的原始单位。 |
reference 与 maxSlippageBps | 你的函数的顺序的答案是less maxSlippageBps. |
trustQuote: true | 曼瑟的原话,更少 slippageBps. 错误的报价就是错误的楼层。 |
poolReference() 在您自己的RPC上从Uniswap的QuoterV2中对美元进行价格。
对于任何其他对,传递您自己的函数。
检查什么
SDK在签名前检查每一步:链、钱包、批准、路由器调用的令牌、金额、收件人、最低限额、截止日期和费用,以及与Mancer自己路由的合同相对应的每一步。
检查失败将抛出一个 MancerCheckError 命名第一个不是您要求的字段,并且在它之后没有任何签名或发送。
文档
完整的指南在 docs.mancer.xyz /代理/ sdk订单、发送、书籍、事件、错误、键和API的每个路由。
来源
来源是 github.com/blockhash-xyz/mancer-sdk,带有MCP服务器和一个 例子机器人.
许可证
麻省理工学院©Blockhash。