Вынесли отдельно тесты в локальный трюфле, чтоб легче было отлаживать. Пока без офчейна, но можно тестировать без деплоя в ринки, чтоб не ждать пока зафейлится транза
Тест кейсы: 0. Все прошло хорошо
- Что делать если Алиса не заморозила биткоин? Боб должен (если хочет) заморозить токен и сделать рефанд.
- Что делать если Боб не заморозил токен? Алиса выполняет close (после таймаута подписи. таймаут подписи не сделали)
- Что делать если алиса не забрала токен? Боб делает рефанд после таймаута и минусует алису.
npm i -g truffle
git clone https://github.com/swaponline/swap.truffle.git
cd ./swap.truffle
npm i
truffle develop
truffle(develop)> test
- Run tests
truffle test
- Deploy contract and save deployed address
truffle deploy --network rinkeby # (or mainnet)
- Flatten imports:
pip3 install solidity_flattener
# install solc
npm run flatten -- contracts/[ContractName].sol
# will be saved to build/flattened.sol
- Prepare needed variables:
# export NETWORK=mainnet # optional
export CONTRACT_ADDRESS=0xABCc0n7rac7
export CONTRACT_NAME=EthToSmthSwaps
export ETHERSCAN_API_KEY=[your api key]
- Run verificator!
node verify.js $CONTRACT_ADDRESS build/flattened.sol
- If there are errors, look into params.
- [x] больше проверок в тестах
- [x] заполнить truffle.js
- [x] code review