@mento-protocol/mento-sdk 2.0.0-beta.1 → 2.0.0-beta.3
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/dist/abis/index.d.ts +4 -3
- package/dist/abis/index.d.ts.map +1 -1
- package/dist/abis/index.js +1 -0
- package/dist/abis/index.js.map +1 -1
- package/dist/abis/uniswapV3.d.ts +4 -0
- package/dist/abis/uniswapV3.d.ts.map +1 -0
- package/dist/abis/uniswapV3.js +15 -0
- package/dist/abis/uniswapV3.js.map +1 -0
- package/dist/adapters/implementations/ethersAdapter.d.ts +0 -1
- package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -1
- package/dist/adapters/implementations/ethersAdapter.js +0 -3
- package/dist/adapters/implementations/ethersAdapter.js.map +1 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -1
- package/dist/adapters/implementations/ethersV5Adapter.js +0 -3
- package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -1
- package/dist/adapters/implementations/viemAdapter.d.ts +0 -1
- package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -1
- package/dist/adapters/implementations/viemAdapter.js +0 -3
- package/dist/adapters/implementations/viemAdapter.js.map +1 -1
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -2
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/ethersAdapterProxy.js +9 -15
- package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -2
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.js +9 -15
- package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -1
- package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -3
- package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -1
- package/dist/adapters/proxies/viemAdapterProxy.js +9 -15
- package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -1
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/mentoAddresses.d.ts +4 -0
- package/dist/constants/mentoAddresses.d.ts.map +1 -0
- package/dist/constants/mentoAddresses.js +7 -0
- package/dist/constants/mentoAddresses.js.map +1 -0
- package/dist/constants/protocolAddresses.d.ts +5 -0
- package/dist/constants/protocolAddresses.d.ts.map +1 -0
- package/dist/constants/protocolAddresses.js +8 -0
- package/dist/constants/protocolAddresses.js.map +1 -0
- package/dist/services/collateralAssetService.d.ts.map +1 -1
- package/dist/services/collateralAssetService.js +7 -4
- package/dist/services/collateralAssetService.js.map +1 -1
- package/dist/services/index.d.ts +5 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/stableTokenService.d.ts +1 -0
- package/dist/services/stableTokenService.d.ts.map +1 -1
- package/dist/services/stableTokenService.js +6 -1
- package/dist/services/stableTokenService.js.map +1 -1
- package/dist/services/supply/ISupplyCalculator.d.ts +4 -0
- package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -0
- package/dist/services/supply/ISupplyCalculator.js +3 -0
- package/dist/services/supply/ISupplyCalculator.js.map +1 -0
- package/dist/services/supply/UniV3SupplyCalculator.d.ts +21 -0
- package/dist/services/supply/UniV3SupplyCalculator.d.ts.map +1 -0
- package/dist/services/supply/UniV3SupplyCalculator.js +232 -0
- package/dist/services/supply/UniV3SupplyCalculator.js.map +1 -0
- package/dist/services/supply/index.d.ts +4 -0
- package/dist/services/supply/index.d.ts.map +1 -0
- package/dist/services/supply/index.js +20 -0
- package/dist/services/supply/index.js.map +1 -0
- package/dist/services/supply/multisigSupplyCalculator.d.ts +9 -0
- package/dist/services/supply/multisigSupplyCalculator.d.ts.map +1 -0
- package/dist/services/supply/multisigSupplyCalculator.js +21 -0
- package/dist/services/supply/multisigSupplyCalculator.js.map +1 -0
- package/dist/services/supplyAdjustmentService.d.ts +12 -0
- package/dist/services/supplyAdjustmentService.d.ts.map +1 -0
- package/dist/services/supplyAdjustmentService.js +35 -0
- package/dist/services/supplyAdjustmentService.js.map +1 -0
- package/dist/services/tokenMetadataService.d.ts +2 -2
- package/dist/services/tokenMetadataService.d.ts.map +1 -1
- package/dist/services/tokenMetadataService.js +0 -1
- package/dist/services/tokenMetadataService.js.map +1 -1
- package/dist/types/exchange.d.ts +1 -7
- package/dist/types/exchange.d.ts.map +1 -1
- package/dist/types/provider.d.ts +0 -1
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/token.d.ts +10 -3
- package/dist/types/token.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/services/exchangeService.d.ts +0 -18
- package/dist/services/exchangeService.d.ts.map +0 -1
- package/dist/services/exchangeService.js +0 -78
- package/dist/services/exchangeService.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExchangeService = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
const abis_1 = require("../abis");
|
|
7
|
-
const tokenMetadataService_1 = require("./tokenMetadataService");
|
|
8
|
-
// TODO:
|
|
9
|
-
// - async getAmountIn
|
|
10
|
-
// - get amount out
|
|
11
|
-
// - Swap in
|
|
12
|
-
// - Swap out
|
|
13
|
-
// - Increase trading allowancew
|
|
14
|
-
// - getExchangeForTokens
|
|
15
|
-
// - getExchangeById
|
|
16
|
-
// - isTradingEnabled -> Circuit breaker service
|
|
17
|
-
class ExchangeService {
|
|
18
|
-
constructor(provider) {
|
|
19
|
-
this.provider = provider;
|
|
20
|
-
this.tokenMetadataService = new tokenMetadataService_1.TokenMetadataService(provider);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Returns a list of all the exchanges and their tokens that can be traded on Mento
|
|
24
|
-
*/
|
|
25
|
-
async getExchanges() {
|
|
26
|
-
// The Broker can store references to multiple implementatios of the IExchangeProvider
|
|
27
|
-
// Currently there is only one implementation, the BiPoolManager, which manages pools with
|
|
28
|
-
// two assets. To simplify this logic we only fetch exchanges from the BiPoolManager.
|
|
29
|
-
// If in the future we have more than one implementation we can extend this function to
|
|
30
|
-
// first fetch the known exchange providers, then for each exchange provider fetch the exchanges.
|
|
31
|
-
const exchangeList = [];
|
|
32
|
-
const chainId = await this.provider.getChainId();
|
|
33
|
-
const biPoolManagerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BIPOOLMANAGER);
|
|
34
|
-
const rawExchanges = (await (0, utils_1.retryOperation)(() => this.provider.readContract({
|
|
35
|
-
address: biPoolManagerAddress,
|
|
36
|
-
abi: abis_1.BIPOOL_MANAGER_ABI,
|
|
37
|
-
functionName: 'getExchanges',
|
|
38
|
-
})));
|
|
39
|
-
const uniqueAddresses = new Set();
|
|
40
|
-
for (const exchange of rawExchanges) {
|
|
41
|
-
exchange.assets.forEach((asset) => uniqueAddresses.add(asset));
|
|
42
|
-
}
|
|
43
|
-
const tokenMetadataMap = {};
|
|
44
|
-
for (const address of uniqueAddresses) {
|
|
45
|
-
const metadata = await this.tokenMetadataService.getTokenMetadata(address);
|
|
46
|
-
tokenMetadataMap[address] = metadata;
|
|
47
|
-
}
|
|
48
|
-
for (const exchange of rawExchanges) {
|
|
49
|
-
exchangeList.push({
|
|
50
|
-
providerAddr: exchange.providerAddr,
|
|
51
|
-
id: exchange.id,
|
|
52
|
-
assets: exchange.assets.map((asset) => tokenMetadataMap[asset]),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return exchangeList;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Gets the exchange with the given id. If no exchange is found, returns undefined.
|
|
59
|
-
* @param id The exchange id to be retrieved.
|
|
60
|
-
* @returns The exchange with the given id, or undefined if no exchange is found.
|
|
61
|
-
*/
|
|
62
|
-
async getExchangeById(id) {
|
|
63
|
-
const exchanges = await this.getExchanges();
|
|
64
|
-
return exchanges.find((exchange) => exchange.id === id);
|
|
65
|
-
}
|
|
66
|
-
async getExchangeForTokens(token0, token1) {
|
|
67
|
-
let exchange = undefined;
|
|
68
|
-
if (!(await this.provider.isAddress(token0)) ||
|
|
69
|
-
!(await this.provider.isAddress(token1))) {
|
|
70
|
-
throw new Error('Invalid token address was supplied');
|
|
71
|
-
}
|
|
72
|
-
exchange = (await this.getExchanges()).find((exchange) => exchange.assets.some((asset) => asset.address === token0) &&
|
|
73
|
-
exchange.assets.some((asset) => asset.address === token1));
|
|
74
|
-
return exchange;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.ExchangeService = ExchangeService;
|
|
78
|
-
//# sourceMappingURL=exchangeService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exchangeService.js","sourceRoot":"","sources":["../../src/services/exchangeService.ts"],"names":[],"mappings":"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"}
|