@mento-protocol/mento-sdk 1.0.4 → 1.0.5

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 (165) hide show
  1. package/dist/abis/bipoolmanager.d.ts +15 -0
  2. package/dist/abis/bipoolmanager.d.ts.map +1 -0
  3. package/dist/abis/bipoolmanager.js +26 -0
  4. package/dist/abis/bipoolmanager.js.map +1 -0
  5. package/dist/abis/broker.d.ts +2 -0
  6. package/dist/abis/broker.d.ts.map +1 -0
  7. package/dist/abis/broker.js +8 -0
  8. package/dist/abis/broker.js.map +1 -0
  9. package/dist/abis/erc20.d.ts +2 -0
  10. package/dist/abis/erc20.d.ts.map +1 -0
  11. package/dist/abis/erc20.js +11 -0
  12. package/dist/abis/erc20.js.map +1 -0
  13. package/dist/abis/index.d.ts +5 -0
  14. package/dist/abis/index.d.ts.map +1 -0
  15. package/dist/abis/index.js +21 -0
  16. package/dist/abis/index.js.map +1 -0
  17. package/dist/abis/pricingmodule.d.ts +2 -0
  18. package/dist/abis/pricingmodule.d.ts.map +1 -0
  19. package/dist/abis/pricingmodule.js +5 -0
  20. package/dist/abis/pricingmodule.js.map +1 -0
  21. package/dist/abis/reserve.d.ts +2 -0
  22. package/dist/abis/reserve.d.ts.map +1 -0
  23. package/dist/abis/reserve.js +9 -0
  24. package/dist/abis/reserve.js.map +1 -0
  25. package/dist/abis/uniswapV3.d.ts +4 -0
  26. package/dist/abis/uniswapV3.d.ts.map +1 -0
  27. package/dist/abis/uniswapV3.js +15 -0
  28. package/dist/abis/uniswapV3.js.map +1 -0
  29. package/dist/adapters/implementations/ethersAdapter.d.ts +9 -0
  30. package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -0
  31. package/dist/adapters/implementations/ethersAdapter.js +19 -0
  32. package/dist/adapters/implementations/ethersAdapter.js.map +1 -0
  33. package/dist/adapters/implementations/ethersV5Adapter.d.ts +9 -0
  34. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -0
  35. package/dist/adapters/implementations/ethersV5Adapter.js +19 -0
  36. package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -0
  37. package/dist/adapters/implementations/viemAdapter.d.ts +9 -0
  38. package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -0
  39. package/dist/adapters/implementations/viemAdapter.js +26 -0
  40. package/dist/adapters/implementations/viemAdapter.js.map +1 -0
  41. package/dist/adapters/index.d.ts +5 -0
  42. package/dist/adapters/index.d.ts.map +1 -0
  43. package/dist/adapters/index.js +10 -0
  44. package/dist/adapters/index.js.map +1 -0
  45. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +25 -0
  46. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -0
  47. package/dist/adapters/proxies/ethersAdapterProxy.js +71 -0
  48. package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -0
  49. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +25 -0
  50. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -0
  51. package/dist/adapters/proxies/ethersV5AdapterProxy.js +71 -0
  52. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -0
  53. package/dist/adapters/proxies/viemAdapterProxy.d.ts +25 -0
  54. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -0
  55. package/dist/adapters/proxies/viemAdapterProxy.js +71 -0
  56. package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -0
  57. package/dist/cjs/constants/addresses.js +1 -1
  58. package/dist/cjs/constants/tradablePairs.js +0 -240
  59. package/dist/cjs/mento.d.ts +3 -7
  60. package/dist/cjs/mento.js +9 -15
  61. package/dist/constants/addresses.d.ts +14 -0
  62. package/dist/constants/addresses.d.ts.map +1 -0
  63. package/dist/constants/addresses.js +61 -0
  64. package/dist/constants/addresses.js.map +1 -0
  65. package/dist/constants/chainId.d.ts +5 -0
  66. package/dist/constants/chainId.d.ts.map +1 -0
  67. package/dist/constants/chainId.js +9 -0
  68. package/dist/constants/chainId.js.map +1 -0
  69. package/dist/constants/contractNames.d.ts +21 -0
  70. package/dist/constants/contractNames.d.ts.map +1 -0
  71. package/dist/constants/contractNames.js +24 -0
  72. package/dist/constants/contractNames.js.map +1 -0
  73. package/dist/constants/index.d.ts +8 -0
  74. package/dist/constants/index.d.ts.map +1 -0
  75. package/dist/constants/index.js +24 -0
  76. package/dist/constants/index.js.map +1 -0
  77. package/dist/constants/mentoAddresses.d.ts +4 -0
  78. package/dist/constants/mentoAddresses.d.ts.map +1 -0
  79. package/dist/constants/mentoAddresses.js +7 -0
  80. package/dist/constants/mentoAddresses.js.map +1 -0
  81. package/dist/constants/proposalState.d.ts +11 -0
  82. package/dist/constants/proposalState.d.ts.map +1 -0
  83. package/dist/constants/proposalState.js +15 -0
  84. package/dist/constants/proposalState.js.map +1 -0
  85. package/dist/constants/protocolAddresses.d.ts +5 -0
  86. package/dist/constants/protocolAddresses.d.ts.map +1 -0
  87. package/dist/constants/protocolAddresses.js +8 -0
  88. package/dist/constants/protocolAddresses.js.map +1 -0
  89. package/dist/constants/stableTokenMetadata.d.ts +14 -0
  90. package/dist/constants/stableTokenMetadata.d.ts.map +1 -0
  91. package/dist/constants/stableTokenMetadata.js +32 -0
  92. package/dist/constants/stableTokenMetadata.js.map +1 -0
  93. package/dist/esm/constants/addresses.js +1 -1
  94. package/dist/esm/constants/tradablePairs.js +0 -240
  95. package/dist/esm/mento.d.ts +3 -7
  96. package/dist/esm/mento.js +9 -15
  97. package/dist/index.d.ts +67 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +122 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/services/collateralAssetService.d.ts +8 -0
  102. package/dist/services/collateralAssetService.d.ts.map +1 -0
  103. package/dist/services/collateralAssetService.js +47 -0
  104. package/dist/services/collateralAssetService.js.map +1 -0
  105. package/dist/services/index.d.ts +6 -0
  106. package/dist/services/index.d.ts.map +1 -0
  107. package/dist/services/index.js +22 -0
  108. package/dist/services/index.js.map +1 -0
  109. package/dist/services/stableTokenService.d.ts +9 -0
  110. package/dist/services/stableTokenService.d.ts.map +1 -0
  111. package/dist/services/stableTokenService.js +40 -0
  112. package/dist/services/stableTokenService.js.map +1 -0
  113. package/dist/services/supply/ISupplyCalculator.d.ts +4 -0
  114. package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -0
  115. package/dist/services/supply/ISupplyCalculator.js +3 -0
  116. package/dist/services/supply/ISupplyCalculator.js.map +1 -0
  117. package/dist/services/supply/UniV3SupplyCalculator.d.ts +21 -0
  118. package/dist/services/supply/UniV3SupplyCalculator.d.ts.map +1 -0
  119. package/dist/services/supply/UniV3SupplyCalculator.js +233 -0
  120. package/dist/services/supply/UniV3SupplyCalculator.js.map +1 -0
  121. package/dist/services/supply/index.d.ts +4 -0
  122. package/dist/services/supply/index.d.ts.map +1 -0
  123. package/dist/services/supply/index.js +20 -0
  124. package/dist/services/supply/index.js.map +1 -0
  125. package/dist/services/supply/multisigSupplyCalculator.d.ts +9 -0
  126. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +1 -0
  127. package/dist/services/supply/multisigSupplyCalculator.js +21 -0
  128. package/dist/services/supply/multisigSupplyCalculator.js.map +1 -0
  129. package/dist/services/supplyAdjustmentService.d.ts +12 -0
  130. package/dist/services/supplyAdjustmentService.d.ts.map +1 -0
  131. package/dist/services/supplyAdjustmentService.js +35 -0
  132. package/dist/services/supplyAdjustmentService.js.map +1 -0
  133. package/dist/services/tokenMetadataService.d.ts +8 -0
  134. package/dist/services/tokenMetadataService.d.ts.map +1 -0
  135. package/dist/services/tokenMetadataService.js +44 -0
  136. package/dist/services/tokenMetadataService.js.map +1 -0
  137. package/dist/types/contractAddresses.d.ts +23 -0
  138. package/dist/types/contractAddresses.d.ts.map +1 -0
  139. package/dist/types/contractAddresses.js +3 -0
  140. package/dist/types/contractAddresses.js.map +1 -0
  141. package/dist/types/exchange.d.ts +6 -0
  142. package/dist/types/exchange.d.ts.map +1 -0
  143. package/dist/types/exchange.js +3 -0
  144. package/dist/types/exchange.js.map +1 -0
  145. package/dist/types/index.d.ts +5 -0
  146. package/dist/types/index.d.ts.map +1 -0
  147. package/dist/types/index.js +21 -0
  148. package/dist/types/index.js.map +1 -0
  149. package/dist/types/provider.d.ts +11 -0
  150. package/dist/types/provider.d.ts.map +1 -0
  151. package/dist/types/provider.js +3 -0
  152. package/dist/types/provider.js.map +1 -0
  153. package/dist/types/token.d.ts +19 -0
  154. package/dist/types/token.d.ts.map +1 -0
  155. package/dist/types/token.js +3 -0
  156. package/dist/types/token.js.map +1 -0
  157. package/dist/utils/index.d.ts +2 -0
  158. package/dist/utils/index.d.ts.map +1 -0
  159. package/dist/utils/index.js +18 -0
  160. package/dist/utils/index.js.map +1 -0
  161. package/dist/utils/retry.d.ts +12 -0
  162. package/dist/utils/retry.d.ts.map +1 -0
  163. package/dist/utils/retry.js +28 -0
  164. package/dist/utils/retry.js.map +1 -0
  165. package/package.json +2 -2
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./addresses"), exports);
18
+ __exportStar(require("./chainId"), exports);
19
+ __exportStar(require("./proposalState"), exports);
20
+ __exportStar(require("./contractNames"), exports);
21
+ __exportStar(require("./stableTokenMetadata"), exports);
22
+ __exportStar(require("./protocolAddresses"), exports);
23
+ __exportStar(require("./mentoAddresses"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4CAAyB;AACzB,kDAA+B;AAC/B,kDAA+B;AAC/B,wDAAqC;AACrC,sDAAmC;AACnC,mDAAgC"}
@@ -0,0 +1,4 @@
1
+ export declare const MENTO_ADDRESSES: {
2
+ readonly PROTOCOL_MULTISIG: "0x87647780180b8f55980c7d3ffefe08a9b29e9ae1";
3
+ };
4
+ //# sourceMappingURL=mentoAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentoAddresses.d.ts","sourceRoot":"","sources":["../../src/constants/mentoAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;CAElB,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MENTO_ADDRESSES = void 0;
4
+ exports.MENTO_ADDRESSES = {
5
+ PROTOCOL_MULTISIG: '0x87647780180b8f55980c7d3ffefe08a9b29e9ae1',
6
+ };
7
+ //# sourceMappingURL=mentoAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentoAddresses.js","sourceRoot":"","sources":["../../src/constants/mentoAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,iBAAiB,EAAE,4CAA4C;CACvD,CAAA"}
@@ -0,0 +1,11 @@
1
+ export declare enum ProposalState {
2
+ PENDING = 0,
3
+ ACTIVE = 1,
4
+ CANCELED = 2,
5
+ DEFEATED = 3,
6
+ SUCCEEDED = 4,
7
+ QUEUED = 5,
8
+ EXPIRED = 6,
9
+ EXECUTED = 7
10
+ }
11
+ //# sourceMappingURL=proposalState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposalState.d.ts","sourceRoot":"","sources":["../../src/constants/proposalState.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,MAAM,IAAI;IACV,OAAO,IAAI;IACX,QAAQ,IAAI;CACb"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProposalState = void 0;
4
+ var ProposalState;
5
+ (function (ProposalState) {
6
+ ProposalState[ProposalState["PENDING"] = 0] = "PENDING";
7
+ ProposalState[ProposalState["ACTIVE"] = 1] = "ACTIVE";
8
+ ProposalState[ProposalState["CANCELED"] = 2] = "CANCELED";
9
+ ProposalState[ProposalState["DEFEATED"] = 3] = "DEFEATED";
10
+ ProposalState[ProposalState["SUCCEEDED"] = 4] = "SUCCEEDED";
11
+ ProposalState[ProposalState["QUEUED"] = 5] = "QUEUED";
12
+ ProposalState[ProposalState["EXPIRED"] = 6] = "EXPIRED";
13
+ ProposalState[ProposalState["EXECUTED"] = 7] = "EXECUTED";
14
+ })(ProposalState || (exports.ProposalState = ProposalState = {}));
15
+ //# sourceMappingURL=proposalState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposalState.js","sourceRoot":"","sources":["../../src/constants/proposalState.ts"],"names":[],"mappings":";;;AAAA,IAAY,aASX;AATD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;IACV,yDAAY,CAAA;IACZ,yDAAY,CAAA;IACZ,2DAAa,CAAA;IACb,qDAAU,CAAA;IACV,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB"}
@@ -0,0 +1,5 @@
1
+ export declare const PROTOCOL_ADDRESSES: {
2
+ readonly UNIV3_POSITION_MANAGER: "0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A";
3
+ readonly UNIV3_FACTORY: "0xAfE208a311B21f13EF87E33A90049fC17A7acDEc";
4
+ };
5
+ //# sourceMappingURL=protocolAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocolAddresses.d.ts","sourceRoot":"","sources":["../../src/constants/protocolAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;CAGrB,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PROTOCOL_ADDRESSES = void 0;
4
+ exports.PROTOCOL_ADDRESSES = {
5
+ UNIV3_POSITION_MANAGER: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A',
6
+ UNIV3_FACTORY: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc',
7
+ };
8
+ //# sourceMappingURL=protocolAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocolAddresses.js","sourceRoot":"","sources":["../../src/constants/protocolAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,sBAAsB,EAAE,4CAA4C;IACpE,aAAa,EAAE,4CAA4C;CACnD,CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare const STABLE_TOKEN_SYMBOLS: {
2
+ readonly cUSD: "cUSD";
3
+ readonly cEUR: "cEUR";
4
+ readonly cREAL: "cREAL";
5
+ readonly cKES: "cKES";
6
+ readonly PUSO: "PUSO";
7
+ readonly cCOP: "cCOP";
8
+ readonly eXOF: "eXOF";
9
+ readonly cGHS: "cGHS";
10
+ };
11
+ export type StableTokenSymbol = keyof typeof STABLE_TOKEN_SYMBOLS;
12
+ export declare const STABLE_TOKEN_FIAT_MAPPING: Record<StableTokenSymbol, string>;
13
+ export declare function getFiatTicker(symbol: StableTokenSymbol): string;
14
+ //# sourceMappingURL=stableTokenMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableTokenMetadata.d.ts","sourceRoot":"","sources":["../../src/constants/stableTokenMetadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;CASvB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAEjE,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAS9D,CAAA;AAEV,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAM/D"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STABLE_TOKEN_FIAT_MAPPING = exports.STABLE_TOKEN_SYMBOLS = void 0;
4
+ exports.getFiatTicker = getFiatTicker;
5
+ exports.STABLE_TOKEN_SYMBOLS = {
6
+ cUSD: 'cUSD',
7
+ cEUR: 'cEUR',
8
+ cREAL: 'cREAL',
9
+ cKES: 'cKES',
10
+ PUSO: 'PUSO',
11
+ cCOP: 'cCOP',
12
+ eXOF: 'eXOF',
13
+ cGHS: 'cGHS',
14
+ };
15
+ exports.STABLE_TOKEN_FIAT_MAPPING = {
16
+ cUSD: 'USD',
17
+ cEUR: 'EUR',
18
+ cREAL: 'BRL',
19
+ cKES: 'KES',
20
+ PUSO: 'PHP',
21
+ cCOP: 'COP',
22
+ eXOF: 'XOF',
23
+ cGHS: 'GHS',
24
+ };
25
+ function getFiatTicker(symbol) {
26
+ const ticker = exports.STABLE_TOKEN_FIAT_MAPPING[symbol];
27
+ if (!ticker) {
28
+ throw new Error(`No fiat ticker found for token symbol: ${symbol}`);
29
+ }
30
+ return ticker;
31
+ }
32
+ //# sourceMappingURL=stableTokenMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableTokenMetadata.js","sourceRoot":"","sources":["../../src/constants/stableTokenMetadata.ts"],"names":[],"mappings":";;;AAwBA,sCAMC;AA9BY,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAA;AAIG,QAAA,yBAAyB,GAAsC;IAC1E,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;CACH,CAAA;AAEV,SAAgB,aAAa,CAAC,MAAyB;IACrD,MAAM,MAAM,GAAG,iCAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -72,7 +72,7 @@ export const addresses = {
72
72
  };
