sushi 6.0.19 → 6.0.21

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 (70) hide show
  1. package/_cjs/evm/api/price.js.map +1 -1
  2. package/_cjs/evm/config/features/{extractor.js → api.js} +5 -5
  3. package/_cjs/evm/config/features/api.js.map +1 -0
  4. package/_cjs/evm/config/features/index.js +1 -1
  5. package/_cjs/evm/config/features/index.js.map +1 -1
  6. package/_cjs/evm/config/tokens/token-maps/index.js +0 -3
  7. package/_cjs/evm/config/tokens/token-maps/index.js.map +1 -1
  8. package/_cjs/generic/currency/unwrap-token.js +1 -1
  9. package/_cjs/generic/currency/unwrap-token.js.map +1 -1
  10. package/_cjs/generic/format/number.js +4 -1
  11. package/_cjs/generic/format/number.js.map +1 -1
  12. package/_esm/evm/api/price.js.map +1 -1
  13. package/_esm/evm/config/features/{extractor.js → api.js} +3 -3
  14. package/_esm/evm/config/features/api.js.map +1 -0
  15. package/_esm/evm/config/features/index.js +1 -1
  16. package/_esm/evm/config/features/index.js.map +1 -1
  17. package/_esm/evm/config/tokens/token-maps/index.js +0 -3
  18. package/_esm/evm/config/tokens/token-maps/index.js.map +1 -1
  19. package/_esm/generic/currency/unwrap-token.js +1 -1
  20. package/_esm/generic/currency/unwrap-token.js.map +1 -1
  21. package/_esm/generic/format/number.js +4 -1
  22. package/_esm/generic/format/number.js.map +1 -1
  23. package/_types/evm/api/price.d.ts +3 -3
  24. package/_types/evm/api/price.d.ts.map +1 -1
  25. package/_types/evm/api/quote.d.ts +2 -2
  26. package/_types/evm/api/quote.d.ts.map +1 -1
  27. package/_types/evm/api/swap.d.ts +2 -2
  28. package/_types/evm/api/swap.d.ts.map +1 -1
  29. package/_types/evm/config/features/api.d.ts +4 -0
  30. package/_types/evm/config/features/api.d.ts.map +1 -0
  31. package/_types/evm/config/features/index.d.ts +1 -1
  32. package/_types/evm/config/features/index.d.ts.map +1 -1
  33. package/_types/evm/config/tokens/token-maps/index.d.ts +0 -3
  34. package/_types/evm/config/tokens/token-maps/index.d.ts.map +1 -1
  35. package/_types/generic/format/number.d.ts.map +1 -1
  36. package/evm/api/price.ts +3 -3
  37. package/evm/api/quote.ts +2 -2
  38. package/evm/api/swap.ts +2 -2
  39. package/evm/config/features/{extractor.ts → api.ts} +6 -6
  40. package/evm/config/features/index.ts +1 -1
  41. package/evm/config/tokens/token-maps/index.ts +0 -3
  42. package/generic/currency/unwrap-token.ts +1 -1
  43. package/generic/format/number.test.ts +8 -2
  44. package/generic/format/number.ts +5 -1
  45. package/package.json +1 -1
  46. package/_cjs/evm/config/features/extractor.js.map +0 -1
  47. package/_cjs/evm/config/tokens/token-maps/additional-bases.js +0 -145
  48. package/_cjs/evm/config/tokens/token-maps/additional-bases.js.map +0 -1
  49. package/_cjs/evm/config/tokens/token-maps/bases-to-check-trades-against.js +0 -569
  50. package/_cjs/evm/config/tokens/token-maps/bases-to-check-trades-against.js.map +0 -1
  51. package/_cjs/evm/config/tokens/token-maps/custom-bases.js +0 -16
  52. package/_cjs/evm/config/tokens/token-maps/custom-bases.js.map +0 -1
  53. package/_esm/evm/config/features/extractor.js.map +0 -1
  54. package/_esm/evm/config/tokens/token-maps/additional-bases.js +0 -146
  55. package/_esm/evm/config/tokens/token-maps/additional-bases.js.map +0 -1
  56. package/_esm/evm/config/tokens/token-maps/bases-to-check-trades-against.js +0 -576
  57. package/_esm/evm/config/tokens/token-maps/bases-to-check-trades-against.js.map +0 -1
  58. package/_esm/evm/config/tokens/token-maps/custom-bases.js +0 -17
  59. package/_esm/evm/config/tokens/token-maps/custom-bases.js.map +0 -1
  60. package/_types/evm/config/features/extractor.d.ts +0 -4
  61. package/_types/evm/config/features/extractor.d.ts.map +0 -1
  62. package/_types/evm/config/tokens/token-maps/additional-bases.d.ts +0 -230
  63. package/_types/evm/config/tokens/token-maps/additional-bases.d.ts.map +0 -1
  64. package/_types/evm/config/tokens/token-maps/bases-to-check-trades-against.d.ts +0 -5
  65. package/_types/evm/config/tokens/token-maps/bases-to-check-trades-against.d.ts.map +0 -1
  66. package/_types/evm/config/tokens/token-maps/custom-bases.d.ts +0 -15
  67. package/_types/evm/config/tokens/token-maps/custom-bases.d.ts.map +0 -1
  68. package/evm/config/tokens/token-maps/additional-bases.ts +0 -203
  69. package/evm/config/tokens/token-maps/bases-to-check-trades-against.ts +0 -618
  70. package/evm/config/tokens/token-maps/custom-bases.ts +0 -18
