SDK合同
测试覆盖率
| 发言 | 分支 | 职能 | 行数 |
|---|---|---|---|
这个软件包提供TypeScript合同接口和与COW协议智能合同互动的公用设备. 它包括所有CoW协议合同的型号安全合同包装和辅助器功能.
软件包来源
这个软件包代表了以前位于该软件库的TypeScript工具的迁移和模块化 合同存放处. 合同互动逻辑已从主要合同存放处取出,并重组为这个专用的SDK包:
- 改进模块化 - 将智能合同部署代码与客户方互动设施分开
- 启用独立版本 - 允许合同接口独立于合同部署
- 更好的开发者经验 - 为 TypeScript 开发者提供专注软件包
- SDK 整合 - 与更广泛的《化武议定书》SDK生态系统无缝结合
包括什么
- 合同接口 - 所有CoW协议智能合同的TypeScript接口
- 合同公用事业 - 合同互动的辅助功能
- 类型安全 - 附有适当打字的完整类型脚本支持
- 多钱支持 - 所有支持链的合同地址和接口
安装
npm install @cowprotocol/sdk-contracts-ts
使用量
import { ContractsTs } from '@cowprotocol/sdk-contracts-ts'
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 })
// Initialize contracts with adapter
const contracts = new ContractsTs(adapter)
// Use contract interfaces
const settlementContract = contracts.settlement()
const vaultRelayerContract = contracts.vaultRelayer()
使用 CoW SDK 软件
在使用CoW SDK时,合同公用事业自动提供:
import {
CowSdk,
} from '@cowprotocol/cow-sdk'
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 })
// Initialize the unified SDK
const sdk = new CowSdk({
chainId: SupportedChainId.SEPOLIA,
adapter,
})
// Access contracts through the SDK
const settlementContract = sdk.contracts.settlement()
const vaultRelayerContract = sdk.contracts.vaultRelayer()
现有合同
- 结算合同 - 主要CoW协议结算合同
- 默认重排 - 处理保险库互动的合同
- 可编译 CoW - 有条件订单合同
- 可扩展倒计时处理器 - 智能合同钱包的安全后退处理器
说明: 这个软件包主要是为了提供合同接口,很少单独使用. 大多数开发者应该使用
@cowprotocol/cow-sdk包,包括所有具有适当适配器配置的合同公用事业.