SDK威罗
测试覆盖率
| 发言 | 分支 | 职能 | 行数 |
|---|---|---|---|
这个软件包为CoW协议SDK提供适配器-不可知威洛功能. Weirol是一个强大的脚本语言,用于在Ethereum上执行复杂的多步交易.
软件包来源
此软件包代表原作的重构版本 维罗尔.js 图书馆。 最初的库被紧密地与ethers.js v5结合了,但这个版本已经完全被重构为:
- 删除醚 v5 依赖性 - 与任何支持的块链库合作
- 支持多个适配器 - 与乙醚v5、乙醚v6和viem相容
- 保持 API 兼容性 - 100%与原始 Weirol.js API兼容
- 启用 SDK 集成 - 与《生物圈议定书》SDK生态系统无缝结合
安装
npm install @cowprotocol/sdk-weiroll
or
pnpm add @cowprotocol/sdk-weiroll
or
yarn add @cowprotocol/sdk-weiroll
使用量
import {
WeirollPlanner,
createWeirollContract,
createWeirollDelegateCall,
WeirollCommandFlags,
} from '@cowprotocol/sdk-weiroll'
import { EthersV6Adapter } from '@cowprotocol/sdk-ethers-v6-adapter'
import { JsonRpcProvider, Wallet } from 'ethers'
// Configure the adapter
const provider = new JsonRpcProvider('YOUR_RPC_URL')
const wallet = new Wallet('YOUR_PRIVATE_KEY', provider)
const adapter = new EthersV6Adapter({ provider, signer: wallet })
// Create weiroll contract wrapper
const contract = adapter.getContract(contractAddress, abi)
const weirollContract = createWeirollContract(contract, WeirollCommandFlags.CALL)
// Plan weiroll transaction
const planner = new WeirollPlanner()
planner.add(weirollContract.someFunction(param1, param2))
// Generate delegate call
const evmCall = createWeirollDelegateCall((planner) => {
planner.add(weirollContract.someFunction(param1, param2))
})
特征
- 多步骤交易 - 规划和执行复杂的交易序列
- 气体优化 - 通过代表电话高效执行
- 返回价值链 - 将一个呼叫的产出用作另一个呼叫的投入
- 适应者不可知论 - 与乙醚v5、v6和viem合作
- 类型安全 - 全部类型脚本支持
说明: 此软件包与 Weirol.js 原始库保持了100%的API相容性,同时增加了对多块链适配器的支持.