@gearbox-protocol/sdk 3.0.0-vfourabi.1 → 3.0.0-vfourabi.3

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 (275) hide show
  1. package/.eslintignore +3 -0
  2. package/.github/workflows/lint_pr.yml +18 -0
  3. package/.github/workflows/pr.yml +39 -0
  4. package/.github/workflows/release.yml +47 -0
  5. package/.gitignore +19 -0
  6. package/.husky/commit-msg +1 -0
  7. package/.husky/pre-commit +1 -0
  8. package/.nvmrc +1 -0
  9. package/.releaserc.json +34 -0
  10. package/.vscode/extensions.json +7 -0
  11. package/.vscode/settings.json +16 -0
  12. package/.yarn/install-state.gz +0 -0
  13. package/.yarnrc.yml +1 -0
  14. package/ContributionAgreement +72 -0
  15. package/dist/cjs/abi/iZapper.cjs +85 -0
  16. package/dist/cjs/abi/iZapper.d.ts +123 -0
  17. package/dist/cjs/sdk/index.cjs +19830 -19764
  18. package/dist/cjs/sdk/index.d.ts +3746 -3061
  19. package/dist/esm/abi/iZapper.d.mts +123 -0
  20. package/dist/esm/abi/iZapper.mjs +83 -0
  21. package/dist/esm/sdk/index.d.mts +3746 -3061
  22. package/dist/esm/sdk/index.mjs +19807 -19765
  23. package/jest.config.js +7 -0
  24. package/package.json +32 -2
  25. package/scripts/example.ts +30 -0
  26. package/src/abi/compressors.ts +3962 -0
  27. package/src/abi/errors.ts +196 -0
  28. package/src/abi/iERC20.ts +122 -0
  29. package/src/abi/iPausable.ts +35 -0
  30. package/src/abi/iPriceFeedStore.ts +227 -0
  31. package/src/abi/iUpdatablePriceFeed.ts +16 -0
  32. package/src/abi/iVersion.ts +28 -0
  33. package/src/abi/iZapper.ts +84 -0
  34. package/src/abi/routerV300.ts +378 -0
  35. package/src/abi/v300.ts +4151 -0
  36. package/src/abi/v310.ts +5179 -0
  37. package/src/adapters/AbstractAdapter.ts +28 -0
  38. package/src/adapters/BalancerV2VaultAdapterContract.ts +19 -0
  39. package/src/adapters/BalancerV3RouterAdapterContract.ts +19 -0
  40. package/src/adapters/CamelotV3AdapterContract.ts +20 -0
  41. package/src/adapters/ConvexV1BaseRewardPoolAdapterContract.ts +20 -0
  42. package/src/adapters/ConvexV1BoosterAdapterContract.ts +20 -0
  43. package/src/adapters/Curve2AssetsAdapterContract.ts +20 -0
  44. package/src/adapters/Curve3AssetsAdapterContract.ts +20 -0
  45. package/src/adapters/Curve4AssetsAdapterContract.ts +20 -0
  46. package/src/adapters/CurveV1AdapterStETHContract.ts +20 -0
  47. package/src/adapters/CurveV1StableNGAdapterContract.ts +20 -0
  48. package/src/adapters/DaiUsdsAdapterContract.ts +21 -0
  49. package/src/adapters/ERC4626AdapterContract.ts +20 -0
  50. package/src/adapters/MellowERC4626VaultAdapterContract.ts +20 -0
  51. package/src/adapters/MellowVaultAdapterContract.ts +20 -0
  52. package/src/adapters/PendleRouterAdapterContract.ts +21 -0
  53. package/src/adapters/StakingRewardsAdapterContract.ts +21 -0
  54. package/src/adapters/UniswapV2AdapterContract.ts +20 -0
  55. package/src/adapters/UniswapV3AdapterContract.ts +170 -0
  56. package/src/adapters/VelodromeV2AdapterContract.ts +20 -0
  57. package/src/adapters/WstETHV1AdapterContract.ts +20 -0
  58. package/src/adapters/YearnV2AdapterContract.ts +20 -0
  59. package/src/adapters/abi/adapters.ts +4325 -0
  60. package/src/adapters/abi/iBalancerV3RouterAdapter.ts +126 -0
  61. package/src/adapters/abi/index.ts +2 -0
  62. package/src/adapters/index.ts +2 -0
  63. package/src/adapters/plugin.ts +90 -0
  64. package/src/adapters/types.ts +62 -0
  65. package/src/dev/AccountOpener.ts +611 -0
  66. package/src/dev/PriceFeedStore.ts +95 -0
  67. package/src/dev/SDKExample.ts +167 -0
  68. package/src/dev/abi.ts +14 -0
  69. package/src/dev/calcLiquidatableLTs.ts +77 -0
  70. package/src/dev/createAnvilClient.ts +155 -0
  71. package/src/dev/index.ts +7 -0
  72. package/src/dev/setLTZero.ts +127 -0
  73. package/src/dev/setLTs.ts +68 -0
  74. package/src/sdk/GearboxSDK.ts +488 -0
  75. package/src/sdk/abi/index.ts +1 -0
  76. package/src/sdk/abi/oracles.ts +4614 -0
  77. package/src/sdk/accounts/CreditAccountsService.ts +1123 -0
  78. package/src/sdk/accounts/index.ts +1 -0
  79. package/src/sdk/base/AddressLabeller.ts +35 -0
  80. package/src/sdk/base/BaseContract.ts +237 -0
  81. package/src/sdk/base/IAddressLabeller.ts +13 -0
  82. package/src/sdk/base/PlaceholderContract.ts +12 -0
  83. package/src/sdk/base/SDKConstruct.ts +35 -0
  84. package/src/sdk/base/TokensMeta.ts +45 -0
  85. package/src/sdk/base/index.ts +6 -0
  86. package/src/sdk/base/types.ts +102 -0
  87. package/src/sdk/bots/BotsService.ts +92 -0
  88. package/src/sdk/bots/index.ts +2 -0
  89. package/src/sdk/bots/utils.ts +19 -0
  90. package/src/sdk/chain/Provider.ts +99 -0
  91. package/src/sdk/chain/chains.ts +41 -0
  92. package/src/sdk/chain/detectChain.ts +21 -0
  93. package/src/sdk/chain/index.ts +3 -0
  94. package/src/sdk/constants/address-provider.ts +47 -0
  95. package/src/sdk/constants/addresses.ts +82 -0
  96. package/src/sdk/constants/bot-permissions.ts +36 -0
  97. package/src/sdk/constants/index.ts +6 -0
  98. package/src/sdk/constants/math.ts +23 -0
  99. package/src/sdk/constants/networks.ts +38 -0
  100. package/src/sdk/constants/periphery.ts +7 -0
  101. package/src/sdk/core/BotListV3Contract.ts +103 -0
  102. package/src/sdk/core/GearStakingV3Contract.ts +84 -0
  103. package/src/sdk/core/address-provider/AbstractAddressProviderContract.ts +101 -0
  104. package/src/sdk/core/address-provider/AddressProviderV3Contract.ts +105 -0
  105. package/src/sdk/core/address-provider/AddressProviderV3_1Contract.ts +92 -0
  106. package/src/sdk/core/address-provider/getAddressProvider.ts +45 -0
  107. package/src/sdk/core/address-provider/index.ts +4 -0
  108. package/src/sdk/core/address-provider/types.ts +17 -0
  109. package/src/sdk/core/index.ts +3 -0
  110. package/src/sdk/gauges/GaugeStakingService.ts +100 -0
  111. package/src/sdk/gauges/index.ts +2 -0
  112. package/src/sdk/gauges/utils.ts +25 -0
  113. package/src/sdk/index.ts +17 -0
  114. package/src/sdk/market/MarketConfiguratorContract.ts +78 -0
  115. package/src/sdk/market/MarketRegister.ts +330 -0
  116. package/src/sdk/market/MarketSuite.ts +83 -0
  117. package/src/sdk/market/adapters/PlaceholderAdapterContracts.ts +18 -0
  118. package/src/sdk/market/adapters/factory.ts +34 -0
  119. package/src/sdk/market/adapters/index.ts +3 -0
  120. package/src/sdk/market/adapters/types.ts +7 -0
  121. package/src/sdk/market/credit/CreditConfiguratorV300Contract.ts +164 -0
  122. package/src/sdk/market/credit/CreditConfiguratorV310Contract.ts +139 -0
  123. package/src/sdk/market/credit/CreditFacadeV300Contract.ts +206 -0
  124. package/src/sdk/market/credit/CreditFacadeV310Contract.ts +190 -0
  125. package/src/sdk/market/credit/CreditManagerV300Contract.ts +122 -0
  126. package/src/sdk/market/credit/CreditManagerV310Contract.ts +122 -0
  127. package/src/sdk/market/credit/CreditSuite.ts +65 -0
  128. package/src/sdk/market/credit/createCreditConfigurator.ts +18 -0
  129. package/src/sdk/market/credit/createCreditFacade.ts +18 -0
  130. package/src/sdk/market/credit/createCreditManager.ts +18 -0
  131. package/src/sdk/market/credit/index.ts +8 -0
  132. package/src/sdk/market/credit/types.ts +42 -0
  133. package/src/sdk/market/index.ts +7 -0
  134. package/src/sdk/market/oracle/PriceOracleBaseContract.ts +376 -0
  135. package/src/sdk/market/oracle/PriceOracleV300Contract.ts +71 -0
  136. package/src/sdk/market/oracle/PriceOracleV310Contract.ts +43 -0
  137. package/src/sdk/market/oracle/createPriceOracle.ts +22 -0
  138. package/src/sdk/market/oracle/index.ts +4 -0
  139. package/src/sdk/market/oracle/types.ts +48 -0
  140. package/src/sdk/market/pool/GaugeContract.ts +120 -0
  141. package/src/sdk/market/pool/LinearInterestRateModelContract.ts +75 -0
  142. package/src/sdk/market/pool/PoolQuotaKeeperV300Contract.ts +89 -0
  143. package/src/sdk/market/pool/PoolQuotaKeeperV310Contract.ts +89 -0
  144. package/src/sdk/market/pool/PoolSuite.ts +76 -0
  145. package/src/sdk/market/pool/PoolV300Contract.ts +144 -0
  146. package/src/sdk/market/pool/PoolV310Contract.ts +144 -0
  147. package/src/sdk/market/pool/TumblerContract.ts +73 -0
  148. package/src/sdk/market/pool/createInterestRateModel.ts +33 -0
  149. package/src/sdk/market/pool/createPool.ts +19 -0
  150. package/src/sdk/market/pool/createPoolQuotaKeeper.ts +20 -0
  151. package/src/sdk/market/pool/createRateKeeper.ts +25 -0
  152. package/src/sdk/market/pool/index.ts +6 -0
  153. package/src/sdk/market/pool/types.ts +28 -0
  154. package/src/sdk/market/pricefeeds/AbstractLPPriceFeed.ts +71 -0
  155. package/src/sdk/market/pricefeeds/AbstractPriceFeed.ts +137 -0
  156. package/src/sdk/market/pricefeeds/BalancerStablePriceFeed.ts +24 -0
  157. package/src/sdk/market/pricefeeds/BalancerWeightedPriceFeed.ts +70 -0
  158. package/src/sdk/market/pricefeeds/BoundedPriceFeed.ts +34 -0
  159. package/src/sdk/market/pricefeeds/ChainlinkPriceFeed.ts +16 -0
  160. package/src/sdk/market/pricefeeds/CompositePriceFeed.ts +25 -0
  161. package/src/sdk/market/pricefeeds/CurveCryptoPriceFeed.ts +24 -0
  162. package/src/sdk/market/pricefeeds/CurveStablePriceFeed.ts +24 -0
  163. package/src/sdk/market/pricefeeds/CurveUSDPriceFeed.ts +24 -0
  164. package/src/sdk/market/pricefeeds/Erc4626PriceFeed.ts +36 -0
  165. package/src/sdk/market/pricefeeds/MellowLRTPriceFeed.ts +26 -0
  166. package/src/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.ts +44 -0
  167. package/src/sdk/market/pricefeeds/PriceFeedRef.ts +34 -0
  168. package/src/sdk/market/pricefeeds/PriceFeedsRegister.ts +293 -0
  169. package/src/sdk/market/pricefeeds/RedstonePriceFeed.ts +65 -0
  170. package/src/sdk/market/pricefeeds/RedstoneUpdater.ts +304 -0
  171. package/src/sdk/market/pricefeeds/WstETHPriceFeed.ts +24 -0
  172. package/src/sdk/market/pricefeeds/YearnPriceFeed.ts +24 -0
  173. package/src/sdk/market/pricefeeds/ZeroPriceFeed.ts +17 -0
  174. package/src/sdk/market/pricefeeds/index.ts +20 -0
  175. package/src/sdk/market/pricefeeds/types.ts +82 -0
  176. package/src/sdk/market/pricefeeds/utils.ts +24 -0
  177. package/src/sdk/plugins/index.ts +10 -0
  178. package/src/sdk/router/PathOptionFactory.ts +147 -0
  179. package/src/sdk/router/RouterV3Contract.ts +558 -0
  180. package/src/sdk/router/index.ts +2 -0
  181. package/src/sdk/router/types.ts +48 -0
  182. package/src/sdk/sdk-gov-legacy/contracts/adapters.ts +39 -0
  183. package/src/sdk/sdk-gov-legacy/contracts/contracts.ts +647 -0
  184. package/src/sdk/sdk-gov-legacy/contracts/index.ts +2 -0
  185. package/src/sdk/sdk-gov-legacy/core/constants.ts +11 -0
  186. package/src/sdk/sdk-gov-legacy/index.ts +4 -0
  187. package/src/sdk/sdk-gov-legacy/oracles/PriceFeedType.ts +24 -0
  188. package/src/sdk/sdk-gov-legacy/oracles/index.ts +1 -0
  189. package/src/sdk/sdk-gov-legacy/tokens/aave.ts +101 -0
  190. package/src/sdk/sdk-gov-legacy/tokens/aura.ts +284 -0
  191. package/src/sdk/sdk-gov-legacy/tokens/balancer.ts +421 -0
  192. package/src/sdk/sdk-gov-legacy/tokens/compound.ts +79 -0
  193. package/src/sdk/sdk-gov-legacy/tokens/convex.ts +561 -0
  194. package/src/sdk/sdk-gov-legacy/tokens/curveLP.ts +480 -0
  195. package/src/sdk/sdk-gov-legacy/tokens/decimals.ts +301 -0
  196. package/src/sdk/sdk-gov-legacy/tokens/erc4626.ts +75 -0
  197. package/src/sdk/sdk-gov-legacy/tokens/gear.ts +273 -0
  198. package/src/sdk/sdk-gov-legacy/tokens/index.ts +18 -0
  199. package/src/sdk/sdk-gov-legacy/tokens/normal.ts +613 -0
  200. package/src/sdk/sdk-gov-legacy/tokens/quoted.ts +10 -0
  201. package/src/sdk/sdk-gov-legacy/tokens/stakingRewards.ts +41 -0
  202. package/src/sdk/sdk-gov-legacy/tokens/token.ts +2354 -0
  203. package/src/sdk/sdk-gov-legacy/tokens/tokenData.ts +44 -0
  204. package/src/sdk/sdk-gov-legacy/tokens/tokenType.ts +33 -0
  205. package/src/sdk/sdk-gov-legacy/tokens/wrapped.ts +28 -0
  206. package/src/sdk/sdk-gov-legacy/tokens/yearn.ts +122 -0
  207. package/src/sdk/sdk-gov-legacy/tokens/zircuit.ts +44 -0
  208. package/src/sdk/sdk-legacy/apy/index.ts +149 -0
  209. package/src/sdk/sdk-legacy/core/assets.ts +200 -0
  210. package/src/sdk/sdk-legacy/core/creditAccount.spec.ts +1966 -0
  211. package/src/sdk/sdk-legacy/core/creditAccount.ts +816 -0
  212. package/src/sdk/sdk-legacy/core/creditManager.ts +316 -0
  213. package/src/sdk/sdk-legacy/core/creditSession.ts +352 -0
  214. package/src/sdk/sdk-legacy/core/endpoint.ts +131 -0
  215. package/src/sdk/sdk-legacy/core/eventOrTx.ts +101 -0
  216. package/src/sdk/sdk-legacy/core/pool.ts +439 -0
  217. package/src/sdk/sdk-legacy/core/strategy.ts +82 -0
  218. package/src/sdk/sdk-legacy/core/transactions.ts +865 -0
  219. package/src/sdk/sdk-legacy/gearboxRewards/api.ts +704 -0
  220. package/src/sdk/sdk-legacy/gearboxRewards/apy.ts +267 -0
  221. package/src/sdk/sdk-legacy/gearboxRewards/extraAPY.ts +165 -0
  222. package/src/sdk/sdk-legacy/gearboxRewards/index.ts +3 -0
  223. package/src/sdk/sdk-legacy/gearboxRewards/merklAPI.ts +151 -0
  224. package/src/sdk/sdk-legacy/index.ts +21 -0
  225. package/src/sdk/sdk-legacy/pathfinder/core.ts +18 -0
  226. package/src/sdk/sdk-legacy/pathfinder/index.ts +1 -0
  227. package/src/sdk/sdk-legacy/payload/creditAccount.ts +48 -0
  228. package/src/sdk/sdk-legacy/payload/creditManager.ts +133 -0
  229. package/src/sdk/sdk-legacy/payload/creditSession.ts +143 -0
  230. package/src/sdk/sdk-legacy/payload/graphPayload.ts +10 -0
  231. package/src/sdk/sdk-legacy/payload/pool.ts +198 -0
  232. package/src/sdk/sdk-legacy/payload/token.ts +13 -0
  233. package/src/sdk/sdk-legacy/tokens/tokenData.ts +57 -0
  234. package/src/sdk/sdk-legacy/types/IAirdropDistributor.ts +103 -0
  235. package/src/sdk/sdk-legacy/types/IBaseRewardPool.ts +249 -0
  236. package/src/sdk/sdk-legacy/types/IDataCompressorV3.ts +957 -0
  237. package/src/sdk/sdk-legacy/types/IDegenDistributor.ts +70 -0
  238. package/src/sdk/sdk-legacy/types/IERC20Permit.ts +35 -0
  239. package/src/sdk/sdk-legacy/types/IERC20ZapperDeposits.ts +99 -0
  240. package/src/sdk/sdk-legacy/types/IETHZapperDeposits.ts +27 -0
  241. package/src/sdk/sdk-legacy/types/IFarmingPool.ts +229 -0
  242. package/src/sdk/sdk-legacy/types/IInterestRateModel.ts +23 -0
  243. package/src/sdk/sdk-legacy/types/IMulticall3.ts +242 -0
  244. package/src/sdk/sdk-legacy/types/IOffchainOracle.ts +31 -0
  245. package/src/sdk/sdk-legacy/types/index.ts +11 -0
  246. package/src/sdk/sdk-legacy/utils/formatter.ts +46 -0
  247. package/src/sdk/sdk-legacy/utils/index.ts +3 -0
  248. package/src/sdk/sdk-legacy/utils/math.ts +6 -0
  249. package/src/sdk/sdk-legacy/utils/price.ts +27 -0
  250. package/src/sdk/types/index.ts +5 -0
  251. package/src/sdk/types/logger.ts +13 -0
  252. package/src/sdk/types/state-human.ts +224 -0
  253. package/src/sdk/types/state.ts +8 -0
  254. package/src/sdk/types/transactions.ts +22 -0
  255. package/src/sdk/types/tvl.ts +4 -0
  256. package/src/sdk/utils/AddressMap.ts +111 -0
  257. package/src/sdk/utils/bytes32ToString.ts +6 -0
  258. package/src/sdk/utils/childLogger.ts +8 -0
  259. package/src/sdk/utils/createRawTx.ts +86 -0
  260. package/src/sdk/utils/etherscan.ts +42 -0
  261. package/src/sdk/utils/filterDust.ts +20 -0
  262. package/src/sdk/utils/formatter.ts +124 -0
  263. package/src/sdk/utils/index.ts +10 -0
  264. package/src/sdk/utils/internal/Hooks.ts +51 -0
  265. package/src/sdk/utils/internal/index.ts +1 -0
  266. package/src/sdk/utils/json.ts +27 -0
  267. package/src/sdk/utils/mappers.ts +38 -0
  268. package/src/sdk/utils/retry.ts +24 -0
  269. package/src/sdk/utils/viem/detectNetwork.ts +27 -0
  270. package/src/sdk/utils/viem/index.ts +3 -0
  271. package/src/sdk/utils/viem/sendRawTx.ts +36 -0
  272. package/src/sdk/utils/viem/simulateMulticall.ts +262 -0
  273. package/tsconfig.build.json +4 -0
  274. package/tsconfig.json +16 -0
  275. package/tsup.config.ts +77 -0
