@mento-protocol/mento-sdk 1.13.0 → 1.15.0

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  // This file is auto-generated. Do not edit manually.
3
- // Generated on 2025-10-02T13:52:20.427Z
3
+ // Generated on 2025-10-02T13:54:45.876Z
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.tokens11142220 = void 0;
6
6
  exports.tokens11142220 = [
@@ -19,31 +19,7 @@ export declare function getCachedTokensSync(chainId: number): readonly Token[];
19
19
  * Type-safe token symbols available across all chains
20
20
  * Note: Not all tokens are available on all chains - check TOKEN_ADDRESSES_BY_CHAIN
21
21
  */
22
- export declare enum TokenSymbol {
23
- BridgedEUROC = "BridgedEUROC",
24
- BridgedUSDC = "BridgedUSDC",
25
- CELO = "CELO",
26
- PUSO = "PUSO",
27
- USDC = "USDC",
28
- USDT = "USDT",
29
- USD_ = "USD\u20AE",
30
- axlEUROC = "axlEUROC",
31
- axlUSDC = "axlUSDC",
32
- cAUD = "cAUD",
33
- cCAD = "cCAD",
34
- cCHF = "cCHF",
35
- cCOP = "cCOP",
36
- cEUR = "cEUR",
37
- cGBP = "cGBP",
38
- cGHS = "cGHS",
39
- cJPY = "cJPY",
40
- cKES = "cKES",
41
- cNGN = "cNGN",
42
- cREAL = "cREAL",
43
- cUSD = "cUSD",
44
- cZAR = "cZAR",
45
- eXOF = "eXOF"
46
- }
22
+ export type TokenSymbol = 'BridgedEUROC' | 'BridgedUSDC' | 'CELO' | 'PUSO' | 'USDC' | 'USDT' | 'USD₮' | 'axlEUROC' | 'axlUSDC' | 'cAUD' | 'cCAD' | 'cCHF' | 'cCOP' | 'cEUR' | 'cGBP' | 'cGHS' | 'cJPY' | 'cKES' | 'cNGN' | 'cREAL' | 'cUSD' | 'cZAR' | 'eXOF';
47
23
  /**
48
24
  * Token addresses mapped by chain ID and symbol
49
25
  * Use this for type-safe token address lookups
@@ -53,15 +29,15 @@ export declare const TOKEN_ADDRESSES_BY_CHAIN: {
53
29
  };
54
30
  /**
55
31
  * Helper function to get token address by symbol for a specific chain
56
- * @param chainId - The chain ID
57
32
  * @param symbol - The token symbol
33
+ * @param chainId - The chain ID
58
34
  * @returns The token address or undefined if not found
59
35
  */
60
- export declare function getTokenAddress(chainId: number, symbol: TokenSymbol): string | undefined;
36
+ export declare function getTokenAddress(symbol: TokenSymbol, chainId: number): string | undefined;
61
37
  /**
62
38
  * Helper function to find a token by symbol in the cached tokens
63
- * @param chainId - The chain ID
64
39
  * @param symbol - The token symbol to search for
40
+ * @param chainId - The chain ID
65
41
  * @returns The token object or undefined if not found
66
42
  */
67
- export declare function findTokenBySymbol(chainId: number, symbol: string): Token | undefined;
43
+ export declare function findTokenBySymbol(symbol: string, chainId: number): Token | undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  // This file is auto-generated. Do not edit manually.
3
- // Generated on 2025-10-02T13:52:20.430Z
3
+ // Generated on 2025-10-02T13:54:45.878Z
4
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
5
  if (k2 === undefined) k2 = k;
6
6
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -34,7 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  });
35
35
  };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.findTokenBySymbol = exports.getTokenAddress = exports.TOKEN_ADDRESSES_BY_CHAIN = exports.TokenSymbol = exports.getCachedTokensSync = exports.getCachedTokens = void 0;
