0 txs
5.1k calls
constructor
constructor(address _siloLens, address _siloIncentivesController)
functions
assetsUsed
viewfunction assetsUsed(bytes adaptorData) view returns (address[] assets)
baseAsset
purefunction baseAsset(bytes moduleData) pure returns (address)
getBalance
viewfunction getBalance(bytes moduleData) view returns (uint256)
moduleId
purefunction moduleId() pure returns (bytes32)
rewardsToken
viewfunction rewardsToken() view returns (address)
siloIncentivesController
viewfunction siloIncentivesController() view returns (address)
siloLens
viewfunction siloLens() view returns (address)
slippage
purefunction slippage() pure returns (uint32)
claim
nonpayablefunction claim(address silo, address asset, address share)
deposit
nonpayablefunction deposit(address silo, address asset, uint256 amount, address share, bool collateralOnly)
exit
nonpayablefunction exit(address silo, address asset, address share, bool collateralOnly)
redeposit
nonpayablefunction redeposit(address silo, address asset, uint256 amount, address share, bool collateralOnly)
revokeApproval
nonpayablefunction revokeApproval(address asset, address spender)
withdraw
nonpayablefunction withdraw(address silo, address asset, uint256 amount, address share, bool collateralOnly)
events
Claim
event Claim(address indexed vault, address indexed silo, address indexed asset, address rewardToken, uint256 rewards)
Deposit
event Deposit(address indexed vault, address indexed silo, address indexed asset, uint256 assetAmount, uint256 shareAmount)
Exit
event Exit(address indexed vault, address indexed silo, address indexed asset, uint256 assetAmount, address rewardToken, uint256 rewardAmount)
ReDeposit
event ReDeposit(address indexed vault, address indexed silo, address indexed asset, uint256 assetAmount, uint256 shareAmount)
Withdraw
event Withdraw(address indexed vault, address indexed silo, address indexed asset, uint256 assetAmount, uint256 shareAmount)
errors
ForbiddenReceiver
error ForbiddenReceiver()
SiloModule__DepositExists
error SiloModule__DepositExists(address silo, address asset)
SiloModule__DepositNotFound
error SiloModule__DepositNotFound(address silo, address asset)
SiloModule__NotEnoughBalance
error SiloModule__NotEnoughBalance(address silo, address asset, uint256 balance, uint256 amount)
SiloModule__UntrackedLiquidity
error SiloModule__UntrackedLiquidity(address silo, address asset)
Slippage
error Slippage()
UnsupportedAsset
error UnsupportedAsset(address asset)
UserDepositsForbidden
error UserDepositsForbidden()
UserWithdrawalsForbidden
error UserWithdrawalsForbidden()
creation bytecode
0x60c060405234801562000010575f80fd5b506040516200123c3803806200123c8339810160408190526200003391620000ec565b6001600160a01b03808316608052811660a0819052604080516399248ea760e01b815290516399248ea7916004808201926020929091908290030181865afa15801562000082573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a8919062000122565b5f80546001600160a01b0319166001600160a01b039290921691909117905550620001459050565b80516001600160a01b0381168114620000e7575f80fd5b919050565b5f8060408385031215620000fe575f80fd5b6200010983620000d0565b91506200011960208401620000d0565b90509250929050565b5f6020828403121562000133575f80fd5b6200013e82620000d0565b9392505050565b60805160a0516110c06200017c5f395f818161013e015281816109d90152610bcb01525f818161017d015261084201526110c05ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c80638f896c6b11610088578063be6cfd1311610063578063be6cfd13146101fb578063d0fc35011461020e578063d1af0c7d14610221578063d3bfe76a14610233575f80fd5b80638f896c6b146101b2578063a1308f27146101c5578063aeffddde146101db575f80fd5b80635e1c75e1116100c35780635e1c75e11461012657806360f8b01414610139578063712318c41461017857806379f51ecf1461019f575f80fd5b80631f37da8d146100e95780633e032a3b146100fe5780634533455214610113575b5f80fd5b6100fc6100f7366004610c6c565b610246565b005b60405161232881526020015b60405180910390f35b6100fc610121366004610c6c565b610310565b6100fc610134366004610cd0565b6103c3565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010a565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b6101606101ad366004610d2c565b6103df565b6100fc6101c0366004610dd7565b6103ff565b6101cd610488565b60405190815260200161010a565b6101ee6101e9366004610d2c565b6104d8565b60405161010a9190610e30565b6100fc610209366004610c6c565b61057d565b6101cd61021c366004610d2c565b6105f2565b5f54610160906001600160a01b031681565b6100fc610241366004610e7c565b610626565b61025185858461063e565b5f61025d868630610811565b111561029457604051635983564b60e01b81526001600160a01b038087166004830152851660248201526044015b60405180910390fd5b5f806102a330878988876108b5565b91509150856001600160a01b0316876001600160a01b0316306001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5985856040516102ff929190918252602082015260400190565b60405180910390a450505050505050565b61031b85858461063e565b610326858530610811565b5f0361035857604051639b327d1d60e01b81526001600160a01b0380871660048301528516602482015260440161028b565b5f8061036730878988876108b5565b91509150856001600160a01b0316876001600160a01b0316306001600160a01b03167f97e322aa5f0ada1723ab257c065fd92c7cba0e82afcf4fd00ac70a30a93fc4f585856040516102ff929190918252602082015260400190565b6103ce83838361063e565b6103d9838383610958565b50505050565b5f80828060200190518101906103f59190610eb3565b5090949350505050565b61040a84848461063e565b5f61041885855f1985610aae565b5090505f610427868686610958565b5f54604080518581526001600160a01b039283166020820152908101839052919250868116919088169030907f88cf49f8a6d236fe0238773f18c4f8c8fe826dce3731cca2c1160046e45bcf219060600160405180910390a4505050505050565b5f6040516020016104bd9060208082526010908201526f0a6d2d8de9adec8ead8ca40ac40625c760831b604082015260600190565b60405160208183030381529060405280519060200120905090565b60605f828060200190518101906104ef9190610eb3565b5050604080516002808252606082018352929350919060208301908036833701905050915080825f8151811061052757610527610ef2565b6001600160a01b0392831660209182029290920101525f5483519116908390600190811061055757610557610ef2565b60200260200101906001600160a01b031690816001600160a01b03168152505050919050565b61058885858461063e565b5f8061059687878786610aae565b91509150856001600160a01b0316876001600160a01b0316306001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db85856040516102ff929190918252602082015260400190565b5f805f808480602001905181019061060a9190610eb3565b9250925092505f61061c828533610811565b9695505050505050565b61063a6001600160a01b038316825f610b36565b5050565b5f610647610488565b604080516001600160a01b03808716602083015280861692820192909252908616606082015260800160408051601f198184030181529082905261068e9291602001610f06565b6040516020818303038152906040528051906020012090505f306001600160a01b031663d8663ab16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107079190610f5a565b60405163b2a49aaf60e01b8152600481018490529091505f906001600160a01b0383169063b2a49aaf90602401602060405180830381865afa15801561074f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107739190610f75565b604051631126acf760e21b815263ffffffff82166004820152909150309063449ab3dc90602401602060405180830381865afa1580156107b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d99190610f98565b610809576040516318dd7c5d60e31b81526001600160a01b0380881660048301528616602482015260440161028b565b505050505050565b604051632c00fb0560e21b81526001600160a01b038481166004830152838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063b003ec1490606401602060405180830381865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad9190610fb3565b949350505050565b5f806108cb6001600160a01b0387168686610b36565b60405163fbf178db60e01b81526001600160a01b038781166004830152888116602483015260448201869052841515606483015286169063fbf178db9060840160408051808303815f875af1158015610926573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094a9190610fca565b909890975095505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061098f5761098f610ef2565b60200260200101906001600160a01b031690816001600160a01b0316815250505f6109ba8230610bb2565b90508015610aa557604051633111e7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633111e7b390610a129085908590309060040161102f565b6020604051808303815f875af1158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190610fb3565b5f54604080516001600160a01b03928316815260208101849052929550878216929189169130917f7276c0285f260d667df9ded71ca6a988145d36de1d14252710532b9de5f089fe910160405180910390a45b50509392505050565b60405163ead5d35960e01b81526001600160a01b0384811660048301526024820184905282151560448301525f91829187169063ead5d3599060640160408051808303815f875af1158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190610fca565b9097909650945050505050565b5f60405163095ea7b360e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806103d95760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b604482015260640161028b565b6040516345accf9360e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638b599f2690610c029086908690600401611061565b602060405180830381865afa158015610c1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c419190610fb3565b9392505050565b6001600160a01b0381168114610c5c575f80fd5b50565b8015158114610c5c575f80fd5b5f805f805f60a08688031215610c80575f80fd5b8535610c8b81610c48565b94506020860135610c9b81610c48565b9350604086013592506060860135610cb281610c48565b91506080860135610cc281610c5f565b809150509295509295909350565b5f805f60608486031215610ce2575f80fd5b8335610ced81610c48565b92506020840135610cfd81610c48565b91506040840135610d0d81610c48565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610d3c575f80fd5b813567ffffffffffffffff80821115610d53575f80fd5b818401915084601f830112610d66575f80fd5b813581811115610d7857610d78610d18565b604051601f8201601f19908116603f01168101908382118183101715610da057610da0610d18565b81604052828152876020848701011115610db8575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f805f8060808587031215610dea575f80fd5b8435610df581610c48565b93506020850135610e0581610c48565b92506040850135610e1581610c48565b91506060850135610e2581610c5f565b939692955090935050565b602080825282518282018190525f9190848201906040850190845b81811015610e705783516001600160a01b031683529284019291840191600101610e4b565b50909695505050505050565b5f8060408385031215610e8d575f80fd5b8235610e9881610c48565b91506020830135610ea881610c48565b809150509250929050565b5f805f60608486031215610ec5575f80fd5b8351610ed081610c48565b6020850151909350610ee181610c48565b6040850151909250610d0d81610c48565b634e487b7160e01b5f52603260045260245ffd5b8281525f60206040602084015283518060408501525f5b81811015610f3957858101830151858201606001528201610f1d565b505f606082860101526060601f19601f830116850101925050509392505050565b5f60208284031215610f6a575f80fd5b8151610c4181610c48565b5f60208284031215610f85575f80fd5b815163ffffffff81168114610c41575f80fd5b5f60208284031215610fa8575f80fd5b8151610c4181610c5f565b5f60208284031215610fc3575f80fd5b5051919050565b5f8060408385031215610fdb575f80fd5b505080516020909101519092909150565b5f815180845260208085019450602084015f5b838110156110245781516001600160a01b031687529582019590820190600101610fff565b509495945050505050565b606081525f6110416060830186610fec565b6020830194909452506001600160a01b0391909116604090910152919050565b604081525f6110736040830185610fec565b905060018060a01b0383166020830152939250505056fea2646970667358221220ba0c9f6f2a988f6abb990370eb631736093e61169ddf07ebae2276196a32752364736f6c63430008180033000000000000000000000000bdb843c7a7e48dc543424474d7aa63b61b5d9536000000000000000000000000bdbbf747402653a5ad6f6b8c49f2e8dcec37facf