Ethereum Smart Contracts and TypeScript client library for the dYdX Perpetual Contracts Protocol. Currently used by trade.dydx.exchange.
Full Documentation at docs.dydx.exchange.
Check out our full documentation at docs.dydx.exchange:
npm i -s @dydxprotocol/perpetual
The current contract addresses can be found in the migrations/deployed.json
file.
The smart contracts were audited independently by
Zeppelin Solutions at commit c5e2b0e
, excluding P1Orders.sol
.
Zeppelin Solutions Audit Report
All production smart contracts are tested and have 100% line and branch coverage.
The disclosure of security vulnerabilities helps us ensure the security of our users.
How to report a security vulnerability?
If you believe you’ve found a security vulnerability in one of our contracts or platforms, send it to us by emailing security@dydx.exchange. Please include the following details with your report:
-
A description of the location and potential impact of the vulnerability.
-
A detailed description of the steps required to reproduce the vulnerability.
Scope
Any vulnerability not previously disclosed by us or our independent auditors in their reports.
Guidelines
We require that all reporters:
-
Make every effort to avoid privacy violations, degradation of user experience, disruption to production systems, and destruction of data during security testing.
-
Use the identified communication channels to report vulnerability information to us.
-
Keep information about any vulnerabilities you’ve discovered confidential between yourself and dYdX until we’ve had 30 days to resolve the issue.
If you follow these guidelines when reporting an issue to us, we commit to:
-
Not pursue or support any legal action related to your findings.
-
Work with you to understand and resolve the issue quickly (including an initial confirmation of your report within 72 hours of submission).
-
Grant a monetary reward based on the OWASP risk assessment methodology.
Requires a running docker engine.
npm run build
npm run build:js
Requires a running docker engine.
Start test node:
docker-compose up
Deploy contracts to test node & run tests:
npm test
Just run tests (contracts must already be deployed to test node):
npm run test_only
Just deploy contracts to test node:
npm run deploy_test
-
Brendan Chou @brendanchou
brendan@dydx.exchange
-
Ken Schiller @kenadia
ken@dydx.exchange