37
+ exports.findTokenBySymbol = exports.getTokenAddress = exports.TOKEN_ADDRESSES_BY_CHAIN = exports.getCachedTokensSync = exports.getCachedTokens = void 0;
38
38
  /**
39
39
  * Gets cached tokens for a specific chain ID
40
40
  * @param chainId - The chain ID to get cached tokens for
@@ -81,126 +81,96 @@ function getCachedTokensSync(chainId) {
81
81
  }
82
82
  }
83
83
  exports.getCachedTokensSync = getCachedTokensSync;
84
- /**
85
- * Type-safe token symbols available across all chains
86
- * Note: Not all tokens are available on all chains - check TOKEN_ADDRESSES_BY_CHAIN
87
- */
88
- var TokenSymbol;
89
- (function (TokenSymbol) {
90
- TokenSymbol["BridgedEUROC"] = "BridgedEUROC";
91
- TokenSymbol["BridgedUSDC"] = "BridgedUSDC";
92
- TokenSymbol["CELO"] = "CELO";
93
- TokenSymbol["PUSO"] = "PUSO";
94
- TokenSymbol["USDC"] = "USDC";
95
- TokenSymbol["USDT"] = "USDT";
96
- TokenSymbol["USD_"] = "USD\u20AE";
97
- TokenSymbol["axlEUROC"] = "axlEUROC";
98
- TokenSymbol["axlUSDC"] = "axlUSDC";
99
- TokenSymbol["cAUD"] = "cAUD";
100
- TokenSymbol["cCAD"] = "cCAD";
101
- TokenSymbol["cCHF"] = "cCHF";
102
- TokenSymbol["cCOP"] = "cCOP";
103
- TokenSymbol["cEUR"] = "cEUR";
104
- TokenSymbol["cGBP"] = "cGBP";
105
- TokenSymbol["cGHS"] = "cGHS";
106
- TokenSymbol["cJPY"] = "cJPY";
107
- TokenSymbol["cKES"] = "cKES";
108
- TokenSymbol["cNGN"] = "cNGN";
109
- TokenSymbol["cREAL"] = "cREAL";
110
- TokenSymbol["cUSD"] = "cUSD";
111
- TokenSymbol["cZAR"] = "cZAR";
112
- TokenSymbol["eXOF"] = "eXOF";
113
- })(TokenSymbol = exports.TokenSymbol || (exports.TokenSymbol = {}));
114
84
  /**
115
85
  * Token addresses mapped by chain ID and symbol
116
86
  * Use this for type-safe token address lookups
117
87
  */