@@ -1,146 +0,0 @@
1
- import { EvmChainId } from '../../../chain/index.js';
2
- import { SUSHI_ADDRESS } from '../tokens/SUSHI.js';
3
- import { SWISE_ADDRESS } from '../tokens/SWISE.js';
4
- import { SolvBTC_ADDRESS } from '../tokens/SolvBTC.js';
5
- import { TRIBE_ADDRESS } from '../tokens/TRIBE.js';
6
- import { WBTC_ADDRESS } from '../tokens/WBTC.js';
7
- import { XSUSHI_ADDRESS } from '../tokens/XSUSHI.js';
8
- import { AAVE, APE, APE_ADDRESS, BAL, BCT, BCT_ADDRESS, COMP, CRV, ENJ, ETHEREUM_CRV_FRAX, ETHEREUM_CRV_REN_WSBTC, FEI, FEI_ADDRESS, FRAX, FRAX_ADDRESS, FXS, FXS_ADDRESS, GALA, GNS, GRT, JUGNI, KLIMA, KLIMA_ADDRESS, KNCv2, KP3R, KP3R_ADDRESS, LDO, LDO_ADDRESS, LINK, LUSD_ADDRESS, MANA, MKR, OCEAN, PRIMATE, PRIMATE_ADDRESS, QUICK, RNDR, SAND, SNX, STG, SUSHI, SolvBTC, TEL, TRIBE, UNI, WAVAX, WBTC, XSUSHI, YFI, rETH2_ADDRESS, renBTC, renBTC_ADDRESS, sETH2, xSolvBTC, } from '../tokens/index.js';
9
- import { xSolvBTC_ADDRESS } from '../tokens/xSolvBTC.js';
10
- export const ADDITIONAL_BASES = {
11
- [EvmChainId.ETHEREUM]: {
12
- [rETH2_ADDRESS[EvmChainId.ETHEREUM]]: [sETH2[EvmChainId.ETHEREUM]],
13
- [SWISE_ADDRESS[EvmChainId.ETHEREUM]]: [sETH2[EvmChainId.ETHEREUM]],
14
- [FEI_ADDRESS[EvmChainId.ETHEREUM]]: [TRIBE[EvmChainId.ETHEREUM]],
15
- [TRIBE_ADDRESS[EvmChainId.ETHEREUM]]: [FEI[EvmChainId.ETHEREUM]],
16
- [FRAX_ADDRESS[EvmChainId.ETHEREUM]]: [FXS[EvmChainId.ETHEREUM]],
17
- [FXS_ADDRESS[EvmChainId.ETHEREUM]]: [FRAX[EvmChainId.ETHEREUM]],
18
- [WBTC_ADDRESS[EvmChainId.ETHEREUM]]: [renBTC[EvmChainId.ETHEREUM]],
19
- [renBTC_ADDRESS[EvmChainId.ETHEREUM]]: [WBTC[EvmChainId.ETHEREUM]],
20
- [APE_ADDRESS[EvmChainId.ETHEREUM]]: [PRIMATE[EvmChainId.ETHEREUM]],
21
- [PRIMATE_ADDRESS[EvmChainId.ETHEREUM]]: [APE[EvmChainId.ETHEREUM]],
22
- [SUSHI_ADDRESS[EvmChainId.ETHEREUM]]: [XSUSHI[EvmChainId.ETHEREUM]],
23
- [XSUSHI_ADDRESS[EvmChainId.ETHEREUM]]: [SUSHI[EvmChainId.ETHEREUM]],
24
- [KP3R_ADDRESS[EvmChainId.ETHEREUM]]: [LDO[EvmChainId.ETHEREUM]],
25
- [LDO_ADDRESS[EvmChainId.ETHEREUM]]: [KP3R[EvmChainId.ETHEREUM]],
26
- ['0x1e0275806c3cd0bdb5c99916a064d36b5e8eae8d']: [
27
- // TWO
28
- AAVE[EvmChainId.ETHEREUM],
29
- MKR[EvmChainId.ETHEREUM],
30
- SNX[EvmChainId.ETHEREUM],
31
- CRV[EvmChainId.ETHEREUM],
32
- YFI[EvmChainId.ETHEREUM],
33
- ENJ[EvmChainId.ETHEREUM],
34
- COMP[EvmChainId.ETHEREUM],
35
- GALA[EvmChainId.ETHEREUM],
36
- XSUSHI[EvmChainId.ETHEREUM],
37
- ],
38
- // tokens for metapools begin
39
- ['0xbc6da0fe9ad5f3b0d58160288917aa56653660e9']: [
40
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
41
- ], // alUSD
42
- ['0x865377367054516e17014ccded1e7d814edc9ce4']: [
43
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
44
- ], // Dola
45
- ['0xab5eb14c09d416f0ac63661e57edb7aecdb9befa']: [
46
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
47
- ], // msUSD
48
- ['0x4591dbff62656e7859afe5e45f6f47d3669fbb28']: [
49
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
50
- ], // mkUSD
51
- ['0xd7c9f0e536dc865ae858b0c0453fe76d13c3beac']: [
52
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
53
- ], // XAI
54
- ['0x15f74458ae0bfdaa1a96ca1aa779d715cc1eefe4']: [
55
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
56
- ], // GRAI
57
- ['0x3c20ac688410be8f391be1fb00afc5c212972f86']: [
58
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
59
- ], // clevUSD
60
- ['0xff709449528b6fb6b88f557f7d93dece33bca78d']: [
61
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
62
- ], // ApeUSD
63
- [LUSD_ADDRESS[EvmChainId.ETHEREUM]]: [
64
- ETHEREUM_CRV_FRAX[EvmChainId.ETHEREUM],
65
- ],
66
- ['0x8daebade922df735c38c80c7ebd708af50815faa']: [
67
- ETHEREUM_CRV_REN_WSBTC[EvmChainId.ETHEREUM],
68
- ], // TBTC
69
- ['0x8751d4196027d4e6da63716fa7786b5174f04c15']: [
70
- ETHEREUM_CRV_REN_WSBTC[EvmChainId.ETHEREUM],
71
- ], // wibBTC
72
- ['0x9be89d2a4cd102d8fecc6bf9da793be995c22541']: [
73
- ETHEREUM_CRV_REN_WSBTC[EvmChainId.ETHEREUM],
74
- ], // BBTC
75
- // tokens for metapools end
76
- },
77
- [EvmChainId.POLYGON]: {
78
- [FRAX_ADDRESS[EvmChainId.POLYGON]]: [FXS[EvmChainId.POLYGON]],
79
- [FXS_ADDRESS[EvmChainId.POLYGON]]: [FRAX[EvmChainId.POLYGON]],
80
- [BCT_ADDRESS[EvmChainId.POLYGON]]: [KLIMA[EvmChainId.POLYGON]],
81
- [KLIMA_ADDRESS[EvmChainId.POLYGON]]: [BCT[EvmChainId.POLYGON]],
82
- // THREE
83
- ['0x9b034262e0095210ab9ddec60199741a8a1fbfe7']: [
84
- AAVE[EvmChainId.POLYGON],
85
- LINK[EvmChainId.POLYGON],
86
- MANA[EvmChainId.POLYGON],
87
- SNX[EvmChainId.POLYGON],
88
- CRV[EvmChainId.POLYGON],
89
- YFI[EvmChainId.POLYGON],
90
- GNS[EvmChainId.POLYGON],
91
- SAND[EvmChainId.POLYGON],
92
- STG[EvmChainId.POLYGON],
93
- UNI[EvmChainId.POLYGON],
94
- SUSHI[EvmChainId.POLYGON],
95
- RNDR[EvmChainId.POLYGON],
96
- TEL[EvmChainId.POLYGON],
97
- GRT[EvmChainId.POLYGON],
98
- BAL[EvmChainId.POLYGON],
99
- QUICK[EvmChainId.POLYGON],
100
- OCEAN[EvmChainId.POLYGON],
101
- XSUSHI[EvmChainId.POLYGON],
102
- KNCv2[EvmChainId.POLYGON],
103
- WAVAX[EvmChainId.POLYGON],
104
- JUGNI[EvmChainId.POLYGON],
105
- ],
106
- },
107
- [EvmChainId.ARBITRUM]: {
108
- [FRAX_ADDRESS[EvmChainId.ARBITRUM]]: [FXS[EvmChainId.ARBITRUM]],
109
- [FXS_ADDRESS[EvmChainId.ARBITRUM]]: [FRAX[EvmChainId.ARBITRUM]],
110
- ['0xafafd68afe3fe65d376eec9eab1802616cfaccb8']: [
111
- SolvBTC[EvmChainId.ARBITRUM],
112
- ], // SolvBTC.ENA
113
- ['0x346c574c56e1a4aaa8dc88cda8f7eb12b39947ab']: [
114
- SolvBTC[EvmChainId.ARBITRUM],
115
- ], // SolvBTC.BBN
116
- },
117
- [EvmChainId.FANTOM]: {
118
- [FRAX_ADDRESS[EvmChainId.FANTOM]]: [FXS[EvmChainId.FANTOM]],
119
- [FXS_ADDRESS[EvmChainId.FANTOM]]: [FRAX[EvmChainId.FANTOM]],
120
- },
121
- [EvmChainId.BSC]: {
122
- [FRAX_ADDRESS[EvmChainId.BSC]]: [FXS[EvmChainId.BSC]],
123
- [FXS_ADDRESS[EvmChainId.BSC]]: [FRAX[EvmChainId.BSC]],
124
- },
125
- [EvmChainId.AVALANCHE]: {
126
- [FRAX_ADDRESS[EvmChainId.AVALANCHE]]: [FXS[EvmChainId.AVALANCHE]],
127
- [FXS_ADDRESS[EvmChainId.AVALANCHE]]: [FRAX[EvmChainId.AVALANCHE]],
128
- },
129
- [EvmChainId.HARMONY]: {
130
- [FRAX_ADDRESS[EvmChainId.HARMONY]]: [FXS[EvmChainId.HARMONY]],
131
- [FXS_ADDRESS[EvmChainId.HARMONY]]: [FRAX[EvmChainId.HARMONY]],
132
- },
133
- [EvmChainId.BOBA]: {
134
- [FRAX_ADDRESS[EvmChainId.BOBA]]: [FXS[EvmChainId.BOBA]],
135
- [FXS_ADDRESS[EvmChainId.BOBA]]: [FRAX[EvmChainId.BOBA]],
136
- },
137
- [EvmChainId.OPTIMISM]: {
138
- [FRAX_ADDRESS[EvmChainId.OPTIMISM]]: [FXS[EvmChainId.OPTIMISM]],
139
- [FXS_ADDRESS[EvmChainId.OPTIMISM]]: [FRAX[EvmChainId.OPTIMISM]],
140
- },
141
- [EvmChainId.ROOTSTOCK]: {
142
- [xSolvBTC_ADDRESS[EvmChainId.ROOTSTOCK]]: [SolvBTC[EvmChainId.ROOTSTOCK]],
143
- [SolvBTC_ADDRESS[EvmChainId.ROOTSTOCK]]: [xSolvBTC[EvmChainId.ROOTSTOCK]],
144
- },
145
- };
146
- //# sourceMappingURL=additional-bases.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"additional-bases.js","sourceRoot":"","sources":["../../../../../evm/config/tokens/token-maps/additional-bases.ts"],"names":[],"mappings":"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"}