@mento-protocol/mento-sdk 1.17.1-beta.0 → 1.18.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.
Files changed (118) hide show
  1. package/README.md +19 -19
  2. package/package.json +1 -1
  3. package/dist/cjs/ChainClient.d.ts +0 -9
  4. package/dist/cjs/ChainClient.js +0 -58
  5. package/dist/cjs/TestChainClient.d.ts +0 -7
  6. package/dist/cjs/TestChainClient.js +0 -41
  7. package/dist/cjs/constants/addresses.d.ts +0 -4
  8. package/dist/cjs/constants/addresses.js +0 -59
  9. package/dist/cjs/constants/currencies.d.ts +0 -5
  10. package/dist/cjs/constants/currencies.js +0 -29
  11. package/dist/cjs/constants/index.d.ts +0 -4
  12. package/dist/cjs/constants/index.js +0 -20
  13. package/dist/cjs/constants/tokens.11142220.d.ts +0 -2
  14. package/dist/cjs/constants/tokens.11142220.js +0 -128
  15. package/dist/cjs/constants/tokens.42220.d.ts +0 -2
  16. package/dist/cjs/constants/tokens.42220.js +0 -128
  17. package/dist/cjs/constants/tokens.d.ts +0 -65
  18. package/dist/cjs/constants/tokens.js +0 -170
  19. package/dist/cjs/constants/tradablePairs.11142220.d.ts +0 -2
  20. package/dist/cjs/constants/tradablePairs.11142220.js +0 -7391
  21. package/dist/cjs/constants/tradablePairs.42220.d.ts +0 -2
  22. package/dist/cjs/constants/tradablePairs.42220.js +0 -7391
  23. package/dist/cjs/constants/tradablePairs.d.ts +0 -16
  24. package/dist/cjs/constants/tradablePairs.js +0 -53
  25. package/dist/cjs/enums/chainId.d.ts +0 -4
  26. package/dist/cjs/enums/chainId.js +0 -8
  27. package/dist/cjs/enums/index.d.ts +0 -3
  28. package/dist/cjs/enums/index.js +0 -19
  29. package/dist/cjs/enums/proposalState.d.ts +0 -10
  30. package/dist/cjs/enums/proposalState.js +0 -14
  31. package/dist/cjs/enums/tradingMode.d.ts +0 -17
  32. package/dist/cjs/enums/tradingMode.js +0 -21
  33. package/dist/cjs/governance.d.ts +0 -62
  34. package/dist/cjs/governance.js +0 -151
  35. package/dist/cjs/index.d.ts +0 -7
  36. package/dist/cjs/index.js +0 -23
  37. package/dist/cjs/interfaces/IChainClient.d.ts +0 -6
  38. package/dist/cjs/interfaces/IChainClient.js +0 -2
  39. package/dist/cjs/interfaces/index.d.ts +0 -4
  40. package/dist/cjs/interfaces/index.js +0 -20
  41. package/dist/cjs/interfaces/tradingLimit.d.ts +0 -7
  42. package/dist/cjs/interfaces/tradingLimit.js +0 -2
  43. package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +0 -10
  44. package/dist/cjs/interfaces/tradingLimitsConfig.js +0 -2
  45. package/dist/cjs/interfaces/tradingLimitsState.d.ts +0 -9
  46. package/dist/cjs/interfaces/tradingLimitsState.js +0 -2
  47. package/dist/cjs/limits.d.ts +0 -33
  48. package/dist/cjs/limits.js +0 -130
  49. package/dist/cjs/mento.d.ts +0 -287
  50. package/dist/cjs/mento.js +0 -699
  51. package/dist/cjs/routeUtils.d.ts +0 -304
  52. package/dist/cjs/routeUtils.js +0 -372
  53. package/dist/cjs/types/contractAddressMap.d.ts +0 -4
  54. package/dist/cjs/types/contractAddressMap.js +0 -2
  55. package/dist/cjs/types/contractAddresses.d.ts +0 -23
  56. package/dist/cjs/types/contractAddresses.js +0 -2
  57. package/dist/cjs/types/index.d.ts +0 -2
  58. package/dist/cjs/types/index.js +0 -18
  59. package/dist/cjs/utils.d.ts +0 -80
  60. package/dist/cjs/utils.js +0 -177
  61. package/dist/esm/ChainClient.d.ts +0 -9
  62. package/dist/esm/ChainClient.js +0 -54
  63. package/dist/esm/TestChainClient.d.ts +0 -7
  64. package/dist/esm/TestChainClient.js +0 -37
  65. package/dist/esm/constants/addresses.d.ts +0 -4
  66. package/dist/esm/constants/addresses.js +0 -55
  67. package/dist/esm/constants/currencies.d.ts +0 -5
  68. package/dist/esm/constants/currencies.js +0 -26
  69. package/dist/esm/constants/index.d.ts +0 -4
  70. package/dist/esm/constants/index.js +0 -4
  71. package/dist/esm/constants/tokens.11142220.d.ts +0 -2
  72. package/dist/esm/constants/tokens.11142220.js +0 -125
  73. package/dist/esm/constants/tokens.42220.d.ts +0 -2
  74. package/dist/esm/constants/tokens.42220.js +0 -125
  75. package/dist/esm/constants/tokens.d.ts +0 -65
  76. package/dist/esm/constants/tokens.js +0 -142
  77. package/dist/esm/constants/tradablePairs.11142220.d.ts +0 -2
  78. package/dist/esm/constants/tradablePairs.11142220.js +0 -7388
  79. package/dist/esm/constants/tradablePairs.42220.d.ts +0 -2
  80. package/dist/esm/constants/tradablePairs.42220.js +0 -7388
  81. package/dist/esm/constants/tradablePairs.d.ts +0 -16
  82. package/dist/esm/constants/tradablePairs.js +0 -26
  83. package/dist/esm/enums/chainId.d.ts +0 -4
  84. package/dist/esm/enums/chainId.js +0 -5
  85. package/dist/esm/enums/index.d.ts +0 -3
  86. package/dist/esm/enums/index.js +0 -3
  87. package/dist/esm/enums/proposalState.d.ts +0 -10
  88. package/dist/esm/enums/proposalState.js +0 -11
  89. package/dist/esm/enums/tradingMode.d.ts +0 -17
  90. package/dist/esm/enums/tradingMode.js +0 -18
  91. package/dist/esm/governance.d.ts +0 -62
  92. package/dist/esm/governance.js +0 -147
  93. package/dist/esm/index.d.ts +0 -7
  94. package/dist/esm/index.js +0 -7
  95. package/dist/esm/interfaces/IChainClient.d.ts +0 -6
  96. package/dist/esm/interfaces/IChainClient.js +0 -1
  97. package/dist/esm/interfaces/index.d.ts +0 -4
  98. package/dist/esm/interfaces/index.js +0 -4
  99. package/dist/esm/interfaces/tradingLimit.d.ts +0 -7
  100. package/dist/esm/interfaces/tradingLimit.js +0 -1
  101. package/dist/esm/interfaces/tradingLimitsConfig.d.ts +0 -10
  102. package/dist/esm/interfaces/tradingLimitsConfig.js +0 -1
  103. package/dist/esm/interfaces/tradingLimitsState.d.ts +0 -9
  104. package/dist/esm/interfaces/tradingLimitsState.js +0 -1
  105. package/dist/esm/limits.d.ts +0 -33
  106. package/dist/esm/limits.js +0 -123
  107. package/dist/esm/mento.d.ts +0 -287
  108. package/dist/esm/mento.js +0 -671
  109. package/dist/esm/routeUtils.d.ts +0 -304
  110. package/dist/esm/routeUtils.js +0 -362
  111. package/dist/esm/types/contractAddressMap.d.ts +0 -4
  112. package/dist/esm/types/contractAddressMap.js +0 -1
  113. package/dist/esm/types/contractAddresses.d.ts +0 -23
  114. package/dist/esm/types/contractAddresses.js +0 -1
  115. package/dist/esm/types/index.d.ts +0 -2
  116. package/dist/esm/types/index.js +0 -2
  117. package/dist/esm/utils.d.ts +0 -80
  118. package/dist/esm/utils.js +0 -162
