@paraswap/dex-lib 2.28.1-camelot-efficiency-factor → 2.28.2-camelot-efficiency-factor

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/build/config.js CHANGED
@@ -178,7 +178,7 @@ const baseConfigs = {
178
178
  adapterAddresses: {
179
179
  AvalancheAdapter01: '0x745Ec73855CeC7249E5fF4c9DD81cc65b4D297a9',
180
180
  AvalancheAdapter02: '0xDCf4EE5B700e2a5Fec458e06B763A4a3E3004494',
181
- AvalancheBuyAdapter: '0xeBF40A40CA3D4310Bf53048F48e860656e1D7C81',
181
+ AvalancheBuyAdapter: '0x7ebbDBB57d2ab59079423cf8337cf8805e225bB1',
182
182
  },
183
183
  uniswapV2ExchangeRouterAddress: '0x53e693c6C7FFC4446c53B205Cf513105Bf140D7b',
184
184
  rfqConfigs: {},
@@ -16,6 +16,10 @@ exports.BalancerConfig = {
16
16
  subgraphURL: 'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-arbitrum-v2',
17
17
  vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
18
18
  },
19
+ [constants_1.Network.AVALANCHE]: {
20
+ subgraphURL: 'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-avalanche-v2',
21
+ vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
22
+ }
19
23
  },
20
24
  BeetsFi: {
21
25
  [constants_1.Network.FANTOM]: {
@@ -57,5 +61,9 @@ exports.Adapters = {
57
61
  [constants_1.SwapSide.SELL]: [{ name: 'OptimismAdapter01', index: 4 }],
58
62
  [constants_1.SwapSide.BUY]: [{ name: 'OptimismBuyAdapter', index: 5 }],
59
63
  },
64
+ [constants_1.Network.AVALANCHE]: {
65
+ [constants_1.SwapSide.SELL]: [{ name: 'AvalancheAdapter01', index: 8 }],
66
+ [constants_1.SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 7 }],
67
+ }
60
68
  };
61
69
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,cAAc,GAA4B;IACrD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EACT,mEAAmE;YACrE,YAAY,EAAE,4CAA4C;SAC3D;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EACT,2EAA2E;YAC7E,YAAY,EAAE,4CAA4C;SAC3D;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EACT,4EAA4E;YAC9E,YAAY,EAAE,4CAA4C;SAC3D;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,WAAW,EACT,iEAAiE;YACnE,YAAY,EAAE,4CAA4C;SAC3D;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EACT,0EAA0E;YAC5E,YAAY,EAAE,4CAA4C;SAC3D;KACF;IACD,mFAAmF;IACnF,UAAU;IACV,0BAA0B;IAC1B,kBAAkB;IAClB,iFAAiF;IACjF,iEAAiE;IACjE,MAAM;IACN,KAAK;CACN,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAClD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACnD;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC1D;IACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;QAChB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACzD;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.28.1-camelot-efficiency-factor",
3
+ "version": "2.28.2-camelot-efficiency-factor",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
package/src/config.ts CHANGED
@@ -217,7 +217,7 @@ const baseConfigs: { [network: number]: BaseConfig } = {
217
217
  adapterAddresses: {
218
218
  AvalancheAdapter01: '0x745Ec73855CeC7249E5fF4c9DD81cc65b4D297a9',
219
219
  AvalancheAdapter02: '0xDCf4EE5B700e2a5Fec458e06B763A4a3E3004494',
220
- AvalancheBuyAdapter: '0xeBF40A40CA3D4310Bf53048F48e860656e1D7C81',
220
+ AvalancheBuyAdapter: '0x7ebbDBB57d2ab59079423cf8337cf8805e225bB1',
221
221
  },
222
222
  uniswapV2ExchangeRouterAddress:
223
223
  '0x53e693c6C7FFC4446c53B205Cf513105Bf140D7b',
@@ -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
  };
@@ -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',