@@ -0,0 +1,613 @@
1
+ import type { TokenBase } from "./token";
2
+ import type { TokenNetwork } from "./tokenType";
3
+ import { TokenType } from "./tokenType";
4
+
5
+ export type NormalToken =
6
+ | "1INCH"
7
+ | "AAVE"
8
+ | "CRV"
9
+ | "LINK"
10
+ | "SNX"
11
+ | "UNI"
12
+ | "USDT"
13
+ | "DOLA"
14
+ | "USDC"
15
+ | "USDC_e"
16
+ | "DAI"
17
+ | "WETH"
18
+ | "WBTC"
19
+ | "tBTC"
20
+ | "YFI"
21
+ | "WLD"
22
+ | "OP"
23
+
24
+ // NEW TOKENS
25
+ | "STETH"
26
+ | "CVX"
27
+ | "FRAX"
28
+ | "FXS"
29
+ | "LDO"
30
+ | "LUSD"
31
+ | "sUSD"
32
+ | "GUSD"
33
+ | "LQTY"
34
+ | "GMX"
35
+ | "ARB"
36
+ | "BAL"
37
+ | "ARB"
38
+ | "MKR"
39
+ | "RPL"
40
+ | "APE"
41
+ | "rETH"
42
+ | "AURA"
43
+ | "LBTC"
44
+ | "eBTC"
45
+ | "solvBTC"
46
+ | "pumpBTC"
47
+ | "osETH"
48
+ | "weETH"
49
+ | "SWISE"
50
+ | "ezETH"
51
+ | "rsETH"
52
+ | "PENDLE"
53
+ | "frxETH"
54
+ | "cbETH"
55
+ | "rswETH"
56
+ | "USDe"
57
+ | "GHO"
58
+ | "pufETH"
59
+ | "wstETH"
60
+ | "USDS"
61
+ | "SKY"
62
+ | "beraSTONE"
63
+ | "wS"
64
+ | "stS"
65
+ | "scUSD"
66
+ | "T"
67
+ | "tETH"
68
+ | "USDL"
69
+ | "wUSDL"
70
+ | "csUSDL"
71
+ | "MORPHO"
72
+
73
+ // Mellow LRTs
74
+ | "steakLRT"
75
+ | "Re7LRT"
76
+ | "amphrETH"
77
+ | "rstETH"
78
+ | "pzETH"
79
+ | "DVstETH"
80
+ | "waEthLidowstETH"
81
+ // Pendle
82
+ | "PT_rsETH_26SEP2024"
83
+ | "PT_sUSDe_26DEC2024"
84
+ | "PT_eETH_26DEC2024"
85
+ | "PT_ezETH_26DEC2024"
86
+ | "PT_eBTC_26DEC2024"
87
+ | "PT_LBTC_27MAR2025"
88
+ | "PT_corn_solvBTC_BBN_26DEC2024"
89
+ | "PT_corn_pumpBTC_26DEC2024"
90
+ | "PT_cornLBTC_26DEC2024"
91
+ | "PT_corn_eBTC_27MAR2025"
92
+ | "PT_sUSDe_27MAR2025"
93
+ | "PT_sUSDe_29MAY2025"
94
+ | "PT_beraSTONE_10APR2025"
95
+
96
+ // Balancer V3
97
+ | "rstETH_Lido_wstETH"
98
+ | "DVstETH_Prime_wstETH"
99
+
100
+ // REDSTONE
101
+ | "SHIB"
102
+
103
+ // crvUSD
104
+ | "crvUSD";
105
+
106
+ export type NormalTokenData = {
107
+ symbol: NormalToken;
108
+ type: Partial<Record<TokenNetwork, TokenType.NORMAL_TOKEN>>;
109
+ } & TokenBase;
110
+
111
+ export const normalTokens: Record<NormalToken, NormalTokenData> = {
112
+ "1INCH": {
113
+ name: "1INCH",
114
+
115
+ symbol: "1INCH",
116
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
117
+ },
118
+
119
+ AAVE: {
120
+ name: "AAVE",
121
+
122
+ symbol: "AAVE",
123
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
124
+ },
125
+
126
+ CRV: {
127
+ name: "CRV",
128
+
129
+ symbol: "CRV",
130
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
131
+ },
132
+
133
+ DAI: {
134
+ name: "DAI",
135
+
136
+ symbol: "DAI",
137
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
138
+ },
139
+
140
+ LINK: {
141
+ name: "LINK",
142
+
143
+ symbol: "LINK",
144
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
145
+ },
146
+
147
+ SNX: {
148
+ name: "SNX",
149
+
150
+ symbol: "SNX",
151
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
152
+ },
153
+
154
+ UNI: {
155
+ name: "UNI",
156
+
157
+ symbol: "UNI",
158
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
159
+ },
160
+
161
+ USDC: {
162
+ name: "USDC",
163
+
164
+ symbol: "USDC",
165
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
166
+ },
167
+
168
+ USDC_e: {
169
+ name: "USDC (Bridged)",
170
+
171
+ symbol: "USDC_e",
172
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
173
+ },
174
+
175
+ USDT: {
176
+ name: "USDT",
177
+
178
+ symbol: "USDT",
179
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
180
+ },
181
+ DOLA: {
182
+ name: "DOLA",
183
+
184
+ symbol: "DOLA",
185
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
186
+ },
187
+
188
+ WBTC: {
189
+ name: "WBTC",
190
+
191
+ symbol: "WBTC",
192
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
193
+ },
194
+ tBTC: {
195
+ name: "tBTC",
196
+
197
+ symbol: "tBTC",
198
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
199
+ },
200
+
201
+ WETH: {
202
+ name: "WETH",
203
+
204
+ symbol: "WETH",
205
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
206
+ },
207
+
208
+ YFI: {
209
+ name: "YFI",
210
+
211
+ symbol: "YFI",
212
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
213
+ },
214
+
215
+ WLD: {
216
+ name: "WLD",
217
+ symbol: "WLD",
218
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
219
+ },
220
+
221
+ OP: {
222
+ name: "OP",
223
+ symbol: "OP",
224
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
225
+ },
226
+
227
+ /// UPDATE
228
+ STETH: {
229
+ name: "stETH",
230
+
231
+ symbol: "STETH",
232
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
233
+ },
234
+
235
+ CVX: {
236
+ name: "CVX",
237
+
238
+ symbol: "CVX",
239
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
240
+ },
241
+
242
+ FRAX: {
243
+ name: "FRAX",
244
+
245
+ symbol: "FRAX",
246
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
247
+ },
248
+
249
+ FXS: {
250
+ name: "FXS",
251
+
252
+ symbol: "FXS",
253
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
254
+ },
255
+
256
+ LDO: {
257
+ name: "LDO",
258
+
259
+ symbol: "LDO",
260
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
261
+ },
262
+
263
+ LUSD: {
264
+ name: "LUSD",
265
+
266
+ symbol: "LUSD",
267
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
268
+ },
269
+
270
+ sUSD: {
271
+ name: "sUSD",
272
+
273
+ symbol: "sUSD",
274
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
275
+ },
276
+
277
+ GUSD: {
278
+ name: "GUSD",
279
+
280
+ symbol: "GUSD",
281
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
282
+ },
283
+
284
+ LQTY: {
285
+ name: "LQTY",
286
+
287
+ symbol: "LQTY",
288
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
289
+ },
290
+
291
+ GMX: {
292
+ name: "GMX",
293
+
294
+ symbol: "GMX",
295
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
296
+ },
297
+ ARB: {
298
+ name: "ARB",
299
+
300
+ symbol: "ARB",
301
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
302
+ },
303
+ BAL: {
304
+ name: "BAL",
305
+
306
+ symbol: "BAL",
307
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
308
+ },
309
+ SHIB: {
310
+ name: "SHIB",
311
+ symbol: "SHIB",
312
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
313
+ },
314
+
315
+ crvUSD: {
316
+ name: "crvUSD",
317
+ symbol: "crvUSD",
318
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
319
+ },
320
+
321
+ MKR: {
322
+ name: "MKR",
323
+
324
+ symbol: "MKR",
325
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
326
+ },
327
+ RPL: {
328
+ name: "RPL",
329
+
330
+ symbol: "RPL",
331
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
332
+ },
333
+ APE: {
334
+ name: "APE",
335
+
336
+ symbol: "APE",
337
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
338
+ },
339
+ LBTC: {
340
+ name: "LBTC",
341
+
342
+ symbol: "LBTC",
343
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
344
+ },
345
+ eBTC: {
346
+ name: "eBTC",
347
+ symbol: "eBTC",
348
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
349
+ },
350
+ solvBTC: {
351
+ name: "solvBTC",
352
+ symbol: "solvBTC",
353
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
354
+ },
355
+ pumpBTC: {
356
+ name: "pumpBTC",
357
+ symbol: "pumpBTC",
358
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
359
+ },
360
+ rETH: {
361
+ name: "Rocket Pool ETH",
362
+ symbol: "rETH",
363
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
364
+ },
365
+ AURA: {
366
+ name: "Aura Token",
367
+ symbol: "AURA",
368
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
369
+ },
370
+ osETH: {
371
+ name: "Stakewise ETH",
372
+ symbol: "osETH",
373
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
374
+ },
375
+ weETH: {
376
+ name: "ether.fi ETH",
377
+ symbol: "weETH",
378
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
379
+ },
380
+ SWISE: {
381
+ name: "StakeWise",
382
+ symbol: "SWISE",
383
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
384
+ },
385
+ ezETH: {
386
+ name: "Renzo Restaked ETH",
387
+ symbol: "ezETH",
388
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
389
+ },
390
+ rsETH: {
391
+ name: "Kelp Restaked ETH",
392
+ symbol: "rsETH",
393
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
394
+ },
395
+ beraSTONE: {
396
+ name: "Berachain STONE",
397
+ symbol: "beraSTONE",
398
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
399
+ },
400
+
401
+ wS: {
402
+ name: "Wrapped Sonic",
403
+ symbol: "wS",
404
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
405
+ },
406
+ stS: {
407
+ name: "Beets Staked Sonic",
408
+ symbol: "stS",
409
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
410
+ },
411
+ scUSD: {
412
+ name: "Sonic USD",
413
+ symbol: "scUSD",
414
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
415
+ },
416
+
417
+ frxETH: {
418
+ name: "Frax ETH",
419
+ symbol: "frxETH",
420
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
421
+ },
422
+ PENDLE: {
423
+ name: "Pendle",
424
+ symbol: "PENDLE",
425
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
426
+ },
427
+ MORPHO: {
428
+ name: "Morpho Token",
429
+ symbol: "MORPHO",
430
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
431
+ },
432
+ cbETH: {
433
+ name: "Coinbase ETH",
434
+ symbol: "cbETH",
435
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
436
+ },
437
+ rswETH: {
438
+ name: "Restaked Swell ETH",
439
+ symbol: "rswETH",
440
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
441
+ },
442
+ USDe: {
443
+ name: "Ethena USDe",
444
+ symbol: "USDe",
445
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
446
+ },
447
+ GHO: {
448
+ name: "Gho Token",
449
+ symbol: "GHO",
450
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
451
+ },
452
+ pufETH: {
453
+ name: "Puffer Restaked ETH",
454
+ symbol: "pufETH",
455
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
456
+ },
457
+ wstETH: {
458
+ name: "Wrapped stETH",
459
+ symbol: "wstETH",
460
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
461
+ },
462
+ tETH: {
463
+ name: "Treehouse ETH",
464
+ symbol: "tETH",
465
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
466
+ },
467
+ USDL: {
468
+ name: "Lift Dollar",
469
+ symbol: "USDL",
470
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
471
+ },
472
+ wUSDL: {
473
+ name: "Wrapped USDL",
474
+ symbol: "wUSDL",
475
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
476
+ },
477
+ csUSDL: {
478
+ name: "Coinshift USDL",
479
+ symbol: "csUSDL",
480
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
481
+ },
482
+
483
+ // Mellow
484
+ steakLRT: {
485
+ name: "Steakhouse Mellow LRT",
486
+ symbol: "steakLRT",
487
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
488
+ },
489
+ Re7LRT: {
490
+ name: "Re7 Mellow LRT",
491
+ symbol: "Re7LRT",
492
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
493
+ },
494
+ amphrETH: {
495
+ name: "Mev Capital Mellow LRT",
496
+ symbol: "amphrETH",
497
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
498
+ },
499
+ rstETH: {
500
+ name: "P2P Mellow LRT",
501
+ symbol: "rstETH",
502
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
503
+ },
504
+ pzETH: {
505
+ name: "Renzo Mellow LST",
506
+ symbol: "pzETH",
507
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
508
+ },
509
+ DVstETH: {
510
+ name: "Decentralized Validator Token",
511
+ symbol: "DVstETH",
512
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
513
+ },
514
+ waEthLidowstETH: {
515
+ name: "Wrapped Aave Ethereum Lido wstETH",
516
+ symbol: "waEthLidowstETH",
517
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
518
+ },
519
+ PT_rsETH_26SEP2024: {
520
+ name: "Pendle PT rsETH 26 Sep 2024 expiry",
521
+ symbol: "PT_rsETH_26SEP2024",
522
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
523
+ },
524
+ USDS: {
525
+ name: "USDS",
526
+ symbol: "USDS",
527
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
528
+ },
529
+ SKY: {
530
+ name: "SKY Governance token",
531
+ symbol: "SKY",
532
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
533
+ },
534
+ T: {
535
+ name: "Threshold Network Token",
536
+ symbol: "T",
537
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
538
+ },
539
+ PT_sUSDe_26DEC2024: {
540
+ name: "Pendle PT sUSDe 26 Dec 2024 expiry",
541
+ symbol: "PT_sUSDe_26DEC2024",
542
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
543
+ },
544
+ PT_eETH_26DEC2024: {
545
+ name: "Pendle PT weETH 26 Dec 2024 expiry",
546
+ symbol: "PT_eETH_26DEC2024",
547
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
548
+ },
549
+ PT_ezETH_26DEC2024: {
550
+ name: "Pendle PT ezETH 26 Dec 2024 expiry",
551
+ symbol: "PT_ezETH_26DEC2024",
552
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
553
+ },
554
+ PT_eBTC_26DEC2024: {
555
+ name: "Pendle PT eBTC 26 Dec 2024 expiry",
556
+ symbol: "PT_eBTC_26DEC2024",
557
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
558
+ },
559
+ PT_LBTC_27MAR2025: {
560
+ name: "Pendle PT LBTC 27 Mar 2025 expiry",
561
+ symbol: "PT_LBTC_27MAR2025",
562
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
563
+ },
564
+ PT_corn_solvBTC_BBN_26DEC2024: {
565
+ name: "Pendle PT Corn solvBTC Babylon 26 Dec 2024 expiry",
566
+ symbol: "PT_corn_solvBTC_BBN_26DEC2024",
567
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
568
+ },
569
+ PT_corn_pumpBTC_26DEC2024: {
570
+ name: "Pendle PT Corn pumpBTC 26 Dec 2024 expiry",
571
+ symbol: "PT_corn_pumpBTC_26DEC2024",
572
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
573
+ },
574
+ PT_cornLBTC_26DEC2024: {
575
+ name: "Pendle PT Corn Lombard LBTC 26 Dec 2024 expiry",
576
+ symbol: "PT_cornLBTC_26DEC2024",
577
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
578
+ },
579
+ PT_corn_eBTC_27MAR2025: {
580
+ name: "Pendle PT Corn ether.fi eBTC 27 Mar 2025 expiry",
581
+ symbol: "PT_corn_eBTC_27MAR2025",
582
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
583
+ },
584
+ PT_sUSDe_27MAR2025: {
585
+ name: "Pendle PT Ethena sUSDE 27 Mar 2025 expiry",
586
+ symbol: "PT_sUSDe_27MAR2025",
587
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
588
+ },
589
+ PT_sUSDe_29MAY2025: {
590
+ name: "Pendle PT Ethena sUSDE 29 May 2025 expiry",
591
+ symbol: "PT_sUSDe_29MAY2025",
592
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
593
+ },
594
+ PT_beraSTONE_10APR2025: {
595
+ name: "Pendle PT Berachain STONE 10 April 2025 expiry",
596
+ symbol: "PT_beraSTONE_10APR2025",
597
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
598
+ },
599
+
600
+ rstETH_Lido_wstETH: {
601
+ name: "Balancer V3 rstETH-Lido wstETH",
602
+ symbol: "rstETH_Lido_wstETH",
603
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
604
+ },
605
+ DVstETH_Prime_wstETH: {
606
+ name: "Balancer V3 DVstETH-Prime wstETH",
607
+ symbol: "DVstETH_Prime_wstETH",
608
+ type: { AllNetworks: TokenType.NORMAL_TOKEN },
609
+ },
610
+ };
611
+
612
+ export const isNormalToken = (t: unknown): t is NormalToken =>
613
+ typeof t === "string" && !!normalTokens[t as NormalToken];
@@ -0,0 +1,10 @@
1
+ import type { NetworkType } from "../../chain";
2
+ import type { SupportedToken } from "./token";
3
+
4
+ export const nonQuoted: Record<NetworkType, Array<SupportedToken>> = {
5
+ Mainnet: ["WETH", "DAI", "USDC", "FRAX"],
6
+ Arbitrum: ["WETH", "DAI", "USDC", "WBTC"],
7
+ Optimism: ["WETH", "USDC", "OP"],
8
+ Base: ["WETH", "USDC", "USDT"],
9
+ Sonic: [],
10
+ };
@@ -0,0 +1,41 @@
1
+ import type { StakingRewardsContract } from "../contracts";
2
+ import type { SupportedToken, TokenBase } from "./token";
3
+ import type { TokenNetwork } from "./tokenType";
4
+ import { TokenType } from "./tokenType";
5
+
6
+ export type StakingRewardsPhantomToken = "stkUSDS";
7
+
8
+ export type StakingRewardsPhantomTokenData = {
9
+ symbol: StakingRewardsPhantomToken;
10
+ type: Partial<Record<TokenNetwork, TokenType.STAKING_REWARDS_PHANTOM_TOKEN>>;
11
+ underlying: SupportedToken;
12
+ pool: StakingRewardsContract;
13
+ } & TokenBase;
14
+
15
+ export const stakingRewardsPhantomTokens: Record<
16
+ StakingRewardsPhantomToken,
17
+ StakingRewardsPhantomTokenData
18
+ > = {
19
+ stkUSDS: {
20
+ name: "Sky staked USDS",
21
+ symbol: "stkUSDS",
22
+ pool: "SKY_STAKING_REWARDS",
23
+ type: {
24
+ AllNetworks: TokenType.STAKING_REWARDS_PHANTOM_TOKEN,
25
+ },
26
+ underlying: "USDS",
27
+ },
28
+ };
29
+
30
+ export const stakingRewardsTokens: Record<
31
+ StakingRewardsPhantomToken,
32
+ StakingRewardsPhantomTokenData
33
+ > = {
34
+ ...stakingRewardsPhantomTokens,
35
+ };
36
+
37
+ export const isStakingRewardsPhantomToken = (
38
+ t: unknown,
39
+ ): t is StakingRewardsPhantomToken =>
40
+ typeof t === "string" &&
41
+ !!stakingRewardsTokens[t as StakingRewardsPhantomToken];