This repository has been archived by the owner on Jul 9, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 465
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(website): add asset-buyer documentation
- Loading branch information
1 parent
55be070
commit aa1085c
Showing
9 changed files
with
145 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
**Install** | ||
|
||
```bash | ||
yarn add @0xproject/asset-buyer | ||
``` | ||
|
||
**Import** | ||
|
||
```javascript | ||
import { AssetBuyer } from '@0xproject/asset-buyer'; | ||
``` | ||
|
||
or | ||
|
||
```javascript | ||
var AssetBuyer = require('@0xproject/asset-buyer').AssetBuyer; | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Welcome to the [@0xproject/asset-buyer](https://github.com/0xProject/0x-monorepo/tree/development/packages/asset-buyer) documentation! AssetBuyer is a library that provides an easy way to buy any asset with ETH in one click, leveraging 0x liquidity and the [Forwarder contract](https://0xproject.com/docs/contracts#Forwarder). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
**Construction** | ||
|
||
Connecting to a standard relayer API compliant url: | ||
|
||
```typescript | ||
const provider = web3.currentProvider; | ||
const apiUrl = 'https://api.relayer.com/v2'; | ||
const assetBuyer = AssetBuyer.getAssetBuyerForStandardRelayerAPIUrl(provider, apiUrl); | ||
``` | ||
|
||
Providing your own orders: | ||
|
||
```typescript | ||
const provider = web3.currentProvider; | ||
const orders = []; // get these from your own API, a relayer, a friend, from anywhere | ||
const assetBuyer = AssetBuyer.getAssetBuyerForProvidedOrders(provider, orders); | ||
``` | ||
|
||
**Get a quote** | ||
|
||
A [BuyQuote](#types-BuyQuote) object contains enough information to display buy information to an end user | ||
|
||
```typescript | ||
const erc20TokenAddress = '0x5fa3c....'; | ||
const amountToBuy = new BigNumber(50000000000000000000); | ||
const buyQuote = await assetBuyer.getBuyQuoteForERC20TokenAddressAsync(erc20TokenAddress, amountToBuy); | ||
const quoteInfo = buyQuote.worstCaseQuoteInfo; | ||
console.log(quoteInfo.ethAmount); // the total amount the user needs to pay to buy the desired amount (including fees) | ||
console.log(quoteInfo.feeAmount); // a portion of the total ethAmount above that was used to buy fees | ||
console.log(quoteInfo.ethPerAssetPrice); // the rate that this quote provides (e.g. 0.0035ETH / REP) | ||
``` | ||
|
||
**Perform a buy** | ||
|
||
Pass the [BuyQuote](#types-BuyQuote) object from above back to the assetBuyer in order to initiate the buy transaction | ||
|
||
```typescript | ||
const txHash = await assetBuyer.executeBuyQuoteAsync(buyQuote); // the hash of the transaction submitted to the Ethereum network | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
69 changes: 69 additions & 0 deletions
69
packages/website/ts/containers/asset_buyer_documentation.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0xproject/react-docs'; | ||
import * as React from 'react'; | ||
import { connect } from 'react-redux'; | ||
import { Dispatch } from 'redux'; | ||
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page'; | ||
import { Dispatcher } from 'ts/redux/dispatcher'; | ||
import { State } from 'ts/redux/reducer'; | ||
import { DocPackages } from 'ts/types'; | ||
import { Translate } from 'ts/utils/translate'; | ||
|
||
/* tslint:disable:no-var-requires */ | ||
const IntroMarkdown = require('md/docs/asset_buyer/introduction'); | ||
const InstallationMarkdown = require('md/docs/asset_buyer/installation'); | ||
const UsageMarkdown = require('md/docs/asset_buyer/usage'); | ||
/* tslint:enable:no-var-requires */ | ||
|
||
const markdownSections = { | ||
introduction: 'introduction', | ||
installation: 'installation', | ||
usage: 'usage', | ||
}; | ||
|
||
const docsInfoConfig: DocsInfoConfig = { | ||
id: DocPackages.AssetBuyer, | ||
packageName: '@0xproject/asset-buyer', | ||
type: SupportedDocJson.TypeDoc, | ||
displayName: 'AssetBuyer', | ||
packageUrl: 'https://github.com/0xProject/0x-monorepo', | ||
markdownMenu: { | ||
introduction: [markdownSections.introduction], | ||
install: [markdownSections.installation], | ||
usage: [markdownSections.usage], | ||
}, | ||
sectionNameToMarkdownByVersion: { | ||
'0.0.1': { | ||
[markdownSections.introduction]: IntroMarkdown, | ||
[markdownSections.installation]: InstallationMarkdown, | ||
[markdownSections.usage]: UsageMarkdown, | ||
}, | ||
}, | ||
markdownSections, | ||
}; | ||
const docsInfo = new DocsInfo(docsInfoConfig); | ||
|
||
interface ConnectedState { | ||
docsVersion: string; | ||
availableDocVersions: string[]; | ||
docsInfo: DocsInfo; | ||
translate: Translate; | ||
} | ||
|
||
interface ConnectedDispatch { | ||
dispatcher: Dispatcher; | ||
} | ||
|
||
const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({ | ||
docsVersion: state.docsVersion, | ||
availableDocVersions: state.availableDocVersions, | ||
translate: state.translate, | ||
docsInfo, | ||
}); | ||
|
||
const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({ | ||
dispatcher: new Dispatcher(dispatch), | ||
}); | ||
|
||
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)( | ||
DocPageComponent, | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters