@continuumdao/ctm-mpc-defi 0.2.41 → 0.2.43

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 (98) hide show
  1. package/dist/agent/catalog.cjs +219 -27
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +914 -197
  4. package/dist/agent/catalog.js +214 -28
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aerodrome/SKILL.md +1 -1
  7. package/dist/agent/skills/arcus/SKILL.md +1 -1
  8. package/dist/agent/skills/morpho/SKILL.md +32 -5
  9. package/dist/agent/skills/yield-compare/SKILL.md +6 -2
  10. package/dist/chains/evm/index.cjs +6 -2
  11. package/dist/chains/evm/index.cjs.map +1 -1
  12. package/dist/chains/evm/index.js +7 -3
  13. package/dist/chains/evm/index.js.map +1 -1
  14. package/dist/core/index.cjs +14 -0
  15. package/dist/core/index.cjs.map +1 -1
  16. package/dist/core/index.d.ts +7 -2
  17. package/dist/core/index.js +13 -2
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/index.cjs +45 -6
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +44 -8
  23. package/dist/index.js.map +1 -1
  24. package/dist/protocols/evm/aave-v4/index.cjs +11 -7
  25. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
  26. package/dist/protocols/evm/aave-v4/index.js +12 -8
  27. package/dist/protocols/evm/aave-v4/index.js.map +1 -1
  28. package/dist/protocols/evm/aerodrome/index.cjs +81 -50
  29. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
  30. package/dist/protocols/evm/aerodrome/index.d.ts +8 -8
  31. package/dist/protocols/evm/aerodrome/index.js +96 -65
  32. package/dist/protocols/evm/aerodrome/index.js.map +1 -1
  33. package/dist/protocols/evm/arcus/index.cjs +6 -2
  34. package/dist/protocols/evm/arcus/index.cjs.map +1 -1
  35. package/dist/protocols/evm/arcus/index.js +7 -3
  36. package/dist/protocols/evm/arcus/index.js.map +1 -1
  37. package/dist/protocols/evm/circle-cctp/index.cjs +7 -3
  38. package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -1
  39. package/dist/protocols/evm/circle-cctp/index.js +8 -4
  40. package/dist/protocols/evm/circle-cctp/index.js.map +1 -1
  41. package/dist/protocols/evm/compound-v3/index.cjs +9 -3
  42. package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
  43. package/dist/protocols/evm/compound-v3/index.js +10 -4
  44. package/dist/protocols/evm/compound-v3/index.js.map +1 -1
  45. package/dist/protocols/evm/continuum-dao/index.cjs +11 -5
  46. package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
  47. package/dist/protocols/evm/continuum-dao/index.js +12 -6
  48. package/dist/protocols/evm/continuum-dao/index.js.map +1 -1
  49. package/dist/protocols/evm/curve-dao/index.cjs +8 -4
  50. package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
  51. package/dist/protocols/evm/curve-dao/index.js +9 -5
  52. package/dist/protocols/evm/curve-dao/index.js.map +1 -1
  53. package/dist/protocols/evm/ethena/index.cjs +13 -9
  54. package/dist/protocols/evm/ethena/index.cjs.map +1 -1
  55. package/dist/protocols/evm/ethena/index.js +14 -10
  56. package/dist/protocols/evm/ethena/index.js.map +1 -1
  57. package/dist/protocols/evm/euler-v2/index.cjs +20 -16
  58. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  59. package/dist/protocols/evm/euler-v2/index.js +21 -17
  60. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  61. package/dist/protocols/evm/gmx/index.cjs +12 -8
  62. package/dist/protocols/evm/gmx/index.cjs.map +1 -1
  63. package/dist/protocols/evm/gmx/index.js +13 -9
  64. package/dist/protocols/evm/gmx/index.js.map +1 -1
  65. package/dist/protocols/evm/hyperliquid/index.cjs +5 -1
  66. package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
  67. package/dist/protocols/evm/hyperliquid/index.js +6 -2
  68. package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
  69. package/dist/protocols/evm/lido/index.cjs +7 -3
  70. package/dist/protocols/evm/lido/index.cjs.map +1 -1
  71. package/dist/protocols/evm/lido/index.js +8 -4
  72. package/dist/protocols/evm/lido/index.js.map +1 -1
  73. package/dist/protocols/evm/maple/index.cjs +7 -3
  74. package/dist/protocols/evm/maple/index.cjs.map +1 -1
  75. package/dist/protocols/evm/maple/index.js +8 -4
  76. package/dist/protocols/evm/maple/index.js.map +1 -1
  77. package/dist/protocols/evm/morpho/index.cjs +454 -64
  78. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  79. package/dist/protocols/evm/morpho/index.d.ts +123 -2
  80. package/dist/protocols/evm/morpho/index.js +432 -66
  81. package/dist/protocols/evm/morpho/index.js.map +1 -1
  82. package/dist/protocols/evm/pendle/index.cjs +9 -3
  83. package/dist/protocols/evm/pendle/index.cjs.map +1 -1
  84. package/dist/protocols/evm/pendle/index.js +10 -4
  85. package/dist/protocols/evm/pendle/index.js.map +1 -1
  86. package/dist/protocols/evm/sky/index.cjs +17 -13
  87. package/dist/protocols/evm/sky/index.cjs.map +1 -1
  88. package/dist/protocols/evm/sky/index.js +18 -14
  89. package/dist/protocols/evm/sky/index.js.map +1 -1
  90. package/dist/protocols/evm/uniswap-v4/index.cjs +13 -7
  91. package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
  92. package/dist/protocols/evm/uniswap-v4/index.js +14 -8
  93. package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
  94. package/dist/protocols/evm/venice/index.cjs +10 -4
  95. package/dist/protocols/evm/venice/index.cjs.map +1 -1
  96. package/dist/protocols/evm/venice/index.js +10 -4
  97. package/dist/protocols/evm/venice/index.js.map +1 -1
  98. package/package.json +1 -1
