@mento-protocol/mento-sdk 1.0.9 → 1.10.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 (121) hide show
  1. package/README.md +42 -2
  2. package/dist/cjs/scripts/cacheTradablePairs/config.d.ts +5 -0
  3. package/dist/cjs/scripts/cacheTradablePairs/config.js +6 -0
  4. package/dist/cjs/scripts/quotes/config.d.ts +20 -0
  5. package/dist/cjs/scripts/quotes/config.js +33 -0
  6. package/dist/cjs/scripts/quotes/spread.d.ts +25 -0
  7. package/dist/cjs/scripts/quotes/spread.js +166 -0
  8. package/dist/cjs/scripts/shared/network.d.ts +23 -0
  9. package/dist/cjs/scripts/shared/network.js +57 -0
  10. package/dist/cjs/{constants → src/constants}/addresses.js +0 -23
  11. package/dist/cjs/src/constants/index.d.ts +2 -0
  12. package/dist/cjs/{constants → src/constants}/index.js +1 -0
  13. package/dist/cjs/src/constants/tradablePairs.42220.d.ts +2 -0
  14. package/dist/cjs/src/constants/tradablePairs.42220.js +6407 -0
  15. package/dist/cjs/src/constants/tradablePairs.44787.d.ts +2 -0
  16. package/dist/cjs/src/constants/tradablePairs.44787.js +6407 -0
  17. package/dist/cjs/src/constants/tradablePairs.d.ts +16 -0
  18. package/dist/cjs/src/constants/tradablePairs.js +53 -0
  19. package/dist/cjs/{enums → src/enums}/chainId.d.ts +1 -2
  20. package/dist/cjs/{enums → src/enums}/chainId.js +0 -1
  21. package/dist/{esm → cjs/src}/index.d.ts +4 -3
  22. package/dist/cjs/{index.js → src/index.js} +3 -2
  23. package/dist/{esm → cjs/src}/mento.d.ts +14 -4
  24. package/dist/cjs/{mento.js → src/mento.js} +36 -90
  25. package/dist/cjs/src/routeUtils.d.ts +304 -0
  26. package/dist/cjs/src/routeUtils.js +372 -0
  27. package/dist/cjs/{utils.d.ts → src/utils.d.ts} +8 -0
  28. package/dist/cjs/{utils.js → src/utils.js} +18 -1
  29. package/dist/esm/scripts/cacheTradablePairs/config.d.ts +5 -0
  30. package/dist/esm/scripts/cacheTradablePairs/config.js +3 -0
  31. package/dist/esm/scripts/quotes/config.d.ts +20 -0
  32. package/dist/esm/scripts/quotes/config.js +30 -0
  33. package/dist/esm/scripts/quotes/spread.d.ts +25 -0
  34. package/dist/esm/scripts/quotes/spread.js +161 -0
  35. package/dist/esm/scripts/shared/network.d.ts +23 -0
  36. package/dist/esm/scripts/shared/network.js +52 -0
  37. package/dist/esm/{constants → src/constants}/addresses.js +0 -23
  38. package/dist/esm/src/constants/index.d.ts +2 -0
  39. package/dist/esm/src/constants/index.js +2 -0
  40. package/dist/esm/src/constants/tradablePairs.42220.d.ts +2 -0
  41. package/dist/esm/src/constants/tradablePairs.42220.js +6404 -0
  42. package/dist/esm/src/constants/tradablePairs.44787.d.ts +2 -0
  43. package/dist/esm/src/constants/tradablePairs.44787.js +6404 -0
  44. package/dist/esm/src/constants/tradablePairs.d.ts +16 -0
  45. package/dist/esm/src/constants/tradablePairs.js +26 -0
  46. package/dist/esm/{enums → src/enums}/chainId.d.ts +1 -2
  47. package/dist/esm/{enums → src/enums}/chainId.js +0 -1
  48. package/dist/{cjs → esm/src}/index.d.ts +4 -3
  49. package/dist/esm/{index.js → src/index.js} +3 -2
  50. package/dist/{cjs → esm/src}/mento.d.ts +14 -4
  51. package/dist/esm/{mento.js → src/mento.js} +37 -91
  52. package/dist/esm/src/routeUtils.d.ts +304 -0
  53. package/dist/esm/src/routeUtils.js +362 -0
  54. package/dist/esm/{utils.d.ts → src/utils.d.ts} +8 -0
  55. package/dist/esm/{utils.js → src/utils.js} +16 -0
  56. package/package.json +18 -6
  57. package/dist/cjs/constants/index.d.ts +0 -1
  58. package/dist/cjs/constants/tradablePairs.d.ts +0 -3
  59. package/dist/cjs/constants/tradablePairs.js +0 -9098
  60. package/dist/esm/constants/index.d.ts +0 -1
  61. package/dist/esm/constants/index.js +0 -1
  62. package/dist/esm/constants/tradablePairs.d.ts +0 -3
  63. package/dist/esm/constants/tradablePairs.js +0 -9094
  64. /package/dist/cjs/{ChainClient.d.ts → src/ChainClient.d.ts} +0 -0
  65. /package/dist/cjs/{ChainClient.js → src/ChainClient.js} +0 -0
  66. /package/dist/cjs/{TestChainClient.d.ts → src/TestChainClient.d.ts} +0 -0
  67. /package/dist/cjs/{TestChainClient.js → src/TestChainClient.js} +0 -0
  68. /package/dist/cjs/{constants → src/constants}/addresses.d.ts +0 -0
  69. /package/dist/cjs/{enums → src/enums}/index.d.ts +0 -0
  70. /package/dist/cjs/{enums → src/enums}/index.js +0 -0
  71. /package/dist/cjs/{enums → src/enums}/proposalState.d.ts +0 -0
  72. /package/dist/cjs/{enums → src/enums}/proposalState.js +0 -0
  73. /package/dist/cjs/{governance.d.ts → src/governance.d.ts} +0 -0
  74. /package/dist/cjs/{governance.js → src/governance.js} +0 -0
  75. /package/dist/cjs/{interfaces → src/interfaces}/IChainClient.d.ts +0 -0
  76. /package/dist/cjs/{interfaces → src/interfaces}/IChainClient.js +0 -0
  77. /package/dist/cjs/{interfaces → src/interfaces}/index.d.ts +0 -0
  78. /package/dist/cjs/{interfaces → src/interfaces}/index.js +0 -0
  79. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimit.d.ts +0 -0
  80. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimit.js +0 -0
  81. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimitsConfig.d.ts +0 -0
  82. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimitsConfig.js +0 -0
  83. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimitsState.d.ts +0 -0
  84. /package/dist/cjs/{interfaces → src/interfaces}/tradingLimitsState.js +0 -0
  85. /package/dist/cjs/{limits.d.ts → src/limits.d.ts} +0 -0
  86. /package/dist/cjs/{limits.js → src/limits.js} +0 -0
  87. /package/dist/cjs/{types → src/types}/contractAddressMap.d.ts +0 -0
  88. /package/dist/cjs/{types → src/types}/contractAddressMap.js +0 -0
  89. /package/dist/cjs/{types → src/types}/contractAddresses.d.ts +0 -0
  90. /package/dist/cjs/{types → src/types}/contractAddresses.js +0 -0
  91. /package/dist/cjs/{types → src/types}/index.d.ts +0 -0
  92. /package/dist/cjs/{types → src/types}/index.js +0 -0
  93. /package/dist/esm/{ChainClient.d.ts → src/ChainClient.d.ts} +0 -0
  94. /package/dist/esm/{ChainClient.js → src/ChainClient.js} +0 -0
  95. /package/dist/esm/{TestChainClient.d.ts → src/TestChainClient.d.ts} +0 -0
  96. /package/dist/esm/{TestChainClient.js → src/TestChainClient.js} +0 -0
  97. /package/dist/esm/{constants → src/constants}/addresses.d.ts +0 -0
  98. /package/dist/esm/{enums → src/enums}/index.d.ts +0 -0
  99. /package/dist/esm/{enums → src/enums}/index.js +0 -0
  100. /package/dist/esm/{enums → src/enums}/proposalState.d.ts +0 -0
  101. /package/dist/esm/{enums → src/enums}/proposalState.js +0 -0
  102. /package/dist/esm/{governance.d.ts → src/governance.d.ts} +0 -0
  103. /package/dist/esm/{governance.js → src/governance.js} +0 -0
  104. /package/dist/esm/{interfaces → src/interfaces}/IChainClient.d.ts +0 -0
  105. /package/dist/esm/{interfaces → src/interfaces}/IChainClient.js +0 -0
  106. /package/dist/esm/{interfaces → src/interfaces}/index.d.ts +0 -0
  107. /package/dist/esm/{interfaces → src/interfaces}/index.js +0 -0
  108. /package/dist/esm/{interfaces → src/interfaces}/tradingLimit.d.ts +0 -0
  109. /package/dist/esm/{interfaces → src/interfaces}/tradingLimit.js +0 -0
  110. /package/dist/esm/{interfaces → src/interfaces}/tradingLimitsConfig.d.ts +0 -0
  111. /package/dist/esm/{interfaces → src/interfaces}/tradingLimitsConfig.js +0 -0
  112. /package/dist/esm/{interfaces → src/interfaces}/tradingLimitsState.d.ts +0 -0
  113. /package/dist/esm/{interfaces → src/interfaces}/tradingLimitsState.js +0 -0
  114. /package/dist/esm/{limits.d.ts → src/limits.d.ts} +0 -0
  115. /package/dist/esm/{limits.js → src/limits.js} +0 -0
  116. /package/dist/esm/{types → src/types}/contractAddressMap.d.ts +0 -0
  117. /package/dist/esm/{types → src/types}/contractAddressMap.js +0 -0
  118. /package/dist/esm/{types → src/types}/contractAddresses.d.ts +0 -0
  119. /package/dist/esm/{types → src/types}/contractAddresses.js +0 -0
  120. /package/dist/esm/{types → src/types}/index.d.ts +0 -0
  121. /package/dist/esm/{types → src/types}/index.js +0 -0
