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

[asset-buyer] Create new AssetBuyer class #1037

Merged
merged 43 commits into from
Sep 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8687b95
Add getForwarderHelperForMakerAssetDataAsync method to forwarderHelpe…
BMillman19 Aug 24, 2018
8d61327
Remove taker address as param and filter out non-open orders
BMillman19 Sep 13, 2018
c0a14a4
Catch standard relayer api errors
BMillman19 Sep 13, 2018
90674d9
Various clean up
BMillman19 Sep 14, 2018
91702bb
Move packages/forwarder-helper into packages/asset-buyer
BMillman19 Sep 14, 2018
8da7d39
Update readme, changelog, and package.json with rename
BMillman19 Sep 14, 2018
7b46cef
Create initial AssetBuyer class
BMillman19 Sep 14, 2018
f1a22e9
Flesh out the AssetBuyer class
BMillman19 Sep 15, 2018
190bf25
Implement StandardRelayerAPIOrderFetcher
BMillman19 Sep 15, 2018
4e59be9
Implement ProvidedOrderFetcher
BMillman19 Sep 15, 2018
dfe58e4
Delete old test
BMillman19 Sep 15, 2018
c692115
Fix lint errors
BMillman19 Sep 15, 2018
d57619b
Export the order fetchers
BMillman19 Sep 15, 2018
af40989
Add factory method on AssetBuyer for provided orders
BMillman19 Sep 15, 2018
9ec2b5a
Add factory method on AssetBuyer for specific token address
BMillman19 Sep 15, 2018
a22d2dc
Add factory method for specific assetData to buy and add comments
BMillman19 Sep 15, 2018
f5dbf21
Merge branch 'development' of https://github.com/0xProject/0x-monorep…
fragosti Sep 18, 2018
65f709d
Move all constants to own file
fragosti Sep 18, 2018
38afd10
Fix order expired bug
fragosti Sep 18, 2018
b947609
Restrict orders field of AssetBuyerOrdersAndFillableAmounts to Signed…
fragosti Sep 18, 2018
0003666
make the slippage percentage customizable by integrator
fragosti Sep 18, 2018
fd4b4f8
Make ForwaderWrapper take in a number for feePercentage instead of Bi…
fragosti Sep 18, 2018
93f7e33
Add isValidPercentage assert
fragosti Sep 18, 2018
60e2dfd
Calculate min and max rates in buy quote
fragosti Sep 19, 2018
14345ab
Rename forceOrderRefresh to shouldForceOrderRefresh
fragosti Sep 19, 2018
a03b1d4
Move ObjectMap to shared types
fragosti Sep 19, 2018
a44f77a
Implement StandardRelayerAPIAssetBuyerManager
fragosti Sep 19, 2018
3238925
Add better description to README
fragosti Sep 20, 2018
d23487b
Update descriptions for methods on AssetBuyer
fragosti Sep 20, 2018
03e18ff
Rename OrderFetcher to OrderProvider and other small improvements
fragosti Sep 20, 2018
35c324f
Add utility to get assetDatas
fragosti Sep 20, 2018
fcca63a
Move some logic to order utils
fragosti Sep 20, 2018
97150cf
Add labels to TODOs
fragosti Sep 21, 2018
8dea48e
Renamed orderFetcherResponseProcessor to orderProviderResponseProcessoer
fragosti Sep 21, 2018
c64dcec
More renaming
fragosti Sep 21, 2018
c48cf3a
Make asset buyer map private
fragosti Sep 21, 2018
1bfaefb
Add order provider response validation
fragosti Sep 21, 2018
5e84e96
Small typos
fragosti Sep 21, 2018
7a53766
Merge branch 'development' of https://github.com/0xProject/0x-monorep…
fragosti Sep 21, 2018
e4b664b
Add expiry buffer
fragosti Sep 24, 2018
7a43e19
Improve README
fragosti Sep 24, 2018
f49b231
Merge branch 'development' of https://github.com/0xProject/0x-monorep…
fragosti Sep 24, 2018
d8d1c98
Upgrade all deps
fragosti Sep 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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