fix: Protocol fee in fee schedule (#146)

* fix: Protocol fee in fee schedule

* CHANGELOG

* hack imports
This commit is contained in:
Jacob Evans 2021-02-18 14:12:11 +10:00 committed by GitHub
parent 23953d8a5a
commit 0c56207abc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 12 deletions

View File

@ -21,6 +21,10 @@
{
"note": "Support `Mirror Protocol` with hops to `UST`",
"pr": 142
},
{
"note": "Fix protocol fee in fee schedule for `RfqOrder`",
"pr": 146
}
]
},

View File

@ -1,3 +1,4 @@
import { FillQuoteTransformerOrderType } from '@0x/protocol-utils';
import { BigNumber } from '@0x/utils';
import { TokenAdjacencyGraphBuilder } from '../token_adjacency_graph_builder';
@ -501,9 +502,13 @@ export const BALANCER_MAX_POOLS_FETCHED = 3;
*/
// tslint:disable:custom-no-magic-numbers
export const DEFAULT_GAS_SCHEDULE: Required<FeeSchedule> = {
[ERC20BridgeSource.Native]: _fillData => {
// const nativeFillData = (_fillData as NativeRfqOrderFillData|NativeLimitOrderFillData)
return 100e3;
[ERC20BridgeSource.Native]: fillData => {
// TODO jacob re-order imports so there is no circular rependency with SignedNativeOrder
const nativeFillData = fillData as ({ type: FillQuoteTransformerOrderType });
return nativeFillData && nativeFillData.type === FillQuoteTransformerOrderType.Limit
? PROTOCOL_FEE_MULTIPLIER.plus(100e3).toNumber()
: // TODO jacob revisit wth v4 LimitOrders
100e3;
},
[ERC20BridgeSource.Uniswap]: () => 90e3,
[ERC20BridgeSource.LiquidityProvider]: fillData => {
@ -618,15 +623,7 @@ export const DEFAULT_GAS_SCHEDULE: Required<FeeSchedule> = {
},
};
export const DEFAULT_FEE_SCHEDULE: Required<FeeSchedule> = Object.assign(
{},
...(Object.keys(DEFAULT_GAS_SCHEDULE) as ERC20BridgeSource[]).map(k => ({
[k]:
k === ERC20BridgeSource.Native
? (fillData: FillData) => PROTOCOL_FEE_MULTIPLIER.plus(DEFAULT_GAS_SCHEDULE[k](fillData))
: (fillData: FillData) => DEFAULT_GAS_SCHEDULE[k](fillData),
})),
);
export const DEFAULT_FEE_SCHEDULE: Required<FeeSchedule> = { ...DEFAULT_GAS_SCHEDULE };
// tslint:enable:custom-no-magic-numbers