73
73
  export function getAddress(identifier, chainId) {
74
74
  const addressesForChain = addresses[chainId];
75
- if (!addressesForChain) {
75
+ if (!addresses) {
76
76
  throw new Error(`No addresses found for chain ID ${chainId}`);
77
77
  }
78
78
  const address = addressesForChain[identifier];
@@ -368,29 +368,6 @@ export const TRADABLE_PAIRS = {
368
368
  },
369
369
  ],
370
370
  },
371
- {
372
- id: 'cGHS-cUSD',
373
- assets: [
374
- {
375
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
376
- symbol: 'cGHS',
377
- },
378
- {
379
- address: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
380
- symbol: 'cUSD',
381
- },
382
- ],
383
- path: [
384
- {
385
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
386
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
387
- assets: [
388
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
389
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
390
- ],
391
- },
392
- ],
393
- },
394
371
  {
395
372
  id: 'CELO-cKES',
396
373
  assets: [
@@ -577,37 +554,6 @@ export const TRADABLE_PAIRS = {
577
554
  },
578
555
  ],
579
556
  },
580
- {
581
- id: 'CELO-cGHS',
582
- assets: [
583
- {
584
- address: '0x471EcE3750Da237f93B8E339c536989b8978a438',
585
- symbol: 'CELO',
586
- },
587
- {
588
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
589
- symbol: 'cGHS',
590
- },
591
- ],
592
- path: [
593
- {
594
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
595
- id: '0x3135b662c38265d0655177091f1b647b4fef511103d06c016efdf18b46930d2c',
596
- assets: [
597
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
598
- '0x471EcE3750Da237f93B8E339c536989b8978a438',
599
- ],
600
- },
601
- {
602
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
603
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
604
- assets: [
605
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
606
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
607
- ],
608
- },
609
- ],
610
- },
611
557
  {
612
558
  id: 'CELO-axlEUROC',
613
559
  assets: [
@@ -1011,37 +957,6 @@ export const TRADABLE_PAIRS = {
1011
957
  },
1012
958
  ],
1013
959
  },
