The smart contracts behind saddle.finance ðŸ¤
The contracts are compiled with Hardhat, and tested using Waffle and TypeScript.
$ npm ci --legacy-peer-deps$ npm run build$ npm test$ npm run coverage$ npx hardhat nodeYou can connect to this RPC server via http://localhost:8545 with chain ID of 31337
In order to successfully fork a network, the networks have to be defined in hardhat.config.ts with valid RPC URLs. In case of mainnet, ALCHEMY_API must be set to a valid URL in the .env file.
ALCHEMY_API="https://eth-mainnet.alchemyapi.io/v2/XXXXXXXXXXXX"
$ npm run fork --network=mainnetYou can connect to this RPC server via http://localhost:8545 with chain ID of the network.
Additionally, you can choose a block number to fork from by setting FORK_BLOCK_NUMBER env variable.
In order to successfully deploy to Ropsten, ALCHEMY_API_ROPSTEN must be set to a valid URL in the .env file.
MNEMONIC_TEST_ACCOUNT must be set and the accounts must have some rEth for successful deployments.
ALCHEMY_API="https://eth-ropsten.alchemyapi.io/v2/XXXXXXXXXXXX"
MNEMONIC_TEST_ACCOUNT="seed phrase"
$ npx solidity-docgen --templates=templatesThe output in the docs folder should be copied to the appropriate folder in the saddle-docs repo.
Slither is a Solidity static analysis framework. To run it locally:
$ pip3 install slither-analyzer
$ slither .Slither is configured to run as a GitHub Action and error on any high findings.