@paraswap/dex-lib 2.28.0 → 2.28.1-balancer-v2-avalanche
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/aws.xml +17 -0
- package/.idea/codeStyles/Project.xml +19 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/paraswap-dex-lib.iml +9 -0
- package/.idea/vcs.xml +6 -0
- package/build/abi/curve-v1/StableSwapFRXETH.json +889 -0
- package/build/abi/curve-v1/StableSwapWBETH.json +1223 -0
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
- package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
- package/build/abi/wBETH.json +1527 -0
- package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
- package/build/abi/woo-fi/WooPP.abi.json +548 -0
- package/build/abi/woo-fi/Wooracle.abi.json +260 -0
- package/build/config.js +1 -1
- package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
- package/build/dex/aave-v3/tokens/avalanche.json +74 -0
- package/build/dex/aave-v3/tokens/fantom.json +62 -0
- package/build/dex/aave-v3/tokens/optimism.json +50 -0
- package/build/dex/aave-v3/tokens/polygon.json +116 -0
- package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
- package/build/dex/balancer-v2/LinearMath.js +179 -0
- package/build/dex/balancer-v2/LinearMath.js.map +1 -0
- package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
- package/build/dex/balancer-v2/LinearPool.js +324 -0
- package/build/dex/balancer-v2/LinearPool.js.map +1 -0
- package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
- package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
- package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
- package/build/dex/balancer-v2/StableMath.d.ts +9 -0
- package/build/dex/balancer-v2/StableMath.js +272 -0
- package/build/dex/balancer-v2/StableMath.js.map +1 -0
- package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
- package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
- package/build/dex/balancer-v2/config.js +8 -0
- package/build/dex/balancer-v2/config.js.map +1 -1
- package/build/dex/curve-v1/pools/frxETHpool.d.ts +7 -0
- package/build/dex/curve-v1/pools/frxETHpool.js +27 -0
- package/build/dex/curve-v1/pools/frxETHpool.js.map +1 -0
- package/build/dex/curve-v1/pools/wbETHpool.d.ts +29 -0
- package/build/dex/curve-v1/pools/wbETHpool.js +408 -0
- package/build/dex/curve-v1/pools/wbETHpool.js.map +1 -0
- package/build/dex/pancakeswap-v3/types.d.ts +14 -0
- package/build/dex/pancakeswap-v3/types.js +3 -0
- package/build/dex/pancakeswap-v3/types.js.map +1 -0
- package/build/dex/quickswap-v3.d.ts +21 -0
- package/build/dex/quickswap-v3.js +40 -0
- package/build/dex/quickswap-v3.js.map +1 -0
- package/build/dex/solidly/forks-override/ramses.d.ts +8 -0
- package/build/dex/solidly/forks-override/ramses.js +15 -0
- package/build/dex/solidly/forks-override/ramses.js.map +1 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
- package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
- package/build/dex/woo-fi/config.d.ts +4 -0
- package/build/dex/woo-fi/config.js +141 -0
- package/build/dex/woo-fi/config.js.map +1 -0
- package/build/dex/woo-fi/constants.d.ts +5 -0
- package/build/dex/woo-fi/constants.js +20 -0
- package/build/dex/woo-fi/constants.js.map +1 -0
- package/build/dex/woo-fi/types.d.ts +48 -0
- package/build/dex/woo-fi/types.js +3 -0
- package/build/dex/woo-fi/types.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
- package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
- package/build/dex/woo-fi/woo-fi-math.js +300 -0
- package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
- package/build/dex/woo-fi/woo-fi.d.ts +65 -0
- package/build/dex/woo-fi/woo-fi.js +480 -0
- package/build/dex/woo-fi/woo-fi.js.map +1 -0
- package/package.json +1 -1
- package/src/config.ts +1 -1
- package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +178 -0
- package/src/dex/balancer-v2/config.ts +9 -0
- package/tests/constants-e2e.ts +10 -0
|
@@ -1007,6 +1007,183 @@ describe('BalancerV2 E2E', () => {
|
|
|
1007
1007
|
});
|
|
1008
1008
|
});
|
|
1009
1009
|
|
|
1010
|
+
describe('BalancerV2 Avalanche', () => {
|
|
1011
|
+
const dexKey = 'BalancerV2';
|
|
1012
|
+
const network = Network.AVALANCHE;
|
|
1013
|
+
const tokens = Tokens[Network.AVALANCHE];
|
|
1014
|
+
const holders = Holders[Network.AVALANCHE];
|
|
1015
|
+
const provider = new StaticJsonRpcProvider(
|
|
1016
|
+
generateConfig(network).privateHttpProvider,
|
|
1017
|
+
network,
|
|
1018
|
+
);
|
|
1019
|
+
|
|
1020
|
+
describe('ComposableStable', () => {
|
|
1021
|
+
const sideToContractMethods = new Map([
|
|
1022
|
+
[
|
|
1023
|
+
SwapSide.SELL,
|
|
1024
|
+
[
|
|
1025
|
+
ContractMethod.simpleSwap,
|
|
1026
|
+
ContractMethod.multiSwap,
|
|
1027
|
+
ContractMethod.megaSwap,
|
|
1028
|
+
],
|
|
1029
|
+
],
|
|
1030
|
+
]);
|
|
1031
|
+
|
|
1032
|
+
const pairs: { name: string; sellAmount: string; buyAmount: string }[][] =
|
|
1033
|
+
[
|
|
1034
|
+
[
|
|
1035
|
+
{
|
|
1036
|
+
name: 'sAVAX',
|
|
1037
|
+
sellAmount: '20000000000000',
|
|
1038
|
+
buyAmount: '200000000',
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
name: 'AVAX',
|
|
1042
|
+
sellAmount: '200000000',
|
|
1043
|
+
buyAmount: '2000000000000000',
|
|
1044
|
+
},
|
|
1045
|
+
],
|
|
1046
|
+
[
|
|
1047
|
+
{
|
|
1048
|
+
name: 'USDT',
|
|
1049
|
+
sellAmount: '20000000',
|
|
1050
|
+
buyAmount: '200000000',
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
name: 'USDC',
|
|
1054
|
+
sellAmount: '200000000',
|
|
1055
|
+
buyAmount: '2000000000',
|
|
1056
|
+
},
|
|
1057
|
+
]
|
|
1058
|
+
];
|
|
1059
|
+
|
|
1060
|
+
sideToContractMethods.forEach((contractMethods, side) =>
|
|
1061
|
+
describe(`${side}`, () => {
|
|
1062
|
+
contractMethods.forEach((contractMethod: ContractMethod) => {
|
|
1063
|
+
pairs.forEach(pair => {
|
|
1064
|
+
describe(`${contractMethod}`, () => {
|
|
1065
|
+
it(`${pair[0].name} -> ${pair[1].name}`, async () => {
|
|
1066
|
+
await testE2E(
|
|
1067
|
+
tokens[pair[0].name],
|
|
1068
|
+
tokens[pair[1].name],
|
|
1069
|
+
holders[pair[0].name],
|
|
1070
|
+
side === SwapSide.SELL
|
|
1071
|
+
? pair[0].sellAmount
|
|
1072
|
+
: pair[0].buyAmount,
|
|
1073
|
+
side,
|
|
1074
|
+
dexKey,
|
|
1075
|
+
contractMethod,
|
|
1076
|
+
network,
|
|
1077
|
+
provider,
|
|
1078
|
+
);
|
|
1079
|
+
});
|
|
1080
|
+
it(`${pair[1].name} -> ${pair[0].name}`, async () => {
|
|
1081
|
+
await testE2E(
|
|
1082
|
+
tokens[pair[1].name],
|
|
1083
|
+
tokens[pair[0].name],
|
|
1084
|
+
holders[pair[1].name],
|
|
1085
|
+
side === SwapSide.SELL
|
|
1086
|
+
? pair[1].sellAmount
|
|
1087
|
+
: pair[1].buyAmount,
|
|
1088
|
+
side,
|
|
1089
|
+
dexKey,
|
|
1090
|
+
contractMethod,
|
|
1091
|
+
network,
|
|
1092
|
+
provider,
|
|
1093
|
+
);
|
|
1094
|
+
});
|
|
1095
|
+
});
|
|
1096
|
+
});
|
|
1097
|
+
});
|
|
1098
|
+
}),
|
|
1099
|
+
);
|
|
1100
|
+
});
|
|
1101
|
+
|
|
1102
|
+
describe('Weighted Pool', () => {
|
|
1103
|
+
const sideToContractMethods = new Map([
|
|
1104
|
+
[
|
|
1105
|
+
SwapSide.SELL,
|
|
1106
|
+
[
|
|
1107
|
+
ContractMethod.simpleSwap,
|
|
1108
|
+
ContractMethod.multiSwap,
|
|
1109
|
+
ContractMethod.megaSwap,
|
|
1110
|
+
],
|
|
1111
|
+
],
|
|
1112
|
+
[SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
|
|
1113
|
+
]);
|
|
1114
|
+
|
|
1115
|
+
const pairs: { name: string; sellAmount: string; buyAmount: string }[][] =
|
|
1116
|
+
[
|
|
1117
|
+
[
|
|
1118
|
+
{
|
|
1119
|
+
name: 'BETS',
|
|
1120
|
+
sellAmount: '20000000000000',
|
|
1121
|
+
buyAmount: '200000000',
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
name: 'sAVAX',
|
|
1125
|
+
sellAmount: '200000000',
|
|
1126
|
+
buyAmount: '2000000000000000',
|
|
1127
|
+
},
|
|
1128
|
+
],
|
|
1129
|
+
[
|
|
1130
|
+
{
|
|
1131
|
+
name: 'HATCHY',
|
|
1132
|
+
sellAmount: '20000000000000',
|
|
1133
|
+
buyAmount: '200000000',
|
|
1134
|
+
},
|
|
1135
|
+
{
|
|
1136
|
+
name: 'AVAX',
|
|
1137
|
+
sellAmount: '200000000',
|
|
1138
|
+
buyAmount: '2000000000000000',
|
|
1139
|
+
},
|
|
1140
|
+
]
|
|
1141
|
+
];
|
|
1142
|
+
|
|
1143
|
+
sideToContractMethods.forEach((contractMethods, side) =>
|
|
1144
|
+
describe(`${side}`, () => {
|
|
1145
|
+
contractMethods.forEach((contractMethod: ContractMethod) => {
|
|
1146
|
+
pairs.forEach(pair => {
|
|
1147
|
+
describe(`${contractMethod}`, () => {
|
|
1148
|
+
it(`${pair[0].name} -> ${pair[1].name}`, async () => {
|
|
1149
|
+
await testE2E(
|
|
1150
|
+
tokens[pair[0].name],
|
|
1151
|
+
tokens[pair[1].name],
|
|
1152
|
+
holders[pair[0].name],
|
|
1153
|
+
side === SwapSide.SELL
|
|
1154
|
+
? pair[0].sellAmount
|
|
1155
|
+
: pair[0].buyAmount,
|
|
1156
|
+
side,
|
|
1157
|
+
dexKey,
|
|
1158
|
+
contractMethod,
|
|
1159
|
+
network,
|
|
1160
|
+
provider,
|
|
1161
|
+
);
|
|
1162
|
+
});
|
|
1163
|
+
it(`${pair[1].name} -> ${pair[0].name}`, async () => {
|
|
1164
|
+
await testE2E(
|
|
1165
|
+
tokens[pair[1].name],
|
|
1166
|
+
tokens[pair[0].name],
|
|
1167
|
+
holders[pair[1].name],
|
|
1168
|
+
side === SwapSide.SELL
|
|
1169
|
+
? pair[1].sellAmount
|
|
1170
|
+
: pair[1].buyAmount,
|
|
1171
|
+
side,
|
|
1172
|
+
dexKey,
|
|
1173
|
+
contractMethod,
|
|
1174
|
+
network,
|
|
1175
|
+
provider,
|
|
1176
|
+
);
|
|
1177
|
+
});
|
|
1178
|
+
});
|
|
1179
|
+
});
|
|
1180
|
+
});
|
|
1181
|
+
}),
|
|
1182
|
+
);
|
|
1183
|
+
});
|
|
1184
|
+
|
|
1185
|
+
});
|
|
1186
|
+
|
|
1010
1187
|
describe('BeetsFi OPTIMISM', () => {
|
|
1011
1188
|
const dexKey = 'BeetsFi';
|
|
1012
1189
|
const network = Network.OPTIMISM;
|
|
@@ -1259,4 +1436,5 @@ describe('BalancerV2 E2E', () => {
|
|
|
1259
1436
|
});
|
|
1260
1437
|
});
|
|
1261
1438
|
});
|
|
1439
|
+
|
|
1262
1440
|
});
|
|
@@ -19,6 +19,11 @@ export const BalancerConfig: DexConfigMap<DexParams> = {
|
|
|
19
19
|
'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-arbitrum-v2',
|
|
20
20
|
vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
|
|
21
21
|
},
|
|
22
|
+
[Network.AVALANCHE]: {
|
|
23
|
+
subgraphURL:
|
|
24
|
+
'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-avalanche-v2',
|
|
25
|
+
vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
|
|
26
|
+
}
|
|
22
27
|
},
|
|
23
28
|
BeetsFi: {
|
|
24
29
|
[Network.FANTOM]: {
|
|
@@ -63,4 +68,8 @@ export const Adapters: Record<number, AdapterMappings> = {
|
|
|
63
68
|
[SwapSide.SELL]: [{ name: 'OptimismAdapter01', index: 4 }],
|
|
64
69
|
[SwapSide.BUY]: [{ name: 'OptimismBuyAdapter', index: 5 }],
|
|
65
70
|
},
|
|
71
|
+
[Network.AVALANCHE]: {
|
|
72
|
+
[SwapSide.SELL]: [{ name: 'AvalancheAdapter01', index: 8 }],
|
|
73
|
+
[SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 7 }],
|
|
74
|
+
}
|
|
66
75
|
};
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -698,6 +698,14 @@ export const Tokens: {
|
|
|
698
698
|
address: '0xCFc37A6AB183dd4aED08C204D1c2773c0b1BDf46',
|
|
699
699
|
decimals: 18,
|
|
700
700
|
},
|
|
701
|
+
BETS: {
|
|
702
|
+
address: '0x94025780a1ab58868d9b2dbbb775f44b32e8e6e5',
|
|
703
|
+
decimals: 18,
|
|
704
|
+
},
|
|
705
|
+
HATCHY: {
|
|
706
|
+
address: '0x502580fc390606b47fc3b741d6d49909383c28a9',
|
|
707
|
+
decimals: 18,
|
|
708
|
+
}
|
|
701
709
|
},
|
|
702
710
|
[Network.ARBITRUM]: {
|
|
703
711
|
DAI: {
|
|
@@ -965,6 +973,8 @@ export const Holders: {
|
|
|
965
973
|
avWAVAX: '0xc5ed2333f8a2C351fCA35E5EBAdb2A82F5d254C3',
|
|
966
974
|
WAVAX: '0xbbff2a8ec8d702e61faaccf7cf705968bb6a5bab',
|
|
967
975
|
sAVAX: '0xC73DF1e68FC203F6E4b6270240D6f82A850e8D38',
|
|
976
|
+
BETS: '0x8cc2284c90d05578633418f9cde104f402375a65',
|
|
977
|
+
HATCHY: '0x14ec295ec8def851ec6e2959df872dd24e422631',
|
|
968
978
|
USDCe: '0x3a2434c698f8d79af1f5a9e43013157ca8b11a66',
|
|
969
979
|
USDC: '0xbf14db80d9275fb721383a77c00ae180fc40ae98',
|
|
970
980
|
USDTe: '0x84d34f4f83a87596cd3fb6887cff8f17bf5a7b83',
|