https://github.com/superoo7/dms_contract
Dead Man Switch implementation in Ethereum. Allows you to create a contract wallet to keep your ether and ERC20 token with a beneficiary attach to it.
https://github.com/superoo7/dms_contract
Last synced: about 1 month ago
JSON representation
Dead Man Switch implementation in Ethereum. Allows you to create a contract wallet to keep your ether and ERC20 token with a beneficiary attach to it.
- Host: GitHub
- URL: https://github.com/superoo7/dms_contract
- Owner: superoo7
- License: mit
- Created: 2020-02-12T05:06:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T01:21:47.000Z (about 2 years ago)
- Last Synced: 2025-01-23T10:45:05.568Z (3 months ago)
- Language: Solidity
- Homepage:
- Size: 853 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# DMS Contract
DMS Contract is an implementation of [Dead Man's Switch](https://en.wikipedia.org/wiki/Dead_man%27s_switch) in Ethereum blockchain written in Solidity.
This contract are still Work in Progress, and haven't been audited, use with care.
# Explanation
From Wikipedia:
> Software versions of dead man's switches are generally only used by people with technical expertise, and can serve several purposes, such as sending a notification to friends or deleting and encrypting data. The "non-event" triggering these can be almost anything, such as failing to log in for 7 consecutive days, not responding to an automated e-mail, ping, a GPS-enabled telephone not moving for a period of time, or merely failing to type a code within a few minutes of a computer's boot.
## Feature
- A Contract Factory that allows anyone to create new contract. (Refer to [DMSFactory](./contracts/DMSFactory.sol))
- Allow the genareted contract to set a single beneficiary and the creator of the contract will be the owner.
- Owner are allowed to change owner and beneficiary. (Refer to [Ownership](./contracts/Ownership.sol))
- Allow deposit of ERC20 token and Ether into the contract address. (acts like a wallet)
- Beneficiary are only allowed to access to the wallet only if the owner aren't able to update the lastCheckInBlock.
- Owner can withdraw ether and erc20 any time.
- Owner can set a threshold of block number.## Technology used
- Solidity
- Truffle
- Typescript
- Mocha & Chai
- Typechain## License
MIT