Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SiloDeleveragerV4
Compiler Version
v0.8.31+commit.fd3a2265
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
// Aave V3 Flashloan interface
interface IPool {
function flashLoanSimple(
address receiverAddress,
address asset,
uint256 amount,
bytes calldata params,
uint16 referralCode
) external;
}
interface IFlashLoanSimpleReceiver {
function executeOperation(
address asset,
uint256 amount,
uint256 premium,
address initiator,
bytes calldata params
) external returns (bool);
}
// Silo V2 interface (ERC4626 based)
interface ISiloV2 {
enum CollateralType { Protected, Collateral }
function maxRepayShares(address borrower) external view returns (uint256);
function previewRepayShares(uint256 shares) external view returns (uint256 assets);
function repayShares(uint256 shares, address borrower) external returns (uint256 assets);
function redeem(uint256 shares, address receiver, address owner, CollateralType collateralType) external returns (uint256 assets);
function previewRedeem(uint256 shares, CollateralType collateralType) external view returns (uint256 assets);
function maxRedeem(address owner, CollateralType collateralType) external view returns (uint256 maxShares);
}
interface IERC20 {
function approve(address spender, uint256 amount) external returns (bool);
function transfer(address to, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
/**
* @title SiloDeleveragerV4
* @notice Unwind a looped Silo V2 position using Aave V3 flashloan
* @dev Flow: Flashloan USDC → Repay Silo → Withdraw Protected PT → Swap PT→USDC via Pendle → Repay flashloan
*/
contract SiloDeleveragerV4 is IFlashLoanSimpleReceiver {
// ============ ARBITRUM ADDRESSES ============
// Aave V3 Pool on Arbitrum
address public constant AAVE_POOL = 0x794a61358D6845594F94dc1DB02A252b5b4814aD;
address public constant USDC = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831;
// Correct PT address from Pendle market
address public constant PT_SUSDAI = 0x1BF1311FCF914A69Dd5805C9B06b72F80539cB3f;
// Silo V2 contracts for PT-sUSDai market
address public constant SILO_PT_SUSDAI = 0x0449d2b62CA64411A3bf0364787F599071660e92;
address public constant SILO_USDC = 0x84ED0f5586BA014a1e7300cd8bf5eB905D9f1b26;
// Protected collateral share token (nbPT-sUSDai)
address public constant PROTECTED_SHARE_TOKEN = 0xa09aaf9Ab1E6008554E158F7F1B843F6d7f7110d;
// Pendle Router V4
address public constant PENDLE_ROUTER = 0x888888888889758F76e7103c6CbF23ABbF58F946;
address public immutable owner;
// ============ ERRORS ============
error NotOwner();
error NotAavePool();
error NotInitiator();
error SwapFailed();
error NotEnoughOutput();
// ============ EVENTS ============
event Deleveraged(uint256 debtRepaid, uint256 collateralWithdrawn, uint256 usdcReceived);
// ============ CONSTRUCTOR ============
constructor() {
owner = msg.sender;
}
// ============ MODIFIERS ============
modifier onlyOwner() {
if (msg.sender != owner) revert NotOwner();
_;
}
// ============ MAIN FUNCTION ============
/**
* @notice Unwind the entire Silo position
* @param flashloanAmount Amount of USDC to flashloan (should cover debt + buffer)
* @param swapCalldata Calldata for Pendle Router swap (PT-sUSDai → USDC)
* @param minUsdcOutput Minimum USDC to receive from swap (slippage protection)
*/
function deleverage(
uint256 flashloanAmount,
bytes calldata swapCalldata,
uint256 minUsdcOutput
) external onlyOwner {
bytes memory params = abi.encode(swapCalldata, minUsdcOutput);
IPool(AAVE_POOL).flashLoanSimple(
address(this),
USDC,
flashloanAmount,
params,
0 // referral code
);
}
/**
* @notice Aave V3 flashloan callback
*/
function executeOperation(
address asset,
uint256 amount,
uint256 premium,
address initiator,
bytes calldata params
) external override returns (bool) {
if (msg.sender != AAVE_POOL) revert NotAavePool();
if (initiator != address(this)) revert NotInitiator();
(bytes memory swapCalldata, uint256 minUsdcOutput) = abi.decode(params, (bytes, uint256));
uint256 totalRepay = amount + premium; // Aave fee is ~0.05%
// Step 1: Get debt shares to repay
uint256 debtShares = ISiloV2(SILO_USDC).maxRepayShares(owner);
uint256 debtAssets = ISiloV2(SILO_USDC).previewRepayShares(debtShares);
// Step 2: Approve USDC to Silo debt contract
IERC20(USDC).approve(SILO_USDC, debtAssets);
// Step 3: Repay all debt on Silo
ISiloV2(SILO_USDC).repayShares(debtShares, owner);
// Step 4: Get PROTECTED collateral shares and withdraw all PT-sUSDai
uint256 protectedShares = IERC20(PROTECTED_SHARE_TOKEN).balanceOf(owner);
uint256 ptWithdrawn = ISiloV2(SILO_PT_SUSDAI).redeem(
protectedShares,
address(this),
owner,
ISiloV2.CollateralType.Protected
);
// Step 5: Swap PT-sUSDai → USDC via Pendle
IERC20(PT_SUSDAI).approve(PENDLE_ROUTER, ptWithdrawn);
(bool success,) = PENDLE_ROUTER.call(swapCalldata);
if (!success) revert SwapFailed();
// Step 6: Check we have enough USDC
uint256 usdcBalance = IERC20(USDC).balanceOf(address(this));
if (usdcBalance < minUsdcOutput) revert NotEnoughOutput();
// Step 7: Approve Aave to pull repayment
IERC20(USDC).approve(AAVE_POOL, totalRepay);
// Step 8: Send remaining USDC to owner (after Aave pulls repayment)
uint256 remaining = usdcBalance - totalRepay;
if (remaining > 0) {
IERC20(USDC).transfer(owner, remaining);
}
// Send any remaining PT
uint256 remainingPT = IERC20(PT_SUSDAI).balanceOf(address(this));
if (remainingPT > 0) {
IERC20(PT_SUSDAI).transfer(owner, remainingPT);
}
emit Deleveraged(debtAssets, ptWithdrawn, remaining);
return true; // Tell Aave the operation was successful
}
// ============ VIEW FUNCTIONS ============
function getDebtShares() external view returns (uint256) {
return ISiloV2(SILO_USDC).maxRepayShares(owner);
}
function getDebtAssets() external view returns (uint256) {
uint256 shares = ISiloV2(SILO_USDC).maxRepayShares(owner);
return ISiloV2(SILO_USDC).previewRepayShares(shares);
}
function getCollateralShares() external view returns (uint256) {
return IERC20(PROTECTED_SHARE_TOKEN).balanceOf(owner);
}
function getCollateralAssets() external view returns (uint256) {
return ISiloV2(SILO_PT_SUSDAI).maxRedeem(owner, ISiloV2.CollateralType.Protected);
}
// ============ EMERGENCY ============
function rescue(address token) external onlyOwner {
uint256 balance = IERC20(token).balanceOf(address(this));
if (balance > 0) {
IERC20(token).transfer(owner, balance);
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotAavePool","type":"error"},{"inputs":[],"name":"NotEnoughOutput","type":"error"},{"inputs":[],"name":"NotInitiator","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"SwapFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"debtRepaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralWithdrawn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"usdcReceived","type":"uint256"}],"name":"Deleveraged","type":"event"},{"inputs":[],"name":"AAVE_POOL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PENDLE_ROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROTECTED_SHARE_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PT_SUSDAI","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SILO_PT_SUSDAI","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SILO_USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"flashloanAmount","type":"uint256"},{"internalType":"bytes","name":"swapCalldata","type":"bytes"},{"internalType":"uint256","name":"minUsdcOutput","type":"uint256"}],"name":"deleverage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"premium","type":"uint256"},{"internalType":"address","name":"initiator","type":"address"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"executeOperation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCollateralAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCollateralShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDebtAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDebtShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"rescue","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a060405234801561000f575f5ffd5b503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050608051611cb76100b75f395f8181610415015281816105f7015281816106a70152818161075801528181610ae601528181610c2e01528181610d6301528181610e8701528181610f0c0152818161106d015281816110da0152818161118e0152818161124001526112f30152611cb75ff3fe608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c8063889d16a511610095578063a1ff9bee11610064578063a1ff9bee1461024f578063a7930f0d1461026d578063eb940a311461028b578063ecd658b4146102a9576100f3565b8063889d16a5146101d957806389a30271146101f55780638da5cb5b1461021357806392c159b614610231576100f3565b80633c97b00d116100d15780633c97b00d1461016357806347e65c7114610181578063759253421461019f578063839006f2146101bd576100f3565b806308a01675146100f75780631b11d0ff146101155780631b8aafe014610145575b5f5ffd5b6100ff6102c7565b60405161010c9190611440565b60405180910390f35b61012f600480360381019061012a9190611528565b6102df565b60405161013c91906115d8565b60405180910390f35b61014d610d01565b60405161015a9190611440565b60405180910390f35b61016b610d19565b6040516101789190611440565b60405180910390f35b610189610d31565b6040516101969190611440565b60405180910390f35b6101a7610d49565b6040516101b49190611440565b60405180910390f35b6101d760048036038101906101d291906115f1565b610d61565b005b6101f360048036038101906101ee919061161c565b610f0a565b005b6101fd611053565b60405161020a9190611440565b60405180910390f35b61021b61106b565b6040516102289190611440565b60405180910390f35b61023961108f565b6040516102469190611440565b60405180910390f35b6102576110a7565b604051610264919061169c565b60405180910390f35b61027561115b565b604051610282919061169c565b60405180910390f35b61029361120d565b6040516102a0919061169c565b60405180910390f35b6102b16112bf565b6040516102be919061169c565b60405180910390f35b73794a61358d6845594f94dc1db02a252b5b4814ad81565b5f73794a61358d6845594f94dc1db02a252b5b4814ad73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610359576040517fb27a27bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146103be576040517f42b5e35a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f84848101906103cf91906117ed565b915091505f87896103e09190611874565b90505f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016104509190611440565b602060405180830381865afa15801561046b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048f91906118bb565b90505f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e72bec57836040518263ffffffff1660e01b81526004016104df919061169c565b602060405180830381865afa1580156104fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e91906118bb565b905073af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663095ea7b37384ed0f5586ba014a1e7300cd8bf5eb905d9f1b26836040518363ffffffff1660e01b81526004016105839291906118e6565b6020604051808303815f875af115801561059f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c39190611937565b507384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e36754eb837f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401610633929190611962565b6020604051808303815f875af115801561064f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067391906118bb565b505f73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d73ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106e29190611440565b602060405180830381865afa1580156106fd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072191906118bb565b90505f730449d2b62ca64411a3bf0364787f599071660e9273ffffffffffffffffffffffffffffffffffffffff1663da53766083307f00000000000000000000000000000000000000000000000000000000000000005f6040518563ffffffff1660e01b815260040161079794939291906119fc565b6020604051808303815f875af11580156107b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d791906118bb565b9050731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff1663095ea7b373888888888889758f76e7103c6cbf23abbf58f946836040518363ffffffff1660e01b815260040161083c9291906118e6565b6020604051808303815f875af1158015610858573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087c9190611937565b505f73888888888889758f76e7103c6cbf23abbf58f94673ffffffffffffffffffffffffffffffffffffffff16886040516108b79190611a91565b5f604051808303815f865af19150503d805f81146108f0576040519150601f19603f3d011682016040523d82523d5f602084013e6108f5565b606091505b5050905080610930576040517f81ceff3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161097e9190611440565b602060405180830381865afa158015610999573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bd91906118bb565b9050878110156109f9576040517f5397a1f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663095ea7b373794a61358d6845594f94dc1db02a252b5b4814ad896040518363ffffffff1660e01b8152600401610a5c9291906118e6565b6020604051808303815f875af1158015610a78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9c9190611937565b505f8782610aaa9190611aa7565b90505f811115610b655773af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610b239291906118e6565b6020604051808303815f875af1158015610b3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b639190611937565b505b5f731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bb39190611440565b602060405180830381865afa158015610bce573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906118bb565b90505f811115610cad57731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610c6b9291906118e6565b6020604051808303815f875af1158015610c87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cab9190611937565b505b7fa78ce6b373c19161d376fc3d70572a2f15f4eb5cd26191684b07971715e97419878684604051610ce093929190611ada565b60405180910390a160019b5050505050505050505050509695505050505050565b731bf1311fcf914a69dd5805c9b06b72f80539cb3f81565b73888888888889758f76e7103c6cbf23abbf58f94681565b7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2681565b73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de6576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e209190611440565b602060405180830381865afa158015610e3b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906118bb565b90505f811115610f06578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610ec49291906118e6565b6020604051808303815f875af1158015610ee0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f049190611937565b505b5050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838383604051602001610fa593929190611b4b565b604051602081830303815290604052905073794a61358d6845594f94dc1db02a252b5b4814ad73ffffffffffffffffffffffffffffffffffffffff166342b0b77c3073af88d065e77c8cc2239327c5edb3a432268e583188855f6040518663ffffffff1660e01b815260040161101f959493929190611c02565b5f604051808303815f87803b158015611036575f5ffd5b505af1158015611048573d5f5f3e3d5ffd5b505050505050505050565b73af88d065e77c8cc2239327c5edb3a432268e583181565b7f000000000000000000000000000000000000000000000000000000000000000081565b730449d2b62ca64411a3bf0364787f599071660e9281565b5f730449d2b62ca64411a3bf0364787f599071660e9273ffffffffffffffffffffffffffffffffffffffff1663071bf3ff7f00000000000000000000000000000000000000000000000000000000000000005f6040518363ffffffff1660e01b8152600401611117929190611c5a565b602060405180830381865afa158015611132573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115691906118bb565b905090565b5f73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d73ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016111c99190611440565b602060405180830381865afa1580156111e4573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120891906118bb565b905090565b5f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161127b9190611440565b602060405180830381865afa158015611296573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ba91906118bb565b905090565b5f5f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161132e9190611440565b602060405180830381865afa158015611349573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136d91906118bb565b90507384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e72bec57826040518263ffffffff1660e01b81526004016113bc919061169c565b602060405180830381865afa1580156113d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fb91906118bb565b91505090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61142a82611401565b9050919050565b61143a81611420565b82525050565b5f6020820190506114535f830184611431565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b61147381611420565b811461147d575f5ffd5b50565b5f8135905061148e8161146a565b92915050565b5f819050919050565b6114a681611494565b81146114b0575f5ffd5b50565b5f813590506114c18161149d565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126114e8576114e76114c7565b5b8235905067ffffffffffffffff811115611505576115046114cb565b5b602083019150836001820283011115611521576115206114cf565b5b9250929050565b5f5f5f5f5f5f60a0878903121561154257611541611462565b5b5f61154f89828a01611480565b965050602061156089828a016114b3565b955050604061157189828a016114b3565b945050606061158289828a01611480565b935050608087013567ffffffffffffffff8111156115a3576115a2611466565b5b6115af89828a016114d3565b92509250509295509295509295565b5f8115159050919050565b6115d2816115be565b82525050565b5f6020820190506115eb5f8301846115c9565b92915050565b5f6020828403121561160657611605611462565b5b5f61161384828501611480565b91505092915050565b5f5f5f5f6060858703121561163457611633611462565b5b5f611641878288016114b3565b945050602085013567ffffffffffffffff81111561166257611661611466565b5b61166e878288016114d3565b93509350506040611681878288016114b3565b91505092959194509250565b61169681611494565b82525050565b5f6020820190506116af5f83018461168d565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6116ff826116b9565b810181811067ffffffffffffffff8211171561171e5761171d6116c9565b5b80604052505050565b5f611730611459565b905061173c82826116f6565b919050565b5f67ffffffffffffffff82111561175b5761175a6116c9565b5b611764826116b9565b9050602081019050919050565b828183375f83830152505050565b5f61179161178c84611741565b611727565b9050828152602081018484840111156117ad576117ac6116b5565b5b6117b8848285611771565b509392505050565b5f82601f8301126117d4576117d36114c7565b5b81356117e484826020860161177f565b91505092915050565b5f5f6040838503121561180357611802611462565b5b5f83013567ffffffffffffffff8111156118205761181f611466565b5b61182c858286016117c0565b925050602061183d858286016114b3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61187e82611494565b915061188983611494565b92508282019050808211156118a1576118a0611847565b5b92915050565b5f815190506118b58161149d565b92915050565b5f602082840312156118d0576118cf611462565b5b5f6118dd848285016118a7565b91505092915050565b5f6040820190506118f95f830185611431565b611906602083018461168d565b9392505050565b611916816115be565b8114611920575f5ffd5b50565b5f815190506119318161190d565b92915050565b5f6020828403121561194c5761194b611462565b5b5f61195984828501611923565b91505092915050565b5f6040820190506119755f83018561168d565b6119826020830184611431565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600281106119c7576119c6611989565b5b50565b5f8190506119d7826119b6565b919050565b5f6119e6826119ca565b9050919050565b6119f6816119dc565b82525050565b5f608082019050611a0f5f83018761168d565b611a1c6020830186611431565b611a296040830185611431565b611a3660608301846119ed565b95945050505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f611a6b82611a3f565b611a758185611a49565b9350611a85818560208601611a53565b80840191505092915050565b5f611a9c8284611a61565b915081905092915050565b5f611ab182611494565b9150611abc83611494565b9250828203905081811115611ad457611ad3611847565b5b92915050565b5f606082019050611aed5f83018661168d565b611afa602083018561168d565b611b07604083018461168d565b949350505050565b5f82825260208201905092915050565b5f611b2a8385611b0f565b9350611b37838584611771565b611b40836116b9565b840190509392505050565b5f6040820190508181035f830152611b64818587611b1f565b9050611b73602083018461168d565b949350505050565b5f611b8582611a3f565b611b8f8185611b0f565b9350611b9f818560208601611a53565b611ba8816116b9565b840191505092915050565b5f819050919050565b5f61ffff82169050919050565b5f819050919050565b5f611bec611be7611be284611bb3565b611bc9565b611bbc565b9050919050565b611bfc81611bd2565b82525050565b5f60a082019050611c155f830188611431565b611c226020830187611431565b611c2f604083018661168d565b8181036060830152611c418185611b7b565b9050611c506080830184611bf3565b9695505050505050565b5f604082019050611c6d5f830185611431565b611c7a60208301846119ed565b939250505056fea264697066735822122064e50c1ebeffd40da6553f32cf406a9f35e6a35f55b28b0c755f2dd46496d8ae64736f6c634300081f0033
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c8063889d16a511610095578063a1ff9bee11610064578063a1ff9bee1461024f578063a7930f0d1461026d578063eb940a311461028b578063ecd658b4146102a9576100f3565b8063889d16a5146101d957806389a30271146101f55780638da5cb5b1461021357806392c159b614610231576100f3565b80633c97b00d116100d15780633c97b00d1461016357806347e65c7114610181578063759253421461019f578063839006f2146101bd576100f3565b806308a01675146100f75780631b11d0ff146101155780631b8aafe014610145575b5f5ffd5b6100ff6102c7565b60405161010c9190611440565b60405180910390f35b61012f600480360381019061012a9190611528565b6102df565b60405161013c91906115d8565b60405180910390f35b61014d610d01565b60405161015a9190611440565b60405180910390f35b61016b610d19565b6040516101789190611440565b60405180910390f35b610189610d31565b6040516101969190611440565b60405180910390f35b6101a7610d49565b6040516101b49190611440565b60405180910390f35b6101d760048036038101906101d291906115f1565b610d61565b005b6101f360048036038101906101ee919061161c565b610f0a565b005b6101fd611053565b60405161020a9190611440565b60405180910390f35b61021b61106b565b6040516102289190611440565b60405180910390f35b61023961108f565b6040516102469190611440565b60405180910390f35b6102576110a7565b604051610264919061169c565b60405180910390f35b61027561115b565b604051610282919061169c565b60405180910390f35b61029361120d565b6040516102a0919061169c565b60405180910390f35b6102b16112bf565b6040516102be919061169c565b60405180910390f35b73794a61358d6845594f94dc1db02a252b5b4814ad81565b5f73794a61358d6845594f94dc1db02a252b5b4814ad73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610359576040517fb27a27bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146103be576040517f42b5e35a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f84848101906103cf91906117ed565b915091505f87896103e09190611874565b90505f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518263ffffffff1660e01b81526004016104509190611440565b602060405180830381865afa15801561046b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048f91906118bb565b90505f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e72bec57836040518263ffffffff1660e01b81526004016104df919061169c565b602060405180830381865afa1580156104fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e91906118bb565b905073af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663095ea7b37384ed0f5586ba014a1e7300cd8bf5eb905d9f1b26836040518363ffffffff1660e01b81526004016105839291906118e6565b6020604051808303815f875af115801561059f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c39190611937565b507384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e36754eb837f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518363ffffffff1660e01b8152600401610633929190611962565b6020604051808303815f875af115801561064f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067391906118bb565b505f73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d73ffffffffffffffffffffffffffffffffffffffff166370a082317f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518263ffffffff1660e01b81526004016106e29190611440565b602060405180830381865afa1580156106fd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072191906118bb565b90505f730449d2b62ca64411a3bf0364787f599071660e9273ffffffffffffffffffffffffffffffffffffffff1663da53766083307f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d65f6040518563ffffffff1660e01b815260040161079794939291906119fc565b6020604051808303815f875af11580156107b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d791906118bb565b9050731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff1663095ea7b373888888888889758f76e7103c6cbf23abbf58f946836040518363ffffffff1660e01b815260040161083c9291906118e6565b6020604051808303815f875af1158015610858573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087c9190611937565b505f73888888888889758f76e7103c6cbf23abbf58f94673ffffffffffffffffffffffffffffffffffffffff16886040516108b79190611a91565b5f604051808303815f865af19150503d805f81146108f0576040519150601f19603f3d011682016040523d82523d5f602084013e6108f5565b606091505b5050905080610930576040517f81ceff3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161097e9190611440565b602060405180830381865afa158015610999573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bd91906118bb565b9050878110156109f9576040517f5397a1f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663095ea7b373794a61358d6845594f94dc1db02a252b5b4814ad896040518363ffffffff1660e01b8152600401610a5c9291906118e6565b6020604051808303815f875af1158015610a78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9c9190611937565b505f8782610aaa9190611aa7565b90505f811115610b655773af88d065e77c8cc2239327c5edb3a432268e583173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d6836040518363ffffffff1660e01b8152600401610b239291906118e6565b6020604051808303815f875af1158015610b3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b639190611937565b505b5f731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bb39190611440565b602060405180830381865afa158015610bce573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906118bb565b90505f811115610cad57731bf1311fcf914a69dd5805c9b06b72f80539cb3f73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d6836040518363ffffffff1660e01b8152600401610c6b9291906118e6565b6020604051808303815f875af1158015610c87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cab9190611937565b505b7fa78ce6b373c19161d376fc3d70572a2f15f4eb5cd26191684b07971715e97419878684604051610ce093929190611ada565b60405180910390a160019b5050505050505050505050509695505050505050565b731bf1311fcf914a69dd5805c9b06b72f80539cb3f81565b73888888888889758f76e7103c6cbf23abbf58f94681565b7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2681565b73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d81565b7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de6576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e209190611440565b602060405180830381865afa158015610e3b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906118bb565b90505f811115610f06578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d6836040518363ffffffff1660e01b8152600401610ec49291906118e6565b6020604051808303815f875af1158015610ee0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f049190611937565b505b5050565b7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838383604051602001610fa593929190611b4b565b604051602081830303815290604052905073794a61358d6845594f94dc1db02a252b5b4814ad73ffffffffffffffffffffffffffffffffffffffff166342b0b77c3073af88d065e77c8cc2239327c5edb3a432268e583188855f6040518663ffffffff1660e01b815260040161101f959493929190611c02565b5f604051808303815f87803b158015611036575f5ffd5b505af1158015611048573d5f5f3e3d5ffd5b505050505050505050565b73af88d065e77c8cc2239327c5edb3a432268e583181565b7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d681565b730449d2b62ca64411a3bf0364787f599071660e9281565b5f730449d2b62ca64411a3bf0364787f599071660e9273ffffffffffffffffffffffffffffffffffffffff1663071bf3ff7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d65f6040518363ffffffff1660e01b8152600401611117929190611c5a565b602060405180830381865afa158015611132573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115691906118bb565b905090565b5f73a09aaf9ab1e6008554e158f7f1b843f6d7f7110d73ffffffffffffffffffffffffffffffffffffffff166370a082317f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518263ffffffff1660e01b81526004016111c99190611440565b602060405180830381865afa1580156111e4573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120891906118bb565b905090565b5f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518263ffffffff1660e01b815260040161127b9190611440565b602060405180830381865afa158015611296573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ba91906118bb565b905090565b5f5f7384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff166329d6509a7f000000000000000000000000c5315628e03ce0d6736867698543fe0d30f871d66040518263ffffffff1660e01b815260040161132e9190611440565b602060405180830381865afa158015611349573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136d91906118bb565b90507384ed0f5586ba014a1e7300cd8bf5eb905d9f1b2673ffffffffffffffffffffffffffffffffffffffff1663e72bec57826040518263ffffffff1660e01b81526004016113bc919061169c565b602060405180830381865afa1580156113d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fb91906118bb565b91505090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61142a82611401565b9050919050565b61143a81611420565b82525050565b5f6020820190506114535f830184611431565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b61147381611420565b811461147d575f5ffd5b50565b5f8135905061148e8161146a565b92915050565b5f819050919050565b6114a681611494565b81146114b0575f5ffd5b50565b5f813590506114c18161149d565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126114e8576114e76114c7565b5b8235905067ffffffffffffffff811115611505576115046114cb565b5b602083019150836001820283011115611521576115206114cf565b5b9250929050565b5f5f5f5f5f5f60a0878903121561154257611541611462565b5b5f61154f89828a01611480565b965050602061156089828a016114b3565b955050604061157189828a016114b3565b945050606061158289828a01611480565b935050608087013567ffffffffffffffff8111156115a3576115a2611466565b5b6115af89828a016114d3565b92509250509295509295509295565b5f8115159050919050565b6115d2816115be565b82525050565b5f6020820190506115eb5f8301846115c9565b92915050565b5f6020828403121561160657611605611462565b5b5f61161384828501611480565b91505092915050565b5f5f5f5f6060858703121561163457611633611462565b5b5f611641878288016114b3565b945050602085013567ffffffffffffffff81111561166257611661611466565b5b61166e878288016114d3565b93509350506040611681878288016114b3565b91505092959194509250565b61169681611494565b82525050565b5f6020820190506116af5f83018461168d565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6116ff826116b9565b810181811067ffffffffffffffff8211171561171e5761171d6116c9565b5b80604052505050565b5f611730611459565b905061173c82826116f6565b919050565b5f67ffffffffffffffff82111561175b5761175a6116c9565b5b611764826116b9565b9050602081019050919050565b828183375f83830152505050565b5f61179161178c84611741565b611727565b9050828152602081018484840111156117ad576117ac6116b5565b5b6117b8848285611771565b509392505050565b5f82601f8301126117d4576117d36114c7565b5b81356117e484826020860161177f565b91505092915050565b5f5f6040838503121561180357611802611462565b5b5f83013567ffffffffffffffff8111156118205761181f611466565b5b61182c858286016117c0565b925050602061183d858286016114b3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61187e82611494565b915061188983611494565b92508282019050808211156118a1576118a0611847565b5b92915050565b5f815190506118b58161149d565b92915050565b5f602082840312156118d0576118cf611462565b5b5f6118dd848285016118a7565b91505092915050565b5f6040820190506118f95f830185611431565b611906602083018461168d565b9392505050565b611916816115be565b8114611920575f5ffd5b50565b5f815190506119318161190d565b92915050565b5f6020828403121561194c5761194b611462565b5b5f61195984828501611923565b91505092915050565b5f6040820190506119755f83018561168d565b6119826020830184611431565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600281106119c7576119c6611989565b5b50565b5f8190506119d7826119b6565b919050565b5f6119e6826119ca565b9050919050565b6119f6816119dc565b82525050565b5f608082019050611a0f5f83018761168d565b611a1c6020830186611431565b611a296040830185611431565b611a3660608301846119ed565b95945050505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f611a6b82611a3f565b611a758185611a49565b9350611a85818560208601611a53565b80840191505092915050565b5f611a9c8284611a61565b915081905092915050565b5f611ab182611494565b9150611abc83611494565b9250828203905081811115611ad457611ad3611847565b5b92915050565b5f606082019050611aed5f83018661168d565b611afa602083018561168d565b611b07604083018461168d565b949350505050565b5f82825260208201905092915050565b5f611b2a8385611b0f565b9350611b37838584611771565b611b40836116b9565b840190509392505050565b5f6040820190508181035f830152611b64818587611b1f565b9050611b73602083018461168d565b949350505050565b5f611b8582611a3f565b611b8f8185611b0f565b9350611b9f818560208601611a53565b611ba8816116b9565b840191505092915050565b5f819050919050565b5f61ffff82169050919050565b5f819050919050565b5f611bec611be7611be284611bb3565b611bc9565b611bbc565b9050919050565b611bfc81611bd2565b82525050565b5f60a082019050611c155f830188611431565b611c226020830187611431565b611c2f604083018661168d565b8181036060830152611c418185611b7b565b9050611c506080830184611bf3565b9695505050505050565b5f604082019050611c6d5f830185611431565b611c7a60208301846119ed565b939250505056fea264697066735822122064e50c1ebeffd40da6553f32cf406a9f35e6a35f55b28b0c755f2dd46496d8ae64736f6c634300081f0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.