Compare commits

..

3 Commits

Author SHA1 Message Date
Github Actions
7c7fc51ccf Publish
- @0x/contracts-integrations@2.7.13
 - @0x/asset-swapper@5.4.0
2020-12-07 20:42:41 +00:00
Github Actions
fa22f6de0d Updated CHANGELOGS & MD docs 2020-12-07 20:42:34 +00:00
Kim Persson
4f41214af2 feat: add takerAssetToEthRate and makerAssetToEthRate to quote response (#49)
* ADDS expose ethToTakerAssetRate and ethToTakerAssetRate

* REFACTORS rename to more correct takerAssetToEth/makerAssetToEth naming

* ADDS asset-swapper change log entry
2020-12-07 20:40:56 +01:00
9 changed files with 41 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-integrations",
"version": "2.7.12",
"version": "2.7.13",
"private": true,
"engines": {
"node": ">=6.12"
@@ -92,7 +92,7 @@
"typescript": "3.0.1"
},
"dependencies": {
"@0x/asset-swapper": "^5.3.1",
"@0x/asset-swapper": "^5.4.0",
"@0x/base-contract": "^6.2.13",
"@0x/contracts-asset-proxy": "^3.6.7",
"@0x/contracts-erc1155": "^2.1.16",

View File

@@ -1,4 +1,14 @@
[
{
"version": "5.4.0",
"changes": [
{
"note": "Add `takerAssetToEthRate` and `makerAssetToEthRate` to swap quote response",
"pr": 49
}
],
"timestamp": 1607373752
},
{
"timestamp": 1607036724,
"version": "5.3.1",

View File

@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v5.4.0 - _December 7, 2020_
* Add `takerAssetToEthRate` and `makerAssetToEthRate` to swap quote response (#49)
## v5.3.1 - _December 3, 2020_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/asset-swapper",
"version": "5.3.1",
"version": "5.4.0",
"engines": {
"node": ">=6.12"
},

View File

@@ -198,6 +198,8 @@ export interface SwapQuoteBase {
isTwoHop: boolean;
makerTokenDecimals: number;
takerTokenDecimals: number;
takerAssetToEthRate: BigNumber;
makerAssetToEthRate: BigNumber;
}
/**

View File

@@ -543,6 +543,10 @@ export class MarketOperationUtils {
exchangeProxyOverhead: opts.exchangeProxyOverhead || (() => ZERO_AMOUNT),
};
// NOTE: For sell quotes input is the taker asset and for buy quotes input is the maker asset
const takerAssetToEthRate = side === MarketOperation.Sell ? ethToInputRate : ethToOutputRate;
const makerAssetToEthRate = side === MarketOperation.Sell ? ethToOutputRate : ethToInputRate;
// Find the unoptimized best rate to calculate savings from optimizer
const _unoptimizedPath = fillsToSortedPaths(fills, side, inputAmount, optimizerOpts)[0];
const unoptimizedPath = _unoptimizedPath ? _unoptimizedPath.collapse(orderOpts) : undefined;
@@ -565,6 +569,8 @@ export class MarketOperationUtils {
marketSideLiquidity,
adjustedRate: bestTwoHopRate,
unoptimizedPath,
takerAssetToEthRate,
makerAssetToEthRate,
};
}
@@ -598,6 +604,8 @@ export class MarketOperationUtils {
marketSideLiquidity,
adjustedRate: optimalPathRate,
unoptimizedPath,
takerAssetToEthRate,
makerAssetToEthRate,
};
}

View File

@@ -346,6 +346,8 @@ export interface OptimizerResult {
marketSideLiquidity: MarketSideLiquidity;
adjustedRate: BigNumber;
unoptimizedPath?: CollapsedPath;
takerAssetToEthRate: BigNumber;
makerAssetToEthRate: BigNumber;
}
export interface OptimizerResultWithReport extends OptimizerResult {

View File

@@ -170,7 +170,14 @@ function createSwapQuote(
gasPrice: BigNumber,
gasSchedule: FeeSchedule,
): SwapQuote {
const { optimizedOrders, quoteReport, sourceFlags, unoptimizedPath } = optimizerResult;
const {
optimizedOrders,
quoteReport,
sourceFlags,
unoptimizedPath,
takerAssetToEthRate,
makerAssetToEthRate,
} = optimizerResult;
const isTwoHop = sourceFlags === SOURCE_FLAGS[ERC20BridgeSource.MultiHop];
// Calculate quote info
@@ -203,6 +210,8 @@ function createSwapQuote(
sourceBreakdown,
makerTokenDecimals,
takerTokenDecimals,
takerAssetToEthRate,
makerAssetToEthRate,
quoteReport,
isTwoHop,
};

View File

@@ -41,6 +41,8 @@ export async function getFullyFillableSwapQuoteWithNoFeesAsync(
unoptimizedOrders: orders.map(order => ({ ...order, fills: [] })),
sourceBreakdown: breakdown,
isTwoHop: false,
takerAssetToEthRate: constants.ZERO_AMOUNT,
makerAssetToEthRate: constants.ZERO_AMOUNT,
};
if (operation === MarketOperation.Buy) {