@avaprotocol/protocols 0.5.0 → 0.7.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 (39) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/index.cjs +270 -36
  3. package/dist/index.js +270 -36
  4. package/dist/protocols/aave-v3-reserves.d.ts +3 -0
  5. package/dist/protocols/aave-v3-reserves.d.ts.map +1 -0
  6. package/dist/protocols/aave-v3.d.ts +1 -0
  7. package/dist/protocols/aave-v3.d.ts.map +1 -1
  8. package/dist/protocols/chainlink.d.ts +6 -1
  9. package/dist/protocols/chainlink.d.ts.map +1 -1
  10. package/dist/protocols/erc20.d.ts +7 -0
  11. package/dist/protocols/erc20.d.ts.map +1 -1
  12. package/dist/protocols/index.d.ts +13 -1
  13. package/dist/protocols/index.d.ts.map +1 -1
  14. package/dist/protocols/types.d.ts +25 -0
  15. package/dist/protocols/types.d.ts.map +1 -1
  16. package/dist/tokens/base-sepolia.cjs +93 -0
  17. package/dist/tokens/base-sepolia.d.ts +5 -0
  18. package/dist/tokens/base-sepolia.d.ts.map +1 -0
  19. package/dist/tokens/base-sepolia.js +65 -0
  20. package/dist/tokens/base.cjs +358 -0
  21. package/dist/tokens/base.d.ts +5 -0
  22. package/dist/tokens/base.d.ts.map +1 -0
  23. package/dist/tokens/base.js +330 -0
  24. package/dist/tokens/bnb-mainnet.cjs +83 -0
  25. package/dist/tokens/bnb-mainnet.d.ts +5 -0
  26. package/dist/tokens/bnb-mainnet.d.ts.map +1 -0
  27. package/dist/tokens/bnb-mainnet.js +55 -0
  28. package/dist/tokens/ethereum.cjs +894 -0
  29. package/dist/tokens/ethereum.d.ts +5 -0
  30. package/dist/tokens/ethereum.d.ts.map +1 -0
  31. package/dist/tokens/ethereum.js +866 -0
  32. package/dist/tokens/index.d.ts.map +1 -1
  33. package/dist/tokens/per-chain.d.ts +30 -0
  34. package/dist/tokens/per-chain.d.ts.map +1 -0
  35. package/dist/tokens/sepolia.cjs +105 -0
  36. package/dist/tokens/sepolia.d.ts +5 -0
  37. package/dist/tokens/sepolia.d.ts.map +1 -0
  38. package/dist/tokens/sepolia.js +77 -0
  39. package/package.json +29 -2
package/dist/index.js CHANGED
@@ -8,6 +8,124 @@ var Chains = Object.freeze({
8
8
  BnbMainnet: 56
9
9
  });
10
10
 
