Coder Social home page Coder Social logo

dydx.js's People

Contributors

antoniojuliano avatar brendanchou avatar prettymuchbryce avatar

Stargazers

 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

dydx.js's Issues

protocol build files generation

After running npm install inside the dydx.js project and inspecting the @dydxprotocol located in the node_modules directory, the protocol/build/contracts folder seems to have all the build files. I did not find any pre/post install scripts inside the package.json file that would run truffle compile/migrate to create there build files. I am interested in knowing how these files are being generated after installation.

Support both promise, and non-promise transaction approach [2]

Support both promise and non-promise approaches for sending transactions.

Sometimes it's useful for the promise to resolve only when the transaction is mined, but other times it is useful to get access to the transaction hash before the transaction has been mined.

We should support both for all external-facing methods that make contract calls.

Re-architect test scructure [1]

The way the tests are currently written now were based off how the protocol tested the contracts, I need to go back and rewrite these tests and helpers so they are more composable for future testing of dydx.js

Convert all function arguments to a single object

Lets convert all of our public function arguments to accept a single object. This makes it easier to support optional fields, makes things less error-prone for the caller, and makes the signature more flexible in the future.

Explore gas estimation issue with closePositionDirectly

The Helper file will multiply the gas estimation by 1.5 to ensure that transactions go through successfully, however when calling closePositionDirectly you must manually put in a high gas cost, otherwise it will throw a revert error

  • why is the gas estimation not working in this case
  • how does one account for erroneous gas estimations when using dydx.js

Add tokenAddress to `createCappedShort`

In createCappedShort, the response should also include the tokenAddress for ease of use, otherwise a user would have to getPosition in order to get the token from the owner

Add get balance + get owed amount to BucketLender

Add the ability to get an address's total deposited amount into all buckets

Also add the ability to get the total amount owed to a lender

Will need to determine all the buckets an address has deposited into which can be done the same way as withdrawAll works

Investigate Web3 1.0

We should investigate the feasibility of switching to Web3 1.0. There may have been stability improvements in the newer versions, but in the past we have avoided switching because the story around the compatibility with MetaMask was unclear.

Lets invest some cycles and do some real investigation around whether or not we can transition to Web3 1.0

https://github.com/MetaMask/metamask-extension/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+web3+1.0

https://guillaumeduveau.com/en/blockchain/ethereum/metamask-web3

MetaMask/metamask-extension#3642 (comment)

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.