Compare commits

..

3 Commits

Author SHA1 Message Date
Github Actions
719664c145 Publish
- @0x/contracts-integrations@2.7.57
 - @0x/asset-swapper@16.20.0
2021-07-06 21:34:44 +00:00
Github Actions
f800d6c24c Updated CHANGELOGS & MD docs 2021-07-06 21:34:39 +00:00
Romain Butteaud
a9a81bcafb feat: ShibaSwap (#276) 2021-07-06 13:53:39 -07:00
9 changed files with 39 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@0x/contracts-integrations", "name": "@0x/contracts-integrations",
"version": "2.7.56", "version": "2.7.57",
"private": true, "private": true,
"engines": { "engines": {
"node": ">=6.12" "node": ">=6.12"
@@ -93,7 +93,7 @@
"typescript": "4.2.2" "typescript": "4.2.2"
}, },
"dependencies": { "dependencies": {
"@0x/asset-swapper": "^16.19.1", "@0x/asset-swapper": "^16.20.0",
"@0x/base-contract": "^6.4.0", "@0x/base-contract": "^6.4.0",
"@0x/contracts-asset-proxy": "^3.7.16", "@0x/contracts-asset-proxy": "^3.7.16",
"@0x/contracts-erc1155": "^2.1.34", "@0x/contracts-erc1155": "^2.1.34",

View File

@@ -1,4 +1,14 @@
[ [
{
"version": "16.20.0",
"changes": [
{
"note": "ShibaSwap",
"pr": 276
}
],
"timestamp": 1625607277
},
{ {
"version": "16.19.1", "version": "16.19.1",
"changes": [ "changes": [

View File

@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG CHANGELOG
## v16.20.0 - _July 6, 2021_
* ShibaSwap (#276)
## v16.19.1 - _July 6, 2021_ ## v16.19.1 - _July 6, 2021_
* Fix LiquidityProvider fallback (#272) * Fix LiquidityProvider fallback (#272)

View File

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

View File

@@ -32,6 +32,7 @@ import {
QUICKSWAP_ROUTER_BY_CHAIN_ID, QUICKSWAP_ROUTER_BY_CHAIN_ID,
SADDLE_MAINNET_INFOS, SADDLE_MAINNET_INFOS,
SHELL_POOLS_BY_CHAIN_ID, SHELL_POOLS_BY_CHAIN_ID,
SHIBASWAP_ROUTER_BY_CHAIN_ID,
SMOOTHY_BSC_INFOS, SMOOTHY_BSC_INFOS,
SMOOTHY_MAINNET_INFOS, SMOOTHY_MAINNET_INFOS,
SNOWSWAP_MAINNET_INFOS, SNOWSWAP_MAINNET_INFOS,
@@ -399,7 +400,8 @@ export function uniswapV2LikeRouterAddress(
| ERC20BridgeSource.ComethSwap | ERC20BridgeSource.ComethSwap
| ERC20BridgeSource.Dfyn | ERC20BridgeSource.Dfyn
| ERC20BridgeSource.WaultSwap | ERC20BridgeSource.WaultSwap
| ERC20BridgeSource.Polydex, | ERC20BridgeSource.Polydex
| ERC20BridgeSource.ShibaSwap,
): string { ): string {
switch (source) { switch (source) {
case ERC20BridgeSource.UniswapV2: case ERC20BridgeSource.UniswapV2:
@@ -432,6 +434,8 @@ export function uniswapV2LikeRouterAddress(
return WAULTSWAP_ROUTER_BY_CHAIN_ID[chainId]; return WAULTSWAP_ROUTER_BY_CHAIN_ID[chainId];
case ERC20BridgeSource.Polydex: case ERC20BridgeSource.Polydex:
return POLYDEX_ROUTER_BY_CHAIN_ID[chainId]; return POLYDEX_ROUTER_BY_CHAIN_ID[chainId];
case ERC20BridgeSource.ShibaSwap:
return SHIBASWAP_ROUTER_BY_CHAIN_ID[chainId];
default: default:
throw new Error(`Unknown UniswapV2 like source ${source}`); throw new Error(`Unknown UniswapV2 like source ${source}`);
} }

View File

@@ -97,6 +97,7 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.XSigma, ERC20BridgeSource.XSigma,
ERC20BridgeSource.UniswapV3, ERC20BridgeSource.UniswapV3,
ERC20BridgeSource.CurveV2, ERC20BridgeSource.CurveV2,
ERC20BridgeSource.ShibaSwap,
]), ]),
[ChainId.Ropsten]: new SourceFilters([ [ChainId.Ropsten]: new SourceFilters([
ERC20BridgeSource.Kyber, ERC20BridgeSource.Kyber,
@@ -192,6 +193,7 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.XSigma, ERC20BridgeSource.XSigma,
ERC20BridgeSource.UniswapV3, ERC20BridgeSource.UniswapV3,
ERC20BridgeSource.CurveV2, ERC20BridgeSource.CurveV2,
ERC20BridgeSource.ShibaSwap,
]), ]),
[ChainId.Ropsten]: new SourceFilters([ [ChainId.Ropsten]: new SourceFilters([
ERC20BridgeSource.Kyber, ERC20BridgeSource.Kyber,
@@ -1094,6 +1096,13 @@ export const LINKSWAP_ROUTER_BY_CHAIN_ID = valueByChainId<string>(
NULL_ADDRESS, NULL_ADDRESS,
); );
export const SHIBASWAP_ROUTER_BY_CHAIN_ID = valueByChainId<string>(
{
[ChainId.Mainnet]: '0x03f7724180aa6b939894b5ca4314783b0b36b329',
},
NULL_ADDRESS,
);
export const MSTABLE_POOLS_BY_CHAIN_ID = valueByChainId( export const MSTABLE_POOLS_BY_CHAIN_ID = valueByChainId(
{ {
[ChainId.Mainnet]: { [ChainId.Mainnet]: {
@@ -1472,6 +1481,7 @@ export const DEFAULT_GAS_SCHEDULE: Required<FeeSchedule> = {
[ERC20BridgeSource.SushiSwap]: uniswapV2CloneGasSchedule, [ERC20BridgeSource.SushiSwap]: uniswapV2CloneGasSchedule,
[ERC20BridgeSource.CryptoCom]: uniswapV2CloneGasSchedule, [ERC20BridgeSource.CryptoCom]: uniswapV2CloneGasSchedule,
[ERC20BridgeSource.Linkswap]: uniswapV2CloneGasSchedule, [ERC20BridgeSource.Linkswap]: uniswapV2CloneGasSchedule,
[ERC20BridgeSource.ShibaSwap]: uniswapV2CloneGasSchedule,
[ERC20BridgeSource.Balancer]: () => 120e3, [ERC20BridgeSource.Balancer]: () => 120e3,
[ERC20BridgeSource.BalancerV2]: () => 100e3, [ERC20BridgeSource.BalancerV2]: () => 100e3,
[ERC20BridgeSource.Cream]: () => 120e3, [ERC20BridgeSource.Cream]: () => 120e3,

View File

@@ -172,6 +172,8 @@ export function getErc20BridgeSourceToBridgeSource(source: ERC20BridgeSource): s
return encodeBridgeSourceId(BridgeProtocol.Nerve, 'FirebirdOneSwap'); return encodeBridgeSourceId(BridgeProtocol.Nerve, 'FirebirdOneSwap');
case ERC20BridgeSource.Lido: case ERC20BridgeSource.Lido:
return encodeBridgeSourceId(BridgeProtocol.Lido, 'Lido'); return encodeBridgeSourceId(BridgeProtocol.Lido, 'Lido');
case ERC20BridgeSource.ShibaSwap:
return encodeBridgeSourceId(BridgeProtocol.UniswapV2, 'ShibaSwap');
default: default:
throw new Error(AggregationError.NoBridgeForSource); throw new Error(AggregationError.NoBridgeForSource);
} }
@@ -242,6 +244,7 @@ export function createBridgeDataForBridgeOrder(order: OptimizedMarketBridgeOrder
case ERC20BridgeSource.Dfyn: case ERC20BridgeSource.Dfyn:
case ERC20BridgeSource.WaultSwap: case ERC20BridgeSource.WaultSwap:
case ERC20BridgeSource.Polydex: case ERC20BridgeSource.Polydex:
case ERC20BridgeSource.ShibaSwap:
const uniswapV2FillData = (order as OptimizedMarketBridgeOrder<UniswapV2FillData>).fillData; const uniswapV2FillData = (order as OptimizedMarketBridgeOrder<UniswapV2FillData>).fillData;
bridgeData = encoder.encode([uniswapV2FillData.router, uniswapV2FillData.tokenAddressPath]); bridgeData = encoder.encode([uniswapV2FillData.router, uniswapV2FillData.tokenAddressPath]);
break; break;
@@ -427,6 +430,7 @@ export const BRIDGE_ENCODERS: {
[ERC20BridgeSource.SushiSwap]: routerAddressPathEncoder, [ERC20BridgeSource.SushiSwap]: routerAddressPathEncoder,
[ERC20BridgeSource.CryptoCom]: routerAddressPathEncoder, [ERC20BridgeSource.CryptoCom]: routerAddressPathEncoder,
[ERC20BridgeSource.Linkswap]: routerAddressPathEncoder, [ERC20BridgeSource.Linkswap]: routerAddressPathEncoder,
[ERC20BridgeSource.ShibaSwap]: routerAddressPathEncoder,
// BSC // BSC
[ERC20BridgeSource.PancakeSwap]: routerAddressPathEncoder, [ERC20BridgeSource.PancakeSwap]: routerAddressPathEncoder,
[ERC20BridgeSource.PancakeSwapV2]: routerAddressPathEncoder, [ERC20BridgeSource.PancakeSwapV2]: routerAddressPathEncoder,

View File

@@ -1229,6 +1229,7 @@ export class SamplerOperations {
case ERC20BridgeSource.Dfyn: case ERC20BridgeSource.Dfyn:
case ERC20BridgeSource.WaultSwap: case ERC20BridgeSource.WaultSwap:
case ERC20BridgeSource.Polydex: case ERC20BridgeSource.Polydex:
case ERC20BridgeSource.ShibaSwap:
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source); const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
if (!isValidAddress(uniLikeRouter)) { if (!isValidAddress(uniLikeRouter)) {
return []; return [];
@@ -1499,6 +1500,7 @@ export class SamplerOperations {
case ERC20BridgeSource.Dfyn: case ERC20BridgeSource.Dfyn:
case ERC20BridgeSource.WaultSwap: case ERC20BridgeSource.WaultSwap:
case ERC20BridgeSource.Polydex: case ERC20BridgeSource.Polydex:
case ERC20BridgeSource.ShibaSwap:
const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source); const uniLikeRouter = uniswapV2LikeRouterAddress(this.chainId, source);
if (!isValidAddress(uniLikeRouter)) { if (!isValidAddress(uniLikeRouter)) {
return []; return [];

View File

@@ -68,6 +68,7 @@ export enum ERC20BridgeSource {
UniswapV3 = 'Uniswap_V3', UniswapV3 = 'Uniswap_V3',
CurveV2 = 'Curve_V2', CurveV2 = 'Curve_V2',
Lido = 'Lido', Lido = 'Lido',
ShibaSwap = 'ShibaSwap',
// BSC only // BSC only
PancakeSwap = 'PancakeSwap', PancakeSwap = 'PancakeSwap',
PancakeSwapV2 = 'PancakeSwap_V2', PancakeSwapV2 = 'PancakeSwap_V2',