Skip to content

sdk-weiroll 0.1.5-pr-642-7e4f7405.0

Install from the command line:
Learn more about npm packages
$ npm install @cowprotocol/sdk-weiroll@0.1.5-pr-642-7e4f7405.0
Install via package.json:
"@cowprotocol/sdk-weiroll": "0.1.5-pr-642-7e4f7405.0"

About this version

SDK Weiroll

This package provides adapter-agnostic Weiroll functionality for the CoW Protocol SDK. Weiroll is a powerful scripting language for executing complex multi-step transactions on Ethereum.

Package Origin

This package represents a refactored version of the original weiroll.js library. The original library was tightly coupled to ethers.js v5, but this version has been completely refactored to:

  • Remove ethers v5 dependency - Works with any supported blockchain library
  • Support multiple adapters - Compatible with ethers v5, ethers v6, and viem
  • Maintain API compatibility - 100% compatible with original weiroll.js API
  • Enable SDK integration - Seamlessly integrate with the CoW Protocol SDK ecosystem

Installation

npm install @cowprotocol/sdk-weiroll
or
pnpm add @cowprotocol/sdk-weiroll
or
yarn add @cowprotocol/sdk-weiroll

Usage

Individual package usage

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))
})

Features

  • Multi-step transactions - Plan and execute complex transaction sequences
  • Gas optimization - Efficient execution through delegate calls
  • Return value chaining - Use outputs from one call as inputs to another
  • Adapter agnostic - Works with ethers v5, v6, and viem
  • Type safety - Full TypeScript support

Note: This package maintains 100% API compatibility with the original weiroll.js library while adding support for multiple blockchain adapters.

Details


Assets

  • sdk-weiroll-0.1.5-pr-642-7e4f7405.0.tgz

Download activity

  • Total downloads 0
  • Last 30 days 0
  • Last week 0
  • Today 0