1014
- {
1015
- id: 'USDC-cGHS',
1016
- assets: [
1017
- {
1018
- address: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
1019
- symbol: 'USDC',
1020
- },
1021
- {
1022
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1023
- symbol: 'cGHS',
1024
- },
1025
- ],
1026
- path: [
1027
- {
1028
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1029
- id: '0xacc988382b66ee5456086643dcfd9a5ca43dd8f428f6ef22503d8b8013bcffd7',
1030
- assets: [
1031
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1032
- '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
1033
- ],
1034
- },
1035
- {
1036
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1037
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1038
- assets: [
1039
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1040
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1041
- ],
1042
- },
1043
- ],
1044
- },
1045
960
  {
1046
961
  id: 'axlEUROC-axlUSDC',
1047
962
  assets: [
@@ -1197,37 +1112,6 @@ export const TRADABLE_PAIRS = {
1197
1112
  },
1198
1113
  ],
1199
1114
  },
1200
- {
1201
- id: 'axlUSDC-cGHS',
1202
- assets: [
1203
- {
1204
- address: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
1205
- symbol: 'axlUSDC',
1206
- },
1207
- {
1208
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1209
- symbol: 'cGHS',
1210
- },
1211
- ],
1212
- path: [
1213
- {
1214
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1215
- id: '0x0d739efbfc30f303e8d1976c213b4040850d1af40f174f4169b846f6fd3d2f20',
1216
- assets: [
1217
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1218
- '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
1219
- ],
1220
- },
1221
- {
1222
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1223
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1224
- assets: [
1225
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1226
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1227
- ],
1228
- },
1229
- ],
1230
- },
1231
1115
  {
1232
1116
  id: 'USD₮-cKES',
1233
1117
  assets: [
@@ -1321,37 +1205,6 @@ export const TRADABLE_PAIRS = {
1321
1205
  },
1322
1206
  ],
1323
1207
  },
