@mento-protocol/mento-sdk 2.0.0-beta.1 → 2.0.0-beta.10

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 (110) 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/aaveConfig.d.ts +7 -0
  34. package/dist/constants/aaveConfig.d.ts.map +1 -0
  35. package/dist/constants/aaveConfig.js +22 -0
  36. package/dist/constants/aaveConfig.js.map +1 -0
  37. package/dist/constants/index.d.ts +3 -0
  38. package/dist/constants/index.d.ts.map +1 -1
  39. package/dist/constants/index.js +3 -0
  40. package/dist/constants/index.js.map +1 -1
  41. package/dist/constants/mentoAddresses.d.ts +6 -0
  42. package/dist/constants/mentoAddresses.d.ts.map +1 -0
  43. package/dist/constants/mentoAddresses.js +9 -0
  44. package/dist/constants/mentoAddresses.js.map +1 -0
  45. package/dist/constants/protocolAddresses.d.ts +5 -0
  46. package/dist/constants/protocolAddresses.d.ts.map +1 -0
  47. package/dist/constants/protocolAddresses.js +8 -0
  48. package/dist/constants/protocolAddresses.js.map +1 -0
  49. package/dist/constants/stableTokenMetadata.d.ts +1 -2
  50. package/dist/constants/stableTokenMetadata.d.ts.map +1 -1
  51. package/dist/constants/stableTokenMetadata.js +2 -18
  52. package/dist/constants/stableTokenMetadata.js.map +1 -1
  53. package/dist/services/collateralAssetService.d.ts.map +1 -1
  54. package/dist/services/collateralAssetService.js +7 -4
  55. package/dist/services/collateralAssetService.js.map +1 -1
  56. package/dist/services/index.d.ts +5 -2
  57. package/dist/services/index.d.ts.map +1 -1
  58. package/dist/services/index.js +3 -0
  59. package/dist/services/index.js.map +1 -1
  60. package/dist/services/stableTokenService.d.ts +1 -0
  61. package/dist/services/stableTokenService.d.ts.map +1 -1
  62. package/dist/services/stableTokenService.js +7 -2
  63. package/dist/services/stableTokenService.js.map +1 -1
  64. package/dist/services/supply/ISupplyCalculator.d.ts +14 -0
  65. package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -0
  66. package/dist/services/supply/ISupplyCalculator.js +3 -0
  67. package/dist/services/supply/ISupplyCalculator.js.map +1 -0
  68. package/dist/services/supply/aaveSupplyCalculator.d.ts +21 -0
  69. package/dist/services/supply/aaveSupplyCalculator.d.ts.map +1 -0
  70. package/dist/services/supply/aaveSupplyCalculator.js +46 -0
  71. package/dist/services/supply/aaveSupplyCalculator.js.map +1 -0
  72. package/dist/services/supply/calculatorFactory.d.ts +8 -0
  73. package/dist/services/supply/calculatorFactory.d.ts.map +1 -0
  74. package/dist/services/supply/calculatorFactory.js +3 -0
  75. package/dist/services/supply/calculatorFactory.js.map +1 -0
  76. package/dist/services/supply/defaultCalculatorFactory.d.ts +9 -0
  77. package/dist/services/supply/defaultCalculatorFactory.d.ts.map +1 -0
  78. package/dist/services/supply/defaultCalculatorFactory.js +27 -0
  79. package/dist/services/supply/defaultCalculatorFactory.js.map +1 -0
  80. package/dist/services/supply/index.d.ts +7 -0
  81. package/dist/services/supply/index.d.ts.map +1 -0
  82. package/dist/services/supply/index.js +23 -0
  83. package/dist/services/supply/index.js.map +1 -0
  84. package/dist/services/supply/multisigSupplyCalculator.d.ts +9 -0
  85. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +1 -0
  86. package/dist/services/supply/multisigSupplyCalculator.js +33 -0
  87. package/dist/services/supply/multisigSupplyCalculator.js.map +1 -0
  88. package/dist/services/supply/uniV3SupplyCalculator.d.ts +21 -0
  89. package/dist/services/supply/uniV3SupplyCalculator.d.ts.map +1 -0
  90. package/dist/services/supply/uniV3SupplyCalculator.js +233 -0
  91. package/dist/services/supply/uniV3SupplyCalculator.js.map +1 -0
  92. package/dist/services/supplyAdjustmentService.d.ts +14 -0
  93. package/dist/services/supplyAdjustmentService.d.ts.map +1 -0
  94. package/dist/services/supplyAdjustmentService.js +46 -0
  95. package/dist/services/supplyAdjustmentService.js.map +1 -0
  96. package/dist/services/tokenMetadataService.d.ts +2 -2
  97. package/dist/services/tokenMetadataService.d.ts.map +1 -1
  98. package/dist/services/tokenMetadataService.js +0 -1
  99. package/dist/services/tokenMetadataService.js.map +1 -1
  100. package/dist/types/exchange.d.ts +1 -7
  101. package/dist/types/exchange.d.ts.map +1 -1
  102. package/dist/types/provider.d.ts +0 -1
  103. package/dist/types/provider.d.ts.map +1 -1
  104. package/dist/types/token.d.ts +17 -4
  105. package/dist/types/token.d.ts.map +1 -1
  106. package/package.json +4 -5
  107. package/dist/services/exchangeService.d.ts +0 -18
  108. package/dist/services/exchangeService.d.ts.map +0 -1
  109. package/dist/services/exchangeService.js +0 -78
  110. package/dist/services/exchangeService.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniV3SupplyCalculator.js","sourceRoot":"","sources":["../../../src/services/supply/uniV3SupplyCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ProviderAdapter, StableToken } from '../types';
