@paraswap/dex-lib 2.35.1 → 2.35.2-opbnb-integration.0

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.
Files changed (86) hide show
  1. package/build/abi/quickPerps/fast-price-events.json +70 -0
  2. package/build/abi/quickPerps/fast-price-feed.json +748 -0
  3. package/build/abi/quickPerps/reader.json +313 -0
  4. package/build/abi/quickPerps/vault-price-feed.json +477 -0
  5. package/build/abi/quickPerps/vault.json +1953 -0
  6. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  7. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  8. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  9. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  10. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  11. package/build/constants.d.ts +1 -0
  12. package/build/constants.js +1 -0
  13. package/build/constants.js.map +1 -1
  14. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  15. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  16. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  17. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  18. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  19. package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
  20. package/build/dex/balancer-v2/LinearMath.js +179 -0
  21. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  22. package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
  23. package/build/dex/balancer-v2/LinearPool.js +324 -0
  24. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  25. package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
  26. package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
  27. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  28. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  29. package/build/dex/balancer-v2/StableMath.js +272 -0
  30. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  31. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
  32. package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
  33. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  34. package/build/dex/quickswap-v3.d.ts +21 -0
  35. package/build/dex/quickswap-v3.js +40 -0
  36. package/build/dex/quickswap-v3.js.map +1 -0
  37. package/build/dex/test-dex/config.d.ts +4 -0
  38. package/build/dex/test-dex/config.js +15 -0
  39. package/build/dex/test-dex/config.js.map +1 -0
  40. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  41. package/build/dex/test-dex/test-dex-pool.js +63 -0
  42. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  43. package/build/dex/test-dex/test-dex.d.ts +37 -0
  44. package/build/dex/test-dex/test-dex.js +126 -0
  45. package/build/dex/test-dex/test-dex.js.map +1 -0
  46. package/build/dex/test-dex/types.d.ts +6 -0
  47. package/build/dex/test-dex/types.js +3 -0
  48. package/build/dex/test-dex/types.js.map +1 -0
  49. package/build/dex/uniswap-v2/config.js +21 -0
  50. package/build/dex/uniswap-v2/config.js.map +1 -1
  51. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  52. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  53. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  54. package/build/dex/weth/config.js +6 -0
  55. package/build/dex/weth/config.js.map +1 -1
  56. package/build/dex/woo-fi/config.d.ts +4 -0
  57. package/build/dex/woo-fi/config.js +141 -0
  58. package/build/dex/woo-fi/config.js.map +1 -0
  59. package/build/dex/woo-fi/constants.d.ts +5 -0
  60. package/build/dex/woo-fi/constants.js +20 -0
  61. package/build/dex/woo-fi/constants.js.map +1 -0
  62. package/build/dex/woo-fi/types.d.ts +48 -0
  63. package/build/dex/woo-fi/types.js +3 -0
  64. package/build/dex/woo-fi/types.js.map +1 -0
  65. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  66. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  67. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  68. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  69. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  70. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  71. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  72. package/build/dex/woo-fi/woo-fi.js +480 -0
  73. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  74. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  75. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  76. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  77. package/package.json +1 -1
  78. package/src/constants.ts +1 -0
  79. package/src/dex/uniswap-v2/config.ts +21 -0
  80. package/src/dex/uniswap-v2/uniswap-v2-e2e-opbnb.test.ts +162 -0
  81. package/src/dex/weth/config.ts +6 -0
  82. package/tests/constants-e2e.ts +24 -0
  83. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  84. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  85. package/build/dex/algebra/algebra-pool.js +0 -336
  86. package/build/dex/algebra/algebra-pool.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-math.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.35.1",
3
+ "version": "2.35.2-opbnb-integration.0",
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/constants.ts CHANGED
@@ -33,6 +33,7 @@ export enum Network {
33
33
  RINKEBY = 4,
34
34
  BSC = 56,
35
35
  POLYGON = 137,
36
+ OPBNB = 204,
36
37
  ZKEVM = 1101,
37
38
  AVALANCHE = 43114,
38
39
  FANTOM = 250,
@@ -117,6 +117,10 @@ export const Adapters: {
117
117
  },
118
118
  ],
119
119
  },
120
+ [Network.OPBNB]: {
121
+ [SwapSide.SELL]: [{ name: 'OpBnbAdapter01', index: 2 }],
122
+ [SwapSide.BUY]: [{ name: 'OpBnbBuyAdapter', index: 1 }],
123
+ },
120
124
  };