1324
- {
1325
- id: 'cGHS-cKES',
1326
- assets: [
1327
- {
1328
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1329
- symbol: 'cGHS',
1330
- },
1331
- {
1332
- address: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
1333
- symbol: 'cKES',
1334
- },
1335
- ],
1336
- path: [
1337
- {
1338
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1339
- id: '0x89de88b8eb790de26f4649f543cb6893d93635c728ac857f0926e842fb0d298b',
1340
- assets: [
1341
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1342
- '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
1343
- ],
1344
- },
1345
- {
1346
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1347
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1348
- assets: [
1349
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1350
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1351
- ],
1352
- },
1353
- ],
1354
- },
1355
1208
  {
1356
1209
  id: 'PUSO-USD₮',
1357
1210
  assets: [
@@ -1414,37 +1267,6 @@ export const TRADABLE_PAIRS = {
1414
1267
  },
1415
1268
  ],
1416
1269
  },
1417
- {
1418
- id: 'USD₮-cGHS',
1419
- assets: [
1420
- {
1421
- address: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
1422
- symbol: 'USD₮',
1423
- },
1424
- {
1425
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1426
- symbol: 'cGHS',
1427
- },
1428
- ],
1429
- path: [
1430
- {
1431
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1432
- id: '0x773bcec109cee923b5e04706044fd9d6a5121b1a6a4c059c36fdbe5b845d4e9b',
1433
- assets: [
1434
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1435
- '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
1436
- ],
1437
- },
1438
- {
1439
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1440
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1441
- assets: [
1442
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1443
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1444
- ],
1445
- },
1446
- ],
1447
- },
1448
1270
  {
1449
1271
  id: 'PUSO-cCOP',
1450
1272
  assets: [
@@ -1476,68 +1298,6 @@ export const TRADABLE_PAIRS = {
1476
1298
  },
1477
1299
  ],
1478
1300
  },
