@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.
Files changed (90) hide show
  1. package/dist/abis/index.d.ts +4 -3
  2. package/dist/abis/index.d.ts.map +1 -1
  3. package/dist/abis/index.js +1 -0
  4. package/dist/abis/index.js.map +1 -1
  5. package/dist/abis/uniswapV3.d.ts +4 -0
  6. package/dist/abis/uniswapV3.d.ts.map +1 -0
  7. package/dist/abis/uniswapV3.js +15 -0
  8. package/dist/abis/uniswapV3.js.map +1 -0
  9. package/dist/adapters/implementations/ethersAdapter.d.ts +0 -1
  10. package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -1
  11. package/dist/adapters/implementations/ethersAdapter.js +0 -3
  12. package/dist/adapters/implementations/ethersAdapter.js.map +1 -1
  13. package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -1
  14. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -1
  15. package/dist/adapters/implementations/ethersV5Adapter.js +0 -3
  16. package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -1
  17. package/dist/adapters/implementations/viemAdapter.d.ts +0 -1
  18. package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -1
  19. package/dist/adapters/implementations/viemAdapter.js +0 -3
  20. package/dist/adapters/implementations/viemAdapter.js.map +1 -1
  21. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -2
  22. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -1
  23. package/dist/adapters/proxies/ethersAdapterProxy.js +9 -15
  24. package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -1
  25. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -2
  26. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -1
  27. package/dist/adapters/proxies/ethersV5AdapterProxy.js +9 -15
  28. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -1
  29. package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -3
  30. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -1
  31. package/dist/adapters/proxies/viemAdapterProxy.js +9 -15
  32. package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -1
  33. package/dist/constants/index.d.ts +2 -0
  34. package/dist/constants/index.d.ts.map +1 -1
  35. package/dist/constants/index.js +2 -0
  36. package/dist/constants/index.js.map +1 -1
  37. package/dist/constants/mentoAddresses.d.ts +4 -0
  38. package/dist/constants/mentoAddresses.d.ts.map +1 -0
  39. package/dist/constants/mentoAddresses.js +7 -0
  40. package/dist/constants/mentoAddresses.js.map +1 -0
  41. package/dist/constants/protocolAddresses.d.ts +5 -0
  42. package/dist/constants/protocolAddresses.d.ts.map +1 -0
  43. package/dist/constants/protocolAddresses.js +8 -0
  44. package/dist/constants/protocolAddresses.js.map +1 -0
  45. package/dist/services/collateralAssetService.d.ts.map +1 -1
  46. package/dist/services/collateralAssetService.js +7 -4
  47. package/dist/services/collateralAssetService.js.map +1 -1
  48. package/dist/services/index.d.ts +5 -2
  49. package/dist/services/index.d.ts.map +1 -1
  50. package/dist/services/index.js +3 -0
  51. package/dist/services/index.js.map +1 -1
  52. package/dist/services/stableTokenService.d.ts +1 -0
  53. package/dist/services/stableTokenService.d.ts.map +1 -1
  54. package/dist/services/stableTokenService.js +6 -1
  55. package/dist/services/stableTokenService.js.map +1 -1
  56. package/dist/services/supply/ISupplyCalculator.d.ts +4 -0
  57. package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -0
  58. package/dist/services/supply/ISupplyCalculator.js +3 -0
  59. package/dist/services/supply/ISupplyCalculator.js.map +1 -0
  60. package/dist/services/supply/UniV3SupplyCalculator.d.ts +21 -0
  61. package/dist/services/supply/UniV3SupplyCalculator.d.ts.map +1 -0
  62. package/dist/services/supply/UniV3SupplyCalculator.js +232 -0
  63. package/dist/services/supply/UniV3SupplyCalculator.js.map +1 -0
  64. package/dist/services/supply/index.d.ts +4 -0
  65. package/dist/services/supply/index.d.ts.map +1 -0
  66. package/dist/services/supply/index.js +20 -0
  67. package/dist/services/supply/index.js.map +1 -0
  68. package/dist/services/supply/multisigSupplyCalculator.d.ts +9 -0
  69. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +1 -0
  70. package/dist/services/supply/multisigSupplyCalculator.js +21 -0
  71. package/dist/services/supply/multisigSupplyCalculator.js.map +1 -0
  72. package/dist/services/supplyAdjustmentService.d.ts +12 -0
  73. package/dist/services/supplyAdjustmentService.d.ts.map +1 -0
  74. package/dist/services/supplyAdjustmentService.js +35 -0
  75. package/dist/services/supplyAdjustmentService.js.map +1 -0
  76. package/dist/services/tokenMetadataService.d.ts +2 -2
  77. package/dist/services/tokenMetadataService.d.ts.map +1 -1
  78. package/dist/services/tokenMetadataService.js +0 -1
  79. package/dist/services/tokenMetadataService.js.map +1 -1
  80. package/dist/types/exchange.d.ts +1 -7
  81. package/dist/types/exchange.d.ts.map +1 -1
  82. package/dist/types/provider.d.ts +0 -1
  83. package/dist/types/provider.d.ts.map +1 -1
  84. package/dist/types/token.d.ts +10 -3
  85. package/dist/types/token.d.ts.map +1 -1
  86. package/package.json +3 -2
  87. package/dist/services/exchangeService.d.ts +0 -18
  88. package/dist/services/exchangeService.d.ts.map +0 -1
  89. package/dist/services/exchangeService.js +0 -78
  90. 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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"}