Home for all packages related to the Counterfactual project
Clone or download
snario [node] Miscellaneous code cleanup (#547)
* Miscellaneous code cleanup

* Fix a type mismatch

* Keep default eexports of controllers

* Leave only default exports of controllers

* Fix type error on Promise<AppInstanceInfo>
Latest commit 5e37130 Jan 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Persist workplace for built packages to speed up CircleCI (#535) Jan 16, 2019
.github Add reminder to check deploy preview (#426) Jan 3, 2019
packages [node] Miscellaneous code cleanup (#547) Jan 16, 2019
patches Update ethereum-waffle to 2.0.0-beta.3 (#437) Jan 4, 2019
.editorconfig Update dependencies to enable Greenkeeper 🌴 (#207) Oct 24, 2018
.gitattributes Init commit. Feb 28, 2018
.gitignore [playground-server] Adds initial configuration + basic Koa listener (#… Dec 26, 2018
.soliumrc.json [all] Introduction of AppRegistry and significant code improvements t… Dec 27, 2018
.yarnrc Typescript+lerna+yarn-monorepo (#80) Jun 27, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#173) Nov 6, 2018
LICENSE Single license for all packages (#131) Oct 20, 2018
README.md [monorepo] Update README regarding Yarn Install (#434) Jan 4, 2019
build.sh [monorepo] added selective build according to server/UI scope for Pla… Jan 10, 2019
greenkeeper.json Fix ignore in greenkeeper.json Jan 9, 2019
lerna.json 🛠 Ensure `yarn build` and `yarn test` work as expected (#143) Oct 23, 2018
logo.svg 🛠 Ensure `yarn build` and `yarn test` work as expected (#143) Oct 23, 2018
package.json [playground-server] [playground] Implements account registration flow ( Jan 7, 2019
tsconfig.json [poc] bridges cf.js into playground-poc for testing (#263) Nov 23, 2018
tslint.json Implement root nonce functonality in codebase (#410) Jan 2, 2019
yarn.lock Update ethers in group default to the latest version 🚀 (#538) Jan 16, 2019



Simple off-chain applications framework for Ethereum.

circleci license

Counterfactual is a simple off-chain framework for building state channel applications on top of the Ethereum blockchain. It aims to make it simpler to build permissionless applications that have instant finality with zero-fee transactions.

You can learn more about what state channels are by reading our whitepaper or a less technical written description. Further, if you want to dive into the specifications of the Counterfactual protocol you can read them here.


Installing dependencies

Make sure you have Yarn v1.10.1 installed or higher. Refer to Yarn's installation guide for setup instructions for your operating system.

To install the dependencies:


Building packages

To build all packages:

yarn build


To clean all packages:

yarn clean


To lint all packages:

yarn lint

To also apply automatic fixes:

yarn lint:fix


To run all tests:

yarn test


We generate patches using the patch-package tool with a workaround described in this issue for yarn workspaces.