Giter Site home page Giter Site logo

eac.js-lib's Introduction

Note: eac.js is operational but we're still working out the bugs. If you use it on the mainnet please first educate yourself about the possible risks.

npm version Greenkeeper badge Build Status

eac.js-lib

This is a part of eac.js family that includes

Eac.js-lib is the collection of lightweight helpers and wrappers for the Ethereum Alarm Clock protocol.

Documentation

Documentation is available!

Testing

Install mocha npm i -g mocha and mocha at the root of the directory to run the test script on an isolated virtual blockchain using mocha.

Dev version deployment

  • git submodule init ethereum-alarm-clock
  • git submodule update
  • cd ethereum-alarm-clock && git checkout {branch} && cd ..
  • ganache-cli -b 4 -i 1002
  • ./deploy.sh

Contributing

Pull requests are always welcome. Not all functionalities of the Ethereum Alarm Clock smart contracts are translated to this library, it was mostly just utilities needed to write the client and grew from there. If you need some functionality and are not finding it in the API docs, please open a issue or contribute a pull request.

Questions or Concerns?

Since this is alpha software, we highly encourage you to test it, use it and try to break it. We would love your feedback if you get stuck somewhere or you think something is not working the way it should be. Please open an issue if you need to report a bug or would like to leave a suggestion. Pull requests are welcome.

eac.js-lib's People

Contributors

adibas03 avatar e00dan avatar greenkeeper[bot] avatar josipbagaric avatar kosecki123 avatar lsaether avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

eac.js-lib's Issues

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

Version 16.4.0 of react was just published.

Branch Build failing 🚨
Dependency react
Current Version 16.3.2
Type devDependency

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

react 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

Release Notes v16.4.0

React

React DOM

  • Add support for the Pointer Events specification. (@philipp-spiess in #12507)
  • Properly call getDerivedStateFromProps() regardless of the reason for re-rendering. (@acdlite in #12600 and #12802)
  • Fix a bug that prevented context propagation in some cases. (@gaearon in #12708)
  • Fix re-rendering of components using forwardRef() on a deeper setState(). (@gaearon in #12690)
  • Fix some attributes incorrectly getting removed from custom element nodes. (@airamrguez in #12702)
  • Fix context providers to not bail out on children if there's a legacy context provider above. (@gaearon in #12586)
  • Add the ability to specify propTypes on a context provider component. (@nicolevy in #12658)
  • Fix a false positive warning when using react-lifecycles-compat in <StrictMode>. (@bvaughn in #12644)
  • Warn when the forwardRef() render function has propTypes or defaultProps. (@bvaughn in #12644)
  • Improve how forwardRef() and context consumers are displayed in the component stack. (@sophiebits in #12777)
  • Change internal event names. This can break third-party packages that rely on React internals in unsupported ways. (@philipp-spiess in #12629)

React Test Renderer

  • Fix the getDerivedStateFromProps() support to match the new React DOM behavior. (@koba04 in #12676)
  • Fix a testInstance.parent crash when the parent is a fragment or another special node. (@gaearon in #12813)
  • forwardRef() components are now discoverable by the test renderer traversal methods. (@gaearon in #12725)
  • Shallow renderer now ignores setState() updaters that return null or undefined. (@koba04 in #12756)

React ART

  • Fix reading context provided from the tree managed by React DOM. (@acdlite in #12779)

React Call Return (Experimental)

  • This experiment was deleted because it was affecting the bundle size and the API wasn't good enough. It's likely to come back in the future in some other form. (@gaearon in #12820)

React Reconciler (Experimental)

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 🌴

Hard to add new networks

In it's current form, it's hard to add the support for new networks to eac.js-lib.

The idea is to create a config file that contains all the addresses of EAC contracts for as many networks as possible.

This would avoid changes to the source code (like these #30) every time a new network has to be added.

Calling `getTimestampForBlock` fails

DApp often fails (when viewing lists, or details of transactions) on getTimestampForBlock call with error:

Uncaught TypeError: Cannot read property 'timestamp' of null
    at Object.web3.eth.getBlock [as callback]

Screenshot:

screenshot from 2018-06-06 15-08-51

Link to eac.js-lib code:

const getTimestampForBlock = async (web3, blockNum) => {

Better testing mocks and environment for private test networks

The ability to correctly test contracts is super important for avoiding expensive fiascoes. However, there is no easy way to mock / test the scheduling functionality of the Ethereum Alarm Clock on a private test network besides actually deploying the contracts first. Even then, the private network requires a TimeNode to be present to actually execute the transaction. For a better developer experience we need a way to mock the deploy of the EAC on private test networks and execute the transactions in a lightweight way.

One thing we can do is create a dumb Scheduler which will basically only be a TransactionRequest with a timelock, then have a lightweight TimeNode in a helper function exposed by this library. Something like mockSchedule(params) which will handle all the complicated stuff under the scenes. Or even a simple mockTimeNode() which will wrap over the execution. Add't we can add an easy deployEAC() function which can be ran early in a Truffle mocha test.

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.