Smart contracts for Dethlify, a type of smart contract wallet that enables trustless inheritance.
Dethlify is built with upgradability in mind. Therefore most of the logic is deployed in multiple modules. These modules are accessed using the delegatecall function in Solidity. To find out more about how Dethlify works, check out our documentation page.
The Dethlify smart contracts are organized in four main folders:
contracts/administration/: Contains the logic for our admin contractscontracts/main/: Contains the logic for all modules and user contractscontracts/interfaces/: Contains contract interfacescontracts/libs/: Contains contract libraries
To install the dependencies with npm:
npm install
For now we are using truffle. To compile all contracts, run:
npm run compile
First run ganache-cli:
npm run ganache
Then run the tests in a second terminal session:
npm run test
To generate JUnit report, change the reporter value to mocha-junit-reporter in truffle-config.js.
To generate a coverage report simply run this command:
npm run test:coverage
See LICENSE.