GithubHelp home page GithubHelp logo

dapphub / dappsys Goto Github PK

View Code? Open in Web Editor NEW
580.0 33.0 99.0 1.47 MB

Composable building blocks for Ethereum contracts

Home Page: http://dapp.tools/dappsys

License: GNU General Public License v3.0

Nix 100.00%
ethereum solidity dappsys

dappsys's Introduction

Dappsys

readthedocs chat

Dappsys is a collection of building blocks for building smart contract systems. They are written in Solidity, but deployed objects can be linked to any language.

dappsys's People

Contributors

apmilen avatar cassiopaia avatar d-xo avatar dbrock avatar desaperados avatar istoramandiri avatar mbrock avatar mhhf avatar nmushegian avatar rainbreak 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

dappsys's Issues

0.2.0 features proposal

  • critical safeToAdd fix
  • DSEasyMultisig: add extra return values to getActionStatus
  • DSTokenRegistry: tryGetToken to wrap tryGet to mirror getToken typed getter
  • DSTokenRegistry: add reverse index to look up symbol for address

Wrong comment on propose in DSEasyMultisig

The comment says that proposing will attempt to confirm & trigger the action. I can not see than anywhere in the code.

    // Propose an action.
    // Anyone can propose an action.
    // Attempts to also confirm (and then trigger) the action.
    // Only members can confirm actions.

Missing return value in approve function on TokenController

I'm not sure on the semantics of not returning something from a function that should return something, but the other functions with a boolean return value explicitely do so, so alone for the sake of consistency, shouldn't the approve function also return true?

git submodule add might need to be git submodule add -f

The readme instructs me to run git submodule add, but for some reason i'm not able to do this without adding the -f flag. There is no .gitignore file in the project directory.

$ git init
Initialized empty Git repository in /Users/sjouke/myproject/.git/

$ dapple init

$ git submodule add https://github.com/nexusdev/dappsys .dapple/packages/dappsys

The following path is ignored by one of your .gitignore files:
.dapple/packages/dappsys
Use -f if you really want to add it.

maintain umbrella repo?

Do we still want to maintain this repo since all the ds- modules are distinct packages now?

CI for dappsys

Probably via npm so we can also add non-VM tests in times of need.

Wrong comment on confirm in DSEasyMultisig

Similar to the previous issue, the comment states that confirming will automatically try to trigger the action. I can't see this in the code, am I missing something?

    // Attempts to confirm the action.
    // Only members can confirm actions.
    // Attempts to trigger the action

break up dappsys package

  • erc20
  • eth wrapper
  • token system
  • map/nullmap
  • easy multisig
  • echo
  • util/safety
  • Base
  • base actor
  • auth

feature brainstorming

  • "executor"-style DSBaseActor upgrade
  • async: simpler stateful callback
  • lang: work around Solidity restrictions

`DSComponent` design issue

  • document refreshEnvironment / updateEnvironment
  • determine appropriate auth settings for refreshEnvironment (tangent: currently no authorities which enable global access)
  • create new type for env -> separate issue to determine its scope
  • function NOT(bool x) returns (bool);

clarify license

I think dappsys (and the split out repos) needs a license of some sort so people know whether they can use it or not.

I would recommend one of Apache v2, GPLv3+, AGPL, commercial (in order of permissiveness). My preference is Apache v2.

"git submodule update --init --recursive" fails

Here is the final output of git submodule update --init --recursive:

Submodule path '.dapple/packages/ds-token/dapple_packages/ds-auth': checked out 'd4e01d8156241e02ca748c10dddd0da0245c3a63'
Submodule path '.dapple/packages/ds-token/dapple_packages/erc20': checked out '4b378d311440eca2a0e3bafb67612e5da91ef708'
Submodule path '.dapple/packages/ds-vault': checked out '154860cf8a9fe9c74818ab4c90f42a61ea57bac5'
Cloning into '/Users/sjouke/myproject/.dapple/packages/dappsys/.dapple/packages/ds-vault/dapple_packages/erc20'...
ssh: connect to host gitub.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:nexusdev/erc20' into submodule path '/Users/sjouke/myproject/.dapple/packages/dappsys/.dapple/packages/ds-vault/dapple_packages/erc20' failed
Submodule path '.dapple/packages/ds-whitelist': checked out '35512b9988a7801af4fbb6df3055b5f171bb227b'
Submodule path '.dapple/packages/ds-whitelist/dapple_packages/ds-auth': checked out 'd4e01d8156241e02ca748c10dddd0da0245c3a63'
Failed to recurse into submodule path '.dapple/packages/ds-vault'

improve error when: dapple can't find dependencies

(makerdao)root@public:/maker-project/dappsys# dapple test
No handlers could be found for logger "eth.pow"
/contracts/auth/auth.sol:1:1: Parser error: Source not found.
import '/auth/authority.sol';
^

Modernize dappsys

Many of the dappsys contracts are not compatible with the latest version of solidity.

Even if they were, they could benefit from utilizing new features in the language/the more robust compiler (like in the case of overflow checks).

If these updates were made however, they would not be backwards compatible. I would argue that once dapp begins defaulting to using solc >0.8.0 (dapphub/dapptools#580), it would be reasonable to make these upgrades to all the dappsys contracts instead of forking off a new modern version.

add groc docs

This library is a perfect fit for literate code -> doc gen

Support for Diamonds

It would be really great if dappsys provided a contract implementation of a diamond.

"A diamond is a set of contracts that can access the same storage variables and share the same Ethereum address."

The Diamond Standard is here: ethereum/EIPs#2535

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.