More Info
Private Name Tags
ContractCreator
TokenTracker
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Wrapper
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 100000 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity 0.8.28;import { ERC4626, ERC20 } from "solady/tokens/ERC4626.sol";import { SafeTransferLib } from "solady/utils/SafeTransferLib.sol";import { ReentrancyGuard } from "solady/utils/ReentrancyGuard.sol";import { AOperator } from "./abstracts/AOperator.sol";import { Ownable } from "solady/auth/Ownable.sol";import { UtilsLib } from "morpho/libraries/UtilsLib.sol";import { Errors } from "./utils/Errors.sol";import { ITeller } from "./interfaces/ITeller.sol";/// @title Wrapper contract/// @notice Contract to wrap a boring vault and auto compound the profits/// @author 0xtekgrindercontract Wrapper is ERC4626, Ownable, ReentrancyGuard, AOperator {using SafeTransferLib for address;using UtilsLib for uint256;/*//////////////////////////////////////////////////////////////EVENTS//////////////////////////////////////////////////////////////*//*** @notice Event emitted when the vesting period is updated*/
12345678910111213141516171819202122232425// SPDX-License-Identifier: MITpragma solidity ^0.8.4;import {ERC20} from "./ERC20.sol";import {FixedPointMathLib} from "../utils/FixedPointMathLib.sol";import {SafeTransferLib} from "../utils/SafeTransferLib.sol";/// @notice Simple ERC4626 tokenized Vault implementation./// @author Solady (https://github.com/vectorized/solady/blob/main/src/tokens/ERC4626.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/mixins/ERC4626.sol)/// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC4626.sol)abstract contract ERC4626 is ERC20 {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CONSTANTS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The default underlying decimals.uint8 internal constant _DEFAULT_UNDERLYING_DECIMALS = 18;/// @dev The default decimals offset.uint8 internal constant _DEFAULT_DECIMALS_OFFSET = 0;/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/SafeTransferLib.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)/// @author Permit2 operations from (https://github.com/Uniswap/permit2/blob/main/src/libraries/Permit2Lib.sol)////// @dev Note:/// - For ETH transfers, please use `forceSafeTransferETH` for DoS protection.library SafeTransferLib {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The ETH transfer has failed.error ETHTransferFailed();/// @dev The ERC20 `transferFrom` has failed.error TransferFromFailed();/// @dev The ERC20 `transfer` has failed.error TransferFailed();/// @dev The ERC20 `approve` has failed.error ApproveFailed();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Reentrancy guard mixin./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/ReentrancyGuard.sol)abstract contract ReentrancyGuard {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev Unauthorized reentrant call.error Reentrancy();/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* STORAGE *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev Equivalent to: `uint72(bytes9(keccak256("_REENTRANCY_GUARD_SLOT")))`./// 9 bytes is large enough to avoid collisions with lower slots,/// but not too large to result in excessive bytecode bloat.uint256 private constant _REENTRANCY_GUARD_SLOT = 0x929eee149b4bd21268;/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* REENTRANCY GUARD *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity 0.8.28;import { Errors } from "../utils/Errors.sol";import { Ownable } from "solady/auth/Ownable.sol";/// @author 0xtekgrinder/// @title AOperator/// @notice Abstract contract to allow access only to operator or ownerabstract contract AOperator is Ownable {/*//////////////////////////////////////////////////////////////EVENTS//////////////////////////////////////////////////////////////*//*** @notice Event emitted when a output tokens and/or ratios are updated*/event OperatorUpdated(address newOperator);/*//////////////////////////////////////////////////////////////MUTABLE VARIABLES//////////////////////////////////////////////////////////////*//*** @notice operator caller address to allow access only to web3 function*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Simple single owner authorization mixin./// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)////// @dev Note:/// This implementation does NOT auto-initialize the owner to `msg.sender`./// You MUST call the `_initializeOwner` in the constructor / initializer.////// While the ownable portion follows/// [EIP-173](https://eips.ethereum.org/EIPS/eip-173) for compatibility,/// the nomenclature for the 2-step ownership handover may be unique to this codebase.abstract contract Ownable {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The caller is not authorized to call the function.error Unauthorized();/// @dev The `newOwner` cannot be the zero address.error NewOwnerIsZeroAddress();/// @dev The `pendingOwner` does not have a valid handover request.error NoHandoverRequest();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;import {ErrorsLib} from "../libraries/ErrorsLib.sol";/// @title UtilsLib/// @author Morpho Labs/// @custom:contact security@morpho.org/// @notice Library exposing helpers./// @dev Inspired by https://github.com/morpho-org/morpho-utils.library UtilsLib {/// @dev Returns true if there is exactly one zero among `x` and `y`.function exactlyOneZero(uint256 x, uint256 y) internal pure returns (bool z) {assembly {z := xor(iszero(x), iszero(y))}}/// @dev Returns the min of `x` and `y`.function min(uint256 x, uint256 y) internal pure returns (uint256 z) {assembly {z := xor(x, mul(xor(x, y), lt(y, x)))}}/// @dev Returns `x` safely cast to uint128.
1234567891011121314151617181920212223//SPDX-License-Identifier: MITpragma solidity ^0.8.0;library Errors {// General errorserror ZeroValue();error ZeroAddress();error EmptyArray();error DifferentSizeArrays(uint256 length1, uint256 length2);// Operator errorserror NotOperator();error NotOperatorOrOwner();// Call errorserror CallFailed(bytes reason);// Harvest errorserror HarvestLoseAssets();// Fee errorserror FeeTooHigh();}
123456789//SPDX-License-Identifier: MITpragma solidity ^0.8.0;interface ITeller {function deposit(address depositAsset, uint256 depositAmount, uint256 minimumMint)externalpayablereturns (uint256 shares);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Simple ERC20 + EIP-2612 implementation./// @author Solady (https://github.com/vectorized/solady/blob/main/src/tokens/ERC20.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)/// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)////// @dev Note:/// - The ERC20 standard allows minting and transferring to and from the zero address,/// minting and transferring zero tokens, as well as self-approvals./// For performance, this implementation WILL NOT revert for such actions./// Please add any checks with overrides if desired./// - The `permit` function uses the ecrecover precompile (0x1).////// If you are overriding:/// - NEVER violate the ERC20 invariant:/// the total sum of all balances must be equal to `totalSupply()`./// - Check that the overridden function is actually used in the function you want to/// change the behavior of. Much of the code has been manually inlined for performance.abstract contract ERC20 {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The total supply has overflowed.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Arithmetic library with operations for fixed-point numbers./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/FixedPointMathLib.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/FixedPointMathLib.sol)library FixedPointMathLib {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The operation failed, as the output exceeds the maximum value of uint256.error ExpOverflow();/// @dev The operation failed, as the output exceeds the maximum value of uint256.error FactorialOverflow();/// @dev The operation failed, due to an overflow.error RPowOverflow();/// @dev The mantissa is too big to fit.error MantissaOverflow();/// @dev The operation failed, due to an multiplication overflow.error MulWadFailed();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;/// @title ErrorsLib/// @author Morpho Labs/// @custom:contact security@morpho.org/// @notice Library exposing error messages.library ErrorsLib {/// @notice Thrown when the caller is not the owner.string internal constant NOT_OWNER = "not owner";/// @notice Thrown when the LLTV to enable exceeds the maximum LLTV.string internal constant MAX_LLTV_EXCEEDED = "max LLTV exceeded";/// @notice Thrown when the fee to set exceeds the maximum fee.string internal constant MAX_FEE_EXCEEDED = "max fee exceeded";/// @notice Thrown when the value is already set.string internal constant ALREADY_SET = "already set";/// @notice Thrown when the IRM is not enabled at market creation.string internal constant IRM_NOT_ENABLED = "IRM not enabled";/// @notice Thrown when the LLTV is not enabled at market creation.string internal constant LLTV_NOT_ENABLED = "LLTV not enabled";
1234567891011121314151617181920212223242526{"remappings": ["solady/=lib/solady/src/","solmate/=lib/solmate/src/","morpho/=lib/morpho-blue/src/","ds-test/=lib/solmate/lib/ds-test/src/","forge-std/=lib/forge-std/src/","morpho-blue/=lib/morpho-blue/"],"optimizer": {"enabled": true,"runs": 100000},"metadata": {"useLiteralContent": false,"bytecodeHash": "ipfs","appendCBOR": true},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata",
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"initialOperator","type":"address"},{"internalType":"address","name":"initialFeeRecipient","type":"address"},{"internalType":"uint32","name":"initialPerformanceFee","type":"uint32"},{"internalType":"uint64","name":"initialVestingPeriod","type":"uint64"},{"internalType":"address","name":"definitiveAsset","type":"address"},{"internalType":"address","name":"definitiveUnderlyingAsset","type":"address"},{"internalType":"address","name":"definitiveTeller","type":"address"},{"internalType":"string","name":"definitiveName","type":"string"},{"internalType":"string","name":"definitiveSymbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AllowanceOverflow","type":"error"},{"inputs":[],"name":"AllowanceUnderflow","type":"error"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"name":"CallFailed","type":"error"},{"inputs":[],"name":"DepositMoreThanMax","type":"error"},{"inputs":[],"name":"FeeTooHigh","type":"error"},{"inputs":[],"name":"HarvestLoseAssets","type":"error"},{"inputs":[],"name":"InsufficientAllowance","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidPermit","type":"error"},{"inputs":[],"name":"MintMoreThanMax","type":"error"},{"inputs":[],"name":"NewOwnerIsZeroAddress","type":"error"},{"inputs":[],"name":"NoHandoverRequest","type":"error"},{"inputs":[],"name":"NotOperatorOrOwner","type":"error"},{"inputs":[],"name":"Permit2AllowanceIsFixedAtInfinity","type":"error"},{"inputs":[],"name":"PermitExpired","type":"error"},{"inputs":[],"name":"RedeemMoreThanMax","type":"error"},{"inputs":[],"name":"Reentrancy","type":"error"},{"inputs":[],"name":"TotalSupplyOverflow","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"WithdrawMoreThanMax","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newFeeRecipient","type":"address"}],"name":"FeeRecipientUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOperator","type":"address"}],"name":"OperatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"newPerformanceFee","type":"uint32"}],"name":"PerformanceFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newVestingPeriod","type":"uint256"}],"name":"VestingPeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"completeOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"inputData","type":"bytes"}],"name":"harvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastUpdate","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockedProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"maxAssets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"maxShares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"maxShares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"maxAssets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"performanceFee","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"requestOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newFeeRecipient","type":"address"}],"name":"setFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator","type":"address"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"newPerformanceFee","type":"uint32"}],"name":"setPerformanceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newVestingPeriod","type":"uint64"}],"name":"setVestingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teller","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"underlyingAsset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPeriod","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60e08060405234610333576129c5803803809161001c8285610553565b83398101610140828203126103335761003482610576565b9161004160208201610576565b9261004e60408301610576565b9060608301519263ffffffff8416809403610333576080810151956001600160401b03871687036103335761008560a08301610576565b9561009260c08401610576565b9361009f60e08501610576565b6101008501519094906001600160401b03811161033357836100c291830161058a565b6101208201519093906001600160401b038111610333576100e3920161058a565b926001600160a01b03168015610544575f80546001600160a01b031916919091178155638b78c6d819546001600160a01b03929092169182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3638b78c6d8195560808790528051906001600160401b0382116104475760015490600182811c9216801561053a575b60208310146104295781601f8493116104cc575b50602090601f8311600114610466575f9261045b575b50508160011b915f199060031b1c1916176001555b8051906001600160401b0382116104475760025490600182811c9216801561043d575b60208310146104295781601f8493116103bb575b50602090601f8311600114610355575f9261034a575b50508160011b915f199060031b1c1916176002555b60a05260c052600580546001600160c01b031916602092831b600160201b600160c01b0316179290921790915560038054610100600160481b0319811660089590951b68ffffffffffffffff001694851790915560405163313ce56760e01b8152909392909190829060049082906001600160a01b03165afa801561033f575f906102fe575b60ff9150169160018060481b03191617176003556040516123e590816105e08239608051818181610fd80152818161170401528181611c5401528181611fb101526122e4015260a051818181611099015261151d015260c051818181610f9901526113c10152f35b506020813d602011610337575b8161031860209383610553565b81010312610333575160ff811681036103335760ff90610296565b5f80fd5b3d915061030b565b6040513d5f823e3d90fd5b015190505f806101fb565b60025f9081528281209350601f198516905b8181106103a3575090846001959493921061038b575b505050811b01600255610210565b01515f1960f88460031b161c191690555f808061037d565b92936020600181928786015181550195019301610367565b60025f529091507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace601f840160051c8101916020851061041f575b90601f859493920160051c01905b81811061041157506101e5565b5f8155849350600101610404565b90915081906103f6565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101d1565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610199565b60015f9081528281209350601f198516905b8181106104b4575090846001959493921061049c575b505050811b016001556101ae565b01515f1960f88460031b161c191690555f808061048e565b92936020600181928786015181550195019301610478565b60015f529091507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f840160051c81019160208510610530575b90601f859493920160051c01905b8181106105225750610183565b5f8155849350600101610515565b9091508190610507565b91607f169161016f565b63d92e233d60e01b5f5260045ffd5b601f909101601f19168101906001600160401b0382119082101761044757604052565b51906001600160a01b038216820361033357565b81601f82011215610333578051906001600160401b03821161044757604051926105be601f8401601f191660200185610553565b8284526020838301011161033357815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c806301e1d11414611ab957806306fdde0314611a8057806307a2d13a146115f3578063095ea7b3146119f75780630a28a477146119bb57806318160ddd1461197857806323b872dd14611873578063256929621461180c578063313ce567146117ce5780633644e5151461172857806338d52e0f146116ba578063402d267d1461080d57806344b8139614611682578063469048401461162f5780634cdad506146115f357806354d1f13d14611591578063570ca7351461154157806357edab4e146114d35780636e553f651461148257806370a082311461059a578063715018a6146113e55780637158da7c146113775780637313ee5a1461132f5780637399bfe814610e525780637ecebe0014610e025780638778878214610dc15780638c6ea7cd14610d865780638da5cb5b14610d1657806394bf804d14610cc557806395d89b4114610b64578063a40c701f14610a94578063a9059cbb146109e7578063b3ab15fb14610937578063b3d7f6b9146108fb578063b460af94146108a6578063ba0876521461085a578063c046371114610812578063c63d75b61461080d578063c6e6f59214610402578063ce96cb77146107bd578063d505accf146105ea578063d905777e1461059a578063dd62ed3e1461053e578063e74b981b14610446578063ef8b30f714610402578063f04e283e14610397578063f2fde38b1461033c578063f4768256146102885763fee81cf414610234575f80fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761026b611b34565b63389a75e1600c525f52602080600c2054604051908152f35b5f80fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760043567ffffffffffffffff811690818103610284577fc21cb0f112058f1eb0e3313a577dfc27e6be5b39127591e05245343a422e4915916020916102fa612103565b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff68ffffffffffffffff006003549260081b16911617600355604051908152a1005b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761036e611b34565b610376612103565b8060601b1561038a576103889061213a565b005b637448fbae5f526004601cfd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576103c9611b34565b6103d1612103565b63389a75e1600c52805f526020600c2090815442116103f5575f610388925561213a565b636f5e88185f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611eaf565b604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761047d611b34565b610485612103565b73ffffffffffffffffffffffffffffffffffffffff811690811561051657600580547fffffffffffffffff0000000000000000000000000000000000000000ffffffff16602092831b77ffffffffffffffffffffffffffffffffffffffff00000000161790556040519182527f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc291a1005b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610575611b34565b61057d611b57565b602052637f5e9f20600c525f5260206034600c2054604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576105d1611b34565b6387a211a2600c525f52602080600c2054604051908152f35b346102845760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610621611b34565b610629611b57565b6084359160643560443560ff8516850361028457610645611cca565b60208151910120908242116107b05773ffffffffffffffffffffffffffffffffffffffff80604051951695169565383775081901600e52855f5260c06020600c20958654957f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8252602082019586528660408301967fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc688528b6060850198468a528c608087019330855260a08820602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9885252528688525260a082015220604e526042602c205f5260ff1660205260a43560405260c43560605260208060805f60015afa93853d51036107a3577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259460209401905585777f5e9f200000000000000000000000000000000000000000176040526034602c2055a3005b63ddafbaef5f526004601cfd5b631a15a3cc5f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576107f4611b34565b6387a211a2600c525f52602061043e81600c2054611db6565b611b7a565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602067ffffffffffffffff60035460481c16604051908152f35b346102845761086836611bdc565b906387a211a2600c52815f526020600c20548311610899578261043e91610890602095611db6565b93849133612243565b634656425a5f526004601cfd5b34610284576108b436611bdc565b90916387a211a2600c52815f526108cf6020600c2054611db6565b81116108ee57602092816108e561043e93611de5565b93849233612243565b63936941fc5f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611e83565b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845773ffffffffffffffffffffffffffffffffffffffff610983611b34565b61098b612103565b168015610516576020817fb3b3f5f64ab192e4b5fefde1f51ce9733bbdcf831951543b325aebd49cc27ec4927fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55604051908152a1005b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610a1e611b34565b602435906387a211a2600c52335f526020600c208054808411610a875783900390555f526020600c20818154019055602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3602060405160018152f35b63f4d678b85f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760043563ffffffff811680910361028457610adc612103565b6103e88111610b3c576020817fe72cfeafe574dcbeecf132b9545aae2c2a4440843ccbd4a6f61feb0a1439f5d2927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000006005541617600555604051908152a1005b7fcd4e6167000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576040515f6002548060011c90600181168015610cbb575b602083108114610c8e57828552908115610c4c5750600114610bee575b610bea83610bd681850382611c89565b604051918291602083526020830190611af1565b0390f35b60025f9081527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610c3257509091508101602001610bd6610bc6565b919260018160209254838588010152019101909291610c1a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b84019091019150610bd69050610bc6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610ba9565b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060043561043e610d04611b57565b91610d0e81611e83565b809333611fac565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576020600454604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602063ffffffff60055416604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610e39611b34565b6338377508600c525f52602080600c2054604051908152f35b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610e89611b34565b6024359067ffffffffffffffff821161028457366023830112156102845781600401359167ffffffffffffffff8311610284573660248483010111610284573068929eee149b4bd212685414611322573068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff5f5416331415806112e1575b6112b9575f916024838093610f19611c4e565b9680604051948593018337810182815203925af13d156112b1573d9067ffffffffffffffff82116112845760405191610f7a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184611c89565b82523d5f602084013e5b156112425750610f92611c4e565b1061121a577f0000000000000000000000000000000000000000000000000000000000000000610fc230826121bb565b6005549063ffffffff8216806111d0575b5090507f0000000000000000000000000000000000000000000000000000000000000000601452806034526f095ea7b30000000000000000000000005f5260205f6044601082865af18060015f511416156111b2575b505f60345273ffffffffffffffffffffffffffffffffffffffff604051927f0efe6a8b00000000000000000000000000000000000000000000000000000000845216600483015260248201525f60448201526020816064815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19081156111a7575f91611175575b50806110de575b3868929eee149b4bd2126855005b6110e6611e11565b908101809111611148576fffffffffffffffffffffffffffffffff166004556003547fffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffff6cffffffff0000000000000000004260481b16911617600355806110d0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90506020813d60201161119f575b8161119060209383611c89565b810103126102845751816110c9565b3d9150611183565b6040513d5f823e3d90fd5b3d833b151710156111c35782611029565b633e3f8f735f526004601cfd5b8082029082820414821517156111485761271090048082039182116111485773ffffffffffffffffffffffffffffffffffffffff611213929360201c16846121e9565b8083610fd3565b7fdd814bfc000000000000000000000000000000000000000000000000000000005f5260045ffd5b611280906040519182917fa5fa8d2b000000000000000000000000000000000000000000000000000000008352602060048401526024830190611af1565b0390fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b606090610f84565b7ff20fc9eb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275416331415610f06565b63ab143c065f526004601cfd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602067ffffffffffffffff60035460081c16604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611416612103565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755005b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060043561043e6114c1611b57565b6114ca83611eaf565b92839133611fac565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845763389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2005b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611db6565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602073ffffffffffffffffffffffffffffffffffffffff600554821c16604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e611e11565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060a0611762611cca565b828151910120604051907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8252838201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015220604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060ff60035416604051908152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845763389a75e1600c52335f526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2005b346102845760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576118aa611b34565b6118b2611b57565b604435908260601b33602052637f5e9f208117600c526034600c20908154918219611954575b506387a211a2915017600c526020600c208054808411610a875783900390555f526020600c2081815401905560205273ffffffffffffffffffffffffffffffffffffffff600c5160601c91167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3602060405160018152f35b82851161196b57846387a211a293039055856118d8565b6313be252b5f526004601cfd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760206805345cdf77eb68f44c54604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611de5565b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611a2e611b34565b60243590602052637f5e9f20600c52335f52806034600c20555f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa3602060405160018152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610bea610bd6611cca565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e611c4e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611bb1611b34565b5060206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112610284576004359060243573ffffffffffffffffffffffffffffffffffffffff81168103610284579060443573ffffffffffffffffffffffffffffffffffffffff811681036102845790565b611c78307f00000000000000000000000000000000000000000000000000000000000000006121bb565b611c80611e11565b80820391110290565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761128457604052565b604051905f6001548060011c9160018216918215611dac575b602084108314610c8e578386528592908115611d6f5750600114611d10575b611d0e92500383611c89565b565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611d53575050906020611d0e92820101611d02565b6020919350806001915483858901015201910190918492611d3b565b60209250611d0e9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101611d02565b92607f1692611ce3565b611dbe611c4e565b906001820180921161114857611de29160016805345cdf77eb68f44c540191611ed7565b90565b6805345cdf77eb68f44c54906001820180921161114857611de2916001611e0a611c4e565b0191611f89565b60035467ffffffffffffffff808260481c169160081c1667ffffffffffffffff81830116421015611e7d57600454918115611e50574203820204900390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50505f90565b611e8b611c4e565b906001820180921161114857611de29160016805345cdf77eb68f44c540191611f89565b6805345cdf77eb68f44c54906001820180921161114857611de2916001611ed4611c4e565b01915b81810292918115828504821417830215611ef2575050900490565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8492840985811086019003920990825f0383169281811115611f7c5783900480600302600218808202600203028082026002030280820260020302808202600203028082026002030280910260020302936001848483030494805f0304019211900302170290565b63ae47f7025f526004601cfd5b929190611f97828286611ed7565b9309611f9f57565b90600101908115611f7c57565b9290917f00000000000000000000000000000000000000000000000000000000000000006040519082606052306040528560601b602c526f23b872dd000000000000000000000000600c5260205f6064601c82855af1908160015f511416156120e5575b50505f6060526040526805345cdf77eb68f44c548281019081106120d8576805345cdf77eb68f44c556387a211a2600c52825f526020600c2082815401905581602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35f5260205273ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760405fa3565b63e5cfe9575f526004601cfd5b3b153d1710156120f6575f80612010565b637939f4245f526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754330361212d57565b6382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755565b602460106020939284936014526f70a082310000000000000000000000005f525afa601f3d11166020510290565b91906014526034526fa9059cbb0000000000000000000000005f5260205f6044601082855af1908160015f51141615612225575b50505f603452565b3b153d171015612236575f8061221d565b6390b8ec185f526004601cfd5b9293909373ffffffffffffffffffffffffffffffffffffffff83168073ffffffffffffffffffffffffffffffffffffffff861603612378575b6387a211a2600c52835f526020600c2090815491828511610a8757845f93039055836805345cdf77eb68f44c54036805345cdf77eb68f44c558382527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a361230881867f00000000000000000000000000000000000000000000000000000000000000006121e9565b5f5260205273ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60405fa4565b84602052637f5e9f20600c52835f526034600c208054801961239c575b505061227c565b80851161196b5784900390555f8061239556fea26469706673582212204f93d91ed8ad11c03afb98f9e8afaabc71f23d7de9c30a846b95c00d9b07f6fb64736f6c634300081c0033000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f05000000000000000000000000c04fb43668c8c4cfb6e18dccd0085ed98b1d4008000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d0000000000000000000000000bb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd000000000000000000000000825254012306bb410b550631895fe58ddce1f4a9000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000010577261707065642073746b73634254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097773746b73634254430000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f3560e01c806301e1d11414611ab957806306fdde0314611a8057806307a2d13a146115f3578063095ea7b3146119f75780630a28a477146119bb57806318160ddd1461197857806323b872dd14611873578063256929621461180c578063313ce567146117ce5780633644e5151461172857806338d52e0f146116ba578063402d267d1461080d57806344b8139614611682578063469048401461162f5780634cdad506146115f357806354d1f13d14611591578063570ca7351461154157806357edab4e146114d35780636e553f651461148257806370a082311461059a578063715018a6146113e55780637158da7c146113775780637313ee5a1461132f5780637399bfe814610e525780637ecebe0014610e025780638778878214610dc15780638c6ea7cd14610d865780638da5cb5b14610d1657806394bf804d14610cc557806395d89b4114610b64578063a40c701f14610a94578063a9059cbb146109e7578063b3ab15fb14610937578063b3d7f6b9146108fb578063b460af94146108a6578063ba0876521461085a578063c046371114610812578063c63d75b61461080d578063c6e6f59214610402578063ce96cb77146107bd578063d505accf146105ea578063d905777e1461059a578063dd62ed3e1461053e578063e74b981b14610446578063ef8b30f714610402578063f04e283e14610397578063f2fde38b1461033c578063f4768256146102885763fee81cf414610234575f80fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761026b611b34565b63389a75e1600c525f52602080600c2054604051908152f35b5f80fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760043567ffffffffffffffff811690818103610284577fc21cb0f112058f1eb0e3313a577dfc27e6be5b39127591e05245343a422e4915916020916102fa612103565b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff68ffffffffffffffff006003549260081b16911617600355604051908152a1005b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761036e611b34565b610376612103565b8060601b1561038a576103889061213a565b005b637448fbae5f526004601cfd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576103c9611b34565b6103d1612103565b63389a75e1600c52805f526020600c2090815442116103f5575f610388925561213a565b636f5e88185f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611eaf565b604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845761047d611b34565b610485612103565b73ffffffffffffffffffffffffffffffffffffffff811690811561051657600580547fffffffffffffffff0000000000000000000000000000000000000000ffffffff16602092831b77ffffffffffffffffffffffffffffffffffffffff00000000161790556040519182527f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc291a1005b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610575611b34565b61057d611b57565b602052637f5e9f20600c525f5260206034600c2054604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576105d1611b34565b6387a211a2600c525f52602080600c2054604051908152f35b346102845760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610621611b34565b610629611b57565b6084359160643560443560ff8516850361028457610645611cca565b60208151910120908242116107b05773ffffffffffffffffffffffffffffffffffffffff80604051951695169565383775081901600e52855f5260c06020600c20958654957f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8252602082019586528660408301967fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc688528b6060850198468a528c608087019330855260a08820602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9885252528688525260a082015220604e526042602c205f5260ff1660205260a43560405260c43560605260208060805f60015afa93853d51036107a3577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259460209401905585777f5e9f200000000000000000000000000000000000000000176040526034602c2055a3005b63ddafbaef5f526004601cfd5b631a15a3cc5f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576107f4611b34565b6387a211a2600c525f52602061043e81600c2054611db6565b611b7a565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602067ffffffffffffffff60035460481c16604051908152f35b346102845761086836611bdc565b906387a211a2600c52815f526020600c20548311610899578261043e91610890602095611db6565b93849133612243565b634656425a5f526004601cfd5b34610284576108b436611bdc565b90916387a211a2600c52815f526108cf6020600c2054611db6565b81116108ee57602092816108e561043e93611de5565b93849233612243565b63936941fc5f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611e83565b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845773ffffffffffffffffffffffffffffffffffffffff610983611b34565b61098b612103565b168015610516576020817fb3b3f5f64ab192e4b5fefde1f51ce9733bbdcf831951543b325aebd49cc27ec4927fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55604051908152a1005b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610a1e611b34565b602435906387a211a2600c52335f526020600c208054808411610a875783900390555f526020600c20818154019055602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3602060405160018152f35b63f4d678b85f526004601cfd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760043563ffffffff811680910361028457610adc612103565b6103e88111610b3c576020817fe72cfeafe574dcbeecf132b9545aae2c2a4440843ccbd4a6f61feb0a1439f5d2927fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000006005541617600555604051908152a1005b7fcd4e6167000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576040515f6002548060011c90600181168015610cbb575b602083108114610c8e57828552908115610c4c5750600114610bee575b610bea83610bd681850382611c89565b604051918291602083526020830190611af1565b0390f35b60025f9081527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610c3257509091508101602001610bd6610bc6565b919260018160209254838588010152019101909291610c1a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b84019091019150610bd69050610bc6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610ba9565b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060043561043e610d04611b57565b91610d0e81611e83565b809333611fac565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576020600454604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602063ffffffff60055416604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610e39611b34565b6338377508600c525f52602080600c2054604051908152f35b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610e89611b34565b6024359067ffffffffffffffff821161028457366023830112156102845781600401359167ffffffffffffffff8311610284573660248483010111610284573068929eee149b4bd212685414611322573068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff5f5416331415806112e1575b6112b9575f916024838093610f19611c4e565b9680604051948593018337810182815203925af13d156112b1573d9067ffffffffffffffff82116112845760405191610f7a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184611c89565b82523d5f602084013e5b156112425750610f92611c4e565b1061121a577f000000000000000000000000bb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd610fc230826121bb565b6005549063ffffffff8216806111d0575b5090507f000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d0601452806034526f095ea7b30000000000000000000000005f5260205f6044601082865af18060015f511416156111b2575b505f60345273ffffffffffffffffffffffffffffffffffffffff604051927f0efe6a8b00000000000000000000000000000000000000000000000000000000845216600483015260248201525f60448201526020816064815f73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000825254012306bb410b550631895fe58ddce1f4a9165af19081156111a7575f91611175575b50806110de575b3868929eee149b4bd2126855005b6110e6611e11565b908101809111611148576fffffffffffffffffffffffffffffffff166004556003547fffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffff6cffffffff0000000000000000004260481b16911617600355806110d0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90506020813d60201161119f575b8161119060209383611c89565b810103126102845751816110c9565b3d9150611183565b6040513d5f823e3d90fd5b3d833b151710156111c35782611029565b633e3f8f735f526004601cfd5b8082029082820414821517156111485761271090048082039182116111485773ffffffffffffffffffffffffffffffffffffffff611213929360201c16846121e9565b8083610fd3565b7fdd814bfc000000000000000000000000000000000000000000000000000000005f5260045ffd5b611280906040519182917fa5fa8d2b000000000000000000000000000000000000000000000000000000008352602060048401526024830190611af1565b0390fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b606090610f84565b7ff20fc9eb000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275416331415610f06565b63ab143c065f526004601cfd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602067ffffffffffffffff60035460081c16604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd168152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611416612103565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755005b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060043561043e6114c1611b57565b6114ca83611eaf565b92839133611fac565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000825254012306bb410b550631895fe58ddce1f4a9168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845763389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2005b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611db6565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602073ffffffffffffffffffffffffffffffffffffffff600554821c16604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e611e11565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d0168152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060a0611762611cca565b828151910120604051907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8252838201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015220604051908152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602060ff60035416604051908152f35b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845763389a75e1600c52335f526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2005b346102845760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610284576118aa611b34565b6118b2611b57565b604435908260601b33602052637f5e9f208117600c526034600c20908154918219611954575b506387a211a2915017600c526020600c208054808411610a875783900390555f526020600c2081815401905560205273ffffffffffffffffffffffffffffffffffffffff600c5160601c91167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3602060405160018152f35b82851161196b57846387a211a293039055856118d8565b6313be252b5f526004601cfd5b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102845760206805345cdf77eb68f44c54604051908152f35b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e600435611de5565b346102845760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611a2e611b34565b60243590602052637f5e9f20600c52335f52806034600c20555f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa3602060405160018152f35b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457610bea610bd6611cca565b34610284575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457602061043e611c4e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028457611bb1611b34565b5060206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112610284576004359060243573ffffffffffffffffffffffffffffffffffffffff81168103610284579060443573ffffffffffffffffffffffffffffffffffffffff811681036102845790565b611c78307f000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d06121bb565b611c80611e11565b80820391110290565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761128457604052565b604051905f6001548060011c9160018216918215611dac575b602084108314610c8e578386528592908115611d6f5750600114611d10575b611d0e92500383611c89565b565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611d53575050906020611d0e92820101611d02565b6020919350806001915483858901015201910190918492611d3b565b60209250611d0e9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101611d02565b92607f1692611ce3565b611dbe611c4e565b906001820180921161114857611de29160016805345cdf77eb68f44c540191611ed7565b90565b6805345cdf77eb68f44c54906001820180921161114857611de2916001611e0a611c4e565b0191611f89565b60035467ffffffffffffffff808260481c169160081c1667ffffffffffffffff81830116421015611e7d57600454918115611e50574203820204900390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50505f90565b611e8b611c4e565b906001820180921161114857611de29160016805345cdf77eb68f44c540191611f89565b6805345cdf77eb68f44c54906001820180921161114857611de2916001611ed4611c4e565b01915b81810292918115828504821417830215611ef2575050900490565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8492840985811086019003920990825f0383169281811115611f7c5783900480600302600218808202600203028082026002030280820260020302808202600203028082026002030280910260020302936001848483030494805f0304019211900302170290565b63ae47f7025f526004601cfd5b929190611f97828286611ed7565b9309611f9f57565b90600101908115611f7c57565b9290917f000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d06040519082606052306040528560601b602c526f23b872dd000000000000000000000000600c5260205f6064601c82855af1908160015f511416156120e5575b50505f6060526040526805345cdf77eb68f44c548281019081106120d8576805345cdf77eb68f44c556387a211a2600c52825f526020600c2082815401905581602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35f5260205273ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760405fa3565b63e5cfe9575f526004601cfd5b3b153d1710156120f6575f80612010565b637939f4245f526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754330361212d57565b6382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755565b602460106020939284936014526f70a082310000000000000000000000005f525afa601f3d11166020510290565b91906014526034526fa9059cbb0000000000000000000000005f5260205f6044601082855af1908160015f51141615612225575b50505f603452565b3b153d171015612236575f8061221d565b6390b8ec185f526004601cfd5b9293909373ffffffffffffffffffffffffffffffffffffffff83168073ffffffffffffffffffffffffffffffffffffffff861603612378575b6387a211a2600c52835f526020600c2090815491828511610a8757845f93039055836805345cdf77eb68f44c54036805345cdf77eb68f44c558382527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a361230881867f000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d06121e9565b5f5260205273ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60405fa4565b84602052637f5e9f20600c52835f526034600c208054801961239c575b505061227c565b80851161196b5784900390555f8061239556fea26469706673582212204f93d91ed8ad11c03afb98f9e8afaabc71f23d7de9c30a846b95c00d9b07f6fb64736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f05000000000000000000000000c04fb43668c8c4cfb6e18dccd0085ed98b1d4008000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d0000000000000000000000000bb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd000000000000000000000000825254012306bb410b550631895fe58ddce1f4a9000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000010577261707065642073746b73634254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097773746b73634254430000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : initialOwner (address): 0xb1Cf5c852b908A85624878452A3F3fDb6cE94f05
Arg [1] : initialOperator (address): 0xC04FB43668C8C4cFb6e18dCCd0085ED98B1d4008
Arg [2] : initialFeeRecipient (address): 0xb1Cf5c852b908A85624878452A3F3fDb6cE94f05
Arg [3] : initialPerformanceFee (uint32): 0
Arg [4] : initialVestingPeriod (uint64): 604800
Arg [5] : definitiveAsset (address): 0xD0851030C94433C261B405fEcbf1DEC5E15948d0
Arg [6] : definitiveUnderlyingAsset (address): 0xBb30e76d9Bb2CC9631F7fC5Eb8e87B5Aff32bFbd
Arg [7] : definitiveTeller (address): 0x825254012306bB410b550631895fe58DdCE1f4a9
Arg [8] : definitiveName (string): Wrapped stkscBTC
Arg [9] : definitiveSymbol (string): wstkscBTC
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f05
Arg [1] : 000000000000000000000000c04fb43668c8c4cfb6e18dccd0085ed98b1d4008
Arg [2] : 000000000000000000000000b1cf5c852b908a85624878452a3f3fdb6ce94f05
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000093a80
Arg [5] : 000000000000000000000000d0851030c94433c261b405fecbf1dec5e15948d0
Arg [6] : 000000000000000000000000bb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd
Arg [7] : 000000000000000000000000825254012306bb410b550631895fe58ddce1f4a9
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [11] : 577261707065642073746b736342544300000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [13] : 7773746b73634254430000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.