@@ -72,9 +72,8 @@ declare function aerodromeClSwapRouterForFactory(addrs: AerodromeAddresses, fact
72
72
  /**
73
73
  * Seed of Coinbase B20 tokenized stocks on Base.
74
74
  * Official table: https://docs.base.org/base-chain/asset-issuance/tokenized-stocks-on-base
75
- * New names are merged at runtime from that page + Sugar tokens with the B20 ASSET prefix.
76
75
  */
77
- declare const AERODROME_COINBASE_STOCK_TOKENS: readonly [{
76
+ declare const COINBASE_B20_STOCK_TOKENS: readonly [{
78
77
  readonly symbol: "AAPLc";
79
78
  readonly name: "Apple Inc.";
80
79
  readonly address: "0xb200000000000000000000C2e324d24d7eEcd1fb";
@@ -127,9 +126,13 @@ declare const AERODROME_COINBASE_STOCK_TOKENS: readonly [{
127
126
  readonly name: "Space Exploration Technologies Corp.";
128
127
  readonly address: "0xb2000000000000000000007b9fcbd005511aCBd5";
129
128
  }];
130
- declare const AERODROME_COINBASE_STOCK_DECIMALS: 8;
129
+ declare const COINBASE_B20_STOCK_DECIMALS: 8;
131
130
  /** B20 ASSET variant addresses: `[10-byte 0xb200…][variant 0x00][9-byte hash]`. */
132
- declare const AERODROME_B20_ASSET_PREFIX = "0xb200000000000000000000";
131
+ declare const COINBASE_B20_ASSET_PREFIX = "0xb200000000000000000000";
132
+ declare function isCoinbaseB20AssetToken(address: string): boolean;
133
+ declare function looksLikeCoinbaseStockSymbol(symbol: string): boolean;
134
+
135
+ declare function isAerodromeCoinbaseStockToken(address: string): boolean;
133
136
  type AerodromeStockTokenRow = {
134
137
  address: Address;
135
138
  symbol: string;
@@ -137,9 +140,6 @@ type AerodromeStockTokenRow = {
137
140
  decimals: number;
138
141
  issued: boolean;
139
142
  };
140
- declare function isAerodromeB20AssetToken(address: string): boolean;
141
- declare function isAerodromeCoinbaseStockToken(address: string): boolean;
142
- declare function looksLikeCoinbaseStockSymbol(symbol: string): boolean;
143
143
  type AerodromeKnownToken = {
144
144
  address: Address;
145
145
  symbol: string;
@@ -856,4 +856,4 @@ declare function aerodromePositionKey(row: {
856
856
 
857
857
  declare const aerodromeProtocolModule: ProtocolModule;
858
858
 
859
- export { AERODROME_B20_ASSET_PREFIX, AERODROME_BASE_ADDRESSES_FALLBACK, AERODROME_CHAIN_ID, AERODROME_CL_FACTORY_NEWEST_BIT, AERODROME_CL_FACTORY_OLDEST_BIT, AERODROME_COINBASE_STOCK_DECIMALS, AERODROME_COINBASE_STOCK_TOKENS, AERODROME_IMPORTANT_POOL_CAP, AERODROME_NATIVE_PLACEHOLDER, AERODROME_PROTOCOL_ID, AERODROME_STABLE_FILLER, AERODROME_USDC_BASE, AERODROME_VOLATILE_FILLER, AERODROME_WETH_BASE, type AerodromeAddLiquidityQuote, type AerodromeAddresses, type AerodromeClDepositQuote, type AerodromeKnownToken, type AerodromeListedToken, type AerodromeLpRow, type AerodromeLpYieldRow, type AerodromePositionRow, type AerodromePositionWithPool, type AerodromeQuoteResult, type AerodromeRouteHop, type AerodromeStockTokenRow, type AerodromeSwapPool, aerodromeClFactoryList, aerodromeClSwapRouterForFactory, aerodromeCoinbaseStockAddresses, aerodromeDiscoverConnectorPools, aerodromeDiscoverConnectorPoolsLoaded, aerodromeDiscoverDirectPools, aerodromeDiscoverPoolsSummary, aerodromeFallbackAddresses, aerodromeFetchImportantPoolsSummary, aerodromeFetchListedTokens, aerodromeFetchListedTokensSummary, aerodromeFetchLpYieldsForPair, aerodromeFetchLpYieldsForPools, aerodromeFetchLpYieldsSummary, aerodromeFetchPools, aerodromeFetchPoolsByAddress, aerodromeFetchPoolsSummary, aerodromeFetchPositions, aerodromeFetchPositionsSummary, aerodromeFetchPositionsWithPools, aerodromeFetchStockLpYieldsSummary, aerodromeFetchSwapPools, aerodromeMixedPathFiller, aerodromeOnChainDeadlineUnix, aerodromePositionKey, aerodromePositionLabel, aerodromeProbeAmountIn, aerodromeProtocolModule, aerodromeQuote, aerodromeQuoteAddLiquidity, aerodromeQuoteClDeposit, aerodromeResolveStockTokens, aerodromeUnissuedStockMessage, assertAerodromeStockIssued, buildAerodromeLiquidityPurposePrefill, buildAerodromeRewardsPurposePrefill, buildAerodromeSwapPurposePrefill, buildEvmMultisignBodyAerodromeAddLiquidityBatch, buildEvmMultisignBodyAerodromeClBurnBatch, buildEvmMultisignBodyAerodromeClCollectBatch, buildEvmMultisignBodyAerodromeClDecreaseBatch, buildEvmMultisignBodyAerodromeClIncreaseBatch, buildEvmMultisignBodyAerodromeClMintBatch, buildEvmMultisignBodyAerodromeClaimEmissionsBatch, buildEvmMultisignBodyAerodromeClaimFeesBatch, buildEvmMultisignBodyAerodromeGaugeStakeBatch, buildEvmMultisignBodyAerodromeGaugeUnstakeBatch, buildEvmMultisignBodyAerodromeRemoveLiquidityBatch, buildEvmMultisignBodyAerodromeSwapBatch, computeAerodromePriceImpactPercent, encodeAerodromeMixedPath, fetchOfficialBaseTokenizedStocks, findAerodromePaths, formatAerodromeLpYieldLabel, formatAerodromePriceImpact, isAerodromeB20AssetToken, isAerodromeChainSupported, isAerodromeCoinbaseStockToken, isAerodromeNativeToken, loadAerodromeAddresses, looksLikeCoinbaseStockSymbol, lookupAerodromeKnownToken, parseBaseTokenizedStockDocs, parseSecurityMdxAddresses, parseSugarBaseEnv, quoteAerodromeHopsAmountOut, requireAerodromeRpcUrl, resetAerodromeAddressCache, resolveAerodromeErc20OrWeth, tryAerodromeSdkQuote, tryAerodromeSdkUnsignedSwap };
859
+ export { COINBASE_B20_ASSET_PREFIX as AERODROME_B20_ASSET_PREFIX, AERODROME_BASE_ADDRESSES_FALLBACK, AERODROME_CHAIN_ID, AERODROME_CL_FACTORY_NEWEST_BIT, AERODROME_CL_FACTORY_OLDEST_BIT, COINBASE_B20_STOCK_DECIMALS as AERODROME_COINBASE_STOCK_DECIMALS, COINBASE_B20_STOCK_TOKENS as AERODROME_COINBASE_STOCK_TOKENS, AERODROME_IMPORTANT_POOL_CAP, AERODROME_NATIVE_PLACEHOLDER, AERODROME_PROTOCOL_ID, AERODROME_STABLE_FILLER, AERODROME_USDC_BASE, AERODROME_VOLATILE_FILLER, AERODROME_WETH_BASE, type AerodromeAddLiquidityQuote, type AerodromeAddresses, type AerodromeClDepositQuote, type AerodromeKnownToken, type AerodromeListedToken, type AerodromeLpRow, type AerodromeLpYieldRow, type AerodromePositionRow, type AerodromePositionWithPool, type AerodromeQuoteResult, type AerodromeRouteHop, type AerodromeStockTokenRow, type AerodromeSwapPool, aerodromeClFactoryList, aerodromeClSwapRouterForFactory, aerodromeCoinbaseStockAddresses, aerodromeDiscoverConnectorPools, aerodromeDiscoverConnectorPoolsLoaded, aerodromeDiscoverDirectPools, aerodromeDiscoverPoolsSummary, aerodromeFallbackAddresses, aerodromeFetchImportantPoolsSummary, aerodromeFetchListedTokens, aerodromeFetchListedTokensSummary, aerodromeFetchLpYieldsForPair, aerodromeFetchLpYieldsForPools, aerodromeFetchLpYieldsSummary, aerodromeFetchPools, aerodromeFetchPoolsByAddress, aerodromeFetchPoolsSummary, aerodromeFetchPositions, aerodromeFetchPositionsSummary, aerodromeFetchPositionsWithPools, aerodromeFetchStockLpYieldsSummary, aerodromeFetchSwapPools, aerodromeMixedPathFiller, aerodromeOnChainDeadlineUnix, aerodromePositionKey, aerodromePositionLabel, aerodromeProbeAmountIn, aerodromeProtocolModule, aerodromeQuote, aerodromeQuoteAddLiquidity, aerodromeQuoteClDeposit, aerodromeResolveStockTokens, aerodromeUnissuedStockMessage, assertAerodromeStockIssued, buildAerodromeLiquidityPurposePrefill, buildAerodromeRewardsPurposePrefill, buildAerodromeSwapPurposePrefill, buildEvmMultisignBodyAerodromeAddLiquidityBatch, buildEvmMultisignBodyAerodromeClBurnBatch, buildEvmMultisignBodyAerodromeClCollectBatch, buildEvmMultisignBodyAerodromeClDecreaseBatch, buildEvmMultisignBodyAerodromeClIncreaseBatch, buildEvmMultisignBodyAerodromeClMintBatch, buildEvmMultisignBodyAerodromeClaimEmissionsBatch, buildEvmMultisignBodyAerodromeClaimFeesBatch, buildEvmMultisignBodyAerodromeGaugeStakeBatch, buildEvmMultisignBodyAerodromeGaugeUnstakeBatch, buildEvmMultisignBodyAerodromeRemoveLiquidityBatch, buildEvmMultisignBodyAerodromeSwapBatch, computeAerodromePriceImpactPercent, encodeAerodromeMixedPath, fetchOfficialBaseTokenizedStocks, findAerodromePaths, formatAerodromeLpYieldLabel, formatAerodromePriceImpact, isCoinbaseB20AssetToken as isAerodromeB20AssetToken, isAerodromeChainSupported, isAerodromeCoinbaseStockToken, isAerodromeNativeToken, loadAerodromeAddresses, looksLikeCoinbaseStockSymbol, lookupAerodromeKnownToken, parseBaseTokenizedStockDocs, parseSecurityMdxAddresses, parseSugarBaseEnv, quoteAerodromeHopsAmountOut, requireAerodromeRpcUrl, resetAerodromeAddressCache, resolveAerodromeErc20OrWeth, tryAerodromeSdkQuote, tryAerodromeSdkUnsignedSwap };
@@ -204,6 +204,60 @@ var init_addresses = __esm({
204
204
  cache = null;
205
205
  }
206
206
  });
207
+ function isCoinbaseB20AssetToken(address) {
208
+ try {
209
+ return getAddress(address).toLowerCase().startsWith(COINBASE_B20_ASSET_PREFIX);
210
+ } catch {
211
+ return false;
212
+ }
213
+ }
214
+ function looksLikeCoinbaseStockSymbol(symbol) {
215
+ return /^[A-Za-z][A-Za-z0-9]{0,10}c$/.test((symbol ?? "").trim());
216
+ }
217
+ function lookupCoinbaseB20StockToken(token) {
218
+ const key = (token ?? "").trim();
219
+ if (!key) return null;
220
+ const lower = key.toLowerCase();
221
+ const bySymbol = COINBASE_B20_STOCK_TOKENS.find((t) => t.symbol.toLowerCase() === lower);
222
+ if (bySymbol) {
223
+ return {
224
+ address: getAddress(bySymbol.address),
225
+ symbol: bySymbol.symbol,
226
+ decimals: COINBASE_B20_STOCK_DECIMALS
227
+ };
228
+ }
229
+ try {
230
+ const address = getAddress(key);
231
+ const byAddr = COINBASE_B20_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === address.toLowerCase());
232
+ if (byAddr) {
233
+ return { address, symbol: byAddr.symbol, decimals: COINBASE_B20_STOCK_DECIMALS };
234
+ }
235
+ } catch {
236
+ }
237
+ return null;
238
+ }
239
+ var COINBASE_B20_STOCK_TOKENS, COINBASE_B20_STOCK_DECIMALS, COINBASE_B20_ASSET_PREFIX;
240
+ var init_coinbaseB20 = __esm({
241
+ "src/protocols/evm/shared/coinbaseB20.ts"() {
242
+ COINBASE_B20_STOCK_TOKENS = [
243
+ { symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
244
+ { symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
245
+ { symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
246
+ { symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
247
+ { symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
248
+ { symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
249
+ { symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
250
+ { symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
251
+ { symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
252
+ { symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
253
+ { symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
254
+ { symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
255
+ { symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
256
+ ];
257
+ COINBASE_B20_STOCK_DECIMALS = 8;
258
+ COINBASE_B20_ASSET_PREFIX = "0xb200000000000000000000";
259
+ }
260
+ });
207
261
 
208
262
  // src/protocols/evm/aerodrome/abi.ts
209
263
  var lpSugarAbi, routerAbi, mixedQuoterAbi, mixedQuoterV3Abi, v2PoolFactoryAbi, clPoolFactoryAbi, clPoolAbi, sugarHelperAbi, nfpmAbi, clSwapRouterAbi, poolClaimFeesAbi, gaugeAbi, clGaugeAbi, aerodromePoolMetaAbi, aerodromeVoterAbi, erc20Abi;
@@ -981,6 +1035,14 @@ var init_abi = __esm({
981
1035
  ];
982
1036
  }
983
1037
  });
1038
+ function defiEvmTransport(rpcUrl, opts) {
1039
+ const url = rpcUrl.trim();
1040
+ return http(url, opts);
1041
+ }
1042
+ var init_defiEvmClient = __esm({
1043
+ "src/core/defiEvmClient.ts"() {
1044
+ }
1045
+ });
984
1046
  function aerodromePublicClient(rpcUrl) {
985
1047
  const url = requireAerodromeRpcUrl(rpcUrl);
986
1048
  const chain = defineChain({
@@ -995,25 +1057,16 @@ function aerodromePublicClient(rpcUrl) {
995
1057
  }
996
1058
  }
997
1059
  });
998
- return createPublicClient({ chain, transport: http(url) });
1060
+ return createPublicClient({ chain, transport: defiEvmTransport(url) });
999
1061
  }
1000
1062
  var init_client = __esm({
1001
1063
  "src/protocols/evm/aerodrome/client.ts"() {
1064
+ init_defiEvmClient();
1002
1065
  init_support();
1003
1066
  }
1004
1067
  });
1005
- function isAerodromeB20AssetToken(address) {
1006
- try {
1007
- return getAddress(address).toLowerCase().startsWith(AERODROME_B20_ASSET_PREFIX);
1008
- } catch {
1009
- return false;
1010
- }
1011
- }
1012
1068
  function isAerodromeCoinbaseStockToken(address) {
1013
- return isAerodromeB20AssetToken(address);
1014
- }
1015
- function looksLikeCoinbaseStockSymbol(symbol) {
1016
- return /^[A-Za-z][A-Za-z0-9]{0,10}c$/.test((symbol ?? "").trim());
1069
+ return isCoinbaseB20AssetToken(address);
1017
1070
  }
1018
1071
  function lookupAerodromeKnownToken(token) {
1019
1072
  const key = (token ?? "").trim();
@@ -1028,14 +1081,8 @@ function lookupAerodromeKnownToken(token) {
1028
1081
  if (lower === "aero") {
1029
1082
  return { address: getAddress(AERODROME_BASE_ADDRESSES_FALLBACK.aero), symbol: "AERO", decimals: 18 };
1030
1083
  }
1031
- const stock = AERODROME_COINBASE_STOCK_TOKENS.find((t) => t.symbol.toLowerCase() === lower);
1032
- if (stock) {
1033
- return {
1034
- address: getAddress(stock.address),
1035
- symbol: stock.symbol,
1036
- decimals: AERODROME_COINBASE_STOCK_DECIMALS
1037
- };
1038
- }
1084
+ const stock = lookupCoinbaseB20StockToken(key);
1085
+ if (stock) return stock;
1039
1086
  try {
1040
1087
  const address = getAddress(key);
1041
1088
  const want = address.toLowerCase();
@@ -1048,10 +1095,6 @@ function lookupAerodromeKnownToken(token) {
1048
1095
  if (want === getAddress(AERODROME_BASE_ADDRESSES_FALLBACK.aero).toLowerCase()) {
1049
1096
  return { address, symbol: "AERO", decimals: 18 };
1050
1097
  }
1051
- const byAddr = AERODROME_COINBASE_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === want);
1052
- if (byAddr) {
1053
- return { address, symbol: byAddr.symbol, decimals: AERODROME_COINBASE_STOCK_DECIMALS };
1054
- }
1055
1098
  } catch {
1056
1099
  }
1057
1100
  return null;
@@ -1089,7 +1132,7 @@ async function assertAerodromeStockIssued(args) {
1089
1132
  }
1090
1133
  }
1091
1134
  function aerodromeCoinbaseStockAddresses() {
1092
- return AERODROME_COINBASE_STOCK_TOKENS.map((t) => getAddress(t.address));
1135
+ return COINBASE_B20_STOCK_TOKENS.map((t) => getAddress(t.address));
1093
1136
  }
1094
1137
  function parseBaseTokenizedStockDocs(text) {
1095
1138
  try {
@@ -1112,7 +1155,7 @@ function parseBaseTokenizedStockDocs(text) {
1112
1155
  } catch {
1113
1156
  continue;
1114
1157
  }
1115
- if (!isAerodromeB20AssetToken(address)) continue;
1158
+ if (!isCoinbaseB20AssetToken(address)) continue;
1116
1159
  const key = address.toLowerCase();
1117
1160
  if (seen.has(key)) continue;
1118
1161
  seen.add(key);
@@ -1139,18 +1182,18 @@ async function fetchOfficialBaseTokenizedStocks() {
1139
1182
  }
1140
1183
  function seedName(address) {
1141
1184
  const want = address.toLowerCase();
1142
- return AERODROME_COINBASE_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === want)?.name;
1185
+ return COINBASE_B20_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === want)?.name;
1143
1186
  }
1144
1187
  function seedSymbol(address) {
1145
1188
  const want = address.toLowerCase();
1146
- return AERODROME_COINBASE_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === want)?.symbol;
1189
+ return COINBASE_B20_STOCK_TOKENS.find((t) => getAddress(t.address).toLowerCase() === want)?.symbol;
1147
1190
  }
1148
1191
  function seedStockRows() {
1149
- return AERODROME_COINBASE_STOCK_TOKENS.map((t) => ({
1192
+ return COINBASE_B20_STOCK_TOKENS.map((t) => ({
1150
1193
  address: getAddress(t.address),
1151
1194
  symbol: t.symbol,
1152
1195
  name: t.name,
1153
- decimals: AERODROME_COINBASE_STOCK_DECIMALS,
1196
+ decimals: COINBASE_B20_STOCK_DECIMALS,
1154
1197
  issued: false
1155
1198
  }));
1156
1199
  }
@@ -1163,7 +1206,7 @@ async function aerodromeResolveStockTokens(args) {
1163
1206
  }
1164
1207
  const candidates = /* @__PURE__ */ new Map();
1165
1208
  const add = (addressRaw, meta) => {
1166
- if (!isAerodromeB20AssetToken(addressRaw)) return;
1209
+ if (!isCoinbaseB20AssetToken(addressRaw)) return;
1167
1210
  const address = getAddress(addressRaw);
1168
1211
  const key = address.toLowerCase();
1169
1212
  const prev = candidates.get(key);
@@ -1174,14 +1217,14 @@ async function aerodromeResolveStockTokens(args) {
1174
1217
  decimals: meta?.decimals ?? prev?.decimals
1175
1218
  });
1176
1219
  };
1177
- for (const t of AERODROME_COINBASE_STOCK_TOKENS) {
1178
- add(t.address, { symbol: t.symbol, name: t.name, decimals: AERODROME_COINBASE_STOCK_DECIMALS });
1220
+ for (const t of COINBASE_B20_STOCK_TOKENS) {
1221
+ add(t.address, { symbol: t.symbol, name: t.name, decimals: COINBASE_B20_STOCK_DECIMALS });
1179
1222
  }
1180
1223
  for (const t of official) {
1181
- add(t.address, { symbol: t.symbol, decimals: AERODROME_COINBASE_STOCK_DECIMALS });
1224
+ add(t.address, { symbol: t.symbol, decimals: COINBASE_B20_STOCK_DECIMALS });
1182
1225
  }
1183
1226
  for (const t of args.knownTokens ?? []) {
1184
- if (!isAerodromeB20AssetToken(t.address)) continue;
1227
+ if (!isCoinbaseB20AssetToken(t.address)) continue;
1185
1228
  const symbol = (t.symbol ?? "").trim();
1186
1229
  const seeded = Boolean(seedSymbol(getAddress(t.address)));
1187
1230
  if (!seeded && symbol && !looksLikeCoinbaseStockSymbol(symbol)) continue;
@@ -1210,7 +1253,7 @@ async function aerodromeResolveStockTokens(args) {
1210
1253
  address: row.address,
1211
1254
  symbol: onchainSymbol || row.symbol || seedSymbol(row.address) || row.address.slice(0, 8),
1212
1255
  name: seedName(row.address) || onchainName || onchainSymbol || row.symbol || "",
1213
- decimals: Number.isFinite(onchainDecimals) ? onchainDecimals : row.decimals ?? AERODROME_COINBASE_STOCK_DECIMALS,
1256
+ decimals: Number.isFinite(onchainDecimals) ? onchainDecimals : row.decimals ?? COINBASE_B20_STOCK_DECIMALS,
1214
1257
  issued: supply > 0n
1215
1258
  };
1216
1259
  });
@@ -1218,30 +1261,15 @@ async function aerodromeResolveStockTokens(args) {
1218
1261
  return seedStockRows();
1219
1262
  }
1220
1263
  }
1221
- var AERODROME_COINBASE_STOCK_TOKENS, AERODROME_COINBASE_STOCK_DECIMALS, AERODROME_B20_ASSET_PREFIX, BASE_STOCKS_DOCS_URLS, MAX_DOCS_CHARS, MAX_OFFICIAL_STOCKS;
1264
+ var BASE_STOCKS_DOCS_URLS, MAX_DOCS_CHARS, MAX_OFFICIAL_STOCKS;
1222
1265
  var init_stockTokens = __esm({
1223
1266
  "src/protocols/evm/aerodrome/stockTokens.ts"() {
1267
+ init_coinbaseB20();
1224
1268
  init_addresses();
1225
1269
  init_abi();
1226
1270
  init_client();
1227
1271
  init_support();
1228
- AERODROME_COINBASE_STOCK_TOKENS = [
1229
- { symbol: "AAPLc", name: "Apple Inc.", address: "0xb200000000000000000000C2e324d24d7eEcd1fb" },
1230
- { symbol: "NVDAc", name: "NVIDIA Corporation", address: "0xb20000000000000000000078ee7ce2fE4908108C" },
1231
- { symbol: "METAc", name: "Meta Platforms Inc.", address: "0xb2000000000000000000008bC8786B856E61707C" },
1232
- { symbol: "GOOGLc", name: "Alphabet Inc.", address: "0xb2000000000000000000002D0BA3164cc74f58B7" },
1233
- { symbol: "AMZNc", name: "Amazon.com Inc.", address: "0xb200000000000000000000d9192b6B456483C2E8" },
1234
- { symbol: "TSLAc", name: "Tesla Inc.", address: "0xb2000000000000000000001e800a7f5189430cD0" },
1235
- { symbol: "MSFTc", name: "Microsoft Corporation", address: "0xB200000000000000000000Ab99cFa739E253872B" },
1236
- { symbol: "COINc", name: "Coinbase Global Inc.", address: "0xb200000000000000000000c85a31389D71F3ecfb" },
1237
- { symbol: "MSTRc", name: "Strategy Inc.", address: "0xb2000000000000000000004884b426556b92883d" },
1238
- { symbol: "CRCLc", name: "Circle Internet Group Inc.", address: "0xB20000000000000000000019f6E7C675b73C2e4D" },
1239
- { symbol: "INTCc", name: "Intel Corporation", address: "0xB2000000000000000000004AFF16039bA04bdFBc" },
1240
- { symbol: "SNDKc", name: "Sandisk Corporation", address: "0xb200000000000000000000397293Cb8cda9a10c5" },
1241
- { symbol: "SPCXc", name: "Space Exploration Technologies Corp.", address: "0xb2000000000000000000007b9fcbd005511aCBd5" }
1242
- ];
1243
- AERODROME_COINBASE_STOCK_DECIMALS = 8;
1244
- AERODROME_B20_ASSET_PREFIX = "0xb200000000000000000000";
1272
+ init_coinbaseB20();
1245
1273
  BASE_STOCKS_DOCS_URLS = [
1246
1274
  "https://docs.base.org/base-chain/asset-issuance/tokenized-stocks-on-base.md",
1247
1275
  "https://docs.base.org/base-chain/asset-issuance/tokenized-stocks-on-base"
@@ -1737,7 +1765,7 @@ async function aerodromeFetchStockLpYieldsSummary(args) {
1737
1765
  const addrs = await loadAerodromeAddresses();
1738
1766
  const scanned = await scanSugarTop(args.rpcUrl);
1739
1767
  const aeroUsd = aeroUsdPriceFromRows(scanned, addrs.aero);
1740
- const stock = scanned.filter((r) => isAerodromeB20AssetToken(r.token0) || isAerodromeB20AssetToken(r.token1));
1768
+ const stock = scanned.filter((r) => isCoinbaseB20AssetToken(r.token0) || isCoinbaseB20AssetToken(r.token1));
1741
1769
  const pools = rankAndCap(stock.map((r) => toYieldRow(r, aeroUsd)), args.query);
1742
1770
  return {
1743
1771
  chainId: AERODROME_CHAIN_ID,
@@ -2323,7 +2351,7 @@ async function quoteAerodromeHopsAmountOut(args) {
2323
2351
  }
2324
2352
  async function readTokenDecimals(rpcUrl, token, isNative) {
2325
2353
  if (isNative) return 18;
2326
- if (isAerodromeCoinbaseStockToken(token)) return AERODROME_COINBASE_STOCK_DECIMALS;
2354
+ if (isAerodromeCoinbaseStockToken(token)) return COINBASE_B20_STOCK_DECIMALS;
2327
2355
  if (token.toLowerCase() === AERODROME_USDC_BASE.toLowerCase()) return 6;
2328
2356
  const client = aerodromePublicClient(rpcUrl);
2329
2357
  return Number(
@@ -2352,7 +2380,7 @@ async function aerodromeQuote(args) {
2352
2380
  }
2353
2381
  let decimals = args.tokenInDecimals;
2354
2382
  if (isAerodromeCoinbaseStockToken(tokenIn)) {
2355
- decimals = AERODROME_COINBASE_STOCK_DECIMALS;
2383
+ decimals = COINBASE_B20_STOCK_DECIMALS;
2356
2384
  } else if (decimals == null) {
2357
2385
  decimals = await readTokenDecimals(rpcUrl, tokenIn, isNativeIn);
2358
2386
  }
@@ -2464,6 +2492,9 @@ async function aerodromeQuote(args) {
2464
2492
  init_abi();
2465
2493
  init_addresses();
2466
2494
 
2495
+ // src/chains/evm/buildBatch.ts
2496
+ init_defiEvmClient();
2497
+
2467
2498
  // src/core/purpose.ts
2468
2499
  function mergePurposeText(purposeText, purposeSuffix) {
2469
2500
  const t = (purposeText ?? "").trim();
@@ -2554,7 +2585,7 @@ async function buildEvmMultisignBatch(args) {
2554
2585
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
2555
2586
  rpcUrls: { default: { http: [rpcUrl] } }
2556
2587
  });
2557
- const publicClient = createPublicClient({ chain: ch, transport: http(rpcUrl) });
2588
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(rpcUrl) });
2558
2589
  const feeParams = await fetchChainFeeParams(rpcUrl, chainId);
2559
2590
  const legacy = Boolean(chainDetail?.legacy) || !feeParams.isEip1559;
2560
2591
  const latestBaseFeeWei = !legacy ? (await publicClient.getBlock({ blockTag: "latest" })).baseFeePerGas ?? 0n : 0n;
@@ -3083,13 +3114,13 @@ function pairTokenLabel(address, isNative) {
3083
3114
  if (isNative) return "ETH";
3084
3115
  if (address.toLowerCase() === AERODROME_WETH_BASE.toLowerCase()) return "WETH";
3085
3116
  if (address.toLowerCase() === AERODROME_USDC_BASE.toLowerCase()) return "USDC";
3086
- const stock = AERODROME_COINBASE_STOCK_TOKENS.find((t) => t.address.toLowerCase() === address.toLowerCase());
3117
+ const stock = COINBASE_B20_STOCK_TOKENS.find((t) => t.address.toLowerCase() === address.toLowerCase());
3087
3118
  return stock?.symbol || `${address.slice(0, 6)}\u2026${address.slice(-4)}`;
3088
3119
  }
3089
3120
  function noDirectPoolHint(args) {
3090
3121
  const a = pairTokenLabel(args.tokenA, args.isNativeA);
3091
3122
  const b = pairTokenLabel(args.tokenB, args.isNativeB);
3092
- const stockAddr = isAerodromeB20AssetToken(args.tokenB) ? args.tokenB : isAerodromeB20AssetToken(args.tokenA) ? args.tokenA : null;
3123
+ const stockAddr = isCoinbaseB20AssetToken(args.tokenB) ? args.tokenB : isCoinbaseB20AssetToken(args.tokenA) ? args.tokenA : null;
3093
3124
  if (stockAddr) {
3094
3125
  const sym = pairTokenLabel(stockAddr, false);
3095
3126
  return `No ${a}/${b} pool on Aerodrome. ${sym} liquidity is on Slipstream vs USDC (swaps hop through USDC). Pick USDC as the pair token to add ${sym}/USDC liquidity.`;
@@ -3131,8 +3162,8 @@ async function aerodromeQuoteAddLiquidity(args) {
3131
3162
  const rawA = (args.amountAHuman ?? "").trim().replace(/,/g, "");
3132
3163
  const rawB = (args.amountBHuman ?? "").trim().replace(/,/g, "");
3133
3164
  if (!rawA && !rawB) throw new Error("Enter amount A or amount B.");
3134
- const decA = isAerodromeCoinbaseStockToken(tokenA) ? AERODROME_COINBASE_STOCK_DECIMALS : args.tokenADecimals ?? (isNativeA ? 18 : Number(await client.readContract({ address: tokenA, abi: erc20Abi, functionName: "decimals" })));
3135
- const decB = isAerodromeCoinbaseStockToken(tokenB) ? AERODROME_COINBASE_STOCK_DECIMALS : args.tokenBDecimals ?? (isNativeB ? 18 : Number(await client.readContract({ address: tokenB, abi: erc20Abi, functionName: "decimals" })));
3165
+ const decA = isAerodromeCoinbaseStockToken(tokenA) ? COINBASE_B20_STOCK_DECIMALS : args.tokenADecimals ?? (isNativeA ? 18 : Number(await client.readContract({ address: tokenA, abi: erc20Abi, functionName: "decimals" })));
3166
+ const decB = isAerodromeCoinbaseStockToken(tokenB) ? COINBASE_B20_STOCK_DECIMALS : args.tokenBDecimals ?? (isNativeB ? 18 : Number(await client.readContract({ address: tokenB, abi: erc20Abi, functionName: "decimals" })));
3136
3167
  const pool = await client.readContract({
3137
3168
  address: addrs.router,
3138
3169
  abi: routerAbi,
@@ -4039,7 +4070,7 @@ function mergeStocksIntoListed(tokens, stocks) {
4039
4070
  byAddr.set(key, {
4040
4071
  address: stock.address,
4041
4072
  symbol: stock.symbol || prev?.symbol || "",
4042
- decimals: stock.decimals || prev?.decimals || AERODROME_COINBASE_STOCK_DECIMALS,
4073
+ decimals: stock.decimals || prev?.decimals || COINBASE_B20_STOCK_DECIMALS,
4043
4074
  listed: prev?.listed ?? true,
4044
4075
  emerging: prev?.emerging ?? false,
4045
4076
  accountBalance: prev?.accountBalance ?? "0",
@@ -4048,7 +4079,7 @@ function mergeStocksIntoListed(tokens, stocks) {
4048
4079
  });
4049
4080
  }
4050
4081
  const stocksFirst = stocks.map((s) => byAddr.get(s.address.toLowerCase())).filter(Boolean);
4051
- const rest = [...byAddr.values()].filter((t) => !isAerodromeB20AssetToken(t.address));
4082
+ const rest = [...byAddr.values()].filter((t) => !isCoinbaseB20AssetToken(t.address));
4052
4083
  return [...stocksFirst, ...rest];
4053
4084
  }
4054
4085
  async function aerodromeFetchListedTokensSummary(args) {
@@ -4248,6 +4279,6 @@ var aerodromeProtocolModule = {
4248
4279
  };
4249
4280
  registerProtocolModule(aerodromeProtocolModule);
4250
4281
 
4251
- export { AERODROME_B20_ASSET_PREFIX, AERODROME_BASE_ADDRESSES_FALLBACK, AERODROME_CHAIN_ID, AERODROME_CL_FACTORY_NEWEST_BIT, AERODROME_CL_FACTORY_OLDEST_BIT, AERODROME_COINBASE_STOCK_DECIMALS, AERODROME_COINBASE_STOCK_TOKENS, AERODROME_IMPORTANT_POOL_CAP, AERODROME_NATIVE_PLACEHOLDER, AERODROME_PROTOCOL_ID, AERODROME_STABLE_FILLER, AERODROME_USDC_BASE, AERODROME_VOLATILE_FILLER, AERODROME_WETH_BASE, aerodromeClFactoryList, aerodromeClSwapRouterForFactory, aerodromeCoinbaseStockAddresses, aerodromeDiscoverConnectorPools, aerodromeDiscoverConnectorPoolsLoaded, aerodromeDiscoverDirectPools, aerodromeDiscoverPoolsSummary, aerodromeFallbackAddresses, aerodromeFetchImportantPoolsSummary, aerodromeFetchListedTokens, aerodromeFetchListedTokensSummary, aerodromeFetchLpYieldsForPair, aerodromeFetchLpYieldsForPools, aerodromeFetchLpYieldsSummary, aerodromeFetchPools, aerodromeFetchPoolsByAddress, aerodromeFetchPoolsSummary, aerodromeFetchPositions, aerodromeFetchPositionsSummary, aerodromeFetchPositionsWithPools, aerodromeFetchStockLpYieldsSummary, aerodromeFetchSwapPools, aerodromeMixedPathFiller, aerodromeOnChainDeadlineUnix, aerodromePositionKey, aerodromePositionLabel, aerodromeProbeAmountIn, aerodromeProtocolModule, aerodromeQuote, aerodromeQuoteAddLiquidity, aerodromeQuoteClDeposit, aerodromeResolveStockTokens, aerodromeUnissuedStockMessage, assertAerodromeStockIssued, buildAerodromeLiquidityPurposePrefill, buildAerodromeRewardsPurposePrefill, buildAerodromeSwapPurposePrefill, buildEvmMultisignBodyAerodromeAddLiquidityBatch, buildEvmMultisignBodyAerodromeClBurnBatch, buildEvmMultisignBodyAerodromeClCollectBatch, buildEvmMultisignBodyAerodromeClDecreaseBatch, buildEvmMultisignBodyAerodromeClIncreaseBatch, buildEvmMultisignBodyAerodromeClMintBatch, buildEvmMultisignBodyAerodromeClaimEmissionsBatch, buildEvmMultisignBodyAerodromeClaimFeesBatch, buildEvmMultisignBodyAerodromeGaugeStakeBatch, buildEvmMultisignBodyAerodromeGaugeUnstakeBatch, buildEvmMultisignBodyAerodromeRemoveLiquidityBatch, buildEvmMultisignBodyAerodromeSwapBatch, computeAerodromePriceImpactPercent, encodeAerodromeMixedPath, fetchOfficialBaseTokenizedStocks, findAerodromePaths, formatAerodromeLpYieldLabel, formatAerodromePriceImpact, isAerodromeB20AssetToken, isAerodromeChainSupported, isAerodromeCoinbaseStockToken, isAerodromeNativeToken, loadAerodromeAddresses, looksLikeCoinbaseStockSymbol, lookupAerodromeKnownToken, parseBaseTokenizedStockDocs, parseSecurityMdxAddresses, parseSugarBaseEnv, quoteAerodromeHopsAmountOut, requireAerodromeRpcUrl, resetAerodromeAddressCache, resolveAerodromeErc20OrWeth, tryAerodromeSdkQuote, tryAerodromeSdkUnsignedSwap };
4282
+ export { COINBASE_B20_ASSET_PREFIX as AERODROME_B20_ASSET_PREFIX, AERODROME_BASE_ADDRESSES_FALLBACK, AERODROME_CHAIN_ID, AERODROME_CL_FACTORY_NEWEST_BIT, AERODROME_CL_FACTORY_OLDEST_BIT, COINBASE_B20_STOCK_DECIMALS as AERODROME_COINBASE_STOCK_DECIMALS, COINBASE_B20_STOCK_TOKENS as AERODROME_COINBASE_STOCK_TOKENS, AERODROME_IMPORTANT_POOL_CAP, AERODROME_NATIVE_PLACEHOLDER, AERODROME_PROTOCOL_ID, AERODROME_STABLE_FILLER, AERODROME_USDC_BASE, AERODROME_VOLATILE_FILLER, AERODROME_WETH_BASE, aerodromeClFactoryList, aerodromeClSwapRouterForFactory, aerodromeCoinbaseStockAddresses, aerodromeDiscoverConnectorPools, aerodromeDiscoverConnectorPoolsLoaded, aerodromeDiscoverDirectPools, aerodromeDiscoverPoolsSummary, aerodromeFallbackAddresses, aerodromeFetchImportantPoolsSummary, aerodromeFetchListedTokens, aerodromeFetchListedTokensSummary, aerodromeFetchLpYieldsForPair, aerodromeFetchLpYieldsForPools, aerodromeFetchLpYieldsSummary, aerodromeFetchPools, aerodromeFetchPoolsByAddress, aerodromeFetchPoolsSummary, aerodromeFetchPositions, aerodromeFetchPositionsSummary, aerodromeFetchPositionsWithPools, aerodromeFetchStockLpYieldsSummary, aerodromeFetchSwapPools, aerodromeMixedPathFiller, aerodromeOnChainDeadlineUnix, aerodromePositionKey, aerodromePositionLabel, aerodromeProbeAmountIn, aerodromeProtocolModule, aerodromeQuote, aerodromeQuoteAddLiquidity, aerodromeQuoteClDeposit, aerodromeResolveStockTokens, aerodromeUnissuedStockMessage, assertAerodromeStockIssued, buildAerodromeLiquidityPurposePrefill, buildAerodromeRewardsPurposePrefill, buildAerodromeSwapPurposePrefill, buildEvmMultisignBodyAerodromeAddLiquidityBatch, buildEvmMultisignBodyAerodromeClBurnBatch, buildEvmMultisignBodyAerodromeClCollectBatch, buildEvmMultisignBodyAerodromeClDecreaseBatch, buildEvmMultisignBodyAerodromeClIncreaseBatch, buildEvmMultisignBodyAerodromeClMintBatch, buildEvmMultisignBodyAerodromeClaimEmissionsBatch, buildEvmMultisignBodyAerodromeClaimFeesBatch, buildEvmMultisignBodyAerodromeGaugeStakeBatch, buildEvmMultisignBodyAerodromeGaugeUnstakeBatch, buildEvmMultisignBodyAerodromeRemoveLiquidityBatch, buildEvmMultisignBodyAerodromeSwapBatch, computeAerodromePriceImpactPercent, encodeAerodromeMixedPath, fetchOfficialBaseTokenizedStocks, findAerodromePaths, formatAerodromeLpYieldLabel, formatAerodromePriceImpact, isCoinbaseB20AssetToken as isAerodromeB20AssetToken, isAerodromeChainSupported, isAerodromeCoinbaseStockToken, isAerodromeNativeToken, loadAerodromeAddresses, looksLikeCoinbaseStockSymbol, lookupAerodromeKnownToken, parseBaseTokenizedStockDocs, parseSecurityMdxAddresses, parseSugarBaseEnv, quoteAerodromeHopsAmountOut, requireAerodromeRpcUrl, resetAerodromeAddressCache, resolveAerodromeErc20OrWeth, tryAerodromeSdkQuote, tryAerodromeSdkUnsignedSwap };
4252
4283
  //# sourceMappingURL=index.js.map
4253
4284
  //# sourceMappingURL=index.js.map