@@ -1,23 +0,0 @@
1
- export type ContractAddresses = {
2
- GovernanceFactory: string;
3
- Airgrab: string;
4
- Emission: string;
5
- MentoGovernor: string;
6
- MentoToken: string;
7
- TimelockController: string;
8
- Locking: string;
9
- MentoRouter: string;
10
- Broker: string;
11
- BiPoolManager: string;
12
- BreakerBox: string;
13
- Reserve: string;
14
- ConstantSumPricingModule: string;
15
- ConstantProductPricingModule: string;
16
- MedianDeltaBreaker: string;
17
- ValueDeltaBreaker: string;
18
- StableToken: string;
19
- StableTokenEUR: string;
20
- StableTokenBRL: string;
21
- StableTokenXOF: string;
22
- SortedOracles: string;
23
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- export * from './contractAddresses';
2
- export * from './contractAddressMap';
@@ -1,18 +0,0 @@
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("./contractAddresses"), exports);
18
- __exportStar(require("./contractAddressMap"), exports);
@@ -1,80 +0,0 @@
1
- import { BigNumberish, providers, Signer } from 'ethers';
2
- import { TokenSymbol } from './constants';
3
- import { Address } from './interfaces';
4
- import { Token, TradablePair } from './mento';
5
- /**
6
- * Gets the chain ID from a signer or provider
7
- * @param signerOrProvider an ethers provider or signer
8
- * @returns the chain ID
9
- */
10
- export declare function getChainId(signerOrProvider: Signer | providers.Provider): Promise<number>;
11
- /**
12
- * Ensures that given signer is truly a a connected signer
13
- * @param signer an ethers signer
14
- * @throws if signer is invalid or not connected
15
- */
16
- export declare function validateSigner(signer: Signer): void;
17
- /**
18
- * Ensures that given signerOrProvider is truly a provider or a connected signer
19
- * @param signerOrProvider an ethers provider or signer
20
- * @throws if signerOrProvider is invalid or not connected
21
- */
22
- export declare function validateSignerOrProvider(signerOrProvider: Signer | providers.Provider): void;
23
- /**
24
- * Returns the symbol of an erc20 token
25
- * @param tokenAddr the address of the erc20 token
26
- * @param signerOrProvider an ethers provider or signer
27
- * @returns the symbol of the erc20 token
28
- */
29
- export declare function getSymbolFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<TokenSymbol>;
30
- /**
31
- * Returns the name of an erc20 token
32
- * @param tokenAddr the address of the erc20 token
33
- * @param signerOrProvider an ethers provider or signer
34
- * @returns the name of the erc20 token
35
- */
36
- export declare function getNameFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<string>;
37
- /**
38
- * Returns the decimals of an erc20 token
39
- * @param tokenAddr the address of the erc20 token
40
- * @param signerOrProvider an ethers provider or signer
41
- * @returns the decimals of the erc20 token
42
- */
43
- export declare function getDecimalsFromTokenAddress(tokenAddr: Address, signerOrProvider: Signer | providers.Provider): Promise<number>;
44
- /**
45
- * Returns a populated tx obj for increasing the allowance of a spender for a given erc20 token by a given amount
46
- * @param tokenAddr the address of the erc20 token
47
- * @param spender the address of the spender
48
- * @param amount the amount to increase the allowance by
49
- * @param signerOrProvider an ethers signer or provider
50
- * @returns the populated TransactionRequest object
51
- */
52
- export declare function increaseAllowance(tokenAddr: string, spender: string, amount: BigNumberish, signerOrProvider: Signer | providers.Provider): Promise<providers.TransactionRequest>;
53
- /**
54
- * Find a token address by its symbol from tradable pairs
55
- * @param pairs array of tradable pairs to search through
56
- * @param symbol the token symbol to find (case-insensitive)
57
- * @returns the token address if found, null otherwise
58
- */
59
- export declare function findTokenAddressBySymbolInTradablePairs(symbol: TokenSymbol, pairs: readonly TradablePair[]): Address | null;
60
- export declare function capitalize(str: string): string; /**
61
- * Helper function to get token address by symbol for a specific chain
62
- * @param symbol - The token symbol
63
- * @param chainId - The chain ID
64
- * @returns The token address or undefined if not found
65
- */
66
- export declare function getTokenAddress(symbol: TokenSymbol, chainId: number): string | undefined;
67
- /**
68
- * Helper function to find a token by symbol in the cached tokens
69
- * @param symbol - The token symbol to search for
70
- * @param chainId - The chain ID
71
- * @returns The token object or undefined if not found
72
- */
73
- export declare function findTokenBySymbol(symbol: string, chainId: number): Token | undefined;
74
- /**
75
- * Computes the rate feed ID from a rate feed identifier string.
76
- * This follows the Solidity formula: address(uint160(uint256(keccak256(abi.encodePacked(rateFeed)))))
77
- * @param rateFeed the rate feed identifier string (e.g., "EURUSD", "relayed:COPUSD")
78
- * @returns the computed rate feed address
79
- */
80
- export declare function toRateFeedId(rateFeed: string): Address;
package/dist/cjs/utils.js DELETED
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.toRateFeedId = exports.findTokenBySymbol = exports.getTokenAddress = exports.capitalize = exports.findTokenAddressBySymbolInTradablePairs = exports.increaseAllowance = exports.getDecimalsFromTokenAddress = exports.getNameFromTokenAddress = exports.getSymbolFromTokenAddress = exports.validateSignerOrProvider = exports.validateSigner = exports.getChainId = void 0;
13
- const ethers_1 = require("ethers");
14
- const tokens_1 = require("./constants/tokens");
15
- /**
16
- * Gets the chain ID from a signer or provider
17
- * @param signerOrProvider an ethers provider or signer
18
- * @returns the chain ID
19
- */
20
- function getChainId(signerOrProvider) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const provider = ethers_1.Signer.isSigner(signerOrProvider)
23
- ? signerOrProvider.provider
24
- : signerOrProvider;
25
- return (yield provider.getNetwork()).chainId;
26
- });
27
- }
28
- exports.getChainId = getChainId;
29
- /**
30
- * Ensures that given signer is truly a a connected signer
31
- * @param signer an ethers signer
32
- * @throws if signer is invalid or not connected
33
- */
34
- function validateSigner(signer) {
35
- if (!ethers_1.Signer.isSigner(signer)) {
36
- throw new Error('A valid signer must be provided');
37
- }
38
- if (!ethers_1.providers.Provider.isProvider(signer.provider)) {
39
- throw new Error('Signer must be connected to a provider');
40
- }
41
- }
42
- exports.validateSigner = validateSigner;
43
- /**
44
- * Ensures that given signerOrProvider is truly a provider or a connected signer
45
- * @param signerOrProvider an ethers provider or signer
46
- * @throws if signerOrProvider is invalid or not connected
47
- */
48
- function validateSignerOrProvider(signerOrProvider) {
49
- const isSigner = ethers_1.Signer.isSigner(signerOrProvider);
50
- const isProvider = ethers_1.providers.Provider.isProvider(signerOrProvider);
51
- if (!isSigner && !isProvider) {
52
- throw new Error('A valid signer or provider must be provided');
53
- }
54
- if (isSigner && !ethers_1.providers.Provider.isProvider(signerOrProvider.provider)) {
55
- throw new Error('Signer must be connected to a provider');
56
- }
57
- }
58
- exports.validateSignerOrProvider = validateSignerOrProvider;
59
- /**
60
- * Returns the symbol of an erc20 token
61
- * @param tokenAddr the address of the erc20 token
62
- * @param signerOrProvider an ethers provider or signer
63
- * @returns the symbol of the erc20 token
64
- */
65
- function getSymbolFromTokenAddress(tokenAddr, signerOrProvider) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const erc20Abi = ['function symbol() external view returns (string memory)'];
68
- const contract = new ethers_1.Contract(tokenAddr, erc20Abi, signerOrProvider);
69
- return contract.symbol();
70
- });
71
- }
72
- exports.getSymbolFromTokenAddress = getSymbolFromTokenAddress;
73
- /**
74
- * Returns the name of an erc20 token
75
- * @param tokenAddr the address of the erc20 token
76
- * @param signerOrProvider an ethers provider or signer
77
- * @returns the name of the erc20 token
78
- */
79
- function getNameFromTokenAddress(tokenAddr, signerOrProvider) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const erc20Abi = ['function name() external view returns (string memory)'];
82
- const contract = new ethers_1.Contract(tokenAddr, erc20Abi, signerOrProvider);
83
- return contract.name();
84
- });
85
- }
86
- exports.getNameFromTokenAddress = getNameFromTokenAddress;
87
- /**
88
- * Returns the decimals of an erc20 token
89
- * @param tokenAddr the address of the erc20 token
90
- * @param signerOrProvider an ethers provider or signer
91
- * @returns the decimals of the erc20 token
92
- */
93
- function getDecimalsFromTokenAddress(tokenAddr, signerOrProvider) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const erc20Abi = ['function decimals() external view returns (uint8)'];
96
- const contract = new ethers_1.Contract(tokenAddr, erc20Abi, signerOrProvider);
97
- return contract.decimals();
98
- });
99
- }
100
- exports.getDecimalsFromTokenAddress = getDecimalsFromTokenAddress;
101
- /**
102
- * Returns a populated tx obj for increasing the allowance of a spender for a given erc20 token by a given amount
103
- * @param tokenAddr the address of the erc20 token
104
- * @param spender the address of the spender
105
- * @param amount the amount to increase the allowance by
106
- * @param signerOrProvider an ethers signer or provider
107
- * @returns the populated TransactionRequest object
108
- */
109
- function increaseAllowance(tokenAddr, spender, amount, signerOrProvider) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const abi = [
112
- 'function increaseAllowance(address spender, uint256 value) external returns (bool)',
113
- ];
114
- // TODO, not all ERC-20 contracts support increaseAllowance
115
- // Add a check for that here
116
- const contract = new ethers_1.Contract(tokenAddr, abi, signerOrProvider);
117
- return yield contract.populateTransaction.increaseAllowance(spender, amount);
118
- });
119
- }
120
- exports.increaseAllowance = increaseAllowance;
121
- /**
122
- * Find a token address by its symbol from tradable pairs
123
- * @param pairs array of tradable pairs to search through
124
- * @param symbol the token symbol to find (case-insensitive)
125
- * @returns the token address if found, null otherwise
126
- */
127
- function findTokenAddressBySymbolInTradablePairs(symbol, pairs) {
128
- var _a, _b;
129
- return ((_b = (_a = pairs
130
- .flatMap((pair) => pair.assets)
131
- .find((asset) => asset.symbol.toLowerCase() === symbol.toLowerCase())) === null || _a === void 0 ? void 0 : _a.address) !== null && _b !== void 0 ? _b : null);
132
- }
133
- exports.findTokenAddressBySymbolInTradablePairs = findTokenAddressBySymbolInTradablePairs;
134
- function capitalize(str) {
135
- return str.charAt(0).toUpperCase() + str.slice(1);
136
- } /**
137
- * Helper function to get token address by symbol for a specific chain
138
- * @param symbol - The token symbol
139
- * @param chainId - The chain ID
140
- * @returns The token address or undefined if not found
141
- */
142
- exports.capitalize = capitalize;
143
- function getTokenAddress(symbol, chainId) {
144
- var _a;
145
- return (_a = tokens_1.TOKEN_ADDRESSES_BY_CHAIN[chainId]) === null || _a === void 0 ? void 0 : _a[symbol];
146
- }
147
- exports.getTokenAddress = getTokenAddress;
148
- /**
149
- * Helper function to find a token by symbol in the cached tokens
150
- * @param symbol - The token symbol to search for
151
- * @param chainId - The chain ID
152
- * @returns The token object or undefined if not found
153
- */
154
- function findTokenBySymbol(symbol, chainId) {
155
- const tokens = (0, tokens_1.getCachedTokensSync)(chainId);
156
- return tokens.find((token) => token.symbol === symbol);
157
- }
158
- exports.findTokenBySymbol = findTokenBySymbol;
159
- /**
160
- * Computes the rate feed ID from a rate feed identifier string.
161
- * This follows the Solidity formula: address(uint160(uint256(keccak256(abi.encodePacked(rateFeed)))))
162
- * @param rateFeed the rate feed identifier string (e.g., "EURUSD", "relayed:COPUSD")
163
- * @returns the computed rate feed address
164
- */
165
- function toRateFeedId(rateFeed) {
166
- // 1. Calculate keccak256 hash
167
- const hashedBytes = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.toUtf8Bytes(rateFeed));
168
- // 2. Convert to BigInt (equivalent to uint256)
169
- const hashAsBigInt = BigInt(hashedBytes);
170
- // 3. Mask to 160 bits (equivalent to uint160)
171
- const maskedToUint160 = hashAsBigInt & ((BigInt(1) << BigInt(160)) - BigInt(1));
172
- // 4. Convert to address (hex string)
173
- const addressHex = '0x' + maskedToUint160.toString(16).padStart(40, '0');
174
- // 5. Return calculated rate feed ID
175
- return addressHex;
176
- }
177
- exports.toRateFeedId = toRateFeedId;
@@ -1,9 +0,0 @@
1
- import { PopulatedTransaction, ethers, providers } from 'ethers';
2
- import { IChainClient } from './interfaces';
3
- export declare class ChainClient implements IChainClient {
4
- private readonly signerOrProvider;
5
- constructor(signerOrProvider: ethers.Signer | providers.Provider);
6
- getSigner(): Promise<ethers.Signer | providers.Provider>;
7
- getChainId(): Promise<number>;
8
- populateTransaction(tx: PopulatedTransaction): Promise<providers.TransactionRequest>;
9
- }
@@ -1,54 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Signer, providers } from 'ethers';
11
- import { validateSignerOrProvider } from './utils';
12
- export class ChainClient {
13
- constructor(signerOrProvider) {
14
- validateSignerOrProvider(signerOrProvider);
15
- this.signerOrProvider = signerOrProvider;
16
- }
17
- getSigner() {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- return this.signerOrProvider;
20
- });
21
- }
22
- getChainId() {
23
- var _a;
24
- return __awaiter(this, void 0, void 0, function* () {
25
- let chainId = 0;
26
- if (Signer.isSigner(this.signerOrProvider)) {
27
- const network = yield ((_a = this.signerOrProvider.provider) === null || _a === void 0 ? void 0 : _a.getNetwork());
28
- if (network) {
29
- chainId = network.chainId;
30
- }
31
- }
32
- else if (providers.Provider.isProvider(this.signerOrProvider)) {
33
- const network = yield this.signerOrProvider.getNetwork();
34
- if (network) {
35
- chainId = network.chainId;
36
- }
37
- }
38
- if (chainId === 0) {
39
- throw new Error('Could not get chainId from signer or provider');
40
- }
41
- return chainId;
42
- });
43
- }
44
- populateTransaction(tx) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- if (Signer.isSigner(this.signerOrProvider)) {
47
- return this.signerOrProvider.populateTransaction(tx);
48
- }
49
- else {
50
- return tx;
51
- }
52
- });
53
- }
54
- }
@@ -1,7 +0,0 @@
1
- import { PopulatedTransaction, ethers, providers } from 'ethers';
2
- import { IChainClient } from './interfaces';
3
- export declare class TestChainClient implements IChainClient {
4
- getSigner(): Promise<ethers.Signer | providers.Provider>;
5
- getChainId(): Promise<number>;
6
- populateTransaction(tx: PopulatedTransaction): Promise<providers.TransactionRequest>;
7
- }
@@ -1,37 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- export class TestChainClient {
11
- getSigner() {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- const fakeProvider = {};
14
- return fakeProvider;
15
- });
16
- }
17
- getChainId() {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- return 11142220;
20
- });
21
- }
22
- populateTransaction(tx) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const fakeTx = {
25
- to: tx.to,
26
- from: tx.from,
27
- data: tx.data,
28
- value: tx.value,
29
- nonce: 0,
30
- gasLimit: 0,
31
- gasPrice: 0,
32
- chainId: 1,
33
- };
34
- return fakeTx;
35
- });
36
- }
37
- }
@@ -1,4 +0,0 @@
1
- import { ContractAddressMap } from '../types';
2
- export declare const addresses: ContractAddressMap;
3
- export type Identifier = keyof ContractAddressMap[keyof ContractAddressMap];
4
- export declare function getAddress(identifier: Identifier, chainId: number): string;
@@ -1,55 +0,0 @@
1
- import { ChainId } from './../enums';
2
- export const addresses = {
3
- [ChainId.CELO]: {
4
- // Oracles & Breakers
5
- BreakerBox: '0x303ED1df62Fa067659B586EbEe8De0EcE824Ab39',
6
- MedianDeltaBreaker: '0x49349F92D2B17d491e42C8fdB02D19f072F9B5D9',
7
- SortedOracles: '0xefB84935239dAcdecF7c5bA76d8dE40b077B7b33',
8
- ValueDeltaBreaker: '0x4DBC33B3abA78475A5AA4BC7A5B11445d387BF68',
9
- // DEX
10
- BiPoolManager: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
11
- Broker: '0x777A8255cA72412f0d706dc03C9D1987306B4CaD',
12
- ConstantProductPricingModule: '0x0c07126d0CB30E66eF7553Cc7C37143B4f06DddB',
13
- ConstantSumPricingModule: '0xDebED1F6f6ce9F6e73AA25F95acBFFE2397550Fb',
14
- MentoRouter: '0xbe729350f8cdfc19db6866e8579841188ee57f67',
15
- Reserve: '0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb9',
16
- // Governance
17
- Airgrab: '0x7D8E73deafDBAfc98fDBe7974168cFA6d8B9AE0C',
18
- Emission: '0x5C789592E2611df1873b46D394c69f75faB99778',
19
- Locking: '0x001Bb66636dCd149A1A2bA8C50E408BdDd80279C',
20
- MentoGovernor: '0x47036d78bB3169b4F5560dD77BF93f4412A59852',
21
- MentoToken: '0x7FF62f59e3e89EA34163EA1458EEBCc81177Cfb6',
22
- TimelockController: '0x890DB8A597940165901372Dd7DB61C9f246e2147',
23
- },
24
- [ChainId.CELO_SEPOLIA]: {
25
- // Oracles & Breakers
26
- BreakerBox: '0x578bD46003B9D3fd4c3C3f47c98B329562a6a1dE',
27
- MedianDeltaBreaker: '0xd29B4e743F7B84D63fBF9149B6D983DF2eF5C952',
28
- SortedOracles: '0xfaa7Ca2B056E60F6733aE75AA0709140a6eAfD20',
29
- ValueDeltaBreaker: '0x03CDf2966185Eb0b980f2481Ad386B8aFdAB4534',
30
- // DEX
31
- BiPoolManager: '0xeCB3C656C131fCd9bB8D1d80898716bD684feb78',
32
- Broker: '0xB9Ae2065142EB79b6c5EB1E8778F883fad6B07Ba',
33
- ConstantProductPricingModule: '0x2584a5835e3aE7E901e6462E1de06920c2C68028',
34
- ConstantSumPricingModule: '0x3b199d9EbEbe509bb711BfFb455c2d79102A9602',
35
- MentoRouter: '0x8e4Fb12D86D5DF911086a9153e79CA27e0c96156',
36
- Reserve: '0x2bC2D48735842924C508468C5A02580aD4F6d99A',
37
- // Governance
38
- Emission: '0x3C1BEA0F35b5dcAc1065CA9b3b6877657dEa4A69',
39
- Locking: '0xB72320fC501cb30E55bAF0DA48c20b11fAc9f79D',
40
- MentoGovernor: '0x23173Ac37b8E4e5a60d787aC543B3F51e8f398b4',
41
- MentoToken: '0x07867fd40EB56b4380bE39c88D0a7EA59Aa99A20',
42
- TimelockController: '0x74c44Be99937815173A3C56274331e0A05611e0D',
43
- },
44
- };
45
- export function getAddress(identifier, chainId) {
46
- const addressesForChain = addresses[chainId];
47
- if (!addressesForChain) {
48
- throw new Error(`No addresses found for chain ID ${chainId}`);
49
- }
50
- const address = addressesForChain[identifier];
51
- if (!address) {
52
- throw new Error(`Address not found for identifier ${identifier} on chain ID ${chainId}`);
53
- }
54
- return address;
55
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * List of supported currencies for rate feed generation and validation
3
- */
4
- export declare const CURRENCIES: readonly ["AUD", "USD", "PHP", "ZAR", "CAD", "EUR", "BRL", "XOF", "COP", "GHS", "CHF", "NGN", "JPY", "GBP", "KES", "CELO", "ETH", "EURC", "EUROC", "USDC", "USDT"];
5
- export type Currency = typeof CURRENCIES[number];
@@ -1,26 +0,0 @@
1
- /**
2
- * List of supported currencies for rate feed generation and validation
3
- */
4
- export const CURRENCIES = [
5
- "AUD",
6
- "USD",
7
- "PHP",
8
- "ZAR",
9
- "CAD",
10
- "EUR",
11
- "BRL",
12
- "XOF",
13
- "COP",
14
- "GHS",
15
- "CHF",
16
- "NGN",
17
- "JPY",
18
- "GBP",
19
- "KES",
20
- "CELO",
21
- "ETH",
22
- "EURC",
23
- "EUROC",
24
- "USDC",
25
- "USDT"
26
- ];
@@ -1,4 +0,0 @@
1
- export * from './addresses';
2
- export * from './currencies';
3
- export * from './tokens';
4
- export * from './tradablePairs';
@@ -1,4 +0,0 @@
1
- export * from './addresses';
2
- export * from './currencies';
3
- export * from './tokens';
4
- export * from './tradablePairs';
@@ -1,2 +0,0 @@
1
- import { Token } from '../mento';
2
- export declare const tokens11142220: readonly Token[];
@@ -1,125 +0,0 @@
1
- // This file is auto-generated. Do not edit manually.
2
- // Generated on 2025-12-10T13:15:03.083Z
3
- import { TokenSymbol } from '../mento';
4
- export const tokens11142220 = [
5
- {
6
- address: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
7
- symbol: TokenSymbol.AUDm,
8
- name: 'Mento Australian Dollar',
9
- decimals: 18,
10
- },
11
- {
12
- address: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
13
- symbol: TokenSymbol.axlEUROC,
14
- name: 'Mento Mock axlEUROC',
15
- decimals: 18,
16
- },
17
- {
18
- address: '0x6285De9DA7C1d329C0451628638908915002d9d1',
19
- symbol: TokenSymbol.axlUSDC,
20
- name: 'Mento Mock axlUSDC',
21
- decimals: 18,
22
- },
23
- {
24
- address: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
25
- symbol: TokenSymbol.BRLm,
26
- name: 'Mento Brazilian Real',
27
- decimals: 18,
28
- },
29
- {
30
- address: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
31
- symbol: TokenSymbol.CADm,
32
- name: 'Mento Canadian Dollar',
33
- decimals: 18,
34
- },
35
- {
36
- address: '0x471EcE3750Da237f93B8E339c536989b8978a438',
37
- symbol: TokenSymbol.CELO,
38
- name: 'Celo native asset',
39
- decimals: 18,
40
- },
41
- {
42
- address: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
43
- symbol: TokenSymbol.CHFm,
44
- name: 'Mento Swiss Franc',
45
- decimals: 18,
46
- },
47
- {
48
- address: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
49
- symbol: TokenSymbol.COPm,
50
- name: 'Mento Colombian Peso',
51
- decimals: 18,
52
- },
53
- {
54
- address: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
55
- symbol: TokenSymbol.EURm,
56
- name: 'Mento Euro',
57
- decimals: 18,
58
- },
59
- {
60
- address: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
61
- symbol: TokenSymbol.GBPm,
62
- name: 'Mento British Pound',
63
- decimals: 18,
64
- },
65
- {
66
- address: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
67
- symbol: TokenSymbol.GHSm,
68
- name: 'Mento Ghanaian Cedi',
69
- decimals: 18,
70
- },
71
- {
72
- address: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
73
- symbol: TokenSymbol.JPYm,
74
- name: 'Mento Japanese Yen',
75
- decimals: 18,
76
- },
77
- {
78
- address: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
79
- symbol: TokenSymbol.KESm,
80
- name: 'Mento Kenyan Shilling',
81
- decimals: 18,
82
- },
83
- {
84
- address: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
85
- symbol: TokenSymbol.NGNm,
86
- name: 'Mento Nigerian Naira',
87
- decimals: 18,
88
- },
89
- {
90
- address: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
91
- symbol: TokenSymbol.PHPm,
92
- name: 'Mento Philippine Peso',
93
- decimals: 18,
94
- },
95
- {
96
- address: '0xd077A400968890Eacc75cdc901F0356c943e4fDb',
97
- symbol: TokenSymbol.USD_,
98
- name: 'Tether USD',
99
- decimals: 6,
100
- },
101
- {
102
- address: '0x01C5C0122039549AD1493B8220cABEdD739BC44E',
103
- symbol: TokenSymbol.USDC,
104
- name: 'USDC',
105
- decimals: 6,
106
- },
107
- {
108
- address: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
109
- symbol: TokenSymbol.USDm,
110
- name: 'Mento Dollar',
111
- decimals: 18,
112
- },
113
- {
114
- address: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
115
- symbol: TokenSymbol.XOFm,
116
- name: 'Mento West African CFA franc',
117
- decimals: 18,
118
- },
119
- {
120
- address: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
121
- symbol: TokenSymbol.ZARm,
122
- name: 'Mento South African Rand',
123
- decimals: 18,
124
- },
125
- ];
@@ -1,2 +0,0 @@
1
- import { Token } from '../mento';
2
- export declare const tokens42220: readonly Token[];