118
88
  exports.TOKEN_ADDRESSES_BY_CHAIN = {
119
89
  42220: {
120
- [TokenSymbol.axlEUROC]: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
121
- [TokenSymbol.axlUSDC]: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
122
- [TokenSymbol.cAUD]: '0x7175504C455076F15c04A2F90a8e352281F492F9',
123
- [TokenSymbol.cCAD]: '0xff4Ab19391af240c311c54200a492233052B6325',
124
- [TokenSymbol.cCHF]: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
125
- [TokenSymbol.cCOP]: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
126
- [TokenSymbol.CELO]: '0x471EcE3750Da237f93B8E339c536989b8978a438',
127
- [TokenSymbol.cEUR]: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
128
- [TokenSymbol.cGBP]: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
129
- [TokenSymbol.cGHS]: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
130
- [TokenSymbol.cJPY]: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
131
- [TokenSymbol.cKES]: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
132
- [TokenSymbol.cNGN]: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
133
- [TokenSymbol.cREAL]: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
134
- [TokenSymbol.cUSD]: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
135
- [TokenSymbol.cZAR]: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
136
- [TokenSymbol.eXOF]: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
137
- [TokenSymbol.PUSO]: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
138
- [TokenSymbol.USD_]: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
139
- [TokenSymbol.USDC]: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
90
+ axlEUROC: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
91
+ axlUSDC: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
92
+ cAUD: '0x7175504C455076F15c04A2F90a8e352281F492F9',
93
+ cCAD: '0xff4Ab19391af240c311c54200a492233052B6325',
94
+ cCHF: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
95
+ cCOP: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
96
+ CELO: '0x471EcE3750Da237f93B8E339c536989b8978a438',
97
+ cEUR: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
98
+ cGBP: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
99
+ cGHS: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
100
+ cJPY: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
101
+ cKES: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
102
+ cNGN: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
103
+ cREAL: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
104
+ cUSD: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
105
+ cZAR: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
106
+ eXOF: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
107
+ PUSO: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
108
+ 'USD₮': '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
109
+ USDC: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
140
110
  },
141
111
  44787: {
142
- [TokenSymbol.BridgedEUROC]: '0x6e673502c5b55F3169657C004e5797fFE5be6653',
143
- [TokenSymbol.BridgedUSDC]: '0x87D61dA3d668797786D73BC674F053f87111570d',
144
- [TokenSymbol.cAUD]: '0x84CBD49F5aE07632B6B88094E81Cce8236125Fe0',
145
- [TokenSymbol.cCAD]: '0x02EC9E0D2Fd73e89168C1709e542a48f58d7B133',
146
- [TokenSymbol.cCHF]: '0xADC57C2C34aD021Df4421230a6532F4e2E1dCE4F',
147
- [TokenSymbol.cCOP]: '0xe6A57340f0df6E020c1c0a80bC6E13048601f0d4',
148
- [TokenSymbol.CELO]: '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',
149
- [TokenSymbol.cEUR]: '0x10c892A6EC43a53E45D0B916B4b7D383B1b78C0F',
150
- [TokenSymbol.cGBP]: '0x47f2Fb88105155a18c390641C8a73f1402B2BB12',
151
- [TokenSymbol.cGHS]: '0x295B66bE7714458Af45E6A6Ea142A5358A6cA375',
152
- [TokenSymbol.cJPY]: '0x2E51F41238cA36a421C9B8b3e189e8Cc7653FE67',
153
- [TokenSymbol.cKES]: '0x1E0433C1769271ECcF4CFF9FDdD515eefE6CdF92',
154
- [TokenSymbol.cNGN]: '0x4a5b03B8b16122D330306c65e4CA4BC5Dd6511d0',
155
- [TokenSymbol.cREAL]: '0xE4D517785D091D3c54818832dB6094bcc2744545',
156
- [TokenSymbol.cUSD]: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1',
157
- [TokenSymbol.cZAR]: '0x1e5b44015Ff90610b54000DAad31C89b3284df4d',
158
- [TokenSymbol.eXOF]: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
159
- [TokenSymbol.PUSO]: '0x5E0E3c9419C42a1B04e2525991FB1A2C467AB8bF',
160
- [TokenSymbol.USDC]: '0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B',
161
- [TokenSymbol.USDT]: '0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287',
112
+ BridgedEUROC: '0x6e673502c5b55F3169657C004e5797fFE5be6653',
113
+ BridgedUSDC: '0x87D61dA3d668797786D73BC674F053f87111570d',
114
+ cAUD: '0x84CBD49F5aE07632B6B88094E81Cce8236125Fe0',
115
+ cCAD: '0x02EC9E0D2Fd73e89168C1709e542a48f58d7B133',
116
+ cCHF: '0xADC57C2C34aD021Df4421230a6532F4e2E1dCE4F',
117
+ cCOP: '0xe6A57340f0df6E020c1c0a80bC6E13048601f0d4',
118
+ CELO: '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',
119
+ cEUR: '0x10c892A6EC43a53E45D0B916B4b7D383B1b78C0F',
120
+ cGBP: '0x47f2Fb88105155a18c390641C8a73f1402B2BB12',
121
+ cGHS: '0x295B66bE7714458Af45E6A6Ea142A5358A6cA375',
122
+ cJPY: '0x2E51F41238cA36a421C9B8b3e189e8Cc7653FE67',
123
+ cKES: '0x1E0433C1769271ECcF4CFF9FDdD515eefE6CdF92',
124
+ cNGN: '0x4a5b03B8b16122D330306c65e4CA4BC5Dd6511d0',
125
+ cREAL: '0xE4D517785D091D3c54818832dB6094bcc2744545',
126
+ cUSD: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1',
127
+ cZAR: '0x1e5b44015Ff90610b54000DAad31C89b3284df4d',
128
+ eXOF: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
129
+ PUSO: '0x5E0E3c9419C42a1B04e2525991FB1A2C467AB8bF',
130
+ USDC: '0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B',
131
+ USDT: '0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287',
162
132
  },
163
133
  11142220: {
164
- [TokenSymbol.axlEUROC]: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
165
- [TokenSymbol.axlUSDC]: '0x6285De9DA7C1d329C0451628638908915002d9d1',
166
- [TokenSymbol.cAUD]: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
167
- [TokenSymbol.cCAD]: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
168
- [TokenSymbol.cCHF]: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
169
- [TokenSymbol.cCOP]: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
170
- [TokenSymbol.CELO]: '0x471EcE3750Da237f93B8E339c536989b8978a438',
171
- [TokenSymbol.cEUR]: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
172
- [TokenSymbol.cGBP]: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
173
- [TokenSymbol.cGHS]: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
174
- [TokenSymbol.cJPY]: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
175
- [TokenSymbol.cKES]: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
176
- [TokenSymbol.cNGN]: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
177
- [TokenSymbol.cREAL]: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
178
- [TokenSymbol.cUSD]: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
179
- [TokenSymbol.cZAR]: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
180
- [TokenSymbol.eXOF]: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
181
- [TokenSymbol.PUSO]: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
182
- [TokenSymbol.USDC]: '0xBD63e46Be8eF8D89dFde3054E7b9ECAEb8Ad83e9',
183
- [TokenSymbol.USDT]: '0xCA53d9b72646B254d29EBeEb4c5cde7BB4bb59e0',
134
+ axlEUROC: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
135
+ axlUSDC: '0x6285De9DA7C1d329C0451628638908915002d9d1',
136
+ cAUD: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
137
+ cCAD: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
138
+ cCHF: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
139
+ cCOP: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
140
+ CELO: '0x471EcE3750Da237f93B8E339c536989b8978a438',
141
+ cEUR: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
142
+ cGBP: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
143
+ cGHS: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
144
+ cJPY: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
145
+ cKES: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
146
+ cNGN: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
147
+ cREAL: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
148
+ cUSD: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
149
+ cZAR: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
150
+ eXOF: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
151
+ PUSO: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
152
+ USDC: '0xBD63e46Be8eF8D89dFde3054E7b9ECAEb8Ad83e9',
153
+ USDT: '0xCA53d9b72646B254d29EBeEb4c5cde7BB4bb59e0',
184
154
  },
185
155
  };
