GithubHelp home page GithubHelp logo

multisig_vault's People

Contributors

lastmjs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

multisig_vault's Issues

Should we make it a best practice to always surround mutations in a try catch? We need to ensure we never get into an inconsistent state

Should we make it a best practice to always surround mutations in a try catch? We need to ensure we never get into an inconsistent state?

Canisters need to be very careful when trapping, and I believe when an error is thrown in Boa then the canister will panic thus causing a trap. This could lead to inconsistent behavior if there have a been any cross-canister calls, as the state before the call will have been committed but not the state after the call.

For now I am doing all mutations after any cross-canister calls, so any uncaught errors should wipe clean, but we should be aware of this and possibly come up with best practices.

Automated tests

  • Signer proposals
    • Non-signers cannot propose
  • Threshold Proposals
    • Non-signers cannot propose
  • Transfer Proposals
    • Non-signers cannot propose
  • Signer voting
  • Threshold voting
  • Transfer voting

Add cycle stats

Also consider making a simple web component that anyone can pop in to show canister stats

How to deal with changing security parameters?

When signers and threshold change and there are open proposals, what should we do? For now I am not allowing signers or the threshold to be changed if there are open transfer proposals. As we continue to create more multisig applications, we should learn the most elegant way to handle this situation.

Create the demergent-daos elements

demergent-daos might be the highest-level components (both frontend and backend) that we want to maintain...multisig ICP vault, multisig NFT valut, multisig neuron, and SNS are all things we can have frontend components for, and the the multisigs can have a backend...we will need to modularize and componentize and generalize everything even further.

Fix the vote on transfer section

We need to fix some things in Azle before being done with this section

  • TransferError
  • get mutator pattern with generator in abstracted function

Launch with 10 ICP

Here is what we need to do to feel comfortable with the first version of the Multisig:

  • #27
  • Make adopt/reject buttons the first thing
  • Make little refresh buttons
  • Remove signer button is weird
  • Consider what happens when changing the threshold and changing the number of signers...this needs to be very robust...it is really starting to seem like the threshold and signers should be snapshotted into the proposal
  • #33
  • get rid of space on adopt/reject
  • Update the threshold after a threshold proposal is adopted or rejected and when refreshing
  • The threshold was 2 and we removed one signer and it worked, we need rules for removing signers
  • Should non-signers be able to recalculate stats and see proposals?
  • We actually need a margin between the adopt and reject buttons
  • state index types on the backend
  • Always pass in values from state, only mutate inside of a mutator
  • #26
  • #9
  • #28
  • #36
  • #10
  • #25
  • #43
  • #37
    • IILabs team needs to fix: recover from seed phrase on phone
    • IILabs team needs to fix: manually entire anchor on phone
  • #35
  • Personal security review
  • Personal penetration test
  • Good README that explains all steps for local and production deployment and all commands
  • Create a make autonomous button...this should require the same threshold rules as currently set, and it simply removes all controllers from the frontend and backend canisters except for the backend canister
  • Security reviews and audits using the known canister best practices

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.