Вынесли отдельно тесты в локальный трюфле, чтоб легче было отлаживать. Пока без офчейна, но можно тестировать без деплоя в ринки, чтоб не ждать пока зафейлится транза
Тест кейсы: 0. Все прошло хорошо
- Что делать если Алиса не заморозила биткоин? Боб должен (если хочет) заморозить токен и сделать рефанд.
- Что делать если Боб не заморозил токен? Алиса выполняет close (после таймаута подписи. таймаут подписи не сделали)
- Что делать если алиса не забрала токен? Боб делает рефанд после таймаута и минусует алису.
npm i -g trufflegit clone https://github.com/swaponline/swap.truffle.git
cd ./swap.truffle
npm itruffle 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