@@ -0,0 +1,23 @@
1
+ export declare const NETWORK_MAP: Record<string, number>;
2
+ export declare const rpcUrls: {
3
+ readonly 42220: "https://forno.celo.org";
4
+ readonly 44787: "https://alfajores-forno.celo-testnet.org";
5
+ };
6
+ export type SupportedChainId = keyof typeof rpcUrls;
7
+ export interface NetworkConfig {
8
+ chainId: number;
9
+ rpcUrl: string;
10
+ }
11
+ /**
12
+ * Parse network arguments and return network configuration
13
+ * @param networkArg - The network name argument (e.g., 'celo', 'alfajores')
14
+ * @param chainIdArg - The chainId argument (e.g., '42220', '44787')
15
+ * @returns NetworkConfig with chainId and rpcUrl
16
+ */
17
+ export declare function parseNetworkArgs(networkArg?: string, chainIdArg?: string): NetworkConfig;
18
+ /**
19
+ * Get the network name from chainId
20
+ * @param chainId - The chain ID
21
+ * @returns The network name or 'Unknown' if not found
22
+ */
23
+ export declare function getNetworkName(chainId: number): string;
@@ -0,0 +1,52 @@
1
+ // Network name to chainId mapping
2
+ export const NETWORK_MAP = {
3
+ celo: 42220,
4
+ alfajores: 44787,
5
+ };
6
+ // RPC URLs for different networks
7
+ export const rpcUrls = {
8
+ 42220: 'https://forno.celo.org',
9
+ 44787: 'https://alfajores-forno.celo-testnet.org',
10
+ };
11
+ /**
12
+ * Parse network arguments and return network configuration
13
+ * @param networkArg - The network name argument (e.g., 'celo', 'alfajores')
14
+ * @param chainIdArg - The chainId argument (e.g., '42220', '44787')
15
+ * @returns NetworkConfig with chainId and rpcUrl
16
+ */
17
+ export function parseNetworkArgs(networkArg, chainIdArg) {
18
+ let chainId;
19
+ let rpcUrl;
20
+ if (networkArg) {
21
+ const networkName = networkArg.toLowerCase();
22
+ if (!NETWORK_MAP[networkName]) {
23
+ console.error(`❌ Invalid network "${networkArg}". Valid networks: ${Object.keys(NETWORK_MAP).join(', ')}`);
24
+ process.exit(1);
25
+ }
26
+ chainId = NETWORK_MAP[networkName];
27
+ rpcUrl = rpcUrls[chainId];
28
+ }
29
+ else if (chainIdArg) {
30
+ chainId = Number(chainIdArg);
31
+ if (!rpcUrls[chainId]) {
32
+ console.error(`❌ Invalid chainId "${chainId}". Valid chainIds: ${Object.keys(rpcUrls).join(', ')}`);
33
+ process.exit(1);
34
+ }
35
+ rpcUrl = rpcUrls[chainId];
36
+ }
37
+ else {
38
+ // Default to Celo mainnet if no network specified
39
+ chainId = 42220;
40
+ rpcUrl = rpcUrls[42220];
41
+ }
42
+ return { chainId, rpcUrl };
43
+ }
44
+ /**
45
+ * Get the network name from chainId
46
+ * @param chainId - The chain ID
47
+ * @returns The network name or 'Unknown' if not found
48
+ */
49
+ export function getNetworkName(chainId) {
50
+ const networkEntry = Object.entries(NETWORK_MAP).find(([, id]) => id === chainId);
51
+ return networkEntry ? networkEntry[0] : 'Unknown';
52
+ }
@@ -46,29 +46,6 @@ export const addresses = {
46
46
  StableTokenXOF: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
47
47
  SortedOracles: '0xFdd8bD58115FfBf04e47411c1d228eCC45E93075',
48
48
  },
