Add KnightSwap on BSC (#498)
* Curve pool script to generate pools and their info. Still need to integrate into API * Added MDEX to BSC * Removed curve automation scripts from this PR * Fixed typo * Changelog * fix formatting * Fixed yarn lint * Add KnightSwap * Changelog * update changelog * changelog again...
This commit is contained in:
parent
2838cb9420
commit
d6bc702550
@ -1,4 +1,17 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"version": "16.62.0",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"note": "Add MDEX on BSC",
|
||||||
|
"pr": 496
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"note": "Add KnightSwap on BSC",
|
||||||
|
"pr": 498
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"version": "16.61.0",
|
"version": "16.61.0",
|
||||||
"changes": [
|
"changes": [
|
||||||
@ -13,10 +26,6 @@
|
|||||||
{
|
{
|
||||||
"note": "Add MeshSwap on Polygon",
|
"note": "Add MeshSwap on Polygon",
|
||||||
"pr": 491
|
"pr": 491
|
||||||
},
|
|
||||||
{
|
|
||||||
"note": "Add MDEX on BSC",
|
|
||||||
"pr": 496
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1654284040
|
"timestamp": 1654284040
|
||||||
|
@ -8,6 +8,7 @@ import {
|
|||||||
BELT_BSC_INFOS,
|
BELT_BSC_INFOS,
|
||||||
BISWAP_ROUTER_BY_CHAIN_ID,
|
BISWAP_ROUTER_BY_CHAIN_ID,
|
||||||
MDEX_ROUTER_BY_CHAIN_ID,
|
MDEX_ROUTER_BY_CHAIN_ID,
|
||||||
|
KNIGHTSWAP_ROUTER_BY_CHAIN_ID,
|
||||||
CAFESWAP_ROUTER_BY_CHAIN_ID,
|
CAFESWAP_ROUTER_BY_CHAIN_ID,
|
||||||
CHEESESWAP_ROUTER_BY_CHAIN_ID,
|
CHEESESWAP_ROUTER_BY_CHAIN_ID,
|
||||||
COMETHSWAP_ROUTER_BY_CHAIN_ID,
|
COMETHSWAP_ROUTER_BY_CHAIN_ID,
|
||||||
@ -547,6 +548,7 @@ export function uniswapV2LikeRouterAddress(
|
|||||||
| ERC20BridgeSource.BiSwap
|
| ERC20BridgeSource.BiSwap
|
||||||
| ERC20BridgeSource.Yoshi
|
| ERC20BridgeSource.Yoshi
|
||||||
| ERC20BridgeSource.MDex
|
| ERC20BridgeSource.MDex
|
||||||
|
| ERC20BridgeSource.KnightSwap
|
||||||
| ERC20BridgeSource.MeshSwap,
|
| ERC20BridgeSource.MeshSwap,
|
||||||
): string {
|
): string {
|
||||||
switch (source) {
|
switch (source) {
|
||||||
@ -604,6 +606,8 @@ export function uniswapV2LikeRouterAddress(
|
|||||||
return MESHSWAP_ROUTER_BY_CHAIN_ID[chainId];
|
return MESHSWAP_ROUTER_BY_CHAIN_ID[chainId];
|
||||||
case ERC20BridgeSource.MDex:
|
case ERC20BridgeSource.MDex:
|
||||||
return MDEX_ROUTER_BY_CHAIN_ID[chainId];
|
return MDEX_ROUTER_BY_CHAIN_ID[chainId];
|
||||||
|
case ERC20BridgeSource.KnightSwap:
|
||||||
|
return KNIGHTSWAP_ROUTER_BY_CHAIN_ID[chainId];
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unknown UniswapV2 like source ${source}`);
|
throw new Error(`Unknown UniswapV2 like source ${source}`);
|
||||||
}
|
}
|
||||||
|
@ -148,6 +148,7 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
|
|||||||
ERC20BridgeSource.KyberDmm,
|
ERC20BridgeSource.KyberDmm,
|
||||||
ERC20BridgeSource.BiSwap,
|
ERC20BridgeSource.BiSwap,
|
||||||
ERC20BridgeSource.MDex,
|
ERC20BridgeSource.MDex,
|
||||||
|
ERC20BridgeSource.KnightSwap,
|
||||||
]),
|
]),
|
||||||
[ChainId.Polygon]: new SourceFilters([
|
[ChainId.Polygon]: new SourceFilters([
|
||||||
ERC20BridgeSource.SushiSwap,
|
ERC20BridgeSource.SushiSwap,
|
||||||
@ -295,6 +296,7 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
|
|||||||
ERC20BridgeSource.KyberDmm,
|
ERC20BridgeSource.KyberDmm,
|
||||||
ERC20BridgeSource.BiSwap,
|
ERC20BridgeSource.BiSwap,
|
||||||
ERC20BridgeSource.MDex,
|
ERC20BridgeSource.MDex,
|
||||||
|
ERC20BridgeSource.KnightSwap,
|
||||||
]),
|
]),
|
||||||
[ChainId.Polygon]: new SourceFilters([
|
[ChainId.Polygon]: new SourceFilters([
|
||||||
ERC20BridgeSource.SushiSwap,
|
ERC20BridgeSource.SushiSwap,
|
||||||
@ -1982,6 +1984,13 @@ export const MDEX_ROUTER_BY_CHAIN_ID = valueByChainId<string>(
|
|||||||
NULL_ADDRESS,
|
NULL_ADDRESS,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export const KNIGHTSWAP_ROUTER_BY_CHAIN_ID = valueByChainId<string>(
|
||||||
|
{
|
||||||
|
[ChainId.BSC]: '0x05E61E0cDcD2170a76F9568a110CEe3AFdD6c46f',
|
||||||
|
},
|
||||||
|
NULL_ADDRESS,
|
||||||
|
);
|
||||||
|
|
||||||
export const MOONISWAP_REGISTRIES_BY_CHAIN_ID = valueByChainId(
|
export const MOONISWAP_REGISTRIES_BY_CHAIN_ID = valueByChainId(
|
||||||
{
|
{
|
||||||
[ChainId.Mainnet]: ['0xbaf9a5d4b0052359326a6cdab54babaa3a3a9643'],
|
[ChainId.Mainnet]: ['0xbaf9a5d4b0052359326a6cdab54babaa3a3a9643'],
|
||||||
@ -2490,6 +2499,7 @@ export const DEFAULT_GAS_SCHEDULE: Required<FeeSchedule> = {
|
|||||||
[ERC20BridgeSource.ShibaSwap]: uniswapV2CloneGasSchedule,
|
[ERC20BridgeSource.ShibaSwap]: uniswapV2CloneGasSchedule,
|
||||||
[ERC20BridgeSource.BiSwap]: uniswapV2CloneGasSchedule,
|
[ERC20BridgeSource.BiSwap]: uniswapV2CloneGasSchedule,
|
||||||
[ERC20BridgeSource.MDex]: uniswapV2CloneGasSchedule,
|
[ERC20BridgeSource.MDex]: uniswapV2CloneGasSchedule,
|
||||||
|
[ERC20BridgeSource.KnightSwap]: uniswapV2CloneGasSchedule,
|
||||||
[ERC20BridgeSource.Balancer]: () => 120e3,
|
[ERC20BridgeSource.Balancer]: () => 120e3,
|
||||||
[ERC20BridgeSource.BalancerV2]: (fillData?: FillData) => {
|
[ERC20BridgeSource.BalancerV2]: (fillData?: FillData) => {
|
||||||
return 100e3 + ((fillData as BalancerV2BatchSwapFillData).swapSteps.length - 1) * 50e3;
|
return 100e3 + ((fillData as BalancerV2BatchSwapFillData).swapSteps.length - 1) * 50e3;
|
||||||
|
@ -204,6 +204,8 @@ export function getErc20BridgeSourceToBridgeSource(source: ERC20BridgeSource): s
|
|||||||
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'BiSwap');
|
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'BiSwap');
|
||||||
case ERC20BridgeSource.MDex:
|
case ERC20BridgeSource.MDex:
|
||||||
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'MDex');
|
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'MDex');
|
||||||
|
case ERC20BridgeSource.KnightSwap:
|
||||||
|
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'KnightSwap');
|
||||||
case ERC20BridgeSource.GMX:
|
case ERC20BridgeSource.GMX:
|
||||||
return encodeBridgeSourceId(BridgeProtocol.GMX, 'GMX');
|
return encodeBridgeSourceId(BridgeProtocol.GMX, 'GMX');
|
||||||
case ERC20BridgeSource.Platypus:
|
case ERC20BridgeSource.Platypus:
|
||||||
@ -303,6 +305,7 @@ export function createBridgeDataForBridgeOrder(order: OptimizedMarketBridgeOrder
|
|||||||
case ERC20BridgeSource.MorpheusSwap:
|
case ERC20BridgeSource.MorpheusSwap:
|
||||||
case ERC20BridgeSource.BiSwap:
|
case ERC20BridgeSource.BiSwap:
|
||||||
case ERC20BridgeSource.MDex:
|
case ERC20BridgeSource.MDex:
|
||||||
|
case ERC20BridgeSource.KnightSwap:
|
||||||
case ERC20BridgeSource.Yoshi:
|
case ERC20BridgeSource.Yoshi:
|
||||||
case ERC20BridgeSource.MeshSwap:
|
case ERC20BridgeSource.MeshSwap:
|
||||||
const uniswapV2FillData = (order as OptimizedMarketBridgeOrder<UniswapV2FillData>).fillData;
|
const uniswapV2FillData = (order as OptimizedMarketBridgeOrder<UniswapV2FillData>).fillData;
|
||||||
@ -529,6 +532,7 @@ export const BRIDGE_ENCODERS: {
|
|||||||
[ERC20BridgeSource.MorpheusSwap]: routerAddressPathEncoder,
|
[ERC20BridgeSource.MorpheusSwap]: routerAddressPathEncoder,
|
||||||
[ERC20BridgeSource.BiSwap]: routerAddressPathEncoder,
|
[ERC20BridgeSource.BiSwap]: routerAddressPathEncoder,
|
||||||
[ERC20BridgeSource.MDex]: routerAddressPathEncoder,
|
[ERC20BridgeSource.MDex]: routerAddressPathEncoder,
|
||||||
|
[ERC20BridgeSource.KnightSwap]: routerAddressPathEncoder,
|
||||||
[ERC20BridgeSource.Yoshi]: routerAddressPathEncoder,
|
[ERC20BridgeSource.Yoshi]: routerAddressPathEncoder,
|
||||||
[ERC20BridgeSource.MeshSwap]: routerAddressPathEncoder,
|
[ERC20BridgeSource.MeshSwap]: routerAddressPathEncoder,
|
||||||
// Avalanche
|
// Avalanche
|
||||||
|
@ -1449,6 +1449,7 @@ export class SamplerOperations {
|
|||||||
case ERC20BridgeSource.MorpheusSwap:
|
case ERC20BridgeSource.MorpheusSwap:
|
||||||
case ERC20BridgeSource.BiSwap:
|
case ERC20BridgeSource.BiSwap:
|
||||||
case ERC20BridgeSource.MDex:
|
case ERC20BridgeSource.MDex:
|
||||||
|
case ERC20BridgeSource.KnightSwap:
|
||||||
case ERC20BridgeSource.MeshSwap:
|
case ERC20BridgeSource.MeshSwap:
|
||||||
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
|
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
|
||||||
if (!isValidAddress(uniLikeRouter)) {
|
if (!isValidAddress(uniLikeRouter)) {
|
||||||
@ -1792,6 +1793,7 @@ export class SamplerOperations {
|
|||||||
case ERC20BridgeSource.MorpheusSwap:
|
case ERC20BridgeSource.MorpheusSwap:
|
||||||
case ERC20BridgeSource.BiSwap:
|
case ERC20BridgeSource.BiSwap:
|
||||||
case ERC20BridgeSource.MDex:
|
case ERC20BridgeSource.MDex:
|
||||||
|
case ERC20BridgeSource.KnightSwap:
|
||||||
case ERC20BridgeSource.MeshSwap:
|
case ERC20BridgeSource.MeshSwap:
|
||||||
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
|
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
|
||||||
if (!isValidAddress(uniLikeRouter)) {
|
if (!isValidAddress(uniLikeRouter)) {
|
||||||
|
@ -72,6 +72,7 @@ export enum ERC20BridgeSource {
|
|||||||
PancakeSwapV2 = 'PancakeSwap_V2',
|
PancakeSwapV2 = 'PancakeSwap_V2',
|
||||||
BiSwap = 'BiSwap',
|
BiSwap = 'BiSwap',
|
||||||
MDex = 'MDex',
|
MDex = 'MDex',
|
||||||
|
KnightSwap = 'KnightSwap',
|
||||||
BakerySwap = 'BakerySwap',
|
BakerySwap = 'BakerySwap',
|
||||||
Nerve = 'Nerve',
|
Nerve = 'Nerve',
|
||||||
Belt = 'Belt',
|
Belt = 'Belt',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user