@paraswap/dex-lib 2.35.1 → 2.35.2-opbnb-integration.1
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/abi/quickPerps/fast-price-events.json +70 -0
- package/build/abi/quickPerps/fast-price-feed.json +748 -0
- package/build/abi/quickPerps/reader.json +313 -0
- package/build/abi/quickPerps/vault-price-feed.json +477 -0
- package/build/abi/quickPerps/vault.json +1953 -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/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/constants.d.ts +1 -0
- package/build/constants.js +1 -0
- package/build/constants.js.map +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/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/test-dex/config.d.ts +4 -0
- package/build/dex/test-dex/config.js +15 -0
- package/build/dex/test-dex/config.js.map +1 -0
- package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
- package/build/dex/test-dex/test-dex-pool.js +63 -0
- package/build/dex/test-dex/test-dex-pool.js.map +1 -0
- package/build/dex/test-dex/test-dex.d.ts +37 -0
- package/build/dex/test-dex/test-dex.js +126 -0
- package/build/dex/test-dex/test-dex.js.map +1 -0
- package/build/dex/test-dex/types.d.ts +6 -0
- package/build/dex/test-dex/types.js +3 -0
- package/build/dex/test-dex/types.js.map +1 -0
- package/build/dex/uniswap-v2/config.js +20 -0
- package/build/dex/uniswap-v2/config.js.map +1 -1
- 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/weth/config.js +6 -0
- package/build/dex/weth/config.js.map +1 -1
- 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/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -0
- package/src/dex/uniswap-v2/config.ts +21 -0
- package/src/dex/uniswap-v2/uniswap-v2-e2e-opbnb.test.ts +162 -0
- package/src/dex/weth/config.ts +6 -0
- package/tests/constants-e2e.ts +24 -0
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- package/build/dex/algebra/algebra-pool.d.ts +0 -46
- package/build/dex/algebra/algebra-pool.js +0 -336
- 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
package/src/constants.ts
CHANGED
|
@@ -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: '0x0dAe6d22182c20AB9150a4DCB3160591Dc41027a',
|
|
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
|
+
});
|
package/src/dex/weth/config.ts
CHANGED
|
@@ -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
|
};
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -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) => {
|