├── .env.example ├── .eslintrc.json ├── .github └── workflows │ ├── dependency-review.yml │ ├── node.js.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .solcover.js ├── CHANGELOG.md ├── Dockerfile ├── LICENSE.md ├── README.md ├── contracts ├── adapters │ └── paraswap │ │ ├── BaseParaSwapAdapter.sol │ │ ├── BaseParaSwapBuyAdapter.sol │ │ ├── BaseParaSwapSellAdapter.sol │ │ ├── ParaSwapLiquiditySwapAdapter.sol │ │ ├── ParaSwapRepayAdapter.sol │ │ ├── ParaSwapWithdrawSwapAdapter.sol │ │ └── interfaces │ │ ├── IParaSwapAugustus.sol │ │ └── IParaSwapAugustusRegistry.sol ├── dependencies │ └── openzeppelin │ │ └── ReentrancyGuard.sol ├── libraries │ ├── DataTypesHelper.sol │ └── LICENSE.md ├── misc │ ├── LICENSE.md │ ├── UiIncentiveDataProviderV3.sol │ ├── UiPoolDataProviderV3.sol │ ├── WalletBalanceProvider.sol │ ├── WrappedTokenGatewayV3.sol │ └── interfaces │ │ ├── IEACAggregatorProxy.sol │ │ ├── IERC20DetailedBytes.sol │ │ ├── IUiIncentiveDataProviderV3.sol │ │ ├── IUiPoolDataProviderV3.sol │ │ ├── IWETH.sol │ │ ├── IWrappedTokenGatewayV3.sol │ │ └── LICENSE.md ├── mocks │ ├── ATokenMock.sol │ ├── LICENSE.md │ ├── MockBadTransferStrategy.sol │ ├── WETH9Mock.sol │ ├── attacks │ │ ├── LICENSE.md │ │ └── SelfdestructTransfer.sol │ ├── swap │ │ ├── MockParaSwapAugustus.sol │ │ ├── MockParaSwapAugustusRegistry.sol │ │ └── MockParaSwapTokenTransferProxy.sol │ └── testnet-helpers │ │ ├── Faucet.sol │ │ ├── IFaucet.sol │ │ └── TestnetERC20.sol ├── rewards │ ├── EmissionManager.sol │ ├── RewardsController.sol │ ├── RewardsDistributor.sol │ ├── interfaces │ │ ├── IEmissionManager.sol │ │ ├── IPullRewardsTransferStrategy.sol │ │ ├── IRewardsController.sol │ │ ├── IRewardsDistributor.sol │ │ ├── IStakedToken.sol │ │ ├── IStakedTokenTransferStrategy.sol │ │ ├── ITransferStrategyBase.sol │ │ └── LICENSE.md │ ├── libraries │ │ ├── LICENSE.md │ │ └── RewardsDataTypes.sol │ └── transfer-strategies │ │ ├── LICENSE.md │ │ ├── PullRewardsTransferStrategy.sol │ │ ├── StakedTokenTransferStrategy.sol │ │ └── TransferStrategyBase.sol └── treasury │ ├── AaveEcosystemReserveController.sol │ ├── AaveEcosystemReserveV2.sol │ ├── AdminControlledEcosystemReserve.sol │ ├── Collector.sol │ ├── CollectorController.sol │ ├── interfaces │ ├── IAaveEcosystemReserveController.sol │ ├── IAdminControlledEcosystemReserve.sol │ ├── ICollector.sol │ └── IStreamable.sol │ └── libs │ ├── Address.sol │ ├── ReentrancyGuard.sol │ ├── SafeERC20.sol │ └── VersionedInitializable.sol ├── docker-compose.yml ├── docs └── rewards │ ├── img │ └── ClaimFlow.png │ ├── rewards-controller.md │ ├── rewards-distributor.md │ └── rewards-transfer-strategies.md ├── hardhat.config.ts ├── helper-hardhat-config.ts ├── helpers ├── tenderly-utils.ts ├── test-wallets.ts └── types.ts ├── package.json ├── setup-test-env.sh ├── test ├── __setup.spec.ts ├── emptyrun.coverage.ts ├── faucet.spec.ts ├── helpers │ ├── constants.ts │ ├── make-suite.ts │ └── utils.ts ├── paraswap │ ├── paraswapAdapters.liquiditySwap.spec.ts │ ├── paraswapAdapters.repay.spec.ts │ ├── paraswapAdapters.withdrawSwap.spec.ts │ └── utils.ts ├── rewards │ ├── claim-all-on-behalf.spec.ts │ ├── claim-all-rewards-to-self.spec.ts │ ├── claim-all-rewards.spec.ts │ ├── claim-on-behalf.spec.ts │ ├── claim-rewards-low-decimals.spec.ts │ ├── claim-rewards-to-self.spec.ts │ ├── claim-rewards.spec.ts │ ├── configure-assets.spec.ts │ ├── emission-manager.spec.ts │ ├── get-all-rewards-balance.spec.ts │ ├── get-rewards-balance.spec.ts │ ├── handle-action.spec.ts │ ├── helpers │ │ ├── RewardsDistributor │ │ │ └── data-helpers │ │ │ │ ├── asset-data.ts │ │ │ │ └── asset-user-data.ts │ │ ├── comparator-engine.ts │ │ ├── deploy.ts │ │ └── ray-math │ │ │ ├── bignumber.ts │ │ │ ├── index.ts │ │ │ └── ray-math.ts │ ├── initialize.spec.ts │ ├── misc.spec.ts │ ├── reward-oracle.spec.ts │ ├── set-distribution-end.spec.ts │ ├── set-emission-per-second.spec.ts │ ├── set-reward-oracle.spec.ts │ ├── set-transfer-strategy.spec.ts │ └── strategies │ │ ├── base-strategy.spec.ts │ │ ├── pull-rewards-strategy.spec.ts │ │ └── staked-rewards-strategy.spec.ts └── wrapped-token-gateway.spec.ts └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/dependency-review.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.github/workflows/dependency-review.yml -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.github/workflows/node.js.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | artifacts 2 | cache 3 | node_modules -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.prettierrc -------------------------------------------------------------------------------- /.solcover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/.solcover.js -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/README.md -------------------------------------------------------------------------------- /contracts/adapters/paraswap/BaseParaSwapAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/BaseParaSwapAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/BaseParaSwapBuyAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/BaseParaSwapBuyAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/BaseParaSwapSellAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/BaseParaSwapSellAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/ParaSwapLiquiditySwapAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/ParaSwapLiquiditySwapAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/ParaSwapRepayAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/ParaSwapRepayAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/ParaSwapWithdrawSwapAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/ParaSwapWithdrawSwapAdapter.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/interfaces/IParaSwapAugustus.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/interfaces/IParaSwapAugustus.sol -------------------------------------------------------------------------------- /contracts/adapters/paraswap/interfaces/IParaSwapAugustusRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/adapters/paraswap/interfaces/IParaSwapAugustusRegistry.sol -------------------------------------------------------------------------------- /contracts/dependencies/openzeppelin/ReentrancyGuard.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/dependencies/openzeppelin/ReentrancyGuard.sol -------------------------------------------------------------------------------- /contracts/libraries/DataTypesHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/libraries/DataTypesHelper.sol -------------------------------------------------------------------------------- /contracts/libraries/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/libraries/LICENSE.md -------------------------------------------------------------------------------- /contracts/misc/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/LICENSE.md -------------------------------------------------------------------------------- /contracts/misc/UiIncentiveDataProviderV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/UiIncentiveDataProviderV3.sol -------------------------------------------------------------------------------- /contracts/misc/UiPoolDataProviderV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/UiPoolDataProviderV3.sol -------------------------------------------------------------------------------- /contracts/misc/WalletBalanceProvider.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/WalletBalanceProvider.sol -------------------------------------------------------------------------------- /contracts/misc/WrappedTokenGatewayV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/WrappedTokenGatewayV3.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IEACAggregatorProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IEACAggregatorProxy.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IERC20DetailedBytes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IERC20DetailedBytes.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IUiIncentiveDataProviderV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IUiIncentiveDataProviderV3.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IUiPoolDataProviderV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IUiPoolDataProviderV3.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IWETH.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IWETH.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/IWrappedTokenGatewayV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/IWrappedTokenGatewayV3.sol -------------------------------------------------------------------------------- /contracts/misc/interfaces/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/misc/interfaces/LICENSE.md -------------------------------------------------------------------------------- /contracts/mocks/ATokenMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/ATokenMock.sol -------------------------------------------------------------------------------- /contracts/mocks/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/LICENSE.md -------------------------------------------------------------------------------- /contracts/mocks/MockBadTransferStrategy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/MockBadTransferStrategy.sol -------------------------------------------------------------------------------- /contracts/mocks/WETH9Mock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/WETH9Mock.sol -------------------------------------------------------------------------------- /contracts/mocks/attacks/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/attacks/LICENSE.md -------------------------------------------------------------------------------- /contracts/mocks/attacks/SelfdestructTransfer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/attacks/SelfdestructTransfer.sol -------------------------------------------------------------------------------- /contracts/mocks/swap/MockParaSwapAugustus.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/swap/MockParaSwapAugustus.sol -------------------------------------------------------------------------------- /contracts/mocks/swap/MockParaSwapAugustusRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/swap/MockParaSwapAugustusRegistry.sol -------------------------------------------------------------------------------- /contracts/mocks/swap/MockParaSwapTokenTransferProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/swap/MockParaSwapTokenTransferProxy.sol -------------------------------------------------------------------------------- /contracts/mocks/testnet-helpers/Faucet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/testnet-helpers/Faucet.sol -------------------------------------------------------------------------------- /contracts/mocks/testnet-helpers/IFaucet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/testnet-helpers/IFaucet.sol -------------------------------------------------------------------------------- /contracts/mocks/testnet-helpers/TestnetERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/mocks/testnet-helpers/TestnetERC20.sol -------------------------------------------------------------------------------- /contracts/rewards/EmissionManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/EmissionManager.sol -------------------------------------------------------------------------------- /contracts/rewards/RewardsController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/RewardsController.sol -------------------------------------------------------------------------------- /contracts/rewards/RewardsDistributor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/RewardsDistributor.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IEmissionManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IEmissionManager.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IPullRewardsTransferStrategy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IPullRewardsTransferStrategy.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IRewardsController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IRewardsController.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IRewardsDistributor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IRewardsDistributor.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IStakedToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IStakedToken.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/IStakedTokenTransferStrategy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/IStakedTokenTransferStrategy.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/ITransferStrategyBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/ITransferStrategyBase.sol -------------------------------------------------------------------------------- /contracts/rewards/interfaces/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/interfaces/LICENSE.md -------------------------------------------------------------------------------- /contracts/rewards/libraries/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/libraries/LICENSE.md -------------------------------------------------------------------------------- /contracts/rewards/libraries/RewardsDataTypes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/libraries/RewardsDataTypes.sol -------------------------------------------------------------------------------- /contracts/rewards/transfer-strategies/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/transfer-strategies/LICENSE.md -------------------------------------------------------------------------------- /contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/transfer-strategies/PullRewardsTransferStrategy.sol -------------------------------------------------------------------------------- /contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/transfer-strategies/StakedTokenTransferStrategy.sol -------------------------------------------------------------------------------- /contracts/rewards/transfer-strategies/TransferStrategyBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/rewards/transfer-strategies/TransferStrategyBase.sol -------------------------------------------------------------------------------- /contracts/treasury/AaveEcosystemReserveController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/AaveEcosystemReserveController.sol -------------------------------------------------------------------------------- /contracts/treasury/AaveEcosystemReserveV2.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/AaveEcosystemReserveV2.sol -------------------------------------------------------------------------------- /contracts/treasury/AdminControlledEcosystemReserve.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/AdminControlledEcosystemReserve.sol -------------------------------------------------------------------------------- /contracts/treasury/Collector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/Collector.sol -------------------------------------------------------------------------------- /contracts/treasury/CollectorController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/CollectorController.sol -------------------------------------------------------------------------------- /contracts/treasury/interfaces/IAaveEcosystemReserveController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/interfaces/IAaveEcosystemReserveController.sol -------------------------------------------------------------------------------- /contracts/treasury/interfaces/IAdminControlledEcosystemReserve.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/interfaces/IAdminControlledEcosystemReserve.sol -------------------------------------------------------------------------------- /contracts/treasury/interfaces/ICollector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/interfaces/ICollector.sol -------------------------------------------------------------------------------- /contracts/treasury/interfaces/IStreamable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/interfaces/IStreamable.sol -------------------------------------------------------------------------------- /contracts/treasury/libs/Address.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/libs/Address.sol -------------------------------------------------------------------------------- /contracts/treasury/libs/ReentrancyGuard.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/libs/ReentrancyGuard.sol -------------------------------------------------------------------------------- /contracts/treasury/libs/SafeERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/libs/SafeERC20.sol -------------------------------------------------------------------------------- /contracts/treasury/libs/VersionedInitializable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/contracts/treasury/libs/VersionedInitializable.sol -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/rewards/img/ClaimFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/docs/rewards/img/ClaimFlow.png -------------------------------------------------------------------------------- /docs/rewards/rewards-controller.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/docs/rewards/rewards-controller.md -------------------------------------------------------------------------------- /docs/rewards/rewards-distributor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/docs/rewards/rewards-distributor.md -------------------------------------------------------------------------------- /docs/rewards/rewards-transfer-strategies.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/docs/rewards/rewards-transfer-strategies.md -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /helper-hardhat-config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/helper-hardhat-config.ts -------------------------------------------------------------------------------- /helpers/tenderly-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/helpers/tenderly-utils.ts -------------------------------------------------------------------------------- /helpers/test-wallets.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/helpers/test-wallets.ts -------------------------------------------------------------------------------- /helpers/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/helpers/types.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/package.json -------------------------------------------------------------------------------- /setup-test-env.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/setup-test-env.sh -------------------------------------------------------------------------------- /test/__setup.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/__setup.spec.ts -------------------------------------------------------------------------------- /test/emptyrun.coverage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/emptyrun.coverage.ts -------------------------------------------------------------------------------- /test/faucet.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/faucet.spec.ts -------------------------------------------------------------------------------- /test/helpers/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/helpers/constants.ts -------------------------------------------------------------------------------- /test/helpers/make-suite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/helpers/make-suite.ts -------------------------------------------------------------------------------- /test/helpers/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/helpers/utils.ts -------------------------------------------------------------------------------- /test/paraswap/paraswapAdapters.liquiditySwap.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/paraswap/paraswapAdapters.liquiditySwap.spec.ts -------------------------------------------------------------------------------- /test/paraswap/paraswapAdapters.repay.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/paraswap/paraswapAdapters.repay.spec.ts -------------------------------------------------------------------------------- /test/paraswap/paraswapAdapters.withdrawSwap.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/paraswap/paraswapAdapters.withdrawSwap.spec.ts -------------------------------------------------------------------------------- /test/paraswap/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/paraswap/utils.ts -------------------------------------------------------------------------------- /test/rewards/claim-all-on-behalf.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-all-on-behalf.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-all-rewards-to-self.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-all-rewards-to-self.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-all-rewards.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-all-rewards.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-on-behalf.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-on-behalf.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-rewards-low-decimals.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-rewards-low-decimals.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-rewards-to-self.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-rewards-to-self.spec.ts -------------------------------------------------------------------------------- /test/rewards/claim-rewards.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/claim-rewards.spec.ts -------------------------------------------------------------------------------- /test/rewards/configure-assets.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/configure-assets.spec.ts -------------------------------------------------------------------------------- /test/rewards/emission-manager.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/emission-manager.spec.ts -------------------------------------------------------------------------------- /test/rewards/get-all-rewards-balance.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/get-all-rewards-balance.spec.ts -------------------------------------------------------------------------------- /test/rewards/get-rewards-balance.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/get-rewards-balance.spec.ts -------------------------------------------------------------------------------- /test/rewards/handle-action.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/handle-action.spec.ts -------------------------------------------------------------------------------- /test/rewards/helpers/RewardsDistributor/data-helpers/asset-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/RewardsDistributor/data-helpers/asset-data.ts -------------------------------------------------------------------------------- /test/rewards/helpers/RewardsDistributor/data-helpers/asset-user-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/RewardsDistributor/data-helpers/asset-user-data.ts -------------------------------------------------------------------------------- /test/rewards/helpers/comparator-engine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/comparator-engine.ts -------------------------------------------------------------------------------- /test/rewards/helpers/deploy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/deploy.ts -------------------------------------------------------------------------------- /test/rewards/helpers/ray-math/bignumber.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/ray-math/bignumber.ts -------------------------------------------------------------------------------- /test/rewards/helpers/ray-math/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/ray-math/index.ts -------------------------------------------------------------------------------- /test/rewards/helpers/ray-math/ray-math.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/helpers/ray-math/ray-math.ts -------------------------------------------------------------------------------- /test/rewards/initialize.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/initialize.spec.ts -------------------------------------------------------------------------------- /test/rewards/misc.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/misc.spec.ts -------------------------------------------------------------------------------- /test/rewards/reward-oracle.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/reward-oracle.spec.ts -------------------------------------------------------------------------------- /test/rewards/set-distribution-end.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/set-distribution-end.spec.ts -------------------------------------------------------------------------------- /test/rewards/set-emission-per-second.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/set-emission-per-second.spec.ts -------------------------------------------------------------------------------- /test/rewards/set-reward-oracle.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/set-reward-oracle.spec.ts -------------------------------------------------------------------------------- /test/rewards/set-transfer-strategy.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/set-transfer-strategy.spec.ts -------------------------------------------------------------------------------- /test/rewards/strategies/base-strategy.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/strategies/base-strategy.spec.ts -------------------------------------------------------------------------------- /test/rewards/strategies/pull-rewards-strategy.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/strategies/pull-rewards-strategy.spec.ts -------------------------------------------------------------------------------- /test/rewards/strategies/staked-rewards-strategy.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/rewards/strategies/staked-rewards-strategy.spec.ts -------------------------------------------------------------------------------- /test/wrapped-token-gateway.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/test/wrapped-token-gateway.spec.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aave/aave-v3-periphery/HEAD/tsconfig.json --------------------------------------------------------------------------------