186
156
  /**
187
157
  * Helper function to get token address by symbol for a specific chain
188
- * @param chainId - The chain ID
189
158
  * @param symbol - The token symbol
159
+ * @param chainId - The chain ID
190
160
  * @returns The token address or undefined if not found
191
161
  */
192
- function getTokenAddress(chainId, symbol) {
162
+ function getTokenAddress(symbol, chainId) {
193
163
  var _a;
194
164
  return (_a = exports.TOKEN_ADDRESSES_BY_CHAIN[chainId]) === null || _a === void 0 ? void 0 : _a[symbol];
195
165
  }
196
166
  exports.getTokenAddress = getTokenAddress;
197
167
  /**
198
168
  * Helper function to find a token by symbol in the cached tokens
199
- * @param chainId - The chain ID
200
169
  * @param symbol - The token symbol to search for
170
+ * @param chainId - The chain ID
201
171
  * @returns The token object or undefined if not found
202
172
  */
203
- function findTokenBySymbol(chainId, symbol) {
173
+ function findTokenBySymbol(symbol, chainId) {
204
174
  const tokens = getCachedTokensSync(chainId);
205
175
  return tokens.find((token) => token.symbol === symbol);
206
176
  }
@@ -2,6 +2,7 @@ import { IBroker } from '@mento-protocol/mento-core-ts';
2
2
  import { BigNumber, BigNumberish, providers, Signer } from 'ethers';
3
3
  import { Address, TradingLimit, TradingLimitsConfig, TradingLimitsState } from './interfaces';
4
4
  import { Identifier } from './constants/addresses';
5
+ import { TokenSymbol } from './constants/tokens';
5
6
  import { TradablePairWithSpread } from './constants/tradablePairs';
6
7
  export interface Exchange {
7
8
  providerAddr: Address;
@@ -14,7 +15,7 @@ export interface Asset {
14
15
  }
15
16
  export interface Token {
16
17
  address: Address;
17
- symbol: string;
18
+ symbol: TokenSymbol;
18
19
  name: string;
19
20
  decimals: number;
20
21
  }
@@ -1,4 +1,5 @@
1
1
  import { BigNumberish, providers, Signer } from 'ethers';
2
+ import { TokenSymbol } from './constants';
2
3
  import { Address } from './interfaces';
3
4
  import { TradablePair } from './mento';
4
5
  /**
@@ -25,7 +26,7 @@ export declare function validateSignerOrProvider(signerOrProvider: Signer | prov
25
26
  * @param signerOrProvider an ethers provider or signer
26
27
  * @returns the symbol of the erc20 token
27
28
  */
28
- export declare function getSymbolFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<string>;
29
+ export declare function getSymbolFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<TokenSymbol>;
29
30
  /**
30
31
  * Returns the name of an erc20 token
31
32
  * @param tokenAddr the address of the erc20 token
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- // Generated on 2025-10-02T13:52:20.427Z
2
+ // Generated on 2025-10-02T13:54:45.876Z
3
3
  export const tokens11142220 = [
4
4
  {
5
5
  "address": "0x9883d788d40F1C7595a780ed881Ea833C7743B4B",
@@ -19,31 +19,7 @@ export declare function getCachedTokensSync(chainId: number): readonly Token[];
19
19
  * Type-safe token symbols available across all chains
20
20
  * Note: Not all tokens are available on all chains - check TOKEN_ADDRESSES_BY_CHAIN
21
21
  */
22
- export declare enum TokenSymbol {
23
- BridgedEUROC = "BridgedEUROC",
24
- BridgedUSDC = "BridgedUSDC",
25
- CELO = "CELO",
26
- PUSO = "PUSO",
27
- USDC = "USDC",
28
- USDT = "USDT",
29
- USD_ = "USD\u20AE",
30
- axlEUROC = "axlEUROC",
31
- axlUSDC = "axlUSDC",
32
- cAUD = "cAUD",
33
- cCAD = "cCAD",
34
- cCHF = "cCHF",
35
- cCOP = "cCOP",
36
- cEUR = "cEUR",
37
- cGBP = "cGBP",
38
- cGHS = "cGHS",
39
- cJPY = "cJPY",
40
- cKES = "cKES",
41
- cNGN = "cNGN",
42
- cREAL = "cREAL",
43
- cUSD = "cUSD",
44
- cZAR = "cZAR",
45
- eXOF = "eXOF"
46
- }
22
+ export type TokenSymbol = 'BridgedEUROC' | 'BridgedUSDC' | 'CELO' | 'PUSO' | 'USDC' | 'USDT' | 'USD₮' | 'axlEUROC' | 'axlUSDC' | 'cAUD' | 'cCAD' | 'cCHF' | 'cCOP' | 'cEUR' | 'cGBP' | 'cGHS' | 'cJPY' | 'cKES' | 'cNGN' | 'cREAL' | 'cUSD' | 'cZAR' | 'eXOF';
47
23
  /**
48
24
  * Token addresses mapped by chain ID and symbol
49
25
  * Use this for type-safe token address lookups
@@ -53,15 +29,15 @@ export declare const TOKEN_ADDRESSES_BY_CHAIN: {
53
29
  };
54
30
  /**
55
31
  * Helper function to get token address by symbol for a specific chain
56
- * @param chainId - The chain ID
57
32
  * @param symbol - The token symbol
33
+ * @param chainId - The chain ID
58
34
  * @returns The token address or undefined if not found
59
35
  */
60
- export declare function getTokenAddress(chainId: number, symbol: TokenSymbol): string | undefined;
36
+ export declare function getTokenAddress(symbol: TokenSymbol, chainId: number): string | undefined;
61
37
  /**
62
38
  * Helper function to find a token by symbol in the cached tokens
63
- * @param chainId - The chain ID
64
39
  * @param symbol - The token symbol to search for
40
+ * @param chainId - The chain ID
65
41
  * @returns The token object or undefined if not found
66
42
  */
67
- export declare function findTokenBySymbol(chainId: number, symbol: string): Token | undefined;
43
+ export declare function findTokenBySymbol(symbol: string, chainId: number): Token | undefined;
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- // Generated on 2025-10-02T13:52:20.430Z
2
+ // Generated on 2025-10-02T13:54:45.878Z
3
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -53,125 +53,95 @@ export function getCachedTokensSync(chainId) {
53
53
  `Supported chains: 42220 (Celo), 44787 (Alfajores), 11142220 (Celo Sepolia)`);
54
54
  }
55
55
  }
56
- /**
57
- * Type-safe token symbols available across all chains
58
- * Note: Not all tokens are available on all chains - check TOKEN_ADDRESSES_BY_CHAIN
59
- */
60
- export var TokenSymbol;
61
- (function (TokenSymbol) {
62
- TokenSymbol["BridgedEUROC"] = "BridgedEUROC";
63
- TokenSymbol["BridgedUSDC"] = "BridgedUSDC";
64
- TokenSymbol["CELO"] = "CELO";
65
- TokenSymbol["PUSO"] = "PUSO";
66
- TokenSymbol["USDC"] = "USDC";
67
- TokenSymbol["USDT"] = "USDT";
68
- TokenSymbol["USD_"] = "USD\u20AE";
69
- TokenSymbol["axlEUROC"] = "axlEUROC";
70
- TokenSymbol["axlUSDC"] = "axlUSDC";
71
- TokenSymbol["cAUD"] = "cAUD";
72
- TokenSymbol["cCAD"] = "cCAD";
73
- TokenSymbol["cCHF"] = "cCHF";
74
- TokenSymbol["cCOP"] = "cCOP";
75
- TokenSymbol["cEUR"] = "cEUR";
76
- TokenSymbol["cGBP"] = "cGBP";
77
- TokenSymbol["cGHS"] = "cGHS";
78
- TokenSymbol["cJPY"] = "cJPY";
79
- TokenSymbol["cKES"] = "cKES";
80
- TokenSymbol["cNGN"] = "cNGN";
81
- TokenSymbol["cREAL"] = "cREAL";
82
- TokenSymbol["cUSD"] = "cUSD";
83
- TokenSymbol["cZAR"] = "cZAR";
84
- TokenSymbol["eXOF"] = "eXOF";
85
- })(TokenSymbol || (TokenSymbol = {}));
86
56
  /**
87
57
  * Token addresses mapped by chain ID and symbol
88
58
  * Use this for type-safe token address lookups
89
59
  */
90
60
  export const TOKEN_ADDRESSES_BY_CHAIN = {
91
61
  42220: {
92
- [TokenSymbol.axlEUROC]: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
93
- [TokenSymbol.axlUSDC]: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
94
- [TokenSymbol.cAUD]: '0x7175504C455076F15c04A2F90a8e352281F492F9',
95
- [TokenSymbol.cCAD]: '0xff4Ab19391af240c311c54200a492233052B6325',
96
- [TokenSymbol.cCHF]: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
97
- [TokenSymbol.cCOP]: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
98
- [TokenSymbol.CELO]: '0x471EcE3750Da237f93B8E339c536989b8978a438',
99
- [TokenSymbol.cEUR]: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
100
- [TokenSymbol.cGBP]: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
101
- [TokenSymbol.cGHS]: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
102
- [TokenSymbol.cJPY]: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
103
- [TokenSymbol.cKES]: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
104
- [TokenSymbol.cNGN]: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
105
- [TokenSymbol.cREAL]: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
106
- [TokenSymbol.cUSD]: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
107
- [TokenSymbol.cZAR]: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
108
- [TokenSymbol.eXOF]: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
109
- [TokenSymbol.PUSO]: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
110
- [TokenSymbol.USD_]: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
111
- [TokenSymbol.USDC]: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
62
+ axlEUROC: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
63
+ axlUSDC: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
64
+ cAUD: '0x7175504C455076F15c04A2F90a8e352281F492F9',
65
+ cCAD: '0xff4Ab19391af240c311c54200a492233052B6325',
66
+ cCHF: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
67
+ cCOP: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
68
+ CELO: '0x471EcE3750Da237f93B8E339c536989b8978a438',
69
+ cEUR: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
70
+ cGBP: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
71
+ cGHS: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
72
+ cJPY: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
73
+ cKES: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
74
+ cNGN: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
75
+ cREAL: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
76
+ cUSD: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
77
+ cZAR: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
78
+ eXOF: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
79
+ PUSO: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
80
+ 'USD₮': '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
81
+ USDC: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
112
82
  },
113
83
  44787: {
114
- [TokenSymbol.BridgedEUROC]: '0x6e673502c5b55F3169657C004e5797fFE5be6653',
115
- [TokenSymbol.BridgedUSDC]: '0x87D61dA3d668797786D73BC674F053f87111570d',
116
- [TokenSymbol.cAUD]: '0x84CBD49F5aE07632B6B88094E81Cce8236125Fe0',
117
- [TokenSymbol.cCAD]: '0x02EC9E0D2Fd73e89168C1709e542a48f58d7B133',
118
- [TokenSymbol.cCHF]: '0xADC57C2C34aD021Df4421230a6532F4e2E1dCE4F',
119
- [TokenSymbol.cCOP]: '0xe6A57340f0df6E020c1c0a80bC6E13048601f0d4',
120
- [TokenSymbol.CELO]: '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',
121
- [TokenSymbol.cEUR]: '0x10c892A6EC43a53E45D0B916B4b7D383B1b78C0F',
122
- [TokenSymbol.cGBP]: '0x47f2Fb88105155a18c390641C8a73f1402B2BB12',
123
- [TokenSymbol.cGHS]: '0x295B66bE7714458Af45E6A6Ea142A5358A6cA375',
124
- [TokenSymbol.cJPY]: '0x2E51F41238cA36a421C9B8b3e189e8Cc7653FE67',
125
- [TokenSymbol.cKES]: '0x1E0433C1769271ECcF4CFF9FDdD515eefE6CdF92',
126
- [TokenSymbol.cNGN]: '0x4a5b03B8b16122D330306c65e4CA4BC5Dd6511d0',
127
- [TokenSymbol.cREAL]: '0xE4D517785D091D3c54818832dB6094bcc2744545',
128
- [TokenSymbol.cUSD]: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1',
129
- [TokenSymbol.cZAR]: '0x1e5b44015Ff90610b54000DAad31C89b3284df4d',
130
- [TokenSymbol.eXOF]: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
131
- [TokenSymbol.PUSO]: '0x5E0E3c9419C42a1B04e2525991FB1A2C467AB8bF',
132
- [TokenSymbol.USDC]: '0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B',
133
- [TokenSymbol.USDT]: '0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287',
84
+ BridgedEUROC: '0x6e673502c5b55F3169657C004e5797fFE5be6653',
85
+ BridgedUSDC: '0x87D61dA3d668797786D73BC674F053f87111570d',
86
+ cAUD: '0x84CBD49F5aE07632B6B88094E81Cce8236125Fe0',
87
+ cCAD: '0x02EC9E0D2Fd73e89168C1709e542a48f58d7B133',
88
+ cCHF: '0xADC57C2C34aD021Df4421230a6532F4e2E1dCE4F',
89
+ cCOP: '0xe6A57340f0df6E020c1c0a80bC6E13048601f0d4',
90
+ CELO: '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',
91
+ cEUR: '0x10c892A6EC43a53E45D0B916B4b7D383B1b78C0F',
92
+ cGBP: '0x47f2Fb88105155a18c390641C8a73f1402B2BB12',
93
+ cGHS: '0x295B66bE7714458Af45E6A6Ea142A5358A6cA375',
94
+ cJPY: '0x2E51F41238cA36a421C9B8b3e189e8Cc7653FE67',
95
+ cKES: '0x1E0433C1769271ECcF4CFF9FDdD515eefE6CdF92',
96
+ cNGN: '0x4a5b03B8b16122D330306c65e4CA4BC5Dd6511d0',
97
+ cREAL: '0xE4D517785D091D3c54818832dB6094bcc2744545',
98
+ cUSD: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1',
99
+ cZAR: '0x1e5b44015Ff90610b54000DAad31C89b3284df4d',
100
+ eXOF: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
101
+ PUSO: '0x5E0E3c9419C42a1B04e2525991FB1A2C467AB8bF',
102
+ USDC: '0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B',
103
+ USDT: '0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287',
134
104
  },
135
105
  11142220: {
136
- [TokenSymbol.axlEUROC]: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
137
- [TokenSymbol.axlUSDC]: '0x6285De9DA7C1d329C0451628638908915002d9d1',
138
- [TokenSymbol.cAUD]: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
139
- [TokenSymbol.cCAD]: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
140
- [TokenSymbol.cCHF]: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
141
- [TokenSymbol.cCOP]: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
142
- [TokenSymbol.CELO]: '0x471EcE3750Da237f93B8E339c536989b8978a438',
143
- [TokenSymbol.cEUR]: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
144
- [TokenSymbol.cGBP]: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
145
- [TokenSymbol.cGHS]: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
146
- [TokenSymbol.cJPY]: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
147
- [TokenSymbol.cKES]: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
148
- [TokenSymbol.cNGN]: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
149
- [TokenSymbol.cREAL]: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
150
- [TokenSymbol.cUSD]: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
151
- [TokenSymbol.cZAR]: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
152
- [TokenSymbol.eXOF]: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
153
- [TokenSymbol.PUSO]: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
154
- [TokenSymbol.USDC]: '0xBD63e46Be8eF8D89dFde3054E7b9ECAEb8Ad83e9',
155
- [TokenSymbol.USDT]: '0xCA53d9b72646B254d29EBeEb4c5cde7BB4bb59e0',
106
+ axlEUROC: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
107
+ axlUSDC: '0x6285De9DA7C1d329C0451628638908915002d9d1',
108
+ cAUD: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
109
+ cCAD: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
110
+ cCHF: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
111
+ cCOP: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
112
+ CELO: '0x471EcE3750Da237f93B8E339c536989b8978a438',
113
+ cEUR: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
114
+ cGBP: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
115
+ cGHS: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
116
+ cJPY: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
117
+ cKES: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
118
+ cNGN: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
119
+ cREAL: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
120
+ cUSD: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
121
+ cZAR: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
122
+ eXOF: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
123
+ PUSO: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
124
+ USDC: '0xBD63e46Be8eF8D89dFde3054E7b9ECAEb8Ad83e9',
125
+ USDT: '0xCA53d9b72646B254d29EBeEb4c5cde7BB4bb59e0',
156
126
  },
157
127
  };
158
128
  /**
159
129
  * Helper function to get token address by symbol for a specific chain
160
- * @param chainId - The chain ID
161
130
  * @param symbol - The token symbol
131
+ * @param chainId - The chain ID
162
132
  * @returns The token address or undefined if not found
163
133
  */
164
- export function getTokenAddress(chainId, symbol) {
134
+ export function getTokenAddress(symbol, chainId) {
165
135
  var _a;
166
136
  return (_a = TOKEN_ADDRESSES_BY_CHAIN[chainId]) === null || _a === void 0 ? void 0 : _a[symbol];
167
137
  }
168
138
  /**
169
139
  * Helper function to find a token by symbol in the cached tokens
170
- * @param chainId - The chain ID
171
140
  * @param symbol - The token symbol to search for
141
+ * @param chainId - The chain ID
172
142
  * @returns The token object or undefined if not found
173
143
  */
174
- export function findTokenBySymbol(chainId, symbol) {
144
+ export function findTokenBySymbol(symbol, chainId) {
175
145
  const tokens = getCachedTokensSync(chainId);
176
146
  return tokens.find((token) => token.symbol === symbol);
177
147
  }
@@ -2,6 +2,7 @@ import { IBroker } from '@mento-protocol/mento-core-ts';
2
2
  import { BigNumber, BigNumberish, providers, Signer } from 'ethers';
3
3
  import { Address, TradingLimit, TradingLimitsConfig, TradingLimitsState } from './interfaces';
4
4
  import { Identifier } from './constants/addresses';
5
+ import { TokenSymbol } from './constants/tokens';
5
6
  import { TradablePairWithSpread } from './constants/tradablePairs';
6
7
  export interface Exchange {
7
8
  providerAddr: Address;
@@ -14,7 +15,7 @@ export interface Asset {
14
15
  }
15
16
  export interface Token {
16
17
  address: Address;
17
- symbol: string;
18
+ symbol: TokenSymbol;
18
19
  name: string;
19
20
  decimals: number;
20
21
  }
@@ -1,4 +1,5 @@
1
1
  import { BigNumberish, providers, Signer } from 'ethers';
2
+ import { TokenSymbol } from './constants';
2
3
  import { Address } from './interfaces';
3
4
  import { TradablePair } from './mento';
4
5
  /**
@@ -25,7 +26,7 @@ export declare function validateSignerOrProvider(signerOrProvider: Signer | prov
25
26
  * @param signerOrProvider an ethers provider or signer
26
27
  * @returns the symbol of the erc20 token
27
28
  */
28
- export declare function getSymbolFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<string>;
29
+ export declare function getSymbolFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<TokenSymbol>;
29
30
  /**
30
31
  * Returns the name of an erc20 token
31
32
  * @param tokenAddr the address of the erc20 token
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": "1.13.0",
4
+ "version": "1.15.0",
5
5
  "license": "MIT",
6
6
  "author": "Mento Labs",
7
7
  "keywords": [