npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

inherichain

v1.0.0

Published

A wallet which has inheritance built in on the Ethereum Blockchain.

Downloads

8

Readme

Inherichain Build Status Coverage Status

Inherichain

A wallet that has inheritance built-in on the Ethereum Blockchain.

Description

Ethereum wallets are created using a Seed or Private Key and can send and receive almost any ethereum assets and create contracts. But it lacks a significant feature, which is to retrieve the assets in case of the wallet owner's demise.

Inherichain is a Wallet Contract with almost all the features of a normal EOA (Externally Owned Account). Along with that, it also can transfer the ownership of the contract wallet to the specified Heir.

Function List & Specification

A basic description of all the functions, modifiers, and events are specified in the doc folder here.

User Specification

Admin can :

  • Update the Backup Owner.
  • Update the Heir (Resets the Claim Process).
  • Update the Deadline.
  • Add new Approvers.
  • Delete old Approvers.
  • Interact with Other Contracts (ERC20 Transfers, etc.).
  • Withdraw some or all ETH.
  • Transfer some or all ETH.
  • Deploy Contracts.

Backup Owner can :

  • Update the Owner.

Heir can :

  • Start the Claim.
  • Access Ownership using Approver Votes or Complete Deadline.

Approver can :

  • Approve or Reject Heir.

Every User can :

  • Deposit ETH.

Enhancement to do:

  • Involve Kleros if heir & owner demise at the same time to choose what to do with the funds.
  • Introduce Vote weightage for approvers.
  • At the moment, the Approver's role is to fast-track the heir claim process. But we can improve and involve the approvers more to give the assets to some publicly announced charity or so on the unanimous front of all approvers. The final say on the charity by involving Kleros.
  • Mechanism to divide the contract asset into parts based on multiple heirs. Expanding on the same, giving different % for different Heir.

How to Run the Project

  1. Create a new folder.

  2. Copy the Git Clone URL from GitHub: https://github.com/remedcu/Inherichain.git

  3. Clone the Repository.

git clone https://github.com/remedcu/Inherichain.git

  1. In a command line, inside the Inherichain folder, write npm i or npm install

  2. Now run ganache-cli and copy the mnemonic, address, and private key part for later use. (Make sure it runs on port 8545 if you intend to run the truffle test command).

  3. In a command line, run truffle migrate --reset.

  4. (Optional) If you want, you can run the truffle test to see if it passes all tests or not.

  5. To run the frontend part, just use npm start and it will start a server in localhost.

How to Test the Contract

  1. Please follow the step 1 - 6 of How to Run the Project.

  2. Now start the test using:

npm run test

Note: You can also use the truffle test to test the smart contract if you already have ganache-cli or Ganache GUI running in the background for testing in the local network.

Documentation

Using solidity-docgen: Inherichain.md