49
- [ChainId.BAKLAVA]: {
50
- GovernanceFactory: '0xe23A28a92B95c743fC0F09c16a6b2E6D59F234Fa',
51
- Airgrab: '0xNotDeployed',
52
- Emission: '0xNotDeployed',
53
- MentoGovernor: '0xf1873597aA9757f57BA8Ed84a3EDb2E3217EF09f',
54
- MentoToken: '0x8942330eCB5A6c808aac3Aec3C6aab6D8CF436FE',
55
- TimelockController: '0x8c045769087F9de69B70949ED7fC23c14Db71e20',
56
- Locking: '0x1E15b108c51a0cAEAFf1a0E6f27A853Bde1AA2e6',
57
- MentoRouter: '0xC5449dbB0aF89F5E3C8E0e1611966E1964F891b1',
58
- Broker: '0x6723749339e320E1EFcd9f1B0D997ecb45587208',
59
- BiPoolManager: '0xFF9a3da00F42839CD6D33AD7adf50bCc97B41411',
60
- BreakerBox: '0x5Ea5A5F694F10de979BEeC7b8041E9f931F54bc7',
61
- Reserve: '0x68Dd816611d3DE196FDeb87438B74A9c29fd649f',
62
- ConstantSumPricingModule: '0x2901da88dd444a3c41AF51696548DEe3524Cf8Dc',
63
- ConstantProductPricingModule: '0x7586680Dd2e4F977C33cDbd597fa2490e342CbA2',
64
- MedianDeltaBreaker: '0x286a8137EE9EE6dE8B5e5be334706fA812400994',
65
- ValueDeltaBreaker: '0xf631F58b1B51E99dF3Ad1CE18f5C42ab41e4A17a',
66
- StableToken: '0x62492A644A588FD904270BeD06ad52B9abfEA1aE',
67
- StableTokenEUR: '0xf9ecE301247aD2CE21894941830A2470f4E774ca',
68
- StableTokenBRL: '0x6a0EEf2bed4C30Dc2CB42fe6c5f01F80f7EF16d1',
69
- StableTokenXOF: '0x64c1D812673E93Bc036AdC3D547d9950696DA5Af',
70
- SortedOracles: '0x88A187a876290E9843175027902B9f7f1B092c88',
71
- },
72
49
  };
73
50
  export function getAddress(identifier, chainId) {
74
51
  const addressesForChain = addresses[chainId];
@@ -0,0 +1,2 @@
1
+ export * from './addresses';
2
+ export * from './tradablePairs';
@@ -0,0 +1,2 @@
1
+ export * from './addresses';
2
+ export * from './tradablePairs';
@@ -0,0 +1,2 @@
1
+ import { TradablePairWithSpread } from './tradablePairs';
2
+ export declare const tradablePairs42220: TradablePairWithSpread[];