2
+ import { CalculatorFactory } from './supply/calculatorFactory';
3
+ export declare class SupplyAdjustmentService {
4
+ private readonly config;
5
+ constructor(provider: ProviderAdapter, calculatorFactory: CalculatorFactory);
6
+ private initializeConfig;
7
+ /**
8
+ * Get the adjusted supply of a stable token
9
+ * @param token - The stable token to get the adjusted supply for
10
+ * @returns The adjusted supply
11
+ */
12
+ getAdjustedSupply(token: StableToken): Promise<string>;
13
+ }
14
+ //# sourceMappingURL=supplyAdjustmentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplyAdjustmentService.d.ts","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAExC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB;IAO3E,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAa7D"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupplyAdjustmentService = void 0;
4
+ const constants_1 = require("../constants");
5
+ class SupplyAdjustmentService {
6
+ constructor(provider, calculatorFactory) {
7
+ if (!provider)
8
+ throw new Error('Provider is required');
9
+ if (!calculatorFactory)
10
+ throw new Error('Calculator factory is required');
11
+ this.config = this.initializeConfig(provider, calculatorFactory);
12
+ }
13
+ initializeConfig(provider, factory) {
14
+ const uniV3Calculator = factory.createUniV3Calculator(provider);
15
+ const aaveCalculator = factory.createAAVECalculator(provider);
16
+ const multisigCalculator = factory.createMultisigCalculator(provider);
17
+ return Object.freeze({
18
+ [constants_1.STABLE_TOKEN_SYMBOLS.cUSD]: Object.freeze([
19
+ { calculator: uniV3Calculator },
20
+ { calculator: multisigCalculator },
21
+ { calculator: aaveCalculator },
22
+ ]),
23
+ [constants_1.STABLE_TOKEN_SYMBOLS.cEUR]: Object.freeze([
24
+ { calculator: aaveCalculator },
25
+ ]),
26
+ });
27
+ }
28
+ /**
29
+ * Get the adjusted supply of a stable token
30
+ * @param token - The stable token to get the adjusted supply for
31
+ * @returns The adjusted supply
32
+ */
33
+ async getAdjustedSupply(token) {
34
+ const adjustments = this.config[token.symbol];
35
+ if (!adjustments)
36
+ return token.totalSupply;
37
+ let supply = BigInt(token.totalSupply);
38
+ for (const adjustment of adjustments) {
39
+ const amount = await adjustment.calculator.getAmount(token.address);
40
+ supply -= amount;
41
+ }
42
+ return supply.toString();
43
+ }
44
+ }
45
+ exports.SupplyAdjustmentService = SupplyAdjustmentService;
46
+ //# sourceMappingURL=supplyAdjustmentService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplyAdjustmentService.js","sourceRoot":"","sources":["../../src/services/supplyAdjustmentService.ts"],"names":[],"mappings":";;;AACA,4CAAmD;AAGnD,MAAa,uBAAuB;IAGlC,YAAY,QAAyB,EAAE,iBAAoC;QACzE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACtD,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAEzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAClE,CAAC;IAEO,gBAAgB,CACtB,QAAyB,EACzB,OAA0B;QAE1B,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAErE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,CAAC,gCAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBACzC,EAAE,UAAU,EAAE,eAAe,EAAE;gBAC/B,EAAE,UAAU,EAAE,kBAAkB,EAAE;gBAClC,EAAE,UAAU,EAAE,cAAc,EAAE;aAC/B,CAAC;YACF,CAAC,gCAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBACzC,EAAE,UAAU,EAAE,cAAc,EAAE;aAC/B,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAkB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC,WAAW,CAAA;QAE1C,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnE,MAAM,IAAI,MAAM,CAAA;QAClB,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;CACF;AAhDD,0DAgDC"}
@@ -1,8 +1,8 @@
1
- import { ProviderAdapter, IERC20Token } from '../types';
1
+ import { ProviderAdapter, BaseToken } from '../types';
2
2
  export declare class TokenMetadataService {
3
3
  private provider;
4
4
  constructor(provider: ProviderAdapter);
5
- getTokenMetadata(address: string): Promise<IERC20Token>;
5
+ getTokenMetadata(address: string): Promise<Pick<BaseToken, 'name' | 'symbol' | 'decimals'>>;
6
6
  getTotalSupply(address: string): Promise<string>;
7
7
  }