11
+ // src/protocols/aave-v3-reserves.ts
12
+ var aaveV3Reserves = {
13
+ [Chains.EthereumMainnet]: [
14
+ { symbol: "1INCH", underlying: "0x111111111117dC0aa78b770fA6A738034120C302", aToken: "0x71Aef7b30728b9BB371578f36c5A1f1502a5723e", variableDebtToken: "0xA38fCa8c6Bf9BdA52E76EB78f08CaA3BE7c5A970", decimals: 18 },
15
+ { symbol: "AAVE", underlying: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9", aToken: "0xA700b4eB416Be35b2911fd5Dee80678ff64fF6C9", variableDebtToken: "0xBae535520Abd9f8C85E58929e0006A2c8B372F74", decimals: 18 },
16
+ { symbol: "BAL", underlying: "0xba100000625a3754423978a60c9317c58a424e3D", aToken: "0x2516E7B3F76294e03C42AA4c5b5b4DCE9C436fB8", variableDebtToken: "0x3D3efceb4Ff0966D34d9545D3A2fa2dcdBf451f2", decimals: 18 },
17
+ { symbol: "BTC.b", underlying: "0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072", aToken: "0x12b70410D60f926558245f769059eA3Fc7A7353E", variableDebtToken: "0x6C67e666BB954d4bE23e9F1cE20e7E8699d29339", decimals: 8 },
18
+ { symbol: "cbBTC", underlying: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", aToken: "0x5c647cE0Ae10658ec44FA4E11A51c96e94efd1Dd", variableDebtToken: "0xeB284A70557EFe3591b9e6D9D720040E02c54a4d", decimals: 8 },
19
+ { symbol: "cbETH", underlying: "0xBe9895146f7AF43049ca1c1AE358B0541Ea49704", aToken: "0x977b6fc5dE62598B08C85AC8Cf2b745874E8b78c", variableDebtToken: "0x0c91bcA95b5FE69164cE583A2ec9429A569798Ed", decimals: 18 },
20
+ { symbol: "CRV", underlying: "0xD533a949740bb3306d119CC777fa900bA034cd52", aToken: "0x7B95Ec873268a6BFC6427e7a28e396Db9D0ebc65", variableDebtToken: "0x1b7D3F4b3c032a5AE656e30eeA4e8E1Ba376068F", decimals: 18 },
21
+ { symbol: "crvUSD", underlying: "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E", aToken: "0xb82fa9f31612989525992FCfBB09AB22Eff5c85A", variableDebtToken: "0x028f7886F3e937f8479efaD64f31B3fE1119857a", decimals: 18 },
22
+ { symbol: "DAI", underlying: "0x6B175474E89094C44Da98b954EedeAC495271d0F", aToken: "0x018008bfb33d285247A21d44E50697654f754e63", variableDebtToken: "0xcF8d0c70c850859266f5C338b38F9D663181C314", decimals: 18 },
23
+ { symbol: "eBTC", underlying: "0x657e8C867D8B37dCC18fA4Caead9C45EB088C642", aToken: "0x5fefd7069a7D91d01f269DADE14526CCF3487810", variableDebtToken: "0x47eD0509e64615c0d5C6d39AF1B38D02Bc9fE58f", decimals: 8 },
24
+ { symbol: "ENS", underlying: "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", aToken: "0x545bD6c032eFdde65A377A6719DEF2796C8E0f2e", variableDebtToken: "0xd180D7fdD4092f07428eFE801E17BC03576b3192", decimals: 18 },
25
+ { symbol: "ETHx", underlying: "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b", aToken: "0x1c0E06a0b1A4c160c17545FF2A951bfcA57C0002", variableDebtToken: "0x08a8Dc81AeA67F84745623aC6c72CDA3967aab8b", decimals: 18 },
26
+ { symbol: "EURC", underlying: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c", aToken: "0xAA6e91C82942aeAE040303Bf96c15a6dBcB82CA0", variableDebtToken: "0x6c82c66622Eb360FC973D3F492f9D8E9eA538b08", decimals: 6 },
27
+ { symbol: "eUSDe", underlying: "0x90D2af7d622ca3141efA4d8f1F24d86E5974Cc8F", aToken: "0x5F9190496e0DFC831C3bd307978de4a245E2F5cD", variableDebtToken: "0x48351fCc9536dA440AE9471220F6dC921b0eB703", decimals: 18 },
28
+ { symbol: "ezETH", underlying: "0xbf5495Efe5DB9ce00f80364C8B423567e58d2110", aToken: "0x4E2a4d9B3DF7Aae73b418Bd39F3af9e148E3F479", variableDebtToken: "0x730318dB7b830d324fC3fEDDB1d212Ec64bD3141", decimals: 18 },
29
+ { symbol: "FBTC", underlying: "0xC96dE26018A54D51c097160568752c4E3BD6C364", aToken: "0xcCA43ceF272c30415866914351fdfc3E881bb7c2", variableDebtToken: "0x4A35FD7F93324Cc48bc12190D3F37493437b1Eff", decimals: 8 },
30
+ { symbol: "FRAX", underlying: "0x853d955aCEf822Db058eb8505911ED77F175b99e", aToken: "0xd4e245848d6E1220DBE62e155d89fa327E43CB06", variableDebtToken: "0x88B8358F5BC87c2D7E116cCA5b65A9eEb2c5EA3F", decimals: 18 },
31
+ { symbol: "FXS", underlying: "0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0", aToken: "0x82F9c5ad306BBa1AD0De49bB5FA6F01bf61085ef", variableDebtToken: "0x68e9f0aD4e6f8F5DB70F6923d4d6d5b225B83b16", decimals: 18 },
32
+ { symbol: "GHO", underlying: "0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f", aToken: "0x00907f9921424583e7ffBfEdf84F92B7B2Be4977", variableDebtToken: "0x786dBff3f1292ae8F92ea68Cf93c30b34B1ed04B", decimals: 18 },
33
+ { symbol: "KNC", underlying: "0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202", aToken: "0x5b502e3796385E1e9755d7043B9C945C3aCCeC9C", variableDebtToken: "0x253127Ffc04981cEA8932F406710661c2f2c3fD2", decimals: 18 },
34
+ { symbol: "LBTC", underlying: "0x8236a87084f8B84306f72007F36F2618A5634494", aToken: "0x65906988ADEe75306021C417a1A3458040239602", variableDebtToken: "0x68aeB290C7727D899B47c56d1c96AEAC475cD0dD", decimals: 8 },
35
+ { symbol: "LDO", underlying: "0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32", aToken: "0x9A44fd41566876A39655f74971a3A6eA0a17a454", variableDebtToken: "0xc30808705C01289A3D306ca9CAB081Ba9114eC82", decimals: 18 },
36
+ { symbol: "LINK", underlying: "0x514910771AF9Ca656af840dff83E8264EcF986CA", aToken: "0x5E8C8A7243651DB1384C0dDfDbE39761E8e7E51a", variableDebtToken: "0x4228F8895C7dDA20227F6a5c6751b8Ebf19a6ba8", decimals: 18 },
37
+ { symbol: "LUSD", underlying: "0x5f98805A4E8be255a32880FDeC7F6728C6568bA0", aToken: "0x3Fe6a295459FAe07DF8A0ceCC36F37160FE86AA9", variableDebtToken: "0x33652e48e4B74D18520f11BfE58Edd2ED2cEc5A2", decimals: 18 },
38
+ { symbol: "MKR", underlying: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", aToken: "0x8A458A9dc9048e005d22849F470891b840296619", variableDebtToken: "0x6Efc73E54E41b27d2134fF9f98F15550f30DF9B1", decimals: 18 },
39
+ { symbol: "mUSD", underlying: "0xacA92E438df0B2401fF60dA7E4337B687a2435DA", aToken: "0xAa0200d169fF3ba9385c12E073c5d1d30434AE7b", variableDebtToken: "0xE35e6A0D3AbC28289f5d4C2d262a133Df936b98D", decimals: 6 },
40
+ { symbol: "osETH", underlying: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38", aToken: "0x927709711794F3De5DdBF1D176bEE2D55Ba13c21", variableDebtToken: "0x8838eefF2af391863E1Bb8b1dF563F86743a8470", decimals: 18 },
41
+ { symbol: "PT-eUSDE-14AUG2025", underlying: "0x14Bdc3A3AE09f5518b923b69489CBcAfB238e617", aToken: "0x2eDff5AF94334fBd7C38ae318edf1c40e072b73B", variableDebtToken: "0x22517fE16DEd08e52E7EA3423A2EA4995b1f1731", decimals: 18 },
42
+ { symbol: "PT-eUSDE-29MAY2025", underlying: "0x50D2C7992b802Eef16c04FeADAB310f31866a545", aToken: "0x4B0821e768Ed9039a70eD1E80E15E76a5bE5Df5F", variableDebtToken: "0x3c20fbFD32243Dd9899301C84bCe17413EeE0A0C", decimals: 18 },
43
+ { symbol: "PT-srUSDe-25JUN2026", underlying: "0x619D75E3b790eBC21c289f2805Bb7177A7D732E2", aToken: "0xA78Eba24D89e70A03ddB7AC195A15E53315aA5b4", variableDebtToken: "0x9Ba896531F878Ed5f0A4F73E82d63bA7b424F910", decimals: 18 },
44
+ { symbol: "PT-srUSDe-2APR2026", underlying: "0x9Bf45ab47747F4B4dD09B3C2c73953484b4eB375", aToken: "0x1241ec22C9BdF16BA1Eb636F2a8de7e28A4343Cf", variableDebtToken: "0xacD3d3FaCeA0424984F662827B988f4581a3cE31", decimals: 18 },
45
+ { symbol: "PT-sUSDE-25SEP2025", underlying: "0x9F56094C450763769BA0EA9Fe2876070c0fD5F77", aToken: "0x5f4a0873a3A02f7C0CB0e13a1d4362a1AD90e751", variableDebtToken: "0xc9AD8Dd111e6384128146467aAf92B81EC422848", decimals: 18 },
46
+ { symbol: "PT-sUSDE-27NOV2025", underlying: "0xe6A934089BBEe34F832060CE98848359883749B3", aToken: "0x285866acB0d60105B4Ed350a463361c2d9afA0E2", variableDebtToken: "0x690Df181701C11C53EA33bBF303C25834b66bD14", decimals: 18 },
47
+ { symbol: "PT-sUSDE-31JUL2025", underlying: "0x3b3fB9C57858EF816833dC91565EFcd85D96f634", aToken: "0xDE6eF6CB4aBd3A473ffC2942eEf5D84536F8E864", variableDebtToken: "0x8C6FeaF5d58BA1A6541F9c4aF685f62bFCBaC3b1", decimals: 18 },
48
+ { symbol: "PT-sUSDE-5FEB2026", underlying: "0xE8483517077afa11A9B07f849cee2552f040d7b2", aToken: "0xbe54767735fB7Acca2aa7E2d209a6f705073536D", variableDebtToken: "0xA803414f84fCEF00e745bE7CC2A315908927f15D", decimals: 18 },
49
+ { symbol: "PT-sUSDE-7MAY2026", underlying: "0x3de0ff76E8b528C092d47b9DaC775931cef80F49", aToken: "0x81b76ff3FeD28BA0B4a5D4c76Bd5C13Bd0641d86", variableDebtToken: "0x762Edb8D79b97487F82093f85059e42EeEf61E9e", decimals: 18 },
50
+ { symbol: "PT-USDe-25SEP2025", underlying: "0xBC6736d346a5eBC0dEbc997397912CD9b8FAe10a", aToken: "0x38A5357Ce55c81add62aBc84Fb32981e2626ADEf", variableDebtToken: "0x0D8486E1CAbf3C9407B3DdA0cfc4d9C3101fB683", decimals: 18 },
51
+ { symbol: "PT-USDe-27NOV2025", underlying: "0x62C6E813b9589C3631Ba0Cdb013acdB8544038B7", aToken: "0x38C503a438185cDE29b5cF4dC1442FD6F074F1cc", variableDebtToken: "0x2CE7e7b238985A8aD3863De03F200B245B0c1216", decimals: 18 },
52
+ { symbol: "PT-USDe-31JUL2025", underlying: "0x917459337CaAC939D41d7493B3999f571D20D667", aToken: "0x312ffC57778CEfa11989733e6E08143E7E229c1c", variableDebtToken: "0xd90DA2Df915B87fE1621A7F2201FbF4ff2cCA031", decimals: 18 },
53
+ { symbol: "PT-USDe-5FEB2026", underlying: "0x1F84a51296691320478c98b8d77f2Bbd17D34350", aToken: "0xE728577e9a1Fe7032bc309B4541F58f45443866e", variableDebtToken: "0x9D244A99801dc05cbC04183769c17056B8A1Ad53", decimals: 18 },
54
+ { symbol: "PT-USDe-7MAY2026", underlying: "0xAeBf0Bb9f57E89260d57f31AF34eB58657d96Ce0", aToken: "0xE036478Da9A7ed89b56FE39A06e1FC1a4b38D4Ea", variableDebtToken: "0x04142fc546D59838852873bba5C8827601A13FC8", decimals: 18 },
55
+ { symbol: "PT-USDG-28MAY2026", underlying: "0x9db38D74a0D29380899aD354121DfB521aDb0548", aToken: "0xA9ecb0503075124cc0B786096849A331FBe9EE6D", variableDebtToken: "0x1a83eCA2d3b0cea2595Fb11Ec60cb2D428217C2e", decimals: 6 },
56
+ { symbol: "PYUSD", underlying: "0x6c3ea9036406852006290770BEdFcAbA0e23A0e8", aToken: "0x0C0d01AbF3e6aDfcA0989eBbA9d6e85dD58EaB1E", variableDebtToken: "0x57B67e4DE077085Fd0AF2174e9c14871BE664546", decimals: 6 },
57
+ { symbol: "rETH", underlying: "0xae78736Cd615f374D3085123A210448E74Fc6393", aToken: "0xCc9EE9483f662091a1de4795249E24aC0aC2630f", variableDebtToken: "0xae8593DD575FE29A9745056aA91C4b746eee62C8", decimals: 18 },
58
+ { symbol: "RLUSD", underlying: "0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD", aToken: "0xFa82580c16A31D0c1bC632A36F82e83EfEF3Eec0", variableDebtToken: "0xBdFe7aD7976d5d7E0965ea83a81Ca1bCfF7e84a9", decimals: 18 },
59
+ { symbol: "RPL", underlying: "0xD33526068D116cE69F19A9ee46F0bd304F21A51f", aToken: "0xB76CF92076adBF1D9C39294FA8e7A67579FDe357", variableDebtToken: "0x8988ECA19D502fd8b9CCd03fA3bD20a6f599bc2A", decimals: 18 },
60
+ { symbol: "rsETH", underlying: "0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7", aToken: "0x2D62109243b87C4bA3EE7bA1D91B0dD0A074d7b1", variableDebtToken: "0x6De3E52A1B7294A34e271a508082b1Ff4a37E30e", decimals: 18 },
61
+ { symbol: "sDAI", underlying: "0x83F20F44975D03b1b09e64809B757c47f942BEeA", aToken: "0x4C612E3B15b96Ff9A6faED838F8d07d479a8dD4c", variableDebtToken: "0x8Db9D35e117d8b93C6Ca9b644b25BaD5d9908141", decimals: 18 },
62
+ { symbol: "SNX", underlying: "0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F", aToken: "0xC7B4c17861357B8ABB91F25581E7263E08DCB59c", variableDebtToken: "0x8d0de040e8aAd872eC3c33A3776dE9152D3c34ca", decimals: 18 },
63
+ { symbol: "STG", underlying: "0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6", aToken: "0x1bA9843bD4327c6c77011406dE5fA8749F7E3479", variableDebtToken: "0x655568bDd6168325EC7e58Bf39b21A856F906Dc2", decimals: 18 },
64
+ { symbol: "sUSDe", underlying: "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497", aToken: "0x4579a27aF00A62C0EB156349f31B345c08386419", variableDebtToken: "0xeFFDE9BFA8EC77c14C364055a200746d6e12BeD6", decimals: 18 },
65
+ { symbol: "syrupUSDT", underlying: "0x356B8d89c1e1239Cbbb9dE4815c39A1474d5BA7D", aToken: "0x24Ab03a9a5Bc2C49E5523e8d915A3536ac38B91D", variableDebtToken: "0xAEf73b04654931B94920a3D7AE62032b79fB6d0c", decimals: 6 },
66
+ { symbol: "tBTC", underlying: "0x18084fbA666a33d37592fA2633fD49a74DD93a88", aToken: "0x10Ac93971cdb1F5c778144084242374473c350Da", variableDebtToken: "0xAC50890a80A2731eb1eA2e9B4F29569CeB06D960", decimals: 18 },
67
+ { symbol: "tETH", underlying: "0xD11c452fc99cF405034ee446803b6F6c1F6d5ED8", aToken: "0x481a2acf3A72ffDc602A9541896Ca1DB87f86cf7", variableDebtToken: "0x7EC9Afe70f8FD603282eBAcbc9058A83623E2899", decimals: 18 },
68
+ { symbol: "UNI", underlying: "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984", aToken: "0xF6D2224916DDFbbab6e6bd0D1B7034f4Ae0CaB18", variableDebtToken: "0xF64178Ebd2E2719F2B1233bCb5Ef6DB4bCc4d09a", decimals: 18 },
69
+ { symbol: "USDC", underlying: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", aToken: "0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c", variableDebtToken: "0x72E95b8931767C79bA4EeE721354d6E99a61D004", decimals: 6 },
70
+ { symbol: "USDe", underlying: "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3", aToken: "0x4F5923Fc5FD4a93352581b38B7cD26943012DECF", variableDebtToken: "0x015396E1F286289aE23a762088E863b3ec465145", decimals: 18 },
71
+ { symbol: "USDG", underlying: "0xe343167631d89B6Ffc58B88d6b7fB0228795491D", aToken: "0x7c0477d085ECb607CF8429f3eC91Ae5E1e460F4F", variableDebtToken: "0x4f97B950a30321c181E974971E156E19fAD184A3", decimals: 6 },
72
+ { symbol: "USDS", underlying: "0xdC035D45d973E3EC169d2276DDab16f1e407384F", aToken: "0x32a6268f9Ba3642Dda7892aDd74f1D34469A4259", variableDebtToken: "0x490E0E6255bF65b43E2e02F7acB783c5e04572Ff", decimals: 18 },
73
+ { symbol: "USDT", underlying: "0xdAC17F958D2ee523a2206206994597C13D831ec7", aToken: "0x23878914EFE38d27C4D67Ab83ed1b93A74D4086a", variableDebtToken: "0x6df1C1E379bC5a00a7b4C6e67A203333772f45A8", decimals: 6 },
74
+ { symbol: "USDtb", underlying: "0xC139190F447e929f090Edeb554D95AbB8b18aC1C", aToken: "0xEc4ef66D4fCeEba34aBB4dE69dB391Bc5476ccc8", variableDebtToken: "0xeA85a065F87FE28Aa8Fbf0D6C7deC472b106252C", decimals: 18 },
75
+ { symbol: "WBTC", underlying: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", aToken: "0x5Ee5bf7ae06D1Be5997A1A72006FE6C607eC6DE8", variableDebtToken: "0x40aAbEf1aa8f0eEc637E0E7d92fbfFB2F26A8b7B", decimals: 8 },
76
+ { symbol: "weETH", underlying: "0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee", aToken: "0xBdfa7b7893081B35Fb54027489e2Bc7A38275129", variableDebtToken: "0x77ad9BF13a52517AD698D65913e8D381300c8Bf3", decimals: 18 },
77
+ { symbol: "WETH", underlying: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", aToken: "0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8", variableDebtToken: "0xeA51d7853EEFb32b6ee06b1C12E6dcCA88Be0fFE", decimals: 18 },
78
+ { symbol: "wstETH", underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", aToken: "0x0B925eD163218f6662a35e0f0371Ac234f9E9371", variableDebtToken: "0xC96113eED8cAB59cD8A66813bCB0cEb29F06D2e4", decimals: 18 },
79
+ { symbol: "XAUt", underlying: "0x68749665FF8D2d112Fa859AA293F07A622782F38", aToken: "0x8A2b6f94Ff3A89a03E8c02Ee92b55aF90c9454A2", variableDebtToken: "0xa665bB258D2a732C170dFD505924214c0b1AC74F", decimals: 6 }
80
+ ],
81
+ [Chains.BnbMainnet]: [
82
+ { symbol: "BTCB", underlying: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c", aToken: "0x56a7ddc4e848EbF43845854205ad71D5D5F72d3D", variableDebtToken: "0x7b1E82F4f542fbB25D64c5523Fe3e44aBe4F2702", decimals: 18 },
83
+ { symbol: "Cake", underlying: "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", aToken: "0x4199CC1F5ed0d796563d7CcB2e036253E2C18281", variableDebtToken: "0xE20dBC7119c635B1B51462f844861258770e0699", decimals: 18 },
84
+ { symbol: "ETH", underlying: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", aToken: "0x2E94171493fAbE316b6205f1585779C887771E2F", variableDebtToken: "0x8FDea7891b4D6dbdc746309245B316aF691A636C", decimals: 18 },
85
+ { symbol: "FDUSD", underlying: "0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409", aToken: "0x75bd1A659bdC62e4C313950d44A2416faB43E785", variableDebtToken: "0xE628B8a123e6037f1542e662B9F55141a16945C8", decimals: 18 },
86
+ { symbol: "USDC", underlying: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", aToken: "0x00901a076785e0906d1028c7d6372d247bec7d61", variableDebtToken: "0xcDBBEd5606d9c5C98eEedd67933991dC17F0c68d", decimals: 18 },
87
+ { symbol: "USDT", underlying: "0x55d398326f99059fF775485246999027B3197955", aToken: "0xa9251ca9DE909CB71783723713B21E4233fbf1B1", variableDebtToken: "0xF8bb2Be50647447Fb355e3a77b81be4db64107cd", decimals: 18 },
88
+ { symbol: "WBNB", underlying: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", aToken: "0x9B00a09492a626678E5A3009982191586C444Df9", variableDebtToken: "0x0E76414d433ddfe8004d2A7505d218874875a996", decimals: 18 },
89
+ { symbol: "wstETH", underlying: "0x26c5e01524d2E6280A48F2c50fF6De7e52E9611C", aToken: "0xBDFd4E51D3c14a232135f04988a42576eFb31519", variableDebtToken: "0x2c391998308c56D7572A8F501D58CB56fB9Fe1C5", decimals: 18 }
90
+ ],
91
+ [Chains.BaseMainnet]: [
92
+ { symbol: "AAVE", underlying: "0x63706e401c06ac8513145b7687A14804d17f814b", aToken: "0x67EAF2BeE4384a2f84Da9Eb8105C661C123736BA", variableDebtToken: "0xcEC1Ea95dDEF7CFC27D3D9615E05b035af460978", decimals: 18 },
93
+ { symbol: "cbBTC", underlying: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", aToken: "0xBdb9300b7CDE636d9cD4AFF00f6F009fFBBc8EE6", variableDebtToken: "0x05e08702028de6AaD395DC6478b554a56920b9AD", decimals: 8 },
94
+ { symbol: "cbETH", underlying: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22", aToken: "0xcf3D55c10DB69f28fD1A75Bd73f3D8A2d9c595ad", variableDebtToken: "0x1DabC36f19909425f654777249815c073E8Fd79F", decimals: 18 },
95
+ { symbol: "EURC", underlying: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42", aToken: "0x90DA57E0A6C0d166Bf15764E03b83745Dc90025B", variableDebtToken: "0x03D01595769333174036832e18fA2f17C74f8161", decimals: 6 },
96
+ { symbol: "ezETH", underlying: "0x2416092f143378750bb29b79eD961ab195CcEea5", aToken: "0xDD5745756C2de109183c6B5bB886F9207bEF114D", variableDebtToken: "0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd", decimals: 18 },
97
+ { symbol: "GHO", underlying: "0x6Bb7a212910682DCFdbd5BCBb3e28FB4E8da10Ee", aToken: "0x067ae75628177FD257c2B1e500993e1a0baBcBd1", variableDebtToken: "0x38e59ADE183BbEb94583d44213c8f3297e9933e9", decimals: 18 },
98
+ { symbol: "LBTC", underlying: "0xecAc9C5F704e954931349Da37F60E39f515c11c1", aToken: "0x90072A4aA69B5Eb74984Ab823EFC5f91e90b3a72", variableDebtToken: "0xa2525b3f058846075506903d792d58C5a0D834c9", decimals: 8 },
99
+ { symbol: "syrupUSDC", underlying: "0x660975730059246A68521a3e2FBD4740173100f5", aToken: "0xD7424238CcbE7b7198Ab3cFE232e0271E22da7bd", variableDebtToken: "0x57B8C05ee2cD9d0143eBC21FBD9288C39B9F716c", decimals: 6 },
100
+ { symbol: "tBTC", underlying: "0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b", aToken: "0xbcFFB4B3beADc989Bd1458740952aF6EC8fBE431", variableDebtToken: "0x182cDEEC1D52ccad869d621bA422F449FA5809f5", decimals: 18 },
101
+ { symbol: "USDbC", underlying: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA", aToken: "0x0a1d576f3eFeF75b330424287a95A366e8281D54", variableDebtToken: "0x7376b2F323dC56fCd4C191B34163ac8a84702DAB", decimals: 6 },
102
+ { symbol: "USDC", underlying: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", aToken: "0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB", variableDebtToken: "0x59dca05b6c26dbd64b5381374aAaC5CD05644C28", decimals: 6 },
103
+ { symbol: "weETH", underlying: "0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A", aToken: "0x7C307e128efA31F540F2E2d976C995E0B65F51F6", variableDebtToken: "0x8D2e3F1f4b38AA9f1ceD22ac06019c7561B03901", decimals: 18 },
104
+ { symbol: "WETH", underlying: "0x4200000000000000000000000000000000000006", aToken: "0xD4a0e0b9149BCee3C920d2E00b5dE09138fd8bb7", variableDebtToken: "0x24e6e0795b3c7c71D965fCc4f371803d1c1DcA1E", decimals: 18 },
105
+ { symbol: "wrsETH", underlying: "0xEDfa23602D0EC14714057867A78d01e94176BEA0", aToken: "0x80a94C36747CF51b2FbabDfF045f6D22c1930eD1", variableDebtToken: "0xe9541C77a111bCAa5dF56839bbC50894eba7aFcb", decimals: 18 },
106
+ { symbol: "wstETH", underlying: "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452", aToken: "0x99CBC45ea5bb7eF3a5BC08FB1B7E56bB2442Ef0D", variableDebtToken: "0x41A7C3f5904ad176dACbb1D99101F59ef0811DC1", decimals: 18 }
107
+ ],
108
+ [Chains.BaseSepolia]: [
109
+ { symbol: "cbETH", underlying: "0xD171b9694f7A2597Ed006D41f7509aaD4B485c4B", aToken: "0x9Fd6d1DBAd7c052e0c43f46df36eEc6a68814B63", variableDebtToken: "0xa1a483652b157FF006292CDb0e9EB7FFad2a5142", decimals: 18 },
110
+ { symbol: "LINK", underlying: "0x810D46F9a9027E28F9B01F75E2bdde839dA61115", aToken: "0x0aD46dE765522399d7b25B438b230A894d72272B", variableDebtToken: "0xBA42C6752F347e3c22DD0A4e5578dCB0137C1325", decimals: 18 },
111
+ { symbol: "USDC", underlying: "0xba50Cd2A20f6DA35D788639E581bca8d0B5d4D5f", aToken: "0x10F1A9D11CDf50041f3f8cB7191CBE2f31750ACC", variableDebtToken: "0xFB3e85601b7fEb3691bbb8779Ef0E1069E347204", decimals: 6 },
112
+ { symbol: "USDT", underlying: "0x0a215D8ba66387DCA84B284D18c3B4ec3de6E54a", aToken: "0xcE3CAae5Ed17A7AafCEEbc897DE843fA6CC0c018", variableDebtToken: "0xE3C742c88EE6A610157C16b60bBDD62351daeE39", decimals: 6 },
113
+ { symbol: "WBTC", underlying: "0x54114591963CF60EF3aA63bEfD6eC263D98145a4", aToken: "0x47Db195BAf46898302C06c31bCF46c01C64ACcF9", variableDebtToken: "0x638291B5Ccb9fEd339FdD351Eb086e607fCA9561", decimals: 8 },
114
+ { symbol: "WETH", underlying: "0x4200000000000000000000000000000000000006", aToken: "0x73a5bB60b0B0fc35710DDc0ea9c407031E31Bdbb", variableDebtToken: "0x562abf6562d6A2b165aDa02b5946bc3E7b4dD653", decimals: 18 }
115
+ ],
116
+ [Chains.Sepolia]: [
117
+ { symbol: "AAVE", underlying: "0x88541670E55cC00bEEFD87eB59EDd1b7C511AC9a", aToken: "0x6b8558764d3b7572136F17174Cb9aB1DDc7E1259", variableDebtToken: "0xf12fdFc4c631F6D361b48723c2F2800b84B519e6", decimals: 18 },
118
+ { symbol: "DAI", underlying: "0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357", aToken: "0x29598b72eb5CeBd806C5dCD549490FdA35B13cD8", variableDebtToken: "0x22675C506A8FC26447aFFfa33640f6af5d4D4cF0", decimals: 18 },
119
+ { symbol: "EURS", underlying: "0x6d906e526a4e2Ca02097BA9d0caA3c382F52278E", aToken: "0xB20691021F9AcED8631eDaa3c0Cd2949EB45662D", variableDebtToken: "0x94482C7A7477196259D8a0f74fB853277Fa5a75b", decimals: 2 },
120
+ { symbol: "GHO", underlying: "0xc4bF5CbDaBE595361438F8c6a187bDc330539c60", aToken: "0xd190eF37dB51Bb955A680fF1A85763CC72d083D4", variableDebtToken: "0x67ae46EF043F7A4508BD1d6B94DB6c33F0915844", decimals: 18 },
121
+ { symbol: "LINK", underlying: "0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5", aToken: "0x3FfAf50D4F4E96eB78f2407c090b72e86eCaed24", variableDebtToken: "0x34a4d932E722b9dFb492B9D8131127690CE2430B", decimals: 18 },
122
+ { symbol: "USDC", underlying: "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", aToken: "0x16dA4541aD1807f4443d92D26044C1147406EB80", variableDebtToken: "0x36B5dE936eF1710E1d22EabE5231b28581a92ECc", decimals: 6 },
123
+ { symbol: "USDT", underlying: "0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0", aToken: "0xAF0F6e8b0Dc5c913bbF4d14c22B4E78Dd14310B6", variableDebtToken: "0x9844386d29EEd970B9F6a2B9a676083b0478210e", decimals: 6 },
124
+ { symbol: "WBTC", underlying: "0x29f2D40B0605204364af54EC677bD022dA425d03", aToken: "0x1804Bf30507dc2EB3bDEbbbdd859991EAeF6EefF", variableDebtToken: "0xEB016dFd303F19fbDdFb6300eB4AeB2DA7Ceac37", decimals: 8 },
125
+ { symbol: "WETH", underlying: "0xC558DBdd856501FCd9aaF1E62eae57A9F0629a3c", aToken: "0x5b071b590a59395fE4025A0Ccc1FcC931AAc1830", variableDebtToken: "0x22a35DB253f4F6D0029025D6312A3BdAb20C2c6A", decimals: 18 }
126
+ ]
127
+ };
128
+
11
129
  // src/protocols/aave-v3.ts
12
130
  var pool = {
13
131
  [Chains.EthereumMainnet]: "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",
@@ -180,6 +298,7 @@ var tokens = Object.freeze({
180
298
  [Chains.Sepolia]: "0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5"
181
299
  }
182
300
  });
301
+ var reserves = aaveV3Reserves;
183
302
  var aaveV3 = Object.freeze({
184
303
  pool,
185
304
  oracle,
@@ -187,7 +306,8 @@ var aaveV3 = Object.freeze({
187
306
  eventTopics,
188
307
  poolEventsAbi,
189
308
  poolMethodsAbi,
190
- tokens
309
+ tokens,
310
+ reserves
191
311
  });
192
312
 
193
313
  // src/protocols/aerodrome.ts
@@ -272,12 +392,29 @@ var btcUsdFeed = {
272
392
  var bnbUsdFeed = {
273
393
  [Chains.BnbMainnet]: "0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE"
274
394
  };
395
+ var answerUpdatedEventAbi = Object.freeze([
396
+ {
397
+ anonymous: false,
398
+ inputs: [
399
+ { indexed: true, internalType: "int256", name: "current", type: "int256" },
400
+ { indexed: true, internalType: "uint256", name: "roundId", type: "uint256" },
401
+ { indexed: false, internalType: "uint256", name: "updatedAt", type: "uint256" }
402
+ ],
403
+ name: "AnswerUpdated",
404
+ type: "event"
405
+ }
406
+ ]);
407
+ var eventTopics2 = Object.freeze({
408
+ AnswerUpdated: "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f"
409
+ });
275
410
  var chainlink = Object.freeze({
276
411
  ethUsdFeed,
277
412
  btcUsdFeed,
278
413
  bnbUsdFeed,
279
414
  /** Shared AggregatorV3 ABI — works for any Chainlink feed. */
280
- aggregatorV3Abi
415
+ aggregatorV3Abi,
416
+ answerUpdatedEventAbi,
417
+ eventTopics: eventTopics2
281
418
  });
282
419
 
283
420
  // src/protocols/compound-v3.ts
@@ -290,19 +427,70 @@ var compoundV3 = Object.freeze({
290
427
  });
291
428
 
292
429
  // src/protocols/erc20.ts
430
+ var approveAbi = Object.freeze([
431
+ {
432
+ inputs: [
433
+ { internalType: "address", name: "spender", type: "address" },
434
+ { internalType: "uint256", name: "amount", type: "uint256" }
435
+ ],
436
+ name: "approve",
437
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
438
+ stateMutability: "nonpayable",
439
+ type: "function"
440
+ }
441
+ ]);
442
+ var transferAbi = Object.freeze([
443
+ {
444
+ inputs: [
445
+ { internalType: "address", name: "to", type: "address" },
446
+ { internalType: "uint256", name: "amount", type: "uint256" }
447
+ ],
448
+ name: "transfer",
449
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
450
+ stateMutability: "nonpayable",
451
+ type: "function"
452
+ }
453
+ ]);
454
+ var symbolAbi = Object.freeze([
455
+ {
456
+ inputs: [],
457
+ name: "symbol",
458
+ outputs: [{ internalType: "string", name: "", type: "string" }],
459
+ stateMutability: "view",
460
+ type: "function"
461
+ }
462
+ ]);
463
+ var decimalsAbi = Object.freeze([
464
+ {
465
+ inputs: [],
466
+ name: "decimals",
467
+ outputs: [{ internalType: "uint8", name: "", type: "uint8" }],
468
+ stateMutability: "view",
469
+ type: "function"
470
+ }
471
+ ]);
472
+ var transferEventAbi = Object.freeze([
473
+ {
474
+ anonymous: false,
475
+ inputs: [
476
+ { indexed: true, internalType: "address", name: "from", type: "address" },
477
+ { indexed: true, internalType: "address", name: "to", type: "address" },
478
+ { indexed: false, internalType: "uint256", name: "value", type: "uint256" }
479
+ ],
480
+ name: "Transfer",
481
+ type: "event"
482
+ }
483
+ ]);
484
+ var eventTopics3 = Object.freeze({
485
+ Transfer: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
486
+ });
293
487
  var erc20 = Object.freeze({
294
- approveAbi: Object.freeze([
295
- {
296
- inputs: [
297
- { internalType: "address", name: "spender", type: "address" },
298
- { internalType: "uint256", name: "amount", type: "uint256" }
299
- ],
300
- name: "approve",
301
- outputs: [{ internalType: "bool", name: "", type: "bool" }],
302
- stateMutability: "nonpayable",
303
- type: "function"
304
- }
305
- ])
488
+ approveAbi,
489
+ transferAbi,
490
+ symbolAbi,
491
+ decimalsAbi,
492
+ transferEventAbi,
493
+ eventTopics: eventTopics3
306
494
  });
307
495
 
308
496
  // src/protocols/ethena.ts
@@ -1630,6 +1818,28 @@ var ethereum_default = [
1630
1818
  }
1631
1819
  ];
1632
1820
 
1821
+ // src/tokens/per-chain.ts
1822
+ function buildChainTokenMap(rows, sourceLabel) {
1823
+ const out = /* @__PURE__ */ Object.create(null);
1824
+ for (const row of rows) {
1825
+ const { symbol, ...entry } = row;
1826
+ if (Object.prototype.hasOwnProperty.call(out, symbol)) {
1827
+ throw new Error(
1828
+ `[@avaprotocol/protocols] duplicate symbol "${symbol}" in ${sourceLabel} \u2014 each symbol must appear once per chain file.`
1829
+ );
1830
+ }
1831
+ out[symbol] = Object.freeze(entry);
1832
+ }
1833
+ return Object.freeze(out);
1834
+ }
1835
+
1836
+ // src/tokens/ethereum.ts
1837
+ var chainId = Chains.EthereumMainnet;
1838
+ var tokens3 = buildChainTokenMap(
1839
+ ethereum_default,
1840
+ "src/tokens/data/ethereum.json"
1841
+ );
1842
+
1633
1843
  // src/tokens/data/sepolia.json
1634
1844
  var sepolia_default = [
1635
1845
  {
@@ -1670,6 +1880,13 @@ var sepolia_default = [
1670
1880
  }
1671
1881
  ];
1672
1882
 
1883
+ // src/tokens/sepolia.ts
1884
+ var chainId2 = Chains.Sepolia;
1885
+ var tokens4 = buildChainTokenMap(
1886
+ sepolia_default,
1887
+ "src/tokens/data/sepolia.json"
1888
+ );
1889
+
1673
1890
  // src/tokens/data/base.json
1674
1891
  var base_default = [
1675
1892
  {
@@ -1963,6 +2180,13 @@ var base_default = [
1963
2180
  }
1964
2181
  ];
1965
2182
 
2183
+ // src/tokens/base.ts
2184
+ var chainId3 = Chains.BaseMainnet;
2185
+ var tokens5 = buildChainTokenMap(
2186
+ base_default,
2187
+ "src/tokens/data/base.json"
2188
+ );
2189
+
1966
2190
  // src/tokens/data/base-sepolia.json
1967
2191
  var base_sepolia_default = [
1968
2192
  {
@@ -1991,6 +2215,13 @@ var base_sepolia_default = [
1991
2215
  }
1992
2216
  ];
1993
2217
 
2218
+ // src/tokens/base-sepolia.ts
2219
+ var chainId4 = Chains.BaseSepolia;
2220
+ var tokens6 = buildChainTokenMap(
2221
+ base_sepolia_default,
2222
+ "src/tokens/data/base-sepolia.json"
2223
+ );
2224
+
1994
2225
  // src/tokens/data/bnb-mainnet.json
1995
2226
  var bnb_mainnet_default = [
1996
2227
  {
@@ -2009,38 +2240,41 @@ var bnb_mainnet_default = [
2009
2240
  }
2010
2241
  ];
2011
2242
 
2243
+ // src/tokens/bnb-mainnet.ts
2244
+ var chainId5 = Chains.BnbMainnet;
2245
+ var tokens7 = buildChainTokenMap(
2246
+ bnb_mainnet_default,
2247
+ "src/tokens/data/bnb-mainnet.json"
2248
+ );
2249
+
2012
2250
  // src/tokens/index.ts
2013
- var CHAIN_DATA = Object.freeze([
2014
- [Chains.EthereumMainnet, ethereum_default],
2015
- [Chains.Sepolia, sepolia_default],
2016
- [Chains.BaseMainnet, base_default],
2017
- [Chains.BaseSepolia, base_sepolia_default],
2018
- [Chains.BnbMainnet, bnb_mainnet_default]
2251
+ var PER_CHAIN = Object.freeze([
2252
+ [chainId, tokens3],
2253
+ [chainId2, tokens4],
2254
+ [chainId3, tokens5],
2255
+ [chainId4, tokens6],
2256
+ [chainId5, tokens7]
2019
2257
  ]);
2020
2258
  function buildTokensFromData() {
2021
- const merged = {};
2022
- for (const [chainId, rows] of CHAIN_DATA) {
2023
- for (const row of rows) {
2024
- const { symbol, ...entry } = row;
2025
- if (!merged[symbol]) merged[symbol] = {};
2026
- if (merged[symbol][chainId] !== void 0) {
2027
- throw new Error(
2028
- `[@avaprotocol/protocols] duplicate token entry for symbol="${symbol}" on chainId=${chainId}. Each (symbol, chainId) pair must be unique across src/tokens/data/*.json \u2014 remove the duplicate row.`
2029
- );
2259
+ const merged = /* @__PURE__ */ Object.create(null);
2260
+ for (const [chainId6, chainTokens] of PER_CHAIN) {
2261
+ for (const [symbol, entry] of Object.entries(chainTokens)) {
2262
+ if (!Object.prototype.hasOwnProperty.call(merged, symbol)) {
2263
+ merged[symbol] = /* @__PURE__ */ Object.create(null);
2030
2264
  }
2031
- merged[symbol][chainId] = entry;
2265
+ merged[symbol][chainId6] = entry;
2032
2266
  }
2033
2267
  }
2034
2268
  return merged;
2035
2269
  }
2036
2270
  var Tokens = Object.freeze(buildTokensFromData());
2037
2271
  var PROTOCOL_TOKEN_DEFAULT_DECIMALS = 18;
2038
- function lookupToken(chainId, address) {
2272
+ function lookupToken(chainId6, address) {
2039
2273
  if (!address) return void 0;
2040
2274
  const target = address.toLowerCase();
2041
- if (chainId) {
2275
+ if (chainId6) {
2042
2276
  for (const [symbol, byChain] of Object.entries(Tokens)) {
2043
- const entry = byChain[chainId];
2277
+ const entry = byChain[chainId6];
2044
2278
  if (entry && entry.address.toLowerCase() === target) {
2045
2279
  return { symbol, ...entry };
2046
2280
  }
@@ -2054,9 +2288,9 @@ function lookupToken(chainId, address) {
2054
2288
  }
2055
2289
  }
2056
2290
  for (const protocolModule of Object.values(Protocols)) {
2057
- const tokens3 = protocolModule.tokens;
2058
- if (!tokens3 || typeof tokens3 !== "object") continue;
2059
- for (const [symbol, addressMap] of Object.entries(tokens3)) {
2291
+ const tokens8 = protocolModule.tokens;
2292
+ if (!tokens8 || typeof tokens8 !== "object") continue;
2293
+ for (const [symbol, addressMap] of Object.entries(tokens8)) {
2060
2294
  if (!addressMap || typeof addressMap !== "object") continue;
2061
2295
  for (const [rawChainId, addr] of Object.entries(addressMap)) {
2062
2296
  if (typeof addr !== "string") continue;
@@ -0,0 +1,3 @@
1
+ import { type AaveV3ReservesByChain } from "./types";
2
+ export declare const aaveV3Reserves: AaveV3ReservesByChain;
3
+ //# sourceMappingURL=aave-v3-reserves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aave-v3-reserves.d.ts","sourceRoot":"","sources":["../../src/protocols/aave-v3-reserves.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,cAAc,EAAE,qBAmH5B,CAAC"}
@@ -17,5 +17,6 @@ export declare const aaveV3: Readonly<{
17
17
  11155111: "0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5";
18
18
  };
19
19
  }>;
20
+ reserves: Partial<Record<number, readonly import("./types").AaveV3Reserve[]>>;
20
21
  }>;
21
22
  //# sourceMappingURL=aave-v3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aave-v3.d.ts","sourceRoot":"","sources":["../../src/protocols/aave-v3.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AAiOhE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;EAQjB,CAAC"}
1
+ {"version":3,"file":"aave-v3.d.ts","sourceRoot":"","sources":["../../src/protocols/aave-v3.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AA6OhE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;EASjB,CAAC"}
@@ -1,8 +1,13 @@
1
+ import { type AbiFragment } from "./types";
1
2
  export declare const chainlink: Readonly<{
2
3
  ethUsdFeed: Partial<Record<number, `0x${string}`>>;
3
4
  btcUsdFeed: Partial<Record<number, `0x${string}`>>;
4
5
  bnbUsdFeed: Partial<Record<number, `0x${string}`>>;
5
6
  /** Shared AggregatorV3 ABI — works for any Chainlink feed. */
6
- aggregatorV3Abi: readonly import("./types").AbiFragment[];
7
+ aggregatorV3Abi: readonly AbiFragment[];
8
+ answerUpdatedEventAbi: readonly AbiFragment[];
9
+ eventTopics: Readonly<{
10
+ readonly AnswerUpdated: "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f";
11
+ }>;
7
12
  }>;
8
13
  //# sourceMappingURL=chainlink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainlink.d.ts","sourceRoot":"","sources":["../../src/protocols/chainlink.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,SAAS;;;;IAIpB,8DAA8D;;EAE9D,CAAC"}
1
+ {"version":3,"file":"chainlink.d.ts","sourceRoot":"","sources":["../../src/protocols/chainlink.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AAgDhE,eAAO,MAAM,SAAS;;;;IAIpB,8DAA8D;;;;;;EAI9D,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import { type AbiFragment } from "./types";
2
2
  export declare const erc20: Readonly<{
3
3
  approveAbi: readonly AbiFragment[];
4
+ transferAbi: readonly AbiFragment[];
5
+ symbolAbi: readonly AbiFragment[];
6
+ decimalsAbi: readonly AbiFragment[];
7
+ transferEventAbi: readonly AbiFragment[];
8
+ eventTopics: Readonly<{
9
+ readonly Transfer: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
10
+ }>;
4
11
  }>;
5
12
  //# sourceMappingURL=erc20.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/protocols/erc20.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,KAAK;gBAYV,SAAS,WAAW,EAAE;EAC5B,CAAC"}
1
+ {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/protocols/erc20.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAyE3C,eAAO,MAAM,KAAK;;;;;;;;;EAOhB,CAAC"}
@@ -14,7 +14,7 @@ export { superfluid } from "./superfluid";
14
14
  export { uniswapV3 } from "./uniswap-v3";
15
15
  export { wrapped } from "./wrapped";
16
16
  export { aggregatorV3Abi, erc4626VaultAbi } from "./common";
17
- export type { AbiFragment, AddressByChain } from "./types";
17
+ export type { AbiFragment, AddressByChain, AaveV3Reserve, AaveV3ReservesByChain } from "./types";
18
18
  /**
19
19
  * Namespaced catalog handle:
20
20
  *
@@ -51,6 +51,7 @@ export declare const Protocols: Readonly<{
51
51
  11155111: "0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5";
52
52
  };
53
53
  }>;
54
+ reserves: Partial<Record<number, readonly import("./types").AaveV3Reserve[]>>;
54
55
  }>;
55
56
  aerodrome: Readonly<{
56
57
  router: Partial<Record<number, `0x${string}`>>;
@@ -60,12 +61,23 @@ export declare const Protocols: Readonly<{
60
61
  btcUsdFeed: Partial<Record<number, `0x${string}`>>;
61
62
  bnbUsdFeed: Partial<Record<number, `0x${string}`>>;
62
63
  aggregatorV3Abi: readonly import("./types").AbiFragment[];
64
+ answerUpdatedEventAbi: readonly import("./types").AbiFragment[];
65
+ eventTopics: Readonly<{
66
+ readonly AnswerUpdated: "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f";
67
+ }>;
63
68
  }>;
64
69
  compoundV3: Readonly<{
65
70
  cometUsdc: Partial<Record<number, `0x${string}`>>;
66
71
  }>;
67
72
  erc20: Readonly<{
68
73
  approveAbi: readonly import("./types").AbiFragment[];
74
+ transferAbi: readonly import("./types").AbiFragment[];
75
+ symbolAbi: readonly import("./types").AbiFragment[];
76
+ decimalsAbi: readonly import("./types").AbiFragment[];
77
+ transferEventAbi: readonly import("./types").AbiFragment[];
78
+ eventTopics: Readonly<{
79
+ readonly Transfer: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
80
+ }>;
69
81
  }>;
70
82
  ethena: Readonly<{
71
83
  susde: Partial<Record<number, `0x${string}`>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAkB3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAkBjG;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpB,CAAC"}
@@ -14,4 +14,29 @@ import { type ChainId } from "../chains";
14
14
  * ships on every chain.
15
15
  */
16
16
  export type AddressByChain = Partial<Record<ChainId, `0x${string}`>>;
17
+ /**
18
+ * A single AAVE V3 reserve — the underlying asset plus the AAVE-issued
19
+ * receipt tokens minted against it. Lets a UI present the list of tokens
20
+ * a user can supply (the `underlying`) and the proof token they receive
21
+ * (the `aToken`) without an on-chain round-trip.
22
+ *
23
+ * Generated from chain via `scripts/generate-aave-reserves.ts`
24
+ * (Pool.getReservesList + Pool.getReserveData + ERC-20 metadata).
25
+ */
26
+ export interface AaveV3Reserve {
27
+ readonly symbol: string;
28
+ /** The token the user supplies/borrows (ERC-20 underlying). */
29
+ readonly underlying: `0x${string}`;
30
+ /** aToken — the interest-bearing receipt minted on supply. */
31
+ readonly aToken: `0x${string}`;
32
+ /** Variable-rate debt token minted on borrow. */
33
+ readonly variableDebtToken: `0x${string}`;
34
+ /** Decimals of the underlying ERC-20. */
35
+ readonly decimals: number;
36
+ }
37
+ /**
38
+ * Per-chain AAVE V3 reserve list. `Partial` — not every chain is covered,
39
+ * and the list is ordered by symbol for readable diffs.
40
+ */
41
+ export type AaveV3ReservesByChain = Partial<Record<ChainId, readonly AaveV3Reserve[]>>;
17
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAKtC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAKtC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1C,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC,CAAC"}