1479
- {
1480
- id: 'PUSO-cGHS',
1481
- assets: [
1482
- {
1483
- address: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
1484
- symbol: 'PUSO',
1485
- },
1486
- {
1487
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1488
- symbol: 'cGHS',
1489
- },
1490
- ],
1491
- path: [
1492
- {
1493
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1494
- id: '0x7952984d7278ca3417febf52815c321984ac3147ced2c02bb6a02b0bcab08413',
1495
- assets: [
1496
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1497
- '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
1498
- ],
1499
- },
1500
- {
1501
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1502
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1503
- assets: [
1504
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1505
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1506
- ],
1507
- },
1508
- ],
1509
- },
1510
- {
1511
- id: 'cCOP-cGHS',
1512
- assets: [
1513
- {
1514
- address: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
1515
- symbol: 'cCOP',
1516
- },
1517
- {
1518
- address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1519
- symbol: 'cGHS',
1520
- },
1521
- ],
1522
- path: [
1523
- {
1524
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1525
- id: '0x1c9378bd0973ff313a599d3effc654ba759f8ccca655ab6d6ce5bd39a212943b',
1526
- assets: [
1527
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1528
- '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
1529
- ],
1530
- },
1531
- {
1532
- providerAddr: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
1533
- id: '0x3562f9d29eba092b857480a82b03375839c752346b9ebe93a57ab82410328187',
1534
- assets: [
1535
- '0x765DE816845861e75A25fCA122bb6898B8B1282a',
1536
- '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
1537
- ],
1538
- },
1539
- ],
1540
- },
1541
1301
  ],
