###### ###### # #######
# # ###### # # ##### # # # # # #
# # # ## # # # # # # # # #
###### ##### # # # # # # # # # # #
# # # # # # # # # # ####### # #
# # # # ## # # # # # # # #
###### ###### # # ##### ###### # # #######
This project contains all smart contracts used for the current BendDAO exchange ("v1"). This includes:
- core exchange contract
- libraries
- currency manager contract
- execution manager and strategy contracts
- royalty-related contracts
- transfer managers and selector contracts
The documentation for the exchange smart contracts is available here.
BendDAO Exchange protocol refers to the architecture design and adopts some of the code of LooksRare. We are very grateful to LooksRare for providing us with an excellent exchange platform.
# Yarn
yarn add @benddao/bend-exchange-protocol
# NPM
npm install @benddao/bend-exchange-protocolThe NPM package contains the following:
- Solidity smart contracts (".sol")
- ABI files (".json")
It is a hybrid Hardhat repo that also requires Foundry to run Solidity tests powered by the ds-test library.
To install Foundry, please follow the instructions here.
- TypeScript tests are included in the
testfolder at the root of this repo. - Solidity tests are included in the
testfolder in thecontractsfolder.
forge build
forge test
forge test -vv
forge treenpx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix- Create a Personal access token (Don't change the default scope)
- Create an
.env(copy.env.template) and set your GitHub personal access token. yarn releasewill run all the checks, build, and publish the package, and publish the GitHub release note.