# New ports collection makefile for: p5-Class-Adapter # Date created: 2006-08-13 # Whom: Tsung-Han Yeh <snowfly@yuntech.edu.tw> # # $FreeBSD$ # PORTNAME= Class-Adapter PORTVERSION= 1.04 CATEGORIES= devel perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- MAINTAINER= snowfly@yuntech.edu.tw COMMENT= Perl implementation of the "Adapter" Design Pattern BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Scalar/Util.pm:${PORTSDIR}/lang/p5-Scalar-List-Utils \ ${SITE_PERL}/${PERL_ARCH}/File/Spec.pm:${PORTSDIR}/devel/p5-PathTools \ ${SITE_PERL}/Test/More.pm:${PORTSDIR}/devel/p5-Test-Simple RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Scalar/Util.pm:${PORTSDIR}/lang/p5-Scalar-List-Utils \ ${SITE_PERL}/${PERL_ARCH}/File/Spec.pm:${PORTSDIR}/devel/p5-PathTools \ ${SITE_PERL}/Test/More.pm:${PORTSDIR}/devel/p5-Test-Simple PERL_CONFIGURE= yes MAN3= Class::Adapter.3 \ Class::Adapter::Builder.3 \ Class::Adapter::Clear.3 .include <bsd.port.mk> lantw44/cgit/cgit.cgi/'><img src='/~lantw44/cgit-data/cgit.png' alt='cgit logo'/></a></td> <td class='main'><a href='/~lantw44/cgit/cgit.cgi/'>index</a> : <a title='freebsd-ports-gnome' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/'>freebsd-ports-gnome</a></td><td class='form'><form method='get'> <input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'> <option value='cinnamon'>cinnamon</option> <option value='cinnamon-2.8'>cinnamon-2.8</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/bl-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/bl-1.2.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7'>dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24' selected='selected'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal'>gstreamer0.10-removal</option> <option value='main'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=gnome-3.24'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gnome-3.24'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gnome-3.24'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24&showmsg=1'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/p5-URI-ToDisk/pkg-plist'> <input type='hidden' name='h' value='gnome-3.24'/><input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=gnome-3.24&showmsg=1'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www?h=gnome-3.24&showmsg=1'>www</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/p5-URI-ToDisk?h=gnome-3.24&showmsg=1'>p5-URI-ToDisk</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24&showmsg=1'>pkg-plist</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/p5-URI-ToDisk/pkg-plist?h=gnome-3.24'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> dl dd>:last-child { margin-bottom: 0px; } .markdown-body blockquote { border-left: 4px solid #DDD; padding: 0 15px; color: #777; } .markdown-body blockquote>:first-child { margin-top: 0px; } .markdown-body blockquote>:last-child { margin-bottom: 0px; } .markdown-body table th { font-weight: bold; } .markdown-body table th, .markdown-body table td { border: 1px solid #ccc; padding: 6px 13px; } .markdown-body table tr { border-top: 1px solid #ccc; background-color: #fff; } .markdown-body table tr:nth-child(2n) { background-color: #f8f8f8; } .markdown-body img { max-width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; } .markdown-body span.frame { display: block; overflow: hidden; } .markdown-body span.frame>span { border: 1px solid #ddd; display: block; float: left; overflow: hidden; margin: 13px 0 0; padding: 7px; width: auto; } .markdown-body span.frame span img { display: block; float: left; } .markdown-body span.frame span span { clear: both; color: #333; display: block; padding: 5px 0 0; } .markdown-body span.align-center { display: block; overflow: hidden; clear: both; } .markdown-body span.align-center>span { display: block; overflow: hidden; margin: 13px auto 0; text-align: center; } .markdown-body span.align-center span img { margin: 0 auto; text-align: center; } .markdown-body span.align-right { display: block; overflow: hidden; clear: both; } .markdown-body span.align-right>span { display: block; overflow: hidden; margin: 13px 0 0; text-align: right; } .markdown-body span.align-right span img { margin: 0; text-align: right; } .markdown-body span.float-left { display: block; margin-right: 13px; overflow: hidden; float: left; } .markdown-body span.float-left span { margin: 13px 0 0; } .markdown-body span.float-right { display: block; margin-left: 13px; overflow: hidden; float: right; } .markdown-body span.float-right>span { display: block; overflow: hidden; margin: 13px auto 0; text-align: right; } .markdown-body code, .markdown-body tt { margin: 0 2px; padding: 0px 5px; border: 1px solid #eaeaea; background-color: #f8f8f8; border-radius: 3px; } .markdown-body code { white-space: nowrap; } .markdown-body pre>code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } .markdown-body .highlight pre, .markdown-body pre { background-color: #f8f8f8; border: 1px solid #ccc; font-size: 13px; line-height: 19px; overflow: auto; padding: 6px 10px; border-radius: 3px; } .markdown-body pre code, .markdown-body pre tt { margin: 0; padding: 0; background-color: transparent; border: none; } pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #ffffff; } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ </style> <div class='markdown-body'><p><img src="https://github.com/0xProject/branding/blob/master/0x%20Logo/PNG/0x-Logo-Black.png" width="150px" ></p> <hr> <p><a href="https://0xproject.com">0x</a> is an open protocol that facilitates trustless, low friction exchange of Ethereum-based assets. For more information on how it works, check out the <a href="https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md">0x protocol specification</a>.</p> <p>This repository is a monorepo including the 0x protocol smart contracts and numerous developer tools. Each public sub-package is independently published to NPM.</p> <p>If you're developing on 0x now or are interested in using 0x infrastructure in the future, please join our <a href="http://eepurl.com/dx4cPf">developer mailing list</a> for updates.</p> <p><a href="https://circleci.com/gh/0xProject/0x-monorepo"><img alt="CircleCI" src="https://circleci.com/gh/0xProject/0x-monorepo.svg?style=svg&circle-token=61bf7cd8c9b4e11b132089dfcffdd1be277d1e0c"></a> <a href="https://coveralls.io/github/0xProject/0x-monorepo?branch=development"><img alt="Coverage Status" src="https://coveralls.io/repos/github/0xProject/0x-monorepo/badge.svg?branch=development"></a> <a href="https://chat.0xproject.com"><img alt="Discord" src="https://img.shields.io/badge/chat-rocket.chat-yellow.svg?style=flat"></a> <a href="https://gitter.im/0xProject/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img alt="Join the chat at https://gitter.im/0xProject/Lobby" src="https://badges.gitter.im/0xProject/Lobby.svg"></a> <a href="https://opensource.org/licenses/Apache-2.0"><img alt="License" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a></p> <h2 id="packages"><a class="toclink" href="#packages">Packages</a></h2> <p>Visit our <a href="https://0xproject.com/docs/order-utils">developer portal</a> for a comprehensive list of core & community maintained packages. All packages maintained with this monorepo are listed below.</p> <h3 id="python-packages"><a class="toclink" href="#python-packages">Python Packages</a></h3> <table> <thead> <tr> <th>Package</th> <th>Version</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="/python-packages/contract_addresses"><code>0x-contract-addresses</code></a></td> <td><a href="https://pypi.org/project/0x-contract-addresses/"><img alt="PyPI" src="https://img.shields.io/pypi/v/0x-contract-addresses.svg"></a></td> <td>A tiny utility library for getting known deployed contract addresses for a particular network</td> </tr> <tr> <td><a href="/python-packages/contract_artifacts"><code>0x-contract-artifacts</code></a></td> <td><a href="https://pypi.org/project/0x-contract-artifacts/"><img alt="PyPI" src="https://img.shields.io/pypi/v/0x-contract-artifacts.svg"></a></td> <td>0x smart contract compilation artifacts</td> </tr> <tr> <td><a href="/python-packages/json_schemas"><code>0x-json-schemas</code></a></td> <td><a href="https://pypi.org/project/0x-json-schemas/"><img alt="PyPI" src="https://img.shields.io/pypi/v/0x-json-schemas.svg"></a></td> <td>0x-related JSON schemas</td> </tr> <tr> <td><a href="/python-packages/order_utils"><code>0x-order-utils</code></a></td> <td><a href="https://pypi.org/project/0x-order-utils/"><img alt="PyPI" src="https://img.shields.io/pypi/v/0x-order-utils.svg"></a></td> <td>A set of utilities for generating, parsing, signing and validating 0x orders</td> </tr> <tr> <td><a href="/python-packages/sra_client"><code>0x-sra-client</code></a></td> <td><a href="https://pypi.org/project/0x-sra-client/"><img alt="PyPI" src="https://img.shields.io/pypi/v/0x-sra-client.svg"></a></td> <td>A Python client for interacting with servers conforming to the Standard Relayer API specification</td> </tr> </tbody> </table> <h3 id="typescriptjavascript-packages"><a class="toclink" href="#typescriptjavascript-packages">Typescript/Javascript Packages</a></h3> <h4 id="0x-specific-packages"><a class="toclink" href="#0x-specific-packages">0x-specific packages</a></h4> <table> <thead> <tr> <th>Package</th> <th>Version</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="/packages/0x.js"><code>0x.js</code></a></td> <td><a href="https://www.npmjs.com/package/0x.js"><img alt="npm" src="https://img.shields.io/npm/v/0x.js.svg"></a></td> <td>An aggregate package combining many smaller utility packages for interacting with the 0x protocol</td> </tr> <tr> <td><a href="/packages/contract-addresses"><code>@0x/contract-addresses</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/contract-addresses"><img alt="npm" src="https://img.shields.io/npm/v/@0x/contract-addresses.svg"></a></td> <td>A tiny utility library for getting known deployed contract addresses for a particular network.</td> </tr> <tr> <td><a href="/packages/contract-wrappers"><code>@0x/contract-wrappers</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/contract-wrappers"><img alt="npm" src="https://img.shields.io/npm/v/@0x/contract-wrappers.svg"></a></td> <td>JS/TS wrappers for interacting with the 0x smart contracts</td> </tr> <tr> <td><a href="/packages/order-utils"><code>@0x/order-utils</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/order-utils"><img alt="npm" src="https://img.shields.io/npm/v/@0x/order-utils.svg"></a></td> <td>A set of utilities for generating, parsing, signing and validating 0x orders</td> </tr> <tr> <td><a href="/packages/json-schemas"><code>@0x/json-schemas</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/json-schemas"><img alt="npm" src="https://img.shields.io/npm/v/@0x/json-schemas.svg"></a></td> <td>0x-related JSON schemas</td> </tr> <tr> <td><a href="/packages/order-watcher"><code>@0x/order-watcher</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/order-watcher"><img alt="npm" src="https://img.shields.io/npm/v/@0x/order-watcher.svg"></a></td> <td>An order watcher daemon that watches for order validity</td> </tr> <tr> <td><a href="/packages/migrations"><code>@0x/migrations</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/migrations"><img alt="npm" src="https://img.shields.io/npm/v/@0x/migrations.svg"></a></td> <td>Migration tool for deploying 0x smart contracts on private testnets</td> </tr> <tr> <td><a href="/packages/contract-artifacts"><code>@0x/contract-artifacts</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/contract-artifacts"><img alt="npm" src="https://img.shields.io/npm/v/@0x/contract-artifacts.svg"></a></td> <td>0x smart contract compilation artifacts</td> </tr> <tr> <td><a href="/packages/abi-gen-wrappers"><code>@0x/abi-gen-wrappers</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/abi-gen-wrappers"><img alt="npm" src="https://img.shields.io/npm/v/@0x/abi-gen-wrappers.svg"></a></td> <td>Low-level 0x smart contract wrappers generated using <code>@0x/abi-gen</code></td> </tr> <tr> <td><a href="/packages/sra-spec"><code>@0x/sra-spec</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/sra-spec"><img alt="npm" src="https://img.shields.io/npm/v/@0x/sra-spec.svg"></a></td> <td>OpenAPI specification for the Standard Relayer API</td> </tr> <tr> <td><a href="/packages/connect"><code>@0x/connect</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/connect"><img alt="npm" src="https://img.shields.io/npm/v/@0x/connect.svg"></a></td> <td>An HTTP/WS client for interacting with the Standard Relayer API</td> </tr> <tr> <td><a href="/packages/asset-buyer"><code>@0x/asset-buyer</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/asset-buyer"><img alt="npm" src="https://img.shields.io/npm/v/@0x/asset-buyer.svg"></a></td> <td>Convenience package for discovering and buying assets with Ether</td> </tr> </tbody> </table> <h4 id="ethereum-tooling"><a class="toclink" href="#ethereum-tooling">Ethereum tooling</a></h4> <table> <thead> <tr> <th>Package</th> <th>Version</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="/packages/web3-wrapper"><code>@0x/web3-wrapper</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/web3-wrapper"><img alt="npm" src="https://img.shields.io/npm/v/@0x/web3-wrapper.svg"></a></td> <td>An Ethereum JSON RPC client</td> </tr> <tr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation/sol-compiler</code></a></td> <td><a href="https://www.npmjs.com/package/@dexon-foundation/sol-compiler"><img alt="npm" src="https://img.shields.io/npm/v/@dexon-foundation/sol-compiler.svg"></a></td> <td>A wrapper around solc-js that adds smart re-compilation, ability to compile an entire project, Solidity version specific compilation, standard input description support and much more.</td> </tr> <tr> <td><a href="/packages/sol-coverage"><code>@dexon-foundation/sol-coverage</code></a></td> <td><a href="https://www.npmjs.com/package/@dexon-foundation/sol-coverage"><img alt="npm" src="https://img.shields.io/npm/v/@dexon-foundation/sol-coverage.svg"></a></td> <td>A solidity test coverage tool</td> </tr> <tr> <td><a href="/packages/sol-profiler"><code>@dexon-foundation/sol-profiler</code></a></td> <td><a href="https://www.npmjs.com/package/@dexon-foundation/sol-profiler"><img alt="npm" src="https://img.shields.io/npm/v/@dexon-foundation/sol-profiler.svg"></a></td> <td>A solidity gas cost profiler</td> </tr> <tr> <td><a href="/packages/sol-trace"><code>@0x/sol-trace</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/sol-trace"><img alt="npm" src="https://img.shields.io/npm/v/@0x/sol-trace.svg"></a></td> <td>A solidity stack trace tool</td> </tr> <tr> <td><a href="/packages/sol-resolver"><code>@0x/sol-resolver</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/sol-resolver"><img alt="npm" src="https://img.shields.io/npm/v/@0x/sol-resolver.svg"></a></td> <td>Import resolver for smart contracts dependencies</td> </tr> <tr> <td><a href="/packages/subproviders"><code>@dexon-foundation/subproviders</code></a></td> <td><a href="https://www.npmjs.com/package/@dexon-foundation/subproviders"><img alt="npm" src="https://img.shields.io/npm/v/@dexon-foundation/subproviders.svg"></a></td> <td>Web3 provider middlewares (e.g. LedgerSubprovider)</td> </tr> <tr> <td><a href="/packages/sol-doc"><code>@dexon-foundation/sol-doc</code></a></td> <td><a href="https://www.npmjs.com/package/@dexon-foundation/sol-doc"><img alt="npm" src="https://img.shields.io/npm/v/@dexon-foundation/sol-doc.svg"></a></td> <td>Solidity documentation generator</td> </tr> </tbody> </table> <h4 id="utilities"><a class="toclink" href="#utilities">Utilities</a></h4> <table> <thead> <tr> <th>Package</th> <th>Version</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="/packages/abi-gen"><code>@0x/abi-gen</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/abi-gen"><img alt="npm" src="https://img.shields.io/npm/v/@0x/abi-gen.svg"></a></td> <td>Tool to generate TS wrappers from smart contract ABIs</td> </tr> <tr> <td><a href="/packages/tslint-config"><code>@0x/tslint-config</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/tslint-config"><img alt="npm" src="https://img.shields.io/npm/v/@0x/tslint-config.svg"></a></td> <td>Custom TSLint rules used by the 0x core team</td> </tr> <tr> <td><a href="/packages/types"><code>@0x/types</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/types"><img alt="npm" src="https://img.shields.io/npm/v/@0x/types.svg"></a></td> <td>Shared type declarations</td> </tr> <tr> <td><a href="/packages/typescript-typings"><code>@0x/typescript-typings</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/typescript-typings"><img alt="npm" src="https://img.shields.io/npm/v/@0x/typescript-typings.svg"></a></td> <td>Repository of types for external packages</td> </tr> <tr> <td><a href="/packages/utils"><code>@0x/utils</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/utils"><img alt="npm" src="https://img.shields.io/npm/v/@0x/utils.svg"></a></td> <td>Shared utilities</td> </tr> <tr> <td><a href="/packages/react-docs"><code>@0x/react-docs</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/react-docs"><img alt="npm" src="https://img.shields.io/npm/v/@0x/react-docs.svg"></a></td> <td>React documentation component for rendering TypeDoc & sol-doc generated JSON</td> </tr> <tr> <td><a href="/packages/react-shared"><code>@0x/react-shared</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/react-shared"><img alt="npm" src="https://img.shields.io/npm/v/@0x/react-shared.svg"></a></td> <td>0x shared react components</td> </tr> <tr> <td><a href="/packages/assert"><code>@0x/assert</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/assert"><img alt="npm" src="https://img.shields.io/npm/v/@0x/assert.svg"></a></td> <td>Type and schema assertions used by our packages</td> </tr> <tr> <td><a href="/packages/base-contract"><code>@0x/base-contract</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/base-contract"><img alt="npm" src="https://img.shields.io/npm/v/@0x/base-contract.svg"></a></td> <td>BaseContract used by auto-generated <code>abi-gen</code> wrapper contracts</td> </tr> <tr> <td><a href="/packages/dev-utils"><code>@0x/dev-utils</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/dev-utils"><img alt="npm" src="https://img.shields.io/npm/v/@0x/dev-utils.svg"></a></td> <td>Dev utils to be shared across 0x packages</td> </tr> <tr> <td><a href="/packages/fill-scenarios"><code>@0x/fill-scenarios</code></a></td> <td><a href="https://www.npmjs.com/package/@0x/fill-scenarios"><img alt="npm" src="https://img.shields.io/npm/v/@0x/fill-scenarios.svg"></a></td> <td>0x order fill scenario generator</td> </tr> </tbody> </table> <h4 id="private-packages"><a class="toclink" href="#private-packages">Private Packages</a></h4> <table> <thead> <tr> <th>Package</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="/contracts/core"><code>@0x/contracts</code></a></td> <td>0x protocol solidity smart contracts & tests</td> </tr> <tr> <td><a href="/packages/instant"><code>@0x/instant</code></a></td> <td>A free and flexible way to offer simple crypto purchasing in any app or website.</td> </tr> <tr> <td><a href="/packages/testnet-faucets"><code>@0x/testnet-faucets</code></a></td> <td>A faucet micro-service that dispenses test ERC20 tokens or Ether</td> </tr> <tr> <td><a href="/packages/website"><code>@0x/website</code></a></td> <td>0x website</td> </tr> </tbody> </table> <h2 id="usage"><a class="toclink" href="#usage">Usage</a></h2> <p>Node version >= 6.12 is required.</p> <p>Most of the packages require additional typings for external dependencies. You can include those by prepending the <code>@0x/typescript-typings</code> package to your <a href="http://www.typescriptlang.org/docs/handbook/tsconfig-json.html"><code>typeRoots</code></a> config.</p> <div class="highlight"><pre><span></span><code><span class="nt">"typeRoots"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"node_modules/@0x/typescript-typings/types"</span><span class="p">,</span><span class="w"> </span><span class="s2">"node_modules/@types"</span><span class="p">],</span> </code></pre></div> <h2 id="contributing"><a class="toclink" href="#contributing">Contributing</a></h2> <p>We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.</p> <h4 id="read-our-contribution-guidelines"><a class="toclink" href="#read-our-contribution-guidelines">Read our <a href="./CONTRIBUTING.md">contribution guidelines</a>.</a></h4> <h3 id="install-dependencies"><a class="toclink" href="#install-dependencies">Install dependencies</a></h3> <p>Make sure you are using Yarn v1.9.4. To install using brew:</p> <div class="highlight"><pre><span></span><code>brew<span class="w"> </span>install<span class="w"> </span>yarn@1.9.4 </code></pre></div> <p>Then install dependencies</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>install </code></pre></div> <h3 id="build"><a class="toclink" href="#build">Build</a></h3> <p>To build all packages:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>build </code></pre></div> <p>To build a specific package:</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=</span>@0x/web3-wrapper<span class="w"> </span>yarn<span class="w"> </span>build </code></pre></div> <h3 id="watch"><a class="toclink" href="#watch">Watch</a></h3> <p>To re-build all packages on change:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>watch </code></pre></div> <p>To watch a specific package and all it's dependent packages:</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=[</span>NPM_PACKAGE_NAME<span class="o">]</span><span class="w"> </span>yarn<span class="w"> </span>watch e.g <span class="nv">PKG</span><span class="o">=</span>@0x/web3-wrapper<span class="w"> </span>yarn<span class="w"> </span>watch </code></pre></div> <h3 id="clean"><a class="toclink" href="#clean">Clean</a></h3> <p>Clean all packages:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>clean </code></pre></div> <p>Clean a specific package</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=</span>0x.js<span class="w"> </span>yarn<span class="w"> </span>clean </code></pre></div> <h3 id="rebuild"><a class="toclink" href="#rebuild">Rebuild</a></h3> <p>To re-build (clean & build) all packages:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>rebuild </code></pre></div> <p>To re-build (clean & build) a specific package & it's deps:</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=</span>0x.js<span class="w"> </span>yarn<span class="w"> </span>rebuild </code></pre></div> <h3 id="lint"><a class="toclink" href="#lint">Lint</a></h3> <p>Lint all packages:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span>lint </code></pre></div> <p>Lint a specific package:</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=</span>0x.js<span class="w"> </span>yarn<span class="w"> </span>lint </code></pre></div> <h3 id="run-tests"><a class="toclink" href="#run-tests">Run Tests</a></h3> <p>Run all tests:</p> <div class="highlight"><pre><span></span><code>yarn<span class="w"> </span><span class="nb">test</span> </code></pre></div> <p>Run a specific package's test:</p> <div class="highlight"><pre><span></span><code><span class="nv">PKG</span><span class="o">=</span>@0x/web3-wrapper<span class="w"> </span>yarn<span class="w"> </span><span class="nb">test</span> </code></pre></div></div>