Skip to content
This repository has been archived by the owner on Jul 9, 2021. It is now read-only.

Commit

Permalink
Merge pull request #1037 from 0xProject/feature/forwarder-helper/sra-…
Browse files Browse the repository at this point in the history
…and-rpc

[asset-buyer] Create new AssetBuyer class
  • Loading branch information
fragosti authored Sep 24, 2018
2 parents 4a31657 + d8d1c98 commit b830c28
Show file tree
Hide file tree
Showing 45 changed files with 1,261 additions and 575 deletions.
File renamed without changes.
10 changes: 10 additions & 0 deletions packages/asset-buyer/CHANGELOG.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[
{
"version": "1.0.0-rc.1",
"changes": [
{
"note": "Init"
}
]
}
]
1 change: 1 addition & 0 deletions packages/asset-buyer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

83 changes: 83 additions & 0 deletions packages/asset-buyer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
## @0xproject/asset-buyer

Convenience package for buying assets represented on the Ethereum blockchain using 0x. In its simplest form, the package helps in the usage of the [0x forwarder contract](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md), which allows users to execute [Wrapped Ether](https://weth.io/) based 0x orders without having to set allowances, wrap Ether or buy ZRX, meaning they can buy tokens with Ether alone. Given some liquidity (0x signed orders), it helps estimate the Ether cost of buying a certain asset (giving a range) and then buying that asset.

In its more advanced and useful form, it integrates with the [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) and takes care of sourcing liquidity for you given an SRA compliant endpoint. The final result is a library that tells you what assets are available, provides an Ether based quote for any asset desired, and allows you to buy that asset using Ether alone.

## Installation

```bash
yarn add @0xproject/asset-buyer
```

**Import**

```typescript
import { AssetBuyer } from '@0xproject/asset-buyer';
```

or

```javascript
var AssetBuyer = require('@0xproject/asset-buyer').AssetBuyer;
```

If your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:

```json
"compilerOptions": {
"typeRoots": ["node_modules/@0xproject/typescript-typings/types", "node_modules/@types"],
}
```

## Contributing

We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.

Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.

### Install dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

```bash
yarn config set workspaces-experimental true
```

Then install dependencies

```bash
yarn install
```

### Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

```bash
PKG=@0xproject/asset-buyer yarn build
```

Or continuously rebuild on change:

```bash
PKG=@0xproject/asset-buyer yarn watch
```

### Clean

```bash
yarn clean
```

### Lint

```bash
yarn lint
```

### Run Tests

```bash
yarn test
```
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "@0xproject/forwarder-helper",
"version": "1.0.4",
"name": "@0xproject/asset-buyer",
"version": "1.0.0-rc.1",
"engines": {
"node": ">=6.12"
},
"description": "Convenience object for working with the forwarder contract",
"description": "Convenience package for buying assets",
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
"scripts": {
Expand Down Expand Up @@ -34,21 +34,26 @@
"bugs": {
"url": "https://github.com/0xProject/0x-monorepo/issues"
},
"homepage": "https://github.com/0xProject/0x-monorepo/packages/forwarder-helper/README.md",
"homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md",
"dependencies": {
"@0xproject/assert": "^1.0.9",
"@0xproject/connect": "^2.0.2",
"@0xproject/contract-wrappers": "^1.0.4",
"@0xproject/json-schemas": "^1.0.2",
"@0xproject/order-utils": "^1.0.3",
"@0xproject/order-utils": "^1.0.1",
"@0xproject/subproviders": "^2.0.2",
"@0xproject/types": "^1.0.2",
"@0xproject/typescript-typings": "^2.0.1",
"@0xproject/utils": "^1.0.9",
"@types/node": "*",
"@0xproject/web3-wrapper": "^2.0.3",
"ethereum-types": "^1.0.6",
"lodash": "^4.17.10"
},
"devDependencies": {
"@0xproject/tslint-config": "^1.0.7",
"@types/lodash": "^4.14.116",
"@types/mocha": "^2.2.42",
"@types/node": "*",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^2.0.1",
Expand Down
Loading

0 comments on commit b830c28

Please sign in to comment.