@paraswap/dex-lib 2.36.1 → 2.36.2-dexalot.2
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/algebra/AlgebraPool.abi.json +727 -0
- package/build/abi/curve-v1/StableSwapFRXETH.json +889 -0
- package/build/abi/curve-v1/StableSwapWBETH.json +1223 -0
- package/build/abi/dexalot/DexalotMainnetRFQ.json +887 -0
- package/build/abi/sushiswap-v3/QuoterV2.json +267 -0
- package/build/abi/sushiswap-v3/RouterProcessor3.json +289 -0
- package/build/abi/wBETH.json +1527 -0
- package/build/config.js +2 -0
- package/build/config.js.map +1 -1
- package/build/dex/algebra/algebra-pool.d.ts +46 -0
- package/build/dex/algebra/algebra-pool.js +336 -0
- package/build/dex/algebra/algebra-pool.js.map +1 -0
- 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/{test-dex → dexalot}/config.d.ts +1 -1
- package/build/dex/dexalot/config.js +18 -0
- package/build/dex/dexalot/config.js.map +1 -0
- package/build/dex/dexalot/constants.d.ts +16 -0
- package/build/dex/dexalot/constants.js +23 -0
- package/build/dex/dexalot/constants.js.map +1 -0
- package/build/dex/dexalot/dexalot.d.ts +66 -0
- package/build/dex/dexalot/dexalot.js +603 -0
- package/build/dex/dexalot/dexalot.js.map +1 -0
- package/build/dex/dexalot/rate-fetcher.d.ts +27 -0
- package/build/dex/dexalot/rate-fetcher.js +101 -0
- package/build/dex/dexalot/rate-fetcher.js.map +1 -0
- package/build/dex/dexalot/types.d.ts +106 -0
- package/build/dex/dexalot/types.js +12 -0
- package/build/dex/dexalot/types.js.map +1 -0
- package/build/dex/dexalot/validators.d.ts +5 -0
- package/build/dex/dexalot/validators.js +45 -0
- package/build/dex/dexalot/validators.js.map +1 -0
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/pancakeswap-v3/types.d.ts +14 -0
- package/build/dex/{test-dex → pancakeswap-v3}/types.js.map +1 -1
- package/build/dex/ramses-v2/config.d.ts +4 -0
- package/build/dex/ramses-v2/config.js +28 -0
- package/build/dex/ramses-v2/config.js.map +1 -0
- package/build/dex/ramses-v2/constants.d.ts +28 -0
- package/build/dex/ramses-v2/constants.js +35 -0
- package/build/dex/ramses-v2/constants.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/BitMath.d.ts +4 -0
- package/build/dex/ramses-v2/contract-math/BitMath.js +93 -0
- package/build/dex/ramses-v2/contract-math/BitMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +3 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint128.js +8 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +4 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint96.js +9 -0
- package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/FullMath.d.ts +4 -0
- package/build/dex/ramses-v2/contract-math/FullMath.js +19 -0
- package/build/dex/ramses-v2/contract-math/FullMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +3 -0
- package/build/dex/ramses-v2/contract-math/LiquidityMath.js +22 -0
- package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/Oracle.d.ts +10 -0
- package/build/dex/ramses-v2/contract-math/Oracle.js +133 -0
- package/build/dex/ramses-v2/contract-math/Oracle.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +10 -0
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +91 -0
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +8 -0
- package/build/dex/ramses-v2/contract-math/SwapMath.js +70 -0
- package/build/dex/ramses-v2/contract-math/SwapMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/Tick.d.ts +7 -0
- package/build/dex/ramses-v2/contract-math/Tick.js +45 -0
- package/build/dex/ramses-v2/contract-math/Tick.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +8 -0
- package/build/dex/ramses-v2/contract-math/TickBitMap.js +87 -0
- package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/TickMath.d.ts +8 -0
- package/build/dex/ramses-v2/contract-math/TickMath.js +162 -0
- package/build/dex/ramses-v2/contract-math/TickMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +3 -0
- package/build/dex/ramses-v2/contract-math/UnsafeMath.js +10 -0
- package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +18 -0
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +392 -0
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +1 -0
- package/build/dex/ramses-v2/contract-math/utils.d.ts +3 -0
- package/build/dex/ramses-v2/contract-math/utils.js +16 -0
- package/build/dex/ramses-v2/contract-math/utils.js.map +1 -0
- package/build/dex/ramses-v2/ramses-v2-pool.d.ts +42 -0
- package/build/dex/ramses-v2/ramses-v2-pool.js +307 -0
- package/build/dex/ramses-v2/ramses-v2-pool.js.map +1 -0
- package/build/dex/ramses-v2/ramses-v2.d.ts +61 -0
- package/build/dex/ramses-v2/ramses-v2.js +690 -0
- package/build/dex/ramses-v2/ramses-v2.js.map +1 -0
- package/build/dex/ramses-v2/types.d.ts +154 -0
- package/build/dex/ramses-v2/types.js +9 -0
- package/build/dex/ramses-v2/types.js.map +1 -0
- package/build/dex/ramses-v2/utils.d.ts +6 -0
- package/build/dex/ramses-v2/utils.js +71 -0
- package/build/dex/ramses-v2/utils.js.map +1 -0
- package/build/dex/sushiswap-v3/config.d.ts +4 -0
- package/build/dex/sushiswap-v3/config.js +132 -0
- package/build/dex/sushiswap-v3/config.js.map +1 -0
- package/build/dex/sushiswap-v3/constants.d.ts +4 -0
- package/build/dex/sushiswap-v3/constants.js +32 -0
- package/build/dex/sushiswap-v3/constants.js.map +1 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +56 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-original.js +598 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +1 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +1 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +6 -0
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +1 -0
- package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +21 -0
- package/build/dex/sushiswap-v3/sushiswap-v3.js +58 -0
- package/build/dex/sushiswap-v3/sushiswap-v3.js.map +1 -0
- package/build/dex/sushiswap-v3/token.d.ts +6 -0
- package/build/dex/sushiswap-v3/token.js +23 -0
- package/build/dex/sushiswap-v3/token.js.map +1 -0
- package/build/dex/sushiswap-v3/types.d.ts +15 -0
- package/build/dex/sushiswap-v3/types.js +18 -0
- package/build/dex/sushiswap-v3/types.js.map +1 -0
- package/build/types.d.ts +1 -0
- package/package.json +1 -1
- package/src/abi/dexalot/DexalotMainnetRFQ.json +887 -0
- package/src/config.ts +3 -0
- package/src/dex/dexalot/config.ts +18 -0
- package/src/dex/dexalot/constants.ts +31 -0
- package/src/dex/dexalot/dexalot-e2e.test.ts +192 -0
- package/src/dex/dexalot/dexalot-integration.test.ts +188 -0
- package/src/dex/dexalot/dexalot.ts +911 -0
- package/src/dex/dexalot/rate-fetcher.ts +187 -0
- package/src/dex/dexalot/types.ts +122 -0
- package/src/dex/dexalot/validators.ts +46 -0
- package/src/dex/index.ts +2 -0
- package/src/types.ts +1 -0
- package/build/abi/quickPerps/fast-price-events.json +0 -70
- package/build/abi/quickPerps/fast-price-feed.json +0 -748
- package/build/abi/quickPerps/reader.json +0 -313
- package/build/abi/quickPerps/vault-price-feed.json +0 -477
- package/build/abi/quickPerps/vault.json +0 -1953
- package/build/dex/test-dex/config.js +0 -15
- package/build/dex/test-dex/config.js.map +0 -1
- package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
- package/build/dex/test-dex/test-dex-pool.js +0 -63
- package/build/dex/test-dex/test-dex-pool.js.map +0 -1
- package/build/dex/test-dex/test-dex.d.ts +0 -37
- package/build/dex/test-dex/test-dex.js +0 -126
- package/build/dex/test-dex/test-dex.js.map +0 -1
- package/build/dex/test-dex/types.d.ts +0 -6
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
- package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
- package/build/workers.d.ts +0 -0
- package/build/workers.js +0 -2
- package/build/workers.js.map +0 -1
- /package/build/dex/{test-dex → pancakeswap-v3}/types.js +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RateFetcher = void 0;
|
|
4
|
+
const fetcher_1 = require("../../lib/fetcher/fetcher");
|
|
5
|
+
const validators_1 = require("../../lib/validators");
|
|
6
|
+
const validators_2 = require("./validators");
|
|
7
|
+
class RateFetcher {
|
|
8
|
+
constructor(dexHelper, dexKey, network, logger, config) {
|
|
9
|
+
this.dexHelper = dexHelper;
|
|
10
|
+
this.dexKey = dexKey;
|
|
11
|
+
this.network = network;
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
this.pairsCacheKey = config.rateConfig.pairsCacheKey;
|
|
14
|
+
this.pairsCacheTTL = config.rateConfig.pairsCacheTTLSecs;
|
|
15
|
+
this.pricesCacheKey = config.rateConfig.pricesCacheKey;
|
|
16
|
+
this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
|
|
17
|
+
this.tokensAddrCacheKey = config.rateConfig.tokensAddrCacheKey;
|
|
18
|
+
this.tokensCacheKey = config.rateConfig.tokensCacheKey;
|
|
19
|
+
this.tokensCacheTTL = config.rateConfig.tokensCacheTTLSecs;
|
|
20
|
+
this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
|
|
21
|
+
this.pairsFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
|
|
22
|
+
info: {
|
|
23
|
+
requestOptions: config.rateConfig.pairsReqParams,
|
|
24
|
+
caster: (data) => {
|
|
25
|
+
return (0, validators_1.validateAndCast)(data, validators_2.pairsResponseValidator);
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
handler: this.handlePairsResponse.bind(this),
|
|
29
|
+
}, config.rateConfig.pairsIntervalMs, logger);
|
|
30
|
+
this.rateFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
|
|
31
|
+
info: {
|
|
32
|
+
requestOptions: config.rateConfig.pricesReqParams,
|
|
33
|
+
caster: (data) => {
|
|
34
|
+
return (0, validators_1.validateAndCast)(data, validators_2.pricesResponseValidator);
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
handler: this.handleRatesResponse.bind(this),
|
|
38
|
+
}, config.rateConfig.pricesIntervalMs, logger);
|
|
39
|
+
this.blacklistFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
|
|
40
|
+
info: {
|
|
41
|
+
requestOptions: config.rateConfig.blacklistReqParams,
|
|
42
|
+
caster: (data) => {
|
|
43
|
+
return (0, validators_1.validateAndCast)(data, validators_2.blacklistResponseValidator);
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
handler: this.handleBlacklistResponse.bind(this),
|
|
47
|
+
}, config.rateConfig.blacklistIntervalMs, logger);
|
|
48
|
+
}
|
|
49
|
+
start() {
|
|
50
|
+
this.pairsFetcher.startPolling();
|
|
51
|
+
this.rateFetcher.startPolling();
|
|
52
|
+
this.blacklistFetcher.startPolling();
|
|
53
|
+
}
|
|
54
|
+
stop() {
|
|
55
|
+
this.pairsFetcher.stopPolling();
|
|
56
|
+
this.rateFetcher.stopPolling();
|
|
57
|
+
this.blacklistFetcher.stopPolling();
|
|
58
|
+
}
|
|
59
|
+
handlePairsResponse(resp) {
|
|
60
|
+
const pairs = resp;
|
|
61
|
+
const dexPairs = {};
|
|
62
|
+
const tokenMap = {};
|
|
63
|
+
const tokenAddrMap = {};
|
|
64
|
+
Object.keys(pairs).forEach(pair => {
|
|
65
|
+
dexPairs[pair.toLowerCase()] = pairs[pair];
|
|
66
|
+
tokenAddrMap[pairs[pair].base.toLowerCase()] =
|
|
67
|
+
pairs[pair].baseAddress.toLowerCase();
|
|
68
|
+
tokenAddrMap[pairs[pair].quote.toLowerCase()] =
|
|
69
|
+
pairs[pair].quoteAddress.toLowerCase();
|
|
70
|
+
tokenMap[pairs[pair].baseAddress.toLowerCase()] = {
|
|
71
|
+
address: pairs[pair].baseAddress.toLowerCase(),
|
|
72
|
+
symbol: pairs[pair].base,
|
|
73
|
+
decimals: pairs[pair].baseDecimals,
|
|
74
|
+
};
|
|
75
|
+
tokenMap[pairs[pair].quoteAddress.toLowerCase()] = {
|
|
76
|
+
address: pairs[pair].quoteAddress.toLowerCase(),
|
|
77
|
+
symbol: pairs[pair].quote,
|
|
78
|
+
decimals: pairs[pair].quoteDecimals,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, this.pairsCacheKey, this.pairsCacheTTL, JSON.stringify(dexPairs));
|
|
82
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensCacheKey, this.tokensCacheTTL, JSON.stringify(tokenMap));
|
|
83
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensAddrCacheKey, this.tokensCacheTTL, JSON.stringify(tokenAddrMap));
|
|
84
|
+
}
|
|
85
|
+
handleRatesResponse(resp) {
|
|
86
|
+
const { prices } = resp;
|
|
87
|
+
const dexPrices = {};
|
|
88
|
+
Object.keys(prices).forEach(pair => {
|
|
89
|
+
dexPrices[pair.toLowerCase()] = prices[pair];
|
|
90
|
+
});
|
|
91
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, this.pricesCacheKey, this.pricesCacheTTL, JSON.stringify(dexPrices));
|
|
92
|
+
}
|
|
93
|
+
async handleBlacklistResponse(resp) {
|
|
94
|
+
const { blacklist } = resp;
|
|
95
|
+
for (const address of blacklist) {
|
|
96
|
+
this.dexHelper.cache.sadd(this.blacklistCacheKey, address.toLowerCase());
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.RateFetcher = RateFetcher;
|
|
101
|
+
//# sourceMappingURL=rate-fetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/dexalot/rate-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { RequestHeaders } from '../../dex-helper';
|
|
2
|
+
import { Token } from '../../types';
|
|
3
|
+
declare type RFQOrder = {
|
|
4
|
+
nonceAndMeta: string;
|
|
5
|
+
expiry: number;
|
|
6
|
+
makerAsset: string;
|
|
7
|
+
takerAsset: string;
|
|
8
|
+
maker: string;
|
|
9
|
+
taker: string;
|
|
10
|
+
makerAmount: string;
|
|
11
|
+
takerAmount: string;
|
|
12
|
+
signature?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare type RFQResponse = {
|
|
15
|
+
order: RFQOrder;
|
|
16
|
+
signature: string;
|
|
17
|
+
};
|
|
18
|
+
export declare type RFQResponseError = {
|
|
19
|
+
Reason: string;
|
|
20
|
+
ReasonCode: string;
|
|
21
|
+
Success: boolean;
|
|
22
|
+
RetryAfter?: number;
|
|
23
|
+
};
|
|
24
|
+
export declare type DexalotData = {
|
|
25
|
+
quoteData?: RFQOrder;
|
|
26
|
+
};
|
|
27
|
+
export declare type DexParams = {
|
|
28
|
+
mainnetRFQAddress: string;
|
|
29
|
+
};
|
|
30
|
+
export declare enum ClobSide {
|
|
31
|
+
BID = "BID",
|
|
32
|
+
ASK = "ASK"
|
|
33
|
+
}
|
|
34
|
+
export declare class DexalotRfqError extends Error {
|
|
35
|
+
}
|
|
36
|
+
export declare type PairData = {
|
|
37
|
+
base: string;
|
|
38
|
+
quote: string;
|
|
39
|
+
liquidityUSD: number;
|
|
40
|
+
isSrcBase?: boolean;
|
|
41
|
+
};
|
|
42
|
+
export declare type PairDataMap = {
|
|
43
|
+
[pair: string]: PairData;
|
|
44
|
+
};
|
|
45
|
+
export declare type PairDataResp = {
|
|
46
|
+
base: string;
|
|
47
|
+
quote: string;
|
|
48
|
+
liquidityUSD: number;
|
|
49
|
+
baseAddress: string;
|
|
50
|
+
quoteAddress: string;
|
|
51
|
+
baseDecimals: number;
|
|
52
|
+
quoteDecimals: number;
|
|
53
|
+
};
|
|
54
|
+
export declare type DexalotPairsResponse = {
|
|
55
|
+
[pair: string]: PairDataResp;
|
|
56
|
+
};
|
|
57
|
+
declare type PriceData = {
|
|
58
|
+
bids: string[][];
|
|
59
|
+
asks: string[][];
|
|
60
|
+
};
|
|
61
|
+
export declare type PriceDataMap = {
|
|
62
|
+
[pair: string]: PriceData;
|
|
63
|
+
};
|
|
64
|
+
export declare type DexalotPricesResponse = {
|
|
65
|
+
prices: PriceDataMap;
|
|
66
|
+
};
|
|
67
|
+
export declare type TokenAddrDataMap = {
|
|
68
|
+
[symbol: string]: string;
|
|
69
|
+
};
|
|
70
|
+
export declare type TokenDataMap = {
|
|
71
|
+
[address: string]: Token;
|
|
72
|
+
};
|
|
73
|
+
export declare type DexalotBlacklistResponse = {
|
|
74
|
+
blacklist: string[];
|
|
75
|
+
};
|
|
76
|
+
export declare type DexalotRateFetcherConfig = {
|
|
77
|
+
rateConfig: {
|
|
78
|
+
pairsReqParams: {
|
|
79
|
+
url: string;
|
|
80
|
+
headers?: RequestHeaders;
|
|
81
|
+
params?: any;
|
|
82
|
+
};
|
|
83
|
+
pricesReqParams: {
|
|
84
|
+
url: string;
|
|
85
|
+
headers?: RequestHeaders;
|
|
86
|
+
params?: any;
|
|
87
|
+
};
|
|
88
|
+
blacklistReqParams: {
|
|
89
|
+
url: string;
|
|
90
|
+
headers?: RequestHeaders;
|
|
91
|
+
params?: any;
|
|
92
|
+
};
|
|
93
|
+
pairsIntervalMs: number;
|
|
94
|
+
pricesIntervalMs: number;
|
|
95
|
+
blacklistIntervalMs: number;
|
|
96
|
+
pairsCacheKey: string;
|
|
97
|
+
pricesCacheKey: string;
|
|
98
|
+
tokensAddrCacheKey: string;
|
|
99
|
+
tokensCacheKey: string;
|
|
100
|
+
blacklistCacheKey: string;
|
|
101
|
+
pairsCacheTTLSecs: number;
|
|
102
|
+
pricesCacheTTLSecs: number;
|
|
103
|
+
tokensCacheTTLSecs: number;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DexalotRfqError = exports.ClobSide = void 0;
|
|
4
|
+
var ClobSide;
|
|
5
|
+
(function (ClobSide) {
|
|
6
|
+
ClobSide["BID"] = "BID";
|
|
7
|
+
ClobSide["ASK"] = "ASK";
|
|
8
|
+
})(ClobSide = exports.ClobSide || (exports.ClobSide = {}));
|
|
9
|
+
class DexalotRfqError extends Error {
|
|
10
|
+
}
|
|
11
|
+
exports.DexalotRfqError = DexalotRfqError;
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/dexalot/types.ts"],"names":[],"mappings":";;;AAmCA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;AACb,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAED,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
export declare const pairsResponseValidator: joi.ObjectSchema<any>;
|
|
3
|
+
export declare const pricesResponseValidator: joi.ObjectSchema<any>;
|
|
4
|
+
export declare const tokensResponseValidator: joi.ObjectSchema<any>;
|
|
5
|
+
export declare const blacklistResponseValidator: joi.ObjectSchema<any>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.blacklistResponseValidator = exports.tokensResponseValidator = exports.pricesResponseValidator = exports.pairsResponseValidator = void 0;
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
8
|
+
const pairValidator = joi_1.default.object({
|
|
9
|
+
base: joi_1.default.string().min(1).required(),
|
|
10
|
+
quote: joi_1.default.string().min(1).required(),
|
|
11
|
+
liquidityUSD: joi_1.default.number().min(0).required(),
|
|
12
|
+
baseAddress: joi_1.default.string().min(1).required(),
|
|
13
|
+
quoteAddress: joi_1.default.string().min(1).required(),
|
|
14
|
+
baseDecimals: joi_1.default.number().min(0).required(),
|
|
15
|
+
quoteDecimals: joi_1.default.number().min(0).required(),
|
|
16
|
+
});
|
|
17
|
+
exports.pairsResponseValidator = joi_1.default
|
|
18
|
+
.object()
|
|
19
|
+
.pattern(joi_1.default.string(), pairValidator);
|
|
20
|
+
const orderbookRecordValidator = joi_1.default
|
|
21
|
+
.array()
|
|
22
|
+
.items(joi_1.default.string().min(1))
|
|
23
|
+
.length(2);
|
|
24
|
+
const orderbookValidator = joi_1.default.object({
|
|
25
|
+
bids: joi_1.default.array().items(orderbookRecordValidator).required(),
|
|
26
|
+
asks: joi_1.default.array().items(orderbookRecordValidator).required(),
|
|
27
|
+
});
|
|
28
|
+
exports.pricesResponseValidator = joi_1.default.object({
|
|
29
|
+
prices: joi_1.default.object().pattern(joi_1.default.string(), orderbookValidator),
|
|
30
|
+
});
|
|
31
|
+
const tokenValidator = joi_1.default.object({
|
|
32
|
+
symbol: joi_1.default.string().min(1).required(),
|
|
33
|
+
name: joi_1.default.string().min(1).required(),
|
|
34
|
+
description: joi_1.default.string().min(1).required(),
|
|
35
|
+
address: joi_1.default.string().min(1).required(),
|
|
36
|
+
decimals: joi_1.default.number().min(0).required(),
|
|
37
|
+
type: joi_1.default.string().min(1).required(),
|
|
38
|
+
});
|
|
39
|
+
exports.tokensResponseValidator = joi_1.default.object({
|
|
40
|
+
tokens: joi_1.default.object().pattern(joi_1.default.string(), tokenValidator),
|
|
41
|
+
});
|
|
42
|
+
exports.blacklistResponseValidator = joi_1.default.object({
|
|
43
|
+
blacklist: joi_1.default.array().items(joi_1.default.string().min(1)).required(),
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/dexalot/validators.ts"],"names":[],"mappings":"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"}
|
package/build/dex/index.js
CHANGED
|
@@ -75,6 +75,7 @@ const pancakeswap_v3_1 = require("./pancakeswap-v3/pancakeswap-v3");
|
|
|
75
75
|
const algebra_1 = require("./algebra/algebra");
|
|
76
76
|
const quick_perps_1 = require("./quick-perps/quick-perps");
|
|
77
77
|
const nomiswap_v2_1 = require("./uniswap-v2/nomiswap-v2");
|
|
78
|
+
const dexalot_1 = require("./dexalot/dexalot");
|
|
78
79
|
const LegacyDexes = [
|
|
79
80
|
curve_v2_1.CurveV2,
|
|
80
81
|
stable_pool_1.StablePool,
|
|
@@ -99,6 +100,7 @@ const LegacyDexes = [
|
|
|
99
100
|
augustus_rfq_1.AugustusRFQOrder,
|
|
100
101
|
];
|
|
101
102
|
const Dexes = [
|
|
103
|
+
dexalot_1.Dexalot,
|
|
102
104
|
curve_v1_1.CurveV1,
|
|
103
105
|
curve_forks_1.CurveFork,
|
|
104
106
|
swerve_1.Swerve,
|
package/build/dex/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AAErC,qCAAkC;AAClC,qDAAiD;AACjD,+CAA2C;AAC3C,sCAAmC;AACnC,mCAAgC;AAChC,wDAAoD;AACpD,2DAAuD;AACvD,uDAA0D;AAC1D,wDAAoD;AACpD,sDAAwD;AACxD,sDAAsD;AACtD,gDAA6C;AAC7C,4CAAyC;AACzC,4CAAyC;AACzC,qCAAkC;AAClC,2CAAwC;AACxC,uCAAoC;AACpC,mCAAgC;AAChC,qCAAkC;AAClC,yCAAsC;AACtC,+CAA2C;AAC3C,+CAA2C;AAC3C,+CAA2C;AAC3C,2CAAwC;AACxC,uCAAmC;AACnC,uCAAmC;AACnC,uCAAoC;AACpC,yCAAsC;AAEtC,4CAAwC;AAExC,iCAA8B;AAC9B,sDAAmD;AACnD,qDAAiD;AACjD,kDAA+C;AAC/C,kDAA+C;AAC/C,mCAAgC;AAChC,qDAAgD;AAChD,yFAAoF;AACpF,iDAAkD;AAClD,+CAA4C;AAC5C,4DAAyD;AACzD,0DAAuD;AACvD,8DAA2D;AAC3D,kEAA+D;AAC/D,sEAAmE;AACnE,kEAA+D;AAC/D,wEAAqE;AACrE,qDAAkD;AAClD,wDAAqD;AACrD,gEAA6D;AAC7D,kEAA+D;AAC/D,2DAAuD;AACvD,uDAA0D;AAC1D,kDAA8C;AAC9C,0EAAqE;AACrE,2DAAwD;AACxD,0EAAqE;AACrE,2DAAuD;AACvD,kDAA8C;AAC9C,4CAAyC;AACzC,+CAA4C;AAC5C,kDAA+C;AAC/C,iEAA6D;AAC7D,2DAAuD;AACvD,2DAAuD;AACvD,2DAAuD;AACvD,mDAA8C;AAC9C,kDAA8C;AAC9C,6DAAyD;AACzD,uDAAiD;AACjD,oEAAgE;AAChE,+CAA4C;AAC5C,2DAAuD;AACvD,0DAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Address } from '../../types';
|
|
2
|
+
export declare type DexParams = {
|
|
3
|
+
router: Address;
|
|
4
|
+
quoter: Address;
|
|
5
|
+
factory: Address;
|
|
6
|
+
stateMulticall: Address;
|
|
7
|
+
uniswapMulticall: Address;
|
|
8
|
+
supportedFees: bigint[];
|
|
9
|
+
feeProtocols: bigint[];
|
|
10
|
+
chunksCount: number;
|
|
11
|
+
deployer?: Address;
|
|
12
|
+
subgraphURL: string;
|
|
13
|
+
initHash: string;
|
|
14
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Adapters = exports.RamsesV2Config = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const RAMSES_SUPPORTED_FEES = [10000n, 2500n, 500n, 100n];
|
|
6
|
+
exports.RamsesV2Config = {
|
|
7
|
+
RamsesV2: {
|
|
8
|
+
[constants_1.Network.ARBITRUM]: {
|
|
9
|
+
factory: '0xAA2cd7477c451E703f3B9Ba5663334914763edF8',
|
|
10
|
+
deployer: '0xb3e423ab9cE6C03D98326A3A2a0D7D96b0829f22',
|
|
11
|
+
quoter: '0xAA20EFF7ad2F523590dE6c04918DaAE0904E3b20',
|
|
12
|
+
router: '0xAA23611badAFB62D37E7295A682D21960ac85A90',
|
|
13
|
+
supportedFees: RAMSES_SUPPORTED_FEES,
|
|
14
|
+
stateMulticall: '0x50EE4112Cab9c79812F23bE079aB3911395ACc8e',
|
|
15
|
+
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
16
|
+
chunksCount: 10,
|
|
17
|
+
initHash: '0x1565b129f2d1790f12d45301b9b084335626f0c92410bc43130763b69971135d',
|
|
18
|
+
subgraphURL: 'https://api.thegraph.com/subgraphs/name/ramsesexchange/concentrated-liquidity-graph',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
exports.Adapters = {
|
|
23
|
+
[constants_1.Network.ARBITRUM]: {
|
|
24
|
+
[constants_1.SwapSide.SELL]: [{ name: 'ArbitrumAdapter01', index: 3 }],
|
|
25
|
+
[constants_1.SwapSide.BUY]: [{ name: 'ArbitrumBuyAdapter', index: 2 }],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/ramses-v2/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7C,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,QAAQ,EAAE,4CAA4C;YACtD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,aAAa,EAAE,qBAAqB;YACpC,cAAc,EAAE,4CAA4C;YAC5D,gBAAgB,EAAE,4CAA4C;YAC9D,WAAW,EAAE,EAAE;YACf,QAAQ,EACN,oEAAoE;YACtE,WAAW,EACT,qFAAqF;SACxF;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const UNISWAPV3_TICK_GAS_COST = 24000;
|
|
2
|
+
export declare const UNISWAPV3_TICK_BASE_OVERHEAD = 75000;
|
|
3
|
+
export declare const UNISWAPV3_POOL_SEARCH_OVERHEAD = 10000;
|
|
4
|
+
export declare const TICK_BITMAP_TO_USE = 4n;
|
|
5
|
+
export declare const TICK_BITMAP_BUFFER = 8n;
|
|
6
|
+
export declare const MAX_PRICING_COMPUTATION_STEPS_ALLOWED = 128;
|
|
7
|
+
export declare const UNISWAPV3_SUBGRAPH_URL = "https://api.thegraph.com/subgraphs/name/ramsesexchange/concentrated-liquidity-graph";
|
|
8
|
+
export declare const UNISWAPV3_EFFICIENCY_FACTOR = 3;
|
|
9
|
+
export declare const ZERO_TICK_INFO: {
|
|
10
|
+
liquidityGross: bigint;
|
|
11
|
+
liquidityNet: bigint;
|
|
12
|
+
tickCumulativeOutside: bigint;
|
|
13
|
+
secondsPerLiquidityOutsideX128: bigint;
|
|
14
|
+
secondsOutside: bigint;
|
|
15
|
+
initialized: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare const ZERO_ORACLE_OBSERVATION: {
|
|
18
|
+
blockTimestamp: bigint;
|
|
19
|
+
tickCumulative: bigint;
|
|
20
|
+
secondsPerLiquidityCumulativeX128: bigint;
|
|
21
|
+
initialized: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare const OUT_OF_RANGE_ERROR_POSTFIX = "INVALID_TICK_BIT_MAP_RANGES";
|
|
24
|
+
export declare const DEFAULT_POOL_INIT_CODE_HASH = "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54";
|
|
25
|
+
export declare enum DirectMethods {
|
|
26
|
+
directSell = "directUniV3Swap",
|
|
27
|
+
directBuy = "directUniV3Buy"
|
|
28
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DirectMethods = exports.DEFAULT_POOL_INIT_CODE_HASH = exports.OUT_OF_RANGE_ERROR_POSTFIX = exports.ZERO_ORACLE_OBSERVATION = exports.ZERO_TICK_INFO = exports.UNISWAPV3_EFFICIENCY_FACTOR = exports.UNISWAPV3_SUBGRAPH_URL = exports.MAX_PRICING_COMPUTATION_STEPS_ALLOWED = exports.TICK_BITMAP_BUFFER = exports.TICK_BITMAP_TO_USE = exports.UNISWAPV3_POOL_SEARCH_OVERHEAD = exports.UNISWAPV3_TICK_BASE_OVERHEAD = exports.UNISWAPV3_TICK_GAS_COST = void 0;
|
|
4
|
+
exports.UNISWAPV3_TICK_GAS_COST = 24000; // Ceiled
|
|
5
|
+
exports.UNISWAPV3_TICK_BASE_OVERHEAD = 75000;
|
|
6
|
+
exports.UNISWAPV3_POOL_SEARCH_OVERHEAD = 10000;
|
|
7
|
+
// This is used for price calculation. If out of scope, return 0n
|
|
8
|
+
exports.TICK_BITMAP_TO_USE = 4n;
|
|
9
|
+
// This is used to check if the state is still valid.
|
|
10
|
+
exports.TICK_BITMAP_BUFFER = 8n;
|
|
11
|
+
exports.MAX_PRICING_COMPUTATION_STEPS_ALLOWED = 128;
|
|
12
|
+
exports.UNISWAPV3_SUBGRAPH_URL = 'https://api.thegraph.com/subgraphs/name/ramsesexchange/concentrated-liquidity-graph';
|
|
13
|
+
exports.UNISWAPV3_EFFICIENCY_FACTOR = 3;
|
|
14
|
+
exports.ZERO_TICK_INFO = {
|
|
15
|
+
liquidityGross: 0n,
|
|
16
|
+
liquidityNet: 0n,
|
|
17
|
+
tickCumulativeOutside: 0n,
|
|
18
|
+
secondsPerLiquidityOutsideX128: 0n,
|
|
19
|
+
secondsOutside: 0n,
|
|
20
|
+
initialized: false,
|
|
21
|
+
};
|
|
22
|
+
exports.ZERO_ORACLE_OBSERVATION = {
|
|
23
|
+
blockTimestamp: 0n,
|
|
24
|
+
tickCumulative: 0n,
|
|
25
|
+
secondsPerLiquidityCumulativeX128: 0n,
|
|
26
|
+
initialized: false,
|
|
27
|
+
};
|
|
28
|
+
exports.OUT_OF_RANGE_ERROR_POSTFIX = `INVALID_TICK_BIT_MAP_RANGES`;
|
|
29
|
+
exports.DEFAULT_POOL_INIT_CODE_HASH = `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`;
|
|
30
|
+
var DirectMethods;
|
|
31
|
+
(function (DirectMethods) {
|
|
32
|
+
DirectMethods["directSell"] = "directUniV3Swap";
|
|
33
|
+
DirectMethods["directBuy"] = "directUniV3Buy";
|
|
34
|
+
})(DirectMethods = exports.DirectMethods || (exports.DirectMethods = {}));
|
|
35
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/ramses-v2/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,KAAM,CAAC,CAAC,SAAS;AAC3C,QAAA,4BAA4B,GAAG,KAAM,CAAC;AACtC,QAAA,8BAA8B,GAAG,KAAM,CAAC;AAErD,iEAAiE;AACpD,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC,qDAAqD;AACxC,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAExB,QAAA,qCAAqC,GAAG,GAAG,CAAC;AAE5C,QAAA,sBAAsB,GACjC,qFAAqF,CAAC;AAE3E,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAEhC,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,qBAAqB,EAAE,EAAE;IACzB,8BAA8B,EAAE,EAAE;IAClC,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACrC,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,iCAAiC,EAAE,EAAE;IACrC,WAAW,EAAE,KAAK;CACnB,CAAC;AAEW,QAAA,0BAA0B,GAAG,6BAA6B,CAAC;AAE3D,QAAA,2BAA2B,GAAG,oEAAoE,CAAC;AAEhH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,+CAA8B,CAAA;IAC9B,6CAA4B,CAAA;AAC9B,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BitMath = void 0;
|
|
4
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
class BitMath {
|
|
7
|
+
static mostSignificantBit(x) {
|
|
8
|
+
(0, utils_1._require)(x > 0, '', { x }, 'x > 0');
|
|
9
|
+
let r = 0n;
|
|
10
|
+
if (x >= 0x100000000000000000000000000000000n) {
|
|
11
|
+
x >>= 128n;
|
|
12
|
+
r += 128n;
|
|
13
|
+
}
|
|
14
|
+
if (x >= 0x10000000000000000n) {
|
|
15
|
+
x >>= 64n;
|
|
16
|
+
r += 64n;
|
|
17
|
+
}
|
|
18
|
+
if (x >= 0x100000000n) {
|
|
19
|
+
x >>= 32n;
|
|
20
|
+
r += 32n;
|
|
21
|
+
}
|
|
22
|
+
if (x >= 0x10000n) {
|
|
23
|
+
x >>= 16n;
|
|
24
|
+
r += 16n;
|
|
25
|
+
}
|
|
26
|
+
if (x >= 0x100n) {
|
|
27
|
+
x >>= 8n;
|
|
28
|
+
r += 8n;
|
|
29
|
+
}
|
|
30
|
+
if (x >= 0x10n) {
|
|
31
|
+
x >>= 4n;
|
|
32
|
+
r += 4n;
|
|
33
|
+
}
|
|
34
|
+
if (x >= 0x4n) {
|
|
35
|
+
x >>= 2n;
|
|
36
|
+
r += 2n;
|
|
37
|
+
}
|
|
38
|
+
if (x >= 0x2n)
|
|
39
|
+
r += 1n;
|
|
40
|
+
return r;
|
|
41
|
+
}
|
|
42
|
+
static leastSignificantBit(x) {
|
|
43
|
+
(0, utils_1._require)(x > 0, '', { x }, 'x > 0');
|
|
44
|
+
let r = 255n;
|
|
45
|
+
if ((x & bigint_constants_1.BI_MAX_UINT128) > 0n) {
|
|
46
|
+
r -= 128n;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
x >>= 128n;
|
|
50
|
+
}
|
|
51
|
+
if ((x & bigint_constants_1.BI_MAX_UINT64) > 0n) {
|
|
52
|
+
r -= 64n;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
x >>= 64n;
|
|
56
|
+
}
|
|
57
|
+
if ((x & bigint_constants_1.BI_MAX_UINT32) > 0n) {
|
|
58
|
+
r -= 32n;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
x >>= 32n;
|
|
62
|
+
}
|
|
63
|
+
if ((x & bigint_constants_1.BI_MAX_UINT16) > 0n) {
|
|
64
|
+
r -= 16n;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
x >>= 16n;
|
|
68
|
+
}
|
|
69
|
+
if ((x & bigint_constants_1.BI_MAX_UINT8) > 0n) {
|
|
70
|
+
r -= 8n;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
x >>= 8n;
|
|
74
|
+
}
|
|
75
|
+
if ((x & 0xfn) > 0n) {
|
|
76
|
+
r -= 4n;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
x >>= 4n;
|
|
80
|
+
}
|
|
81
|
+
if ((x & 0x3n) > 0n) {
|
|
82
|
+
r -= 2n;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
x >>= 2n;
|
|
86
|
+
}
|
|
87
|
+
if ((x & 0x1n) > 0n)
|
|
88
|
+
r -= 1n;
|
|
89
|
+
return r;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.BitMath = BitMath;
|
|
93
|
+
//# sourceMappingURL=BitMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BitMath.js","sourceRoot":"","sources":["../../../../src/dex/ramses-v2/contract-math/BitMath.ts"],"names":[],"mappings":";;;AAAA,gEAMmC;AACnC,0CAA0C;AAE1C,MAAa,OAAO;IAClB,MAAM,CAAC,kBAAkB,CAAC,CAAS;QACjC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEX,IAAI,CAAC,IAAI,oCAAoC,EAAE;YAC7C,CAAC,KAAK,IAAI,CAAC;YACX,CAAC,IAAI,IAAI,CAAC;SACX;QACD,IAAI,CAAC,IAAI,oBAAoB,EAAE;YAC7B,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;SACV;QACD,IAAI,CAAC,IAAI,YAAY,EAAE;YACrB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;SACV;QACD,IAAI,CAAC,IAAI,QAAQ,EAAE;YACjB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;SACV;QACD,IAAI,CAAC,IAAI,MAAM,EAAE;YACf,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;SACT;QACD,IAAI,CAAC,IAAI,KAAK,EAAE;YACd,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;SACT;QACD,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;SACT;QACD,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,IAAI,EAAE,CAAC;QAEvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,CAAS;QAClC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,iCAAc,CAAC,GAAG,EAAE,EAAE;YAC7B,CAAC,IAAI,IAAI,CAAC;SACX;aAAM;YACL,CAAC,KAAK,IAAI,CAAC;SACZ;QACD,IAAI,CAAC,CAAC,GAAG,gCAAa,CAAC,GAAG,EAAE,EAAE;YAC5B,CAAC,IAAI,GAAG,CAAC;SACV;aAAM;YACL,CAAC,KAAK,GAAG,CAAC;SACX;QACD,IAAI,CAAC,CAAC,GAAG,gCAAa,CAAC,GAAG,EAAE,EAAE;YAC5B,CAAC,IAAI,GAAG,CAAC;SACV;aAAM;YACL,CAAC,KAAK,GAAG,CAAC;SACX;QACD,IAAI,CAAC,CAAC,GAAG,gCAAa,CAAC,GAAG,EAAE,EAAE;YAC5B,CAAC,IAAI,GAAG,CAAC;SACV;aAAM;YACL,CAAC,KAAK,GAAG,CAAC;SACX;QACD,IAAI,CAAC,CAAC,GAAG,+BAAY,CAAC,GAAG,EAAE,EAAE;YAC3B,CAAC,IAAI,EAAE,CAAC;SACT;aAAM;YACL,CAAC,KAAK,EAAE,CAAC;SACV;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;YACnB,CAAC,IAAI,EAAE,CAAC;SACT;aAAM;YACL,CAAC,KAAK,EAAE,CAAC;SACV;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;YACnB,CAAC,IAAI,EAAE,CAAC;SACT;aAAM;YACL,CAAC,KAAK,EAAE,CAAC;SACV;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAhFD,0BAgFC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FixedPoint128 = void 0;
|
|
4
|
+
class FixedPoint128 {
|
|
5
|
+
}
|
|
6
|
+
exports.FixedPoint128 = FixedPoint128;
|
|
7
|
+
FixedPoint128.Q128 = 0x100000000000000000000000000000000n;
|
|
8
|
+
//# sourceMappingURL=FixedPoint128.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedPoint128.js","sourceRoot":"","sources":["../../../../src/dex/ramses-v2/contract-math/FixedPoint128.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;;AAA1B,sCAEC;AADiB,kBAAI,GAAG,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FixedPoint96 = void 0;
|
|
4
|
+
class FixedPoint96 {
|
|
5
|
+
}
|
|
6
|
+
exports.FixedPoint96 = FixedPoint96;
|
|
7
|
+
FixedPoint96.RESOLUTION = 96n;
|
|
8
|
+
FixedPoint96.Q96 = 0x1000000000000000000000000n;
|
|
9
|
+
//# sourceMappingURL=FixedPoint96.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedPoint96.js","sourceRoot":"","sources":["../../../../src/dex/ramses-v2/contract-math/FixedPoint96.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;;AAAzB,oCAGC;AAFiB,uBAAU,GAAG,GAAG,CAAC;AACjB,gBAAG,GAAG,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FullMath = void 0;
|
|
4
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
class FullMath {
|
|
7
|
+
static mulDiv(a, b, denominator) {
|
|
8
|
+
const result = (a * b) / denominator;
|
|
9
|
+
(0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
static mulDivRoundingUp(a, b, denominator) {
|
|
13
|
+
const result = (a * b + denominator - 1n) / denominator;
|
|
14
|
+
(0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.FullMath = FullMath;
|
|
19
|
+
//# sourceMappingURL=FullMath.js.map
|