All Projects → EtherDogs → HeritableWallet

EtherDogs / HeritableWallet

Licence: GPL-3.0 license
Personal "bank account" contract on Ethereum with inheritance setup feature

Projects that are alternatives of or similar to HeritableWallet

Solidity
🔐 Ethereum smart contracts developed for the Hanzo Platform.
Stars: ✭ 46 (+100%)
Mutual labels:  ethereum-contract
Ethereum Smart Contracts Security Checklist
Ethereum Smart Contracts Security CheckList From Knownsec 404 Team
Stars: ✭ 114 (+395.65%)
Mutual labels:  ethereum-contract
Tokenbalance
Simple Ethereum API to get your ERC20 Token Balance along with useful information
Stars: ✭ 163 (+608.7%)
Mutual labels:  ethereum-contract
Solidity Auction
A simple auction dApp for Ethereum, written in Solidity.
Stars: ✭ 60 (+160.87%)
Mutual labels:  ethereum-contract
Seriality
Seriality is a library for serializing and de-serializing all the Solidity types in a very efficient way which mostly written in solidity-assembly
Stars: ✭ 105 (+356.52%)
Mutual labels:  ethereum-contract
Yearn Vaults
Yearn Vault smart contracts
Stars: ✭ 132 (+473.91%)
Mutual labels:  ethereum-contract
Daox Contracts
Smart contracts for creating Daox-based fundraising organization
Stars: ✭ 31 (+34.78%)
Mutual labels:  ethereum-contract
Ethereum Graph Debugger
Ethereum solidity graph plain debugger. To have the whole picture when debugging.
Stars: ✭ 177 (+669.57%)
Mutual labels:  ethereum-contract
Eden Smart Contracts
EDEN - EDN Smart Token & Smart Contracts
Stars: ✭ 109 (+373.91%)
Mutual labels:  ethereum-contract
Basic Attention Token Crowdsale
Basic Attention Token
Stars: ✭ 160 (+595.65%)
Mutual labels:  ethereum-contract
Eth Random
commit-reveal RNG method in Ethereum
Stars: ✭ 79 (+243.48%)
Mutual labels:  ethereum-contract
Smart Contract Sanctuary
🐦🌴🌴🌴🦕 A home for ethereum smart contracts. 🏠
Stars: ✭ 99 (+330.43%)
Mutual labels:  ethereum-contract
Dharma Smart Wallet
An upgradeable, meta-transaction-enabled smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs.
Stars: ✭ 159 (+591.3%)
Mutual labels:  ethereum-contract
Ethereum Ico Contract
Tested Ethereum ICO Contract for Token Crowdsales
Stars: ✭ 59 (+156.52%)
Mutual labels:  ethereum-contract
Eth Vue
Featured in Awesome Vue [https://github.com/vuejs/awesome-vue], a curated list maintained by vuejs of awesome things related to the Vue.js framework, and Awesome List [https://awesomelists.net/150-Vue.js/3863-Open+Source/18749-DOkwufulueze-eth-vue], this Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ganache blockchain network from Truffle is also possible -- for fast development and testing purposes. Built on Truffle 5 and Vue 3, eth-vue uses vuex for state management, vuex-persist for local storage of app state, and vue-router for routing. Authentication functionalities are handled by Smart Contracts running on the Ethereum blockchain.
Stars: ✭ 171 (+643.48%)
Mutual labels:  ethereum-contract
Smart Contracts Example
Simple example of token market. Based on blockchain technology using Ethereum platform.
Stars: ✭ 37 (+60.87%)
Mutual labels:  ethereum-contract
Truffle Next
🛰️ A boilerplate Truffle Box project with Next.js for rapid Ethereum Dapp development
Stars: ✭ 130 (+465.22%)
Mutual labels:  ethereum-contract
offchain-oracle
Liquidity-weighted dex price oracle for offchain price discovery
Stars: ✭ 163 (+608.7%)
Mutual labels:  ethereum-contract
Angular Truffle Starter Dapp
Angular CLI + Truffle Starter Dapp; write, compile & deploy smart contracts on Ethereum blockchains
Stars: ✭ 174 (+656.52%)
Mutual labels:  ethereum-contract
Ico Contracts
Ethereum smart contracts that have been used during successful ICOs
Stars: ✭ 160 (+595.65%)
Mutual labels:  ethereum-contract

Simple wallet contract with inheritance feature.

You can use this contract to store your funds, send funds to an account of your choice and add heirs that will inherit the funds if you are not able to access them anymore, for example, in case of death.

Usage

  • To create a new heritable wallet contract you need to use the create(address beneficiary, uint periodInDays) of the already deployed factory contract. This will return the new wallet contract address.

  • To make deposits send funds directly to the wallet contract address.

  • To prove you are alive and active use checkIn() method periodically (default period is set to 365 days). This will extend the active status of the owner for the period specified in the contract.

  • To change the check-in period you can call setCheckInPeriod(uint periodInDays) by specifying the period in days.

  • Use sendFunds(address receiver, uint amount, bytes data) method to send a chosen amount to a specific address along with extra data.

  • To change ownership of the contract you can use transferOwnership(address newOwner) giving the new owner address as argument.

  • Add an heir by calling setHeir(address heir, uint8 inheritancePoints, uint periodInDays) specifying the heir's Ethereum address, his inheritance points and a preset check-in period. Heirs will get a share in the inheritance directly proportional with their number points. You can think of these as percentages. To remove an heir you need just to call this method with a 0 value for inheritance points.

  • For every heir added a new wallet contract is created and it is owned and controlled by the original owner. A heir is only the beneficiary of the wallet and can become the owner only after the original owner becomes unavailable. You can add sub-heirs to heirs so that if heirs aren't available to claim their share this will propagate to sub-heirs.

  • A designated heir can claim his share in the inheritance once the owner hasn't checked in for the period of time set in the contract. Heirs should use unlock() method for this. If conditions apply a specific share of the funds will be transferred to the heir's address, removing the heir from the list of heirs so that he can claim the inheritance only once. This also makes the heir the owner of the wallet contract and from this moment he is in total control of the contract and funds.

  • If a heir happens to be unavailable as well, sub-heirs can call the unlock() method for them so that the contract ownership is transfered to the heir, a necessary step before sub-heirs can claim their share from the unavailable heir.

  • If you don't need the contract anymore you can call destroy() method which will return all funds to the owner's address.

Disclaimer

Make sure you read, understand and test the code before using it on the Main Ethereum Network.

This version is still a work in progress and can change at any time. Any contributions, especially bug reports, are welcome as it is intended for free use.

I strongly encourage you to deploy the contract on a testnet as this was not tested enough yet to be considered safe to use.

Enjoy!

Future plans

We are in the process of creating an interface for this contract so that you can view all your wallet contracts, inherited wallets and interact with them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].