121
125
 
122
126
  export const UniswapV2Config: DexConfigMap<DexParams> = {
@@ -696,4 +700,21 @@ export const UniswapV2Config: DexConfigMap<DexParams> = {
696
700
  feeCode: 30,
697
701
  },
698
702
  },
703
+ // BinarySwap: {
704
+ // [Network.OPBNB]: {
705
+ // subgraphURL: '',
706
+ // factoryAddress: '0xd50aaE6C73E2486B0Da718D23F35Dcf5aad25911',
707
+ // initCode:
708
+ // '0x5ef9d9226744e2d0335d11ea48193e4ccd224fb01d8557c9db762f93cfe52881',
709
+ // feeCode: 30,
710
+ // },
711
+ // },
712
+ // LuigiSwap: {
713
+ // [Network.OPBNB]: {
714
+ // subgraphURL: '',
715
+ // factoryAddress: '',
716
+ // initCode: '',
717
+ // feeCode: 30,
718
+ // },
719
+ // },
699
720
  };
@@ -0,0 +1,162 @@
1
+ import dotenv from 'dotenv';
2
+ dotenv.config();
3
+
4
+ import { testE2E } from '../../../tests/utils-e2e';
5
+ import { Tokens, Holders } from '../../../tests/constants-e2e';
6
+ import { Network, ContractMethod, SwapSide } from '../../constants';
7
+ import { StaticJsonRpcProvider } from '@ethersproject/providers';
8
+ import { generateConfig } from '../../config';
9
+
10
+ describe('UniswapV2 E2E OpBnb', () => {
11
+ const network = Network.OPBNB;
12
+ const tokens = Tokens[network];
13
+ const holders = Holders[network];
14
+ const provider = new StaticJsonRpcProvider(
15
+ generateConfig(network).privateHttpProvider,
16
+ network,
17
+ );
18
+
19
+ describe(`BinarySwap`, () => {
20
+ const dexKey = 'BinarySwap';
21
+
22
+ const sideToContractMethods = new Map([
23
+ [
24
+ SwapSide.SELL,
25
+ [
26
+ ContractMethod.simpleSwap,
27
+ ContractMethod.multiSwap,
28
+ ContractMethod.megaSwap,
29
+ ],
30
+ ],
31
+ [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
32
+ ]);
33
+
34
+ const pairs: { name: string; sellAmount: string; buyAmount: string }[][] = [
35
+ [
36
+ {
37
+ name: 'BNB',
38
+ sellAmount: '100000000000000000',
39
+ buyAmount: '100000000000000000',
40
+ },
41
+ {
42
+ name: '0101',
43
+ sellAmount: '1000000000000000000',
44
+ buyAmount: '100000000000000000',
45
+ },
46
+ ],
47
+ ];
48
+
49
+ sideToContractMethods.forEach((contractMethods, side) =>
50
+ describe(`${side}`, () => {
51
+ contractMethods.forEach((contractMethod: ContractMethod) => {
52
+ pairs.forEach(pair => {
53
+ describe(`${contractMethod}`, () => {
54
+ it(`${pair[0].name} -> ${pair[1].name}`, async () => {
55
+ await testE2E(
56
+ tokens[pair[0].name],
57
+ tokens[pair[1].name],
58
+ holders[pair[0].name],
59
+ side === SwapSide.SELL
60
+ ? pair[0].sellAmount
61
+ : pair[0].buyAmount,
62
+ side,
63
+ dexKey,
64
+ contractMethod,
65
+ network,
66
+ provider,
67
+ );
68
+ });
69
+ it(`${pair[1].name} -> ${pair[0].name}`, async () => {
70
+ await testE2E(
71
+ tokens[pair[1].name],
72
+ tokens[pair[0].name],
73
+ holders[pair[1].name],
74
+ side === SwapSide.SELL
75
+ ? pair[1].sellAmount
76
+ : pair[1].buyAmount,
77
+ side,
78
+ dexKey,
79
+ contractMethod,
80
+ network,
81
+ provider,
82
+ );
83
+ });
84
+ });
85
+ });
86
+ });
87
+ }),
88
+ );
89
+ });
90
+
91
+ describe(`LuigiSwap`, () => {
92
+ const dexKey = 'LuigiSwap';
93
+
94
+ const sideToContractMethods = new Map([
95
+ [
96
+ SwapSide.SELL,
97
+ [
98
+ ContractMethod.simpleSwap,
99
+ ContractMethod.multiSwap,
100
+ ContractMethod.megaSwap,
101
+ ],
102
+ ],
103
+ [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
104
+ ]);
105
+
106
+ const pairs: { name: string; sellAmount: string; buyAmount: string }[][] = [
107
+ [
108
+ {
109
+ name: 'BNB',
110
+ sellAmount: '100000000000000000',
111
+ buyAmount: '100000000000000000',
112
+ },
113
+ {
114
+ name: 'LUIGI',
115
+ sellAmount: '1000000000000000000',
116
+ buyAmount: '100000000000000000',
117
+ },
118
+ ],
119
+ ];
120
+
121
+ sideToContractMethods.forEach((contractMethods, side) =>
122
+ describe(`${side}`, () => {
123
+ contractMethods.forEach((contractMethod: ContractMethod) => {
124
+ pairs.forEach(pair => {
125
+ describe(`${contractMethod}`, () => {
126
+ it(`${pair[0].name} -> ${pair[1].name}`, async () => {
127
+ await testE2E(
128
+ tokens[pair[0].name],
129
+ tokens[pair[1].name],
130
+ holders[pair[0].name],
131
+ side === SwapSide.SELL
132
+ ? pair[0].sellAmount
133
+ : pair[0].buyAmount,
134
+ side,
135
+ dexKey,
136
+ contractMethod,
137
+ network,
138
+ provider,
139
+ );
140
+ });
141
+ it(`${pair[1].name} -> ${pair[0].name}`, async () => {
142
+ await testE2E(
143
+ tokens[pair[1].name],
144
+ tokens[pair[0].name],
145
+ holders[pair[1].name],
146
+ side === SwapSide.SELL
147
+ ? pair[1].sellAmount
148
+ : pair[1].buyAmount,
149
+ side,
150
+ dexKey,
151
+ contractMethod,
152
+ network,
153
+ provider,
154
+ );
155
+ });
156
+ });
157
+ });
158
+ });
159
+ }),
160
+ );
161
+ });
162
+ });
@@ -30,6 +30,9 @@ export const WethConfig: DexConfigMap<DexParams> = {
30
30
  [Network.BSC]: {
31
31
  poolGasCost: WethGasCost,
32
32
  },
33
+ [Network.OPBNB]: {
34
+ poolGasCost: WethGasCost,
35
+ },
33
36
  },
34
37
  Wmatic: {
35
38
  [Network.POLYGON]: {
@@ -70,4 +73,7 @@ export const Adapters: {
70
73
  [Network.OPTIMISM]: {
71
74
  [SwapSide.SELL]: [{ name: 'OptimismAdapter01', index: 1 }],
72
75
  },
76
+ [Network.OPBNB]: {
77
+ [SwapSide.SELL]: [{ name: 'OpBnbAdapter01', index: 1 }],
78
+ },
73
79
  };
@@ -883,6 +883,24 @@ export const Tokens: {
883
883
  decimals: 6,
884
884
  },
885
885
  },
886
+ [Network.OPBNB]: {
887
+ BNB: {
888
+ address: ETHER_ADDRESS,
889
+ decimals: 18,
890
+ },
891
+ WBNB: {
892
+ address: '0x4200000000000000000000000000000000000006',
893
+ decimals: 18,
894
+ },
895
+ '0101': {
896
+ address: '0xa41B3067eC694DBec668c389550bA8fc589e5797',
897
+ decimals: 18,
898
+ },
899
+ LUIGI: {
900
+ address: '0x196AD5A70279Fc112db4F8Baf6f5022c9B1cF0a5',
901
+ decimals: 18,
902
+ },
903
+ },
886
904
  };
887
905
 
888
906
  export const Holders: {
@@ -1102,6 +1120,12 @@ export const Holders: {
1102
1120
  WBTC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1103
1121
  USDC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1104
1122
  },
1123
+ [Network.OPBNB]: {
1124
+ BNB: '0xb12e5f8f44b167f609e189d5ed66970328efdd22',
1125
+ WBNB: '0x506B8322E1159d06E493EBe7ffA41a24291e7Ae3',
1126
+ '0101': '0x39a786421889EB581bd105508a0D2Dc03523B903',
1127
+ LUIGI: '0x245736d44f7A77c8DB80625Ea498d85eF8AE629d',
1128
+ },
1105
1129
  };
1106
1130
 
1107
1131
  export const SmartTokens = Object.keys(Tokens).reduce((acc, _network) => {