1542
1302
  '44787': [
1543
1303
  {
@@ -1,6 +1,6 @@
1
+ import { Address, TradingLimit, TradingLimitsConfig, TradingLimitsState } from './interfaces';
1
2
  import { IBroker } from '@mento-protocol/mento-core-ts';
2
3
  import { BigNumber, BigNumberish, Signer, providers } from 'ethers';
3
- import { Address, TradingLimit, TradingLimitsConfig, TradingLimitsState } from './interfaces';
4
4
  export interface Exchange {
5
5
  providerAddr: Address;
6
6
  id: string;
@@ -58,9 +58,7 @@ export declare class Mento {
58
58
  * Get tradable pairs for backwards compatibility
59
59
  * @returns an array of Asset pairs
60
60
  */
61
- getTradablePairs({ cached, }?: {
62
- cached?: boolean;
63
- }): Promise<[Asset, Asset][]>;
61
+ getTradablePairs(cached?: boolean): Promise<[Asset, Asset][]>;
64
62
  /**
65
63
  * Returns a list of all tradable pairs on Mento via direct exchanges.
66
64
  * Each pair is represented using the TradablePair interface, with its id
@@ -76,9 +74,7 @@ export declare class Mento {
76
74
  * the two Asset objects, and an array of exchange details for each hop.
77
75
  * @returns An array of TradablePair objects representing available trade routes.
78
76
  */
79
- getTradablePairsWithPath({ cached, }?: {
80
- cached?: boolean;
81
- }): Promise<readonly TradablePair[]>;
77
+ getTradablePairsWithPath(cached?: boolean): Promise<readonly TradablePair[]>;
82
78
  /**
83
79
  * Returns the amount of tokenIn to be sold to buy amountOut of tokenOut.
84
80
  * If the provided tradablePair has a single (direct) pricing path, then direct pricing is used.
package/dist/esm/mento.js CHANGED
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { BiPoolManager__factory, Broker__factory, IBreakerBox__factory, IBroker__factory, IExchangeProvider__factory, } from '@mento-protocol/mento-core-ts';
11
11
  import { Signer } from 'ethers';
12
- import { getLimits, getLimitsConfig, getLimitsState } from './limits';
13
12
  import { getBrokerAddressFromRegistry, getChainId, getSymbolFromTokenAddress, increaseAllowance, validateSigner, validateSignerOrProvider, } from './utils';
13
+ import { getLimits, getLimitsConfig, getLimitsState } from './limits';
14
14
  import { strict as assert } from 'assert';
15
+ import { getCachedTradablePairs } from './constants/tradablePairs';
15
16
  import { IMentoRouter__factory } from 'mento-router-ts';
16
17
  import { getAddress } from './constants/addresses';
17
- import { getCachedTradablePairs } from './constants/tradablePairs';
18
18
  export class Mento {
19
19
  /**
20
20
  * This constructor is private, use the static create or createWithParams methods
@@ -66,9 +66,9 @@ export class Mento {
66
66
  * Get tradable pairs for backwards compatibility
67
67
  * @returns an array of Asset pairs
68
68
  */
69
- getTradablePairs({ cached = true, } = {}) {
69
+ getTradablePairs(cached = true) {
70
70
  return __awaiter(this, void 0, void 0, function* () {
71
- return (yield this.getTradablePairsWithPath({ cached })).map((pair) => pair.assets);
71
+ return (yield this.getTradablePairsWithPath(cached)).map((pair) => pair.assets);
72
72
  });
73
73
  }
74
74
  /**
@@ -128,7 +128,7 @@ export class Mento {
128
128
  * the two Asset objects, and an array of exchange details for each hop.
129
129
  * @returns An array of TradablePair objects representing available trade routes.
130
130
  */
131
- getTradablePairsWithPath({ cached = true, } = {}) {
131
+ getTradablePairsWithPath(cached = true) {
132
132
  return __awaiter(this, void 0, void 0, function* () {
133
133
  // Get tradable pairs from cache if available.
134
134
  if (cached) {
@@ -304,9 +304,7 @@ export class Mento {
304
304
  */
305
305
  increaseTradingAllowance(tokenIn, amount, tradablePair) {
306
306
  return __awaiter(this, void 0, void 0, function* () {
307
- const spender = !tradablePair || (tradablePair === null || tradablePair === void 0 ? void 0 : tradablePair.path.length) == 1
308
- ? this.broker.address
309
- : this.router.address;
307
+ const spender = !tradablePair || (tradablePair === null || tradablePair === void 0 ? void 0 : tradablePair.path.length) == 1 ? this.broker.address : this.router.address;
310
308
  const tx = yield increaseAllowance(tokenIn, spender, amount, this.signerOrProvider);
311
309
  if (Signer.isSigner(this.signerOrProvider)) {
312
310
  // The contract call doesn't populate all of the signer fields, so we need an extra call for the signer
@@ -457,15 +455,11 @@ export class Mento {
457
455
  return __awaiter(this, void 0, void 0, function* () {
458
456
  const pair = (yield this.getTradablePairsWithPath()).find((p) =>
459
457
  // Direct path
460
- (p.path.length === 1 &&
461
- p.path[0].assets.includes(tokenIn) &&
462
- p.path[0].assets.includes(tokenOut)) ||
458
+ (p.path.length === 1 && p.path[0].assets.includes(tokenIn) && p.path[0].assets.includes(tokenOut)) ||
463
459
  // Routed path
464
460
  (p.path.length === 2 &&
465
- ((p.path[0].assets.includes(tokenIn) &&
466
- p.path[1].assets.includes(tokenOut)) ||
467
- (p.path[0].assets.includes(tokenOut) &&
468
- p.path[1].assets.includes(tokenIn)))));
461
+ ((p.path[0].assets.includes(tokenIn) && p.path[1].assets.includes(tokenOut)) ||
462
+ (p.path[0].assets.includes(tokenOut) && p.path[1].assets.includes(tokenIn)))));
469
463
  if (!pair) {
470
464
  throw new Error(`No tradable pair found for tokens ${tokenIn} and ${tokenOut}`);
471
465
  }
@@ -0,0 +1,67 @@
1
+ import type { PublicClient } from 'viem';
2
+ import type { Provider as EthersV6Provider } from 'ethers';
3
+ import type { providers as EthersV5Providers } from 'ethers-v5';
4
+ import { CollateralAsset, ContractAddresses, StableToken } from './types';
5
+ export type SupportedProvider = EthersV6Provider | PublicClient | EthersV5Providers.Provider;
6
+ export interface MentoConfig {
7
+ /** Provider can be one of:
8
+ * - Ethers v6 Provider (from 'ethers')
9
+ * - Ethers v5 Provider (from 'ethers-v5')
10
+ * - Viem PublicClient (from 'viem')
11
+ */
12
+ provider: SupportedProvider;
13
+ }
14
+ /**
15
+ * @class Mento
16
+ * @description The main class for the Mento SDK. It initializes the provider and services,
17
+ * and provides a public API for interacting with the Mento Protocol.
18
+ * @dev example usage:
19
+ * // Ethers v6
20
+ * const mento = await Mento.create({
21
+ * provider: new ethers.JsonRpcProvider("https://forno.celo.org")
22
+ * });
23
+ *
24
+ * // Ethers v5
25
+ * const mento = await Mento.create({
26
+ * provider: new ethersV5.providers.JsonRpcProvider("https://forno.celo.org")
27
+ * });
28
+ *
29
+ * // Viem
30
+ * const mento = await Mento.create({
31
+ * provider: createPublicClient({
32
+ * transport: http("https://forno.celo.org")
33
+ * })
34
+ * });
35
+ *
36
+ * // Get all stable tokens
37
+ * const stableTokens = await mento.getStableTokens();
38
+ *
39
+ * // Get all collateral assets
40
+ * const collateralAssets = await mento.getCollateralAssets();
41
+ */
42
+ export declare class Mento {
43
+ private provider;
44
+ private stableTokenService;
45
+ private collateralAssetService;
46
+ private constructor();
47
+ static create(config: MentoConfig): Promise<Mento>;
48
+ getStableTokens(): Promise<StableToken[]>;
49
+ /**
50
+ * Get all collateral assets that are available on the current chain.
51
+ * @returns An array of collateral assets
52
+ */
53
+ getCollateralAssets(): Promise<CollateralAsset[]>;
54
+ /**
55
+ * Get the address of a contract for the current chain
56
+ * @param contractName - The contract name
57
+ * @returns The contract address
58
+ */
59
+ getContractAddress(contractName: keyof ContractAddresses): Promise<string>;
60
+ }
61
+ export * from './constants';
62
+ export * from './types';
63
+ export * from './adapters';
64
+ export * from './services';
65
+ export * from './abis';
66
+ export * from './utils';
67
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAG/D,OAAO,EACL,eAAe,EACf,iBAAiB,EAEjB,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,CAAC,QAAQ,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,CAAA;CAC5B;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,sBAAsB,CAAwB;IAEtD,OAAO;WAUa,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsBlD,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAItD;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI9D;;;;OAIG;IACU,kBAAkB,CAC7B,YAAY,EAAE,MAAM,iBAAiB,GACpC,OAAO,CAAC,MAAM,CAAC;CAInB;AAED,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}