Giter Club home page Giter Club logo

vesting-wallets's Introduction

Greenkeeper badge

vesting-wallets's People

Contributors

qkyrie avatar alpa-coder avatar greenkeeper[bot] avatar

Stargazers

Caleb Forestal avatar  avatar UnbanksyTV avatar  avatar  avatar  avatar

Watchers

 avatar James Cloos avatar  avatar Karel Striegel avatar  avatar Aaron Anama avatar  avatar

Forkers

jurgenschouppe

vesting-wallets's Issues

VestingWallet#registerVestingSchedule assumes an implied follow up transaction

VestingWallet#registerVestingSchedule registers the vesting schedule and
assumes the _depositor will transfer tokens to vest. If this second implied transaction
does not occur or it transfers fewer tokens than the vesting schedule defines, some token
recipients will be unable to withdraw funds.

Impact: Potential loss of funds

Feasibility: High, can occur due to poor internal communication.

Mitigation: Redesign this into an approval flow where a vesting schedule does not become
valid/active until a corresponding deposit is made (or there already exists an appropriate
deposit).

No percentage validation in VestingWallet#registerVestingScheduleWithPercentage

There are no guards to prevent the _percentage argument from exceeding 100%. A
mistake or typo by the contract owner will not be caught, and will allocate more tokens than
intended. As a result, the recipient of the created schedule will be able to withdraw more
tokens than intended or allotted. Other vesting recipients may be unable to withdraw tokens
as a result.

Impact: Potential loss of funds

Feasibility: High, can occur with simple typo.

Mitigation: Add require(_percentage <= 100); between lines 98 and 99 in
VestingWallet#registerVestingScheduleWithPercentage

An in-range update of solium is breaking the build 🚨

The devDependency solium was updated from 1.1.9 to 1.1.10.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

solium is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recovering from accidental over deposit

Synopsis: When registering a vesting schedule and subsequently performing a
corresponding deposit, funds that are deposited over the sum of all existing vesting
schedules become inaccessible. Recovering those funds requires a new vesting schedule
for the extraneous amount to be created then calling VestingWallet#endVesting to
recover the funds.

Impact: Temporary locking of funds with reconciliation workflow possibly leading to
additional user input mistakes.

Feasibility: High, can occur with simple typo.

Mitigation: Implement a method that explicitly balances the deposit amount to match the
sum of all vesting schedules, refunding the remainder to the owner of the vesting wallet in
order to reduce the complexity of recovering from over-deposit and mitigate further mistakes.
This audit

An in-range update of ganache-cli is breaking the build 🚨

The devDependency ganache-cli was updated from 6.1.8 to 6.2.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

ganache-cli is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 28 commits.

  • 93dadb1 6.2.0
  • 4759eab Update ganache-core to 2.3.0
  • d84c9e6 6.2.0-beta.0
  • 1c80923 move these dev dependencies to devDependencies
  • 17a7de7 ignore perf dir when publishing to npm
  • 27cda62 Merge branch 'develop'
  • 4a25106 Update docker build to use shrinkwrap file and node 10-lts
  • ed0c27e shrinkwrap deps
  • 671824a Update ganache-core to beta
  • cf4384e Merge pull request #581 from martianov/add_time_to_cli_args
  • a89bd86 add time arg to readme
  • f598676 Merge branch 'develop' into add_time_to_cli_args
  • 8d3e958 Improve readme formatting
  • 3f6ac8e Replace bit.ly link with direct link in readme
  • 8215ccf Add Option for HTTP Server keepAliveTimeout (#583)

There are 28 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

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.