8
8
  //# sourceMappingURL=tokenMetadataService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenMetadataService.d.ts","sourceRoot":"","sources":["../../src/services/tokenMetadataService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAIvD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCvD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAWvD"}
1
+ {"version":3,"file":"tokenMetadataService.d.ts","sourceRoot":"","sources":["../../src/services/tokenMetadataService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIrD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEvC,gBAAgB,CACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IAgCrD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAWvD"}
@@ -26,7 +26,6 @@ class TokenMetadataService {
26
26
  })),
27
27
  ]);
28
28
  return {
29
- address,
30
29
  name: name,
31
30
  symbol: symbol,
32
31
  decimals: Number(decimals),
@@ -1 +1 @@
1
- {"version":3,"file":"tokenMetadataService.js","sourceRoot":"","sources":["../../src/services/tokenMetadataService.ts"],"names":[],"mappings":";;;AACA,kCAAmC;AACnC,oCAAyC;AAEzC,MAAa,oBAAoB;IAC/B,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAEjD,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,MAAM;aACrB,CAAC,CACH;YACD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,QAAQ;aACvB,CAAC,CACH;YACD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,UAAU;aACzB,CAAC,CACH;SACF,CAAC,CAAA;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,IAAc;YACpB,MAAM,EAAE,MAAgB;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAC5C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzB,OAAO;YACP,GAAG,EAAE,gBAAS;YACd,YAAY,EAAE,aAAa;SAC5B,CAAC,CACH,CAAA;QAED,OAAQ,WAAsB,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;CACF;AA/CD,oDA+CC"}
1
+ {"version":3,"file":"tokenMetadataService.js","sourceRoot":"","sources":["../../src/services/tokenMetadataService.ts"],"names":[],"mappings":";;;AACA,kCAAmC;AACnC,oCAAyC;AAEzC,MAAa,oBAAoB;IAC/B,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAEjD,KAAK,CAAC,gBAAgB,CACpB,OAAe;QAEf,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,MAAM;aACrB,CAAC,CACH;YACD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,QAAQ;aACvB,CAAC,CACH;YACD,IAAA,sBAAc,EAAC,GAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO;gBACP,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,UAAU;aACzB,CAAC,CACH;SACF,CAAC,CAAA;QAEF,OAAO;YACL,IAAI,EAAE,IAAc;YACpB,MAAM,EAAE,MAAgB;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAC5C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzB,OAAO;YACP,GAAG,EAAE,gBAAS;YACd,YAAY,EAAE,aAAa;SAC5B,CAAC,CACH,CAAA;QAED,OAAQ,WAAsB,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;CACF;AAhDD,oDAgDC"}
@@ -1,12 +1,6 @@
1
- import { IERC20Token } from './token';
2
- export interface getExchangesResponse {
3
- providerAddr: string;
4
- id: string;
5
- assets: string[];
6
- }
7
1
  export interface Exchange {
8
2
  providerAddr: string;
9
3
  id: string;
10
- assets: IERC20Token[];
4
+ assets: string[];
11
5
  }
12
6
  //# sourceMappingURL=exchange.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/types/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB"}
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/types/exchange.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB"}
@@ -7,6 +7,5 @@ export interface ContractCallOptions {
7
7
  export interface ProviderAdapter {
8
8
  readContract(options: ContractCallOptions): Promise<unknown>;
9
9
  getChainId(): Promise<number>;
10
- isAddress(address: string): Promise<boolean>;
11
10
  }
12
11
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B"}
@@ -1,12 +1,25 @@
1
- export interface IERC20Token {
1
+ import { ISupplyCalculator } from '../services';
2
+ export interface BaseToken {
2
3
  name: string;
3
4
  symbol: string;
4
5
  address: string;
5
6
  decimals: number;
6
7
  }
7
- export interface StableToken extends IERC20Token {
8
+ export interface StableToken extends BaseToken {
8
9
  totalSupply: string;
9
- fiatTicker: string;
10
10
  }
11
- export type CollateralAsset = IERC20Token;
11
+ export type CollateralAsset = BaseToken;
12
+ /**
13
+ * A supply adjustment is a calculator that is used to adjust the supply of a token.
14
+ * It takes the address of the token and will return the amount that should be removed
15
+ * from the total supply.
16
+ *
17
+ * @param calculator - The calculator to use to adjust the supply.
18
+ */
19
+ export interface SupplyAdjustment {
20
+ calculator: ISupplyCalculator;
21
+ }
22
+ export interface TokenSupplyConfig {
23
+ [tokenSymbol: string]: readonly SupplyAdjustment[];
24
+ }
12
25
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mento-protocol/mento-sdk",
3
3
  "description": "Official SDK for interacting with the Mento Protocol",
4
- "version": "2.0.0-beta.1",
4
+ "version": "2.0.0-beta.10",
5
5
  "license": "MIT",
6
6
  "author": "Mento Labs",
7
7
  "keywords": [
@@ -36,12 +36,10 @@
36
36
  "@jest/types": "^29.6.3",
37
37
  "@size-limit/preset-small-lib": "^8.1.0",
38
38
  "@tsconfig/recommended": "^1.0.1",
39
- "@types/chai": "^5.0.1",
40
39
  "@types/jest": "^29.5.14",
41
40
  "@types/node": "^18.13.0",
42
41
  "@typescript-eslint/eslint-plugin": "^5.53.0",
43
42
  "@typescript-eslint/parser": "^5.53.0",
44
- "chai": "^5.1.2",
45
43
  "eslint": "^8.34.0",
46
44
  "eslint-config-prettier": "^8.6.0",
47
45
  "husky": "^8.0.2",
@@ -53,7 +51,7 @@
53
51
  },
54
52
  "peerDependencies": {
55
53
  "ethers": "^6.13.4",
56
- "ethers-v5": "npm:ethers@^5.7.2",
54
+ "ethers-v5": "npm:ethers@^5.7",
57
55
  "viem": "^2.21.44"
58
56
  },
59
57
  "peerDependenciesMeta": {
@@ -69,6 +67,7 @@
69
67
  },
70
68
  "dependencies": {
71
69
  "@mento-protocol/mento-core-ts": "^0.2.0",
72
- "bignumber.js": "^9.1.2"
70
+ "bignumber.js": "^9.1.2",
71
+ "dotenv": "^16.4.5"
73
72
  }
74
73
  }
@@ -1,18 +0,0 @@
1
- import { ProviderAdapter, Exchange } from '../types';
2
- export declare class ExchangeService {
3
- private provider;
4
- private tokenMetadataService;
5
- constructor(provider: ProviderAdapter);
6
- /**
7
- * Returns a list of all the exchanges and their tokens that can be traded on Mento
8
- */
9
- getExchanges(): Promise<Exchange[]>;
10
- /**
11
- * Gets the exchange with the given id. If no exchange is found, returns undefined.
12
- * @param id The exchange id to be retrieved.
13
- * @returns The exchange with the given id, or undefined if no exchange is found.
14
- */
15
- getExchangeById(id: string): Promise<Exchange | undefined>;
16
- getExchangeForTokens(token0: string, token1: string): Promise<Exchange | undefined>;
17
- }
18
- //# sourceMappingURL=exchangeService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exchangeService.d.ts","sourceRoot":"","sources":["../../src/services/exchangeService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,QAAQ,EAGT,MAAM,UAAU,CAAA;AAejB,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,oBAAoB,CAAsB;gBAE9B,QAAQ,EAAE,eAAe;IAI7C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0CzC;;;;OAIG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAK1D,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;CAiBjC"}
@@ -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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"}