Giter Site home page Giter Site logo

dapp-bin's Introduction

dapp-bin

A place for all the ÐApps to live.

dapp-bin's People

Contributors

arkpar avatar bencxr avatar bryndyment avatar chriseth avatar cjentzsch avatar debris avatar drandreaskrueger avatar frozeman avatar gavofyork avatar jdetychey avatar lianahus avatar louielong avatar qdaniel avatar souptacular avatar vbuterin avatar yann300 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dapp-bin's Issues

A question regarding replay protection in wallet.sol

Hi,
I do not quite understand how (or if) wallet.sol offers replay protection.
Assume we have a 2-2 multisigwallet shared between owners S1 and S2. S1 wants to send some tokens to R. Thus, it sends a signed message m1 to the contract. It later revokes the operation, before S2 has confirmed.

Which line of code prevents that someone (really anyone) re-sends m1 to the contract, thereby undoing the revocation? After all m1 it is a valid transaction with a valid signature of one of the owners and is publicly available in the network. The crypto-way to prevent against replay attacks is the use of a nonce, but wallet.sol contains none.

chat.html is not working

I've tried to play with chat/chat.html but it's missing something.

Uncaught ReferenceError: web3 is not defined at chat.html:120

do we need to link a specific javascript file?

Thanks,
Mohamed.

[Wallet.sol] daily limit will not get reset daily

I think the underLimit function is broken. It compares today() > m_lastDay. Where today() = now / 1 days, 1 days = 86400 seconds and m_lastDay = now. today() will be 86400 times smaller than m_lastDay due to the division.

The intention is that today() > m_lastDay will be true when 86401 seconds have elapsed which is today() + 86402. But the implementation means it will only be true when today() * 86400 + 1

What is "owned"?

I can't seem to find a definition for it, yet many contracts seem to subclass from it.

Also, what is #require? Can't find documentation for that construct (did the syntax change?).

Race Condition in Wallet.sol

Hi,
Assume we have a 2-2 multisig-wallet with owners S1 and S2. Next, S1 wants to send some tokens to the receiver R. This is written to the blockchain.
Now, the issue: S1 changes his mind and revokes the operation by calling revoke. However S2 confirms shortly after. While the miners have not yet committed the function calls to the blockchain they can be arbitrarily reordered, because that's how miners work. So the confirmation may be written to the blockchain before the revocation and the tokens will be send. This is very unexpected behavior, or even a security issue.

Unfortunately I have no idea on how to fix this.

Wallet.sol: change to onlymanyowners modifier breaks administrative functions

I think the most recent change to wallet.sol broke all of the administrative functions (i.e., those with the onlymanyowners modifier).

See relevant commit + line: 2849dab#diff-ed99a3039a35a9961cc9c6735a7099baR49

confirmAndCheck returns either true or false depending on whether or not the function call has been approved by M-of-N owners. However, regardless of return value, it makes important state changes that count the confirmations received thus far. The new implementation of onlymanyowners reverts state changes (via require) any time confirmAndCheck returns false, making it impossible to hit the confirmation threshold for any function. No tallying ever happens.

This makes it impossible to change any of the wallet's properties such as ownership, required confirmations, etc.

Wallet.sol does not set new dailyLimit after needed amount of confirmations

Hello,

I've tested out the Wallet.sol deployed on both Mainnet (3 owners, 2 required confirmations), and I faced issue:

  1. I submit setDailyLimit transaction, with the new amount of Wei
  2. Then I send one confirmation for that transaction, it is shown in HasConfirmed list. All good.
  3. Then I send another confirmation, however then the first confirmation is gone, this one as well, and the daily limit stays the same.

I did not have enough time to check it and debug it closer on my local machine, so just raising a discussion, and will dig deeper later. (Maybe something is wrong with my transactions made, wallet id to check on mainnet: https://etherscan.io/address/0x6bDe62b9CAa68dB3ADAEEf29d716343DDa2bd35e)

Thanks!

IterableMapping question?

I have a question about IterableMapping: it's insert, remove, and iterate_valid function.

Let's say there is a data that has 5 items, keyIndex should be 1, 2, 3, 4, 5.

And then, we call remove(key2)(let's say key2 is the key of keyIndex 2), so data now has 4 items, keyIndex should be 1, 3, 4, 5.

And then again, we call insert(key6, value6), now data has 5 items, keyIndex are 1, 3, 4, 5, 6.

Here's the question: when we call iterate_valid(6), it return false, which is not right.

Is it my understanding or is it true?

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.