Protocol Contracts

Core Contracts

Core contracts include the Controller, SetTokenCreator, and the Integration Registry. Each performs a critical function to verify Set permissions and enables shared resources such as oracle access. The PriceOracle and SetValue are resource contracts that provide on-chain pricing for SetToken contracts.

Modules

Modules extend SetToken functionality by adding fees as well as accessing the rest of DeFi (Uniswap, 0x, Aave, Compound, etc.) with tokens in your Set e.g. trading, accepting capital, lending, and margin trading. Each module can be added and removed at any time, including after the SetToken has been created.

Contract

Address

BasicIssuanceModule

StreamingFeeModule

NavIssuanceModule

TradeModule

WrapModule

GovernanceModule

DebtIssuanceModule

CompoundLeverageModule

GeneralIndexModule

CustomOracleNavIssuanceModule

AaveLeverageModule

DebtIssuanceModuleV2

ClaimModule

0xf5DE26509C70F95D02BBa09A06960d1cEFbd0C27

AirdropModule

0x0e1fD036506c1129e9F2A05c1a01DDCfa813b0Aa

Adapter Contracts

Adapters interface with external protocols and are used in modules to gather and validate transaction parameters.

Contracts

Module

Address

ZeroExApiAdapterV5

Trade

UniswapV2ExchangeAdapter

Trade, CompoundLeverageModule, AaveLeverageModule

SushiswapExchangeAdapter

Trade, CompoundLeverageModule, AaveLeverageModule

KyberExchangeAdapter

Trade

OneInchExchangeAdapter

Trade

AAVEMigrationWrapAdapter

Wrap

AaveV1WrapAdapter

Wrap

AaveGovernanceAdapter

Governance

CompoundGovernanceAdapter

Governance

UniswapGovernanceAdapter

Governance

CompoundLibrary

Library

AaveGovernanceV2Adapter

Governance

CompoundBravoGovernanceAdapter

Governance

SnapshotGovernanceAdapter

Governance

UniswapTransferFeeExchangeAdapter

Trade

YearnWrapAdapter

Wrap

CompoundWrapAdapter

Wrap

UniswapV2IndexExchangeAdapter

General Index

SushiswapIndexExchangeAdapter

General Index

BalancerV1IndexExchangeAdapter

General Index

UniswapV3ExchangeAdapter

Trade / CompoundLeverageModule, AaveLeverageModule

UniswapV3ExchangeAdapterV2

Trade / CompoundLeverageModule, AaveLeverageModule

KyberV3IndexExchangeAdapter

General Index

UniswapV3IndexExchangeAdapter

General Index

AMMSplitterExchangeAdapter

Trade / CompoundLeverageModule, AaveLeverageModule

AMMSplitterIndexExchangeAdapter

General Index

CompClaimAdapter

Claim

0xE1e13a7E9344d0abE6C9027698972E8C53f63b76

Oracle Adapter Contracts

Oracle adapter contracts return prices for derivative assets such as cTokens, aTokens and Yearn vaults. These perform calculations based on an underlying oracle (Chainlink, Maker etc)

Last updated