More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 17183964 | 10 days ago | IN | 3.5 S | 0.00121561 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | Age | From | To | Amount | |
---|---|---|---|---|---|---|
18635743 | 3 days ago | 0.19961363 S | ||||
16676084 | 12 days ago | 0.04190247 S | ||||
16674544 | 12 days ago | 0.13026024 S | ||||
16674520 | 12 days ago | 0.17759214 S | ||||
16674490 | 12 days ago | 0.13041811 S | ||||
16674465 | 12 days ago | 0.17764018 S | ||||
16674438 | 12 days ago | 0.13049559 S | ||||
16674418 | 12 days ago | 0.18037397 S | ||||
16674389 | 12 days ago | 0.07244978 S | ||||
16674353 | 12 days ago | 0.10256815 S | ||||
16674317 | 12 days ago | 0.10252011 S | ||||
16674289 | 12 days ago | 0.10242546 S | ||||
16674262 | 12 days ago | 0.10242361 S | ||||
16674236 | 12 days ago | 0.10244117 S | ||||
16674208 | 12 days ago | 0.10244302 S | ||||
16674186 | 12 days ago | 0.10241715 S | ||||
16674158 | 12 days ago | 0.10244619 S | ||||
16674131 | 12 days ago | 0.10244619 S | ||||
16674108 | 12 days ago | 0.10248222 S | ||||
16674082 | 12 days ago | 0.10247945 S | ||||
16674061 | 12 days ago | 0.10255099 S | ||||
16674036 | 12 days ago | 0.10245081 S | ||||
16674008 | 12 days ago | 0.10243325 S | ||||
16673983 | 12 days ago | 0.10247206 S | ||||
16673959 | 12 days ago | 0.10247206 S |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xabDBBC78...2F9b6d1F2 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
SiloV2
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import "./interfaces/IAction.sol";import "./interfaces/ISiloFactory.sol";import "./interfaces/ISiloSubFactory.sol";import {Statuses} from "./interfaces/ISilo.sol";import "./interfaces/ISiloManagerFactory.sol";import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";import "./gelato/AutomateTaskCreator.sol";struct ActionInfo {bytes configurationData; //things like what token addresses are involvedaddress implementation;}contract SiloV2 is IERC721Receiver, AutomateTaskCreator {bytes32 internal taskId;Statuses internal status;address public factory;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol)pragma solidity ^0.8.20;/*** @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].** Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't* need to send a transaction, and thus is not required to hold Ether at all.** ==== Security Considerations** There are two important considerations concerning the use of `permit`. The first is that a valid permit signature* expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be* considered as an intention to spend the allowance in any specific way. The second is that because permits have* built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should* take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be* generally recommended is:** ```solidity* function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {* try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}* doThing(..., value);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.20;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Emitted when `value` tokens are moved from one account (`from`) to* another (`to`).** Note that `value` may be zero.*/event Transfer(address indexed from, address indexed to, uint256 value);/*** @dev Emitted when the allowance of a `spender` for an `owner` is set by* a call to {approve}. `value` is the new allowance.*/event Approval(address indexed owner, address indexed spender, uint256 value);/*** @dev Returns the value of tokens in existence.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)pragma solidity ^0.8.20;import {IERC20} from "../IERC20.sol";import {IERC20Permit} from "../extensions/IERC20Permit.sol";import {Address} from "../../../utils/Address.sol";/*** @title SafeERC20* @dev Wrappers around ERC20 operations that throw on failure (when the token* contract returns false). Tokens that return no value (and instead revert or* throw on failure) are also supported, non-reverting calls are assumed to be* successful.* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.*/library SafeERC20 {using Address for address;/*** @dev An operation with an ERC20 token failed.*/error SafeERC20FailedOperation(address token);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Enumerable.sol)pragma solidity ^0.8.20;import {IERC721} from "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional enumeration extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Enumerable is IERC721 {/*** @dev Returns the total amount of tokens stored by the contract.*/function totalSupply() external view returns (uint256);/*** @dev Returns a token ID owned by `owner` at a given `index` of its token list.* Use along with {balanceOf} to enumerate all of ``owner``'s tokens.*/function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);/*** @dev Returns a token ID at a given `index` of all the tokens stored by the contract.* Use along with {totalSupply} to enumerate all tokens.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.20;import {IERC165} from "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)pragma solidity ^0.8.20;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721Receiver {/*** @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}* by `operator` from `from`, this function is called.** It must return its Solidity selector to confirm the token transfer.* If any other value is returned or the interface is not implemented by the recipient, the transfer will be* reverted.** The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)pragma solidity ^0.8.20;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev The ETH balance of the account is not enough to perform the operation.*/error AddressInsufficientBalance(address account);/*** @dev There's no code at `target` (it is not a contract).*/error AddressEmptyCode(address target);/*** @dev A call to an address target failed. The target may have reverted.*/error FailedInnerCall();/*** @dev Replacement for Solidity's `transfer`: sends `amount` wei to
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)pragma solidity ^0.8.20;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)pragma solidity ^0.8.20;/*** @dev Standard math utilities missing in the Solidity language.*/library Math {/*** @dev Muldiv operation overflow.*/error MathOverflowedMulDiv();enum Rounding {Floor, // Toward negative infinityCeil, // Toward positive infinityTrunc, // Toward zeroExpand // Away from zero}/*** @dev Returns the addition of two unsigned integers, with an overflow flag.*/function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {unchecked {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)pragma solidity ^0.8.20;/*** @dev Standard signed math utilities missing in the Solidity language.*/library SignedMath {/*** @dev Returns the largest of two signed numbers.*/function max(int256 a, int256 b) internal pure returns (int256) {return a > b ? a : b;}/*** @dev Returns the smallest of two signed numbers.*/function min(int256 a, int256 b) internal pure returns (int256) {return a < b ? a : b;}/*** @dev Returns the average of two signed numbers without overflow.* The result is rounded towards zero.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)pragma solidity ^0.8.20;import {Math} from "./math/Math.sol";import {SignedMath} from "./math/SignedMath.sol";/*** @dev String operations.*/library Strings {bytes16 private constant HEX_DIGITS = "0123456789abcdef";uint8 private constant ADDRESS_LENGTH = 20;/*** @dev The `value` string doesn't fit in the specified `length`.*/error StringsInsufficientHexLength(uint256 value, uint256 length);/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {unchecked {uint256 length = Math.log10(value) + 1;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.14;import "./Types.sol";abstract contract AutomateModuleHelper {function _resolverModuleArg(address _resolverAddress,bytes memory _resolverData) internal pure returns (bytes memory) {return abi.encode(_resolverAddress, _resolverData);}function _proxyModuleArg() internal pure returns (bytes memory) {return bytes("");}function _singleExecModuleArg() internal pure returns (bytes memory) {return bytes("");}function _web3FunctionModuleArg(string memory _web3FunctionHash,bytes memory _web3FunctionArgsHex) internal pure returns (bytes memory) {return abi.encode(_web3FunctionHash, _web3FunctionArgsHex);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.14;import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import "./Types.sol";/*** @dev Inherit this contract to allow your smart contract to* - Make synchronous fee payments.* - Have call restrictions for functions to be automated.*/// solhint-disable private-vars-leading-underscoreabstract contract AutomateReady {IAutomate public immutable automate;address public immutable dedicatedMsgSender;address private immutable feeCollector;address internal constant ETH = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;/*** @dev* Only tasks created by _taskCreator defined in constructor can call* the functions with this modifier.*/modifier onlyDedicatedMsgSender() {require(msg.sender == dedicatedMsgSender, "Only dedicated msg.sender");_;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.14;import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "./AutomateReady.sol";import {AutomateModuleHelper} from "./AutomateModuleHelper.sol";/*** @dev Inherit this contract to allow your smart contract* to be a task creator and create tasks.*///solhint-disable const-name-snakecase//solhint-disable no-empty-blocksabstract contract AutomateTaskCreator is AutomateModuleHelper, AutomateReady {using SafeERC20 for IERC20;IGelato1Balance public constant gelato1Balance =IGelato1Balance(0x7506C12a824d73D9b08564d5Afc22c949434755e);constructor(address _automate) AutomateReady(_automate, address(this)) {}function _depositFunds1Balance(uint256 _amount,address _token,address _sponsor) internal {if (_token == ETH) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.12;enum Module {RESOLVER,DEPRECATED_TIME,PROXY,SINGLE_EXEC,WEB3_FUNCTION,TRIGGER}enum TriggerType {TIME,CRON,EVENT,BLOCK}struct ModuleData {Module[] modules;bytes[] args;}interface IAutomate {function createTask(
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;struct ActionBalance {uint256 collateral;uint256 debt;address collateralToken;address debtToken;uint256 collateralConverted;address collateralConvertedToken;string lpUnderlyingBalances;string lpUnderlyingTokens;}interface IAction {function getConfig() external view returns (bytes memory config);function checkMaintain(bytes memory configuration) external view returns (bool, uint256);function checkUpkeep(bytes memory configuration) external view returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";struct PriceOracle {address oracle;uint256 actionPrice;}enum Statuses {PAUSED,DORMANT,MANAGED,UNWIND}interface ISilo {function deposit() external;function withdraw(uint256 _requestedOut) external;function maintain() external;function exitSilo(address caller) external;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol";interface ISiloFactory is IERC721Enumerable{function tokenMinimum(address _token) external view returns(uint _minimum);function balanceOf(address _owner) external view returns(uint);function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);function managerFactory() external view returns(address);function siloMap(uint _id) external view returns(address);function tierManager() external view returns(address);function ownerOf(uint _id) external view returns(address);function siloToId(address silo) external view returns(uint);// function createSilo(address recipient) external returns(uint);function setActionStack(uint siloID, address[5] memory input, address[] memory _implementations, bytes[] memory _configurationData) external;// function withdraw(uint siloID) external;function getFeeInfo(address _action) external view returns(uint fee, address recipient);function strategyMaxGas() external view returns(uint);function strategyName(string memory _name) external view returns(uint);function getCatalogue(uint _type) external view returns(string[] memory);function getStrategyInputs(uint _id) external view returns(address[5] memory inputs);function getStrategyActions(uint _id) external view returns(address[] memory actions);function getStrategyConfigurationData(uint _id) external view returns(bytes[] memory configurationData);function useCustom(address _action) external view returns(bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;enum AutoStatus {NOT,PENDING,APPROVED,MANUAL,LOW,NORMAL,HIGH}interface ISiloManager {function owner() external view returns (address);function taskId() external view returns (bytes32);function getBalance() external view returns (uint96);function depositFunds() external payable;function cancelAutomate() external;function withdrawFunds() external;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import {AutoStatus} from "./ISiloManager.sol";struct ManagerInfo {address manager;bytes32 taskId;uint256 currentBalance;uint256 topupThreshold;uint256 minFunds;}interface ISiloManagerFactory {function checkManager(address _owner,address _manager) external view returns (bool);function userToManager(address _user) external view returns (address);function isManager(address) external view returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;interface ISiloSubFactory {function acceptTransfersFrom(address to, address from)externalviewreturns (bool);function skipActionValidTeamCheck(address user)externalviewreturns (bool);function skipActionValidLogicCheck(address user)externalviewreturns (bool);function checkActionsLogicValid(address user,address[] memory _actions,bytes[] memory _configurationData) external view returns (bool);
123456789101112131415161718192021{"optimizer": {"enabled": true,"runs": 200},"viaIR": true,"evmVersion": "paris","outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"siloID","type":"uint256"},{"internalType":"uint256","name":"_main","type":"uint256"},{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"gelatoAutomate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"siloID","type":"uint256"},{"indexed":false,"internalType":"bool","name":"mode","type":"bool"},{"indexed":false,"internalType":"uint256","name":"task","type":"uint256"}],"name":"SiloAutoCall","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"siloID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"i","type":"uint256"}],"name":"StrategyFailed","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"SILO_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newDelay","type":"uint256"}],"name":"adjustSiloDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"bytes","name":"_configurationData","type":"bytes"},{"internalType":"address","name":"_implementation","type":"address"}],"name":"adjustStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"adminCall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"automate","outputs":[{"internalType":"contract IAutomate","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"automateWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkAuto","outputs":[{"internalType":"bool","name":"autoNeeded","type":"bool"},{"internalType":"bool","name":"act","type":"bool"},{"internalType":"uint256","name":"task","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checker","outputs":[{"internalType":"bool","name":"canExec","type":"bool"},{"internalType":"bytes","name":"execPayload","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createTask","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"dedicatedMsgSender","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"exitSilo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gelato1Balance","outputs":[{"internalType":"contract IGelato1Balance","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getConfig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getExtraSiloInfo","outputs":[{"internalType":"uint256","name":"strategyType","type":"uint256"},{"internalType":"uint256","name":"currentBalance","type":"uint256"},{"internalType":"uint256","name":"possibleWithdraw","type":"uint256"},{"internalType":"uint256","name":"availableBlock","type":"uint256"},{"internalType":"uint256","name":"pendingReward","type":"uint256"},{"internalType":"uint256","name":"pid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInputTokens","outputs":[{"internalType":"address[5]","name":"inputs","type":"address[5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStatus","outputs":[{"internalType":"enum Statuses","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"highRiskAction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNew","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTimeMaintained","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"keeperExit","type":"bool"},{"internalType":"uint256","name":"task","type":"uint256"}],"name":"performAuto","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"possibleReinvestSilo","outputs":[{"internalType":"bool","name":"possible","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[5]","name":"_inputs","type":"address[5]"},{"internalType":"bytes[]","name":"_configurationData","type":"bytes[]"},{"internalType":"address[]","name":"_implementations","type":"address[]"}],"name":"setStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_strategyCategory","type":"uint256"}],"name":"setStrategyCategory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_strategyName","type":"string"}],"name":"setStrategyName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showActionStackValidity","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"siloDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"strategyCategory","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"strategyName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewStrategy","outputs":[{"internalType":"address[]","name":"actions","type":"address[]"},{"internalType":"bytes[]","name":"configData","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_requestedOut","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Deployed Bytecode
0x6080806040526004361015610011575b005b60003560e01c908163049aacfe146127de5750806306fdde03146127365780630fa5ef7014612718578063150b7a02146126c3578063189e17e4146126a557806328f150eb146126605780632e1a7d4d146125ab5780632fddd913146121f0578063349b0cf114611fb25780633aeac4e114611e7b5780633f4ba83a14611d6d578063405d638e14611d425780634e69d56014611d1857806354934b2414611c6657806357fb1d6714611c375780635f498bdb14611b815780636e77cd06146118c6578063760a8c2a146117b55780638456cb591461167657806392edefe414611653578063a016b2cd146114a9578063a351616a14611477578063a747649314611178578063bf64a82d1461104d578063c23716ec14611028578063c39368ee1461100a578063c3f909d414610fe6578063c45a015514610fb9578063c47f002714610dbe578063cd5b07c014610964578063cf5303cf1461092c578063d0e30db01461076c578063d2e636331461068a578063d6273e68146104e6578063db11e47214610465578063df641c9c146103a7578063e173ad25146102d1578063e531fd19146102b3578063e7ccd0ad14610279578063eef49ee314610253578063f26af5c3146102135763fe75154b146101e857005b3461020e57600036600319011261020e57602060ff60285460101c166040519015158152f35b600080fd5b3461020e57600036600319011261020e5760c061022e613a14565b93604093919351958652602086015260408501526060840152608083015260a0820152f35b3461020e57600036600319011261020e57602060ff60285460081c166040519015158152f35b3461020e57602036600319011261020e576001600160a01b0361029a6128f9565b16600052602d6020526020604060002054604051908152f35b3461020e57600036600319011261020e576020602754604051908152f35b3461020e57600036600319011261020e57604051602354600090816102f582612820565b80855291600181169081156103805750600114610335575b6103318461031d81860382612890565b6040519182916020835260208301906128d4565b0390f35b60238152600080516020614d6b833981519152939250905b8082106103665750909150810160200161031d8261030d565b91926001816020925483858801015201910190929161034d565b60ff191660208087019190915292151560051b8501909201925061031d915083905061030d565b3461020e57602036600319011261020e5760015460081c6001600160a01b031633811480156103e2575b6103da90612a41565b600435602455005b50602060049160405192838092631113f57f60e01b82525afa80156104595760009061041e575b6103da91506001600160a01b031633146103d1565b506020813d602011610451575b8161043860209383612890565b8101031261020e5761044c6103da91612a2d565b610409565b3d915061042b565b6040513d6000823e3d90fd5b3461020e57600036600319011261020e5760a06040516104858282612890565b8136823760005b600581106104a457506104a260405180926129fb565bf35b600a8110156104d0576018810154600191906001600160a01b03166104c98285613174565b520161048c565b634e487b7160e01b600052603260045260246000fd5b3461020e57600036600319011261020e57601654610503816129a9565b6105106040519182612890565b81815261051c826129a9565b602082019290601f1901368437610532816129a9565b906105406040519283612890565b808252601f1961054f826129a9565b0160005b81811061067757505060005b8181106106115750506040519283926040840190604085525180915260608401919060005b8181106105ef575050508281036020840152815180825260208201916020808360051b8301019401926000915b8383106105be5786860387f35b9193955091936020806105dd600193601f1986820301875289516128d4565b970193019301909286959492936105b1565b82516001600160a01b0316845286955060209384019390920191600101610584565b600a819593949510156104d05780610650610657600193841b848060a01b03600382015416610640858b613160565b5260405192838092600201612b54565b0382612890565b6106618287613160565b5261066c8186613160565b50019392919361055f565b6060602082860181019190915201610553565b3461020e57602036600319011261020e576106a36128f9565b60015460081c6001600160a01b031633811480156106f5575b6106c69150612a41565b6106cf81614c4b565b4790816106d857005b6000918291829182916001600160a01b03165af15061000f612dd3565b50602060049160405192838092631113f57f60e01b82525afa801561045957600090610731575b6106c691506001600160a01b031633146106bc565b506020813d602011610764575b8161074b60209383612890565b8101031261020e5761075f6106c691612a2d565b61071c565b3d915061073e565b3461020e57600036600319011261020e5760015460081c6001600160a01b031633811480156108b5575b6107a09150612a41565b5a6107a9614792565b5a810390811161089f57600154604051636ce58a3960e11b8152906020908290600490829060081c6001600160a01b03165afa9081156104595760009161086d575b5081116107f457005b61080061086991614a20565b6108496032604051809371032bc31b2b2b21033b0b9903634b6b4ba1d160751b602083015261083881518092602086860191016128b1565b81010301601f198101835282612890565b60405162461bcd60e51b81526020600482015291829160248301906128d4565b0390fd5b90506020813d602011610897575b8161088860209383612890565b8101031261020e5751826107eb565b3d915061087b565b634e487b7160e01b600052601160045260246000fd5b50602060049160405192838092631113f57f60e01b82525afa8015610459576000906108f1575b6107a091506001600160a01b03163314610796565b506020813d602011610924575b8161090b60209383612890565b8101031261020e5761091f6107a091612a2d565b6108dc565b3d91506108fe565b3461020e57600036600319011261020e57610945613430565b90610331604051928392151583526040602084015260408301906128d4565b3461020e57606036600319011261020e576004356024356001600160401b03811161020e5761099790369060040161298b565b906044356001600160a01b0381169081900361020e5760015460081c6001600160a01b03163381148015610d4c575b6109cf90612a41565b60405160a0919060006109e28483612890565b50823682375060405160006109f78483612890565b5082368237506040516000610a0c8483612890565b5082368237506040516000610a218483612890565b508236823750601654600019810190811161089f578403610cfc57600a8410156104d057604051610a5c81610650818860011b600201612b54565b8051810190838183031261020e57602080610a7993019101612bd7565b91829086518701908782031261020e576020610a99910160208801612bd7565b80925b6028549060ff8216159081610c8c575b50610c7c575b5060005b60058110610b7c5787878760405163a913b88160e01b81526020600482015260208180610ae660248201886128d4565b0381855afa801561045957600090610b41575b610b0391506132bf565b60405190610b108261285a565b8382526020820152600a8210156104d057610b31908260011b600201613303565b15610b3857005b61000f90614b8f565b506020813d602011610b74575b81610b5b60209383612890565b8101031261020e57610b6f610b0391612c68565b610af9565b3d9150610b4e565b6001600160a01b03610b8e8287613174565b51166001600160a01b03610ba28385613174565b511603610c2d576001600160a01b03610bbb8285613174565b51166001600160a01b03610bcf8387613174565b511603610bde57600101610ab6565b610bea61086991614a20565b610849603c60405180937f63757272656e74206f7574707574206469736d617463682061743a2000000000602083015261083881518092602086860191016128b1565b610c3961086991614a20565b610849603b60405180937f63757272656e7420696e707574206469736d617463682061743a200000000000602083015261083881518092602086860191016128b1565b60ff191660011760285587610ab2565b6024915060209060405192838092637435d6f760e01b82528b60048301525afa90811561045957600091610cc2575b5089610aac565b90506020813d602011610cf4575b81610cdd60209383612890565b8101031261020e57610cee90612c68565b89610cbb565b3d9150610cd0565b9050600a8310156104d057610d30604051610d2181610650818860011b600201612b54565b6020808251830101910161329b565b919091610d46602087518801016020880161329b565b92610a9c565b50604051631113f57f60e01b8152602081600481855afa801561045957600090610d83575b6001600160a01b0316331490506109c6565b506020813d602011610db6575b81610d9d60209383612890565b8101031261020e57610db16109cf91612a2d565b610d71565b3d9150610d90565b3461020e57610dcc366129c0565b60015460081c6001600160a01b03163381148015610f42575b610def9150612a41565b80516001600160401b038111610f2c57610e0a602254612820565b601f8111610ed2575b50602091601f8211600114610e5457610e449260009183610e49575b50508160011b916000199060031b1c19161790565b602255005b015190508380610e2f565b601f1982169260226000527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5109160005b858110610eba57508360019510610ea1575b505050811b01602255005b015160001960f88460031b161c19169055828080610e96565b91926020600181928685015181550194019201610e84565b6022600052610f1c907f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510601f840160051c81019160208510610f22575b601f0160051c0190612e03565b82610e13565b9091508190610f0f565b634e487b7160e01b600052604160045260246000fd5b50602060049160405192838092631113f57f60e01b82525afa801561045957600090610f7e575b610def91506001600160a01b03163314610de5565b506020813d602011610fb1575b81610f9860209383612890565b8101031261020e57610fac610def91612a2d565b610f69565b3d9150610f8b565b3461020e57600036600319011261020e5760015460405160089190911c6001600160a01b03168152602090f35b3461020e57600036600319011261020e5761033160405161031d8161065081612ab3565b3461020e57600036600319011261020e576020602454604051908152f35b3461020e57600036600319011261020e576020611043613185565b6040519015158152f35b3461020e57604036600319011261020e576110666128f9565b6024356001600160401b03811161020e5761108590369060040161298b565b60018060a01b0360015460081c168033149081156110f5575b50906000926110ad8493612a41565b82602083519301915af16110bf612dd3565b50156110c757005b60405162461bcd60e51b815260206004820152600660248201526519985a5b195960d21b6044820152606490fd5b604051631113f57f60e01b81529150602090829060049082905afa90811561045957600091611132575b506001600160a01b03163314600061109e565b9190506020823d602011611170575b8161114e60209383612890565b8101031261020e576000926110ad6111668594612a2d565b929350509261111f565b3d9150611141565b600036600319011261020e5760005461144857606060405161119a8282612890565b60028152601f1982013660208301376040519060606111b98184612890565b6002835283908390601f190160005b818110611438576040516112d8858560006111f58a6111e68761285a565b80875260208701938452613143565b5260026112028551613150565b5261126661124661125460405163cf5303cf60e01b60208201526004815261122b602482612890565b604051928391306020840152604080840152878301906128d4565b03601f198101835282612890565b82519061126082613143565b52613143565b50602093849261129260405161127c8682612890565b6000815284519061128c82613150565b52613150565b506040519263373be68360e11b858501528484526112b1604085612890565b604051633323b46760e01b81523060048201526080602482015295869460848601906128d4565b926003198585030160448601528560408501915193604086528451809352850193019060005b8181106113f45750505051918481830391015281518082528482019185808360051b8301019401926000915b8383106113c657505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60648601525050508190038160007f000000000000000000000000afd37d0558255aa687167560cd3aaeea75c2841e6001600160a01b03165af191821561045957600092611398575b6000839055005b90809250813d83116113bf575b6113af8183612890565b8101031261020e57518180611391565b503d6113a5565b9295509295806113e360019396601f1986820301875289516128d4565b97019301930187959387959261132a565b92949650929080955051906006821015611422578881600193829352019501910190869492889694926112fe565b634e487b7160e01b600052602160045260246000fd5b60208184018101859052016111c8565b60405162461bcd60e51b8152602060048201526007602482015266616c726561647960c81b6044820152606490fd5b3461020e57600036600319011261020e576060611492612e27565b906040519215158352151560208301526040820152f35b3461020e576114b7366129c0565b60015460081c6001600160a01b031633811480156115dc575b6114da9150612a41565b80516001600160401b038111610f2c576114f5602354612820565b601f811161159f575b50602091601f82116001146115335761152e9260009183610e495750508160011b916000199060031b1c19161790565b602355005b601f198216926023600052600080516020614d6b8339815191529160005b8581106115875750836001951061156e575b505050811b01602355005b015160001960f88460031b161c19169055828080611563565b91926020600181928685015181550194019201611551565b60236000526115d690600080516020614d6b833981519152601f840160051c81019160208510610f2257601f0160051c0190612e03565b826114fe565b50602060049160405192838092631113f57f60e01b82525afa801561045957600090611618575b6114da91506001600160a01b031633146114d0565b506020813d60201161164b575b8161163260209383612890565b8101031261020e576116466114da91612a2d565b611603565b3d9150611625565b3461020e57600036600319011261020e57602060ff602854166040519015158152f35b3461020e57600036600319011261020e57600154600881901c6001600160a01b0316338114801561173e575b6116ac9150612a41565b60ff602854166117085760ff166004811015611422576002036116d5576001805460ff19169055005b60405162461bcd60e51b815260206004820152600b60248201526a1b9bdd081b585b9859d95960aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d68696768207269736b2073696c6f60901b6044820152606490fd5b50602060049160405192838092631113f57f60e01b82525afa80156104595760009061177a575b6116ac91506001600160a01b031633146116a2565b506020813d6020116117ad575b8161179460209383612890565b8101031261020e576117a86116ac91612a2d565b611765565b3d9150611787565b3461020e57600036600319011261020e576001546001600160a01b03600882901c1633811491908215611844575b506117ef60ff92612a41565b166004811015611422576003036118125761000f600260ff196001541617600155565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081d5b9dda5b9960b21b6044820152606490fd5b604051631113f57f60e01b81529250602090839060049082905afa91821561045957600092611886575b506001600160a01b03919091163314906117ef6117e3565b91506020823d6020116118be575b816118a160209383612890565b8101031261020e576117ef6118b760ff93612a2d565b925061186e565b3d9150611894565b3461020e57604036600319011261020e5760043580151580820361020e57602435917f000000000000000000000000eaddd3d9ae9f916a6b20346843c69db27751dbb76001600160a01b03163303611b565715611b245760ff60015416906004821015611422577f84a2401bd1b19b99661ef428440a33df125822e97cf2dc91257d873e07f803a592600360609303611b0e575b60ff60285460081c16611b00575b6101328114611aea575b6025549160405192835260208301526040820152a160408051635c08631b60e11b815290816004817f000000000000000000000000afd37d0558255aa687167560cd3aaeea75c2841e6001600160a01b03165afa8015610459576000918291611aa6575b506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8103611a7a57506000808080937f00000000000000000000000092478c7eccb3c7a3932263712c1555dbaea7d56c5af1611a2d612dd3565b5015611a3557005b60405162461bcd60e51b815260206004820152601e60248201527f5f7472616e736665723a20455448207472616e73666572206661696c656400006044820152606490fd5b9061000f917f00000000000000000000000092478c7eccb3c7a3932263712c1555dbaea7d56c906146eb565b9190506040823d604011611ae2575b81611ac260409383612890565b81010312611adf5750611ad9602082519201612a2d565b826119d6565b80fd5b3d9150611ab5565b611af2613a14565b945050505050602955611972565b611b08613b8b565b50611968565b611b1f600160ff1981541617600155565b61195a565b6060907f84a2401bd1b19b99661ef428440a33df125822e97cf2dc91257d873e07f803a592611b51614792565b611968565b60405162461bcd60e51b81526020600482015260036024820152621b9bdd60ea1b6044820152606490fd5b3461020e57600036600319011261020e5760018060a01b0360015460081c1660206025546024604051809481936331a9108f60e11b835260048301525afa801561045957600090611bfc575b611be291506001600160a01b03163314612a7b565b4780611bea57005b600080808093335af15061000f612dd3565b506020813d602011611c2f575b81611c1660209383612890565b8101031261020e57611c2a611be291612a2d565b611bcd565b3d9150611c09565b3461020e57600036600319011261020e576020604051737506c12a824d73d9b08564d5afc22c949434755e8152f35b3461020e57602036600319011261020e5760015460081c6001600160a01b03163381148015611ca1575b611c9990612a41565b600435602655005b50602060049160405192838092631113f57f60e01b82525afa801561045957600090611cdd575b611c9991506001600160a01b03163314611c90565b506020813d602011611d10575b81611cf760209383612890565b8101031261020e57611d0b611c9991612a2d565b611cc8565b3d9150611cea565b3461020e57600036600319011261020e5760ff600154166040516004821015611422576020918152f35b3461020e57600036600319011261020e576040611d5d612c75565b8251911515825215156020820152f35b3461020e57600036600319011261020e576001546001600160a01b03600882901c1633811491908215611df9575b50611da760ff92612a41565b16600481101561142257611dc75761000f600260ff196001541617600155565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081c185d5cd95960b21b6044820152606490fd5b604051631113f57f60e01b81529250602090839060049082905afa91821561045957600092611e3b575b506001600160a01b0391909116331490611da7611d9b565b91506020823d602011611e73575b81611e5660209383612890565b8101031261020e57611da7611e6c60ff93612a2d565b9250611e23565b3d9150611e49565b3461020e57604036600319011261020e57611e946128f9565b611e9c61290f565b60015490919060081c6001600160a01b03163381148015611f3b575b611ec29150612a41565b6040516370a0823160e01b8152306004820152916001600160a01b039190911690602083602481855afa91821561045957600092611f05575b61000f93506146eb565b91506020833d602011611f33575b81611f2060209383612890565b8101031261020e5761000f925191611efb565b3d9150611f13565b50602060049160405192838092631113f57f60e01b82525afa801561045957600090611f77575b611ec291506001600160a01b03163314611eb8565b506020813d602011611faa575b81611f9160209383612890565b8101031261020e57611fa5611ec291612a2d565b611f62565b3d9150611f84565b3461020e5760e036600319011261020e57366023121561020e57604051611fda60a082612890565b803660a41161020e576004905b60a482106121d8578260a4356001600160401b03811161020e573660238201121561020e57806004013561201a816129a9565b916120286040519384612890565b8183526024602084019260051b8201019036821161020e5760248101925b8284106121a9578560c435866001600160401b03821161020e573660238301121561020e5781600401359161207a836129a9565b926120886040519485612890565b8084526024602085019160051b8301019136831161020e57602401905b82821061219157505060015460081c6001600160a01b03169050338114801561211a575b6120d39150612a41565b60ff60285460081c166120e95761000f92613f31565b60405162461bcd60e51b815260206004820152600960248201526819195c1bdcda5d195960ba1b6044820152606490fd5b50602060049160405192838092631113f57f60e01b82525afa801561045957600090612156575b6120d391506001600160a01b031633146120c9565b506020813d602011612189575b8161217060209383612890565b8101031261020e576121846120d391612a2d565b612141565b3d9150612163565b6020809161219e84612925565b8152019101906120a5565b83356001600160401b03811161020e576020916121cd83926024369187010161298b565b815201930192612046565b602080916121e584612925565b815201910190611fe7565b3461020e57600036600319011261020e5760018060a01b0360015460081c16602554604051906331a9108f60e11b82526004820152602081602481855afa801561045957600090612570575b61225191506001600160a01b03163314612a7b565b60405163e3429bb360e01b81526020600482015260008160235461227481612820565b9081602484015260018116908160001461254e5750600114612505575b50806020920381855afa908115610459576000916124d3575b50604051637dbfd74960e11b81526004810182905260a081602481865afa9081156104595760009161249a575b50604051632131d8a960e01b81526004810183905291600083602481875afa928315610459576000936123fc575b5060009060246040518096819363044990b560e41b835260048301525afa9081156104595760009161233c575b61000f9350613f31565b903d8082863e61234c8186612890565b8401936020818603126123f4578051906001600160401b0382116123f8570184601f820112156123f4578051612381816129a9565b9261238f6040519485612890565b81845260208085019260051b840101928784116123f45760208101925b8484106123c357505050505061000f935090612332565b83516001600160401b0381116123f0576020916123e58b848094870101612c26565b8152019301926123ac565b8380fd5b5080fd5b8280fd5b9290923d8083833e61240e8183612890565b8101906020818303126123f8578051906001600160401b0382116123f0570181601f820112156123f857805190612444826129a9565b936124526040519586612890565b82855260208086019360051b830101938411611adf5750602001905b828210612482575050506000909290612305565b6020809161248f84612a2d565b81520191019061246e565b905060a03d60a0116124cc575b6124b18183612890565b810160a08282031261020e576124c691612bd7565b836122d7565b503d6124a7565b906020823d6020116124fd575b816124ed60209383612890565b81010312611adf575051826122aa565b3d91506124e0565b60236000908152919250600080516020614d6b8339815191525b81831061253457505081016044019080612291565b80548386016044015284935060209092019160010161251f565b60ff191660448085019190915291151560051b83019091019250819050612291565b506020813d6020116125a3575b8161258a60209383612890565b8101031261020e5761259e61225191612a2d565b61223c565b3d915061257d565b3461020e57602036600319011261020e5760015460081c6001600160a01b031633811480156125e9575b6125de90612a41565b61000f600435613e4f565b50602060049160405192838092631113f57f60e01b82525afa801561045957600090612625575b6125de91506001600160a01b031633146125d5565b506020813d602011612658575b8161263f60209383612890565b8101031261020e576126536125de91612a2d565b612610565b3d9150612632565b3461020e57600036600319011261020e576040517f000000000000000000000000eaddd3d9ae9f916a6b20346843c69db27751dbb76001600160a01b03168152602090f35b3461020e57600036600319011261020e576020602554604051908152f35b3461020e57608036600319011261020e576126dc6128f9565b506126e561290f565b506064356001600160401b03811161020e5761270590369060040161298b565b50604051630a85bd0160e11b8152602090f35b3461020e57600036600319011261020e576020602654604051908152f35b3461020e57600036600319011261020e576040516022546000908161275a82612820565b80855291600181169081156103805750600114612781576103318461031d81860382612890565b602281527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510939250905b8082106127c45750909150810160200161031d8261030d565b9192600181602092548385880101520191019092916127ab565b3461020e57600036600319011261020e577f000000000000000000000000afd37d0558255aa687167560cd3aaeea75c2841e6001600160a01b03168152602090f35b90600182811c92168015612850575b602083101461283a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161282f565b604081019081106001600160401b03821117610f2c57604052565b60a081019081106001600160401b03821117610f2c57604052565b90601f801991011681019081106001600160401b03821117610f2c57604052565b60005b8381106128c45750506000910152565b81810151838201526020016128b4565b906020916128ed815180928185528580860191016128b1565b601f01601f1916010190565b600435906001600160a01b038216820361020e57565b602435906001600160a01b038216820361020e57565b35906001600160a01b038216820361020e57565b6001600160401b038111610f2c57601f01601f191660200190565b92919261296082612939565b9161296e6040519384612890565b82948184528183011161020e578281602093846000960137010152565b9080601f8301121561020e578160206129a693359101612954565b90565b6001600160401b038111610f2c5760051b60200190565b602060031982011261020e57600435906001600160401b03821161020e578060238301121561020e578160246129a693600401359101612954565b906000905b60058210612a0d57505050565b82516001600160a01b031681526020928301926001929092019101612a00565b51906001600160a01b038216820361020e57565b15612a4857565b60405162461bcd60e51b815260206004820152600b60248201526a6e6f7420666163746f727960a81b6044820152606490fd5b15612a8257565b60405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b6044820152606490fd5b60175460009291612ac382612820565b8082529160018116908115612b385750600114612ade575050565b601760009081529293509091907fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c155b838310612b1e575060209250010190565b600181602092949394548385870101520191019190612b0d565b9050602093945060ff929192191683830152151560051b010190565b60009291815491612b6483612820565b8083529260018116908115612bba5750600114612b8057505050565b60009081526020812093945091925b838310612ba0575060209250010190565b600181602092949394548385870101520191019190612b8f565b915050602093945060ff929192191683830152151560051b010190565b9080601f8301121561020e5760405191612bf260a084612890565b829060a0810192831161020e57905b828210612c0e5750505090565b60208091612c1b84612a2d565b815201910190612c01565b81601f8201121561020e578051612c3c81612939565b92612c4a6040519485612890565b8184526020828401011161020e576129a691602080850191016128b1565b5190811515820361020e57565b60165460018054909291839160081c6001600160a01b03169060005b818110612c9f575050509190565b600a8110156104d057600181901b6003810154604051630b46ca7b60e41b81526001600160a01b039091166004820181905291602082602481895afa91821561045957600092612d8f575b50602090612d17936040518080968194630395834f60e11b83528660048401526024830190600201612b54565b03915afa91821561045957600092612d54575b508015612d4c575b508015612d43575b50600101612c91565b95506001612d3a565b945038612d32565b90916020823d8211612d87575b81612d6e60209383612890565b81010312611adf5750612d8090612c68565b9038612d2a565b3d9150612d61565b90916020823d8211612dcb575b81612da960209383612890565b81010312611adf5750612d179291612dc2602092612c68565b92935090612cea565b3d9150612d9c565b3d15612dfe573d90612de482612939565b91612df26040519384612890565b82523d6000602084013e565b606090565b818110612e0e575050565b60008155600101612e03565b9190820180921161089f57565b60009060ff6001541660048110156114225760038103612e7c57506001908190602c54151580612e70575b80612e65575b612e5f575b565b92508192565b50602b541515612e58565b50602b54431015612e52565b60009160009160265490811515908161311d575b81613112575b5061301f575b508315612ea557565b6016546000805b828110612eb857505050565b801580801580613002575b50612f07575b5086612ed757600101612eac565b9293509350506000926001820180921161089f5760648202918083046064149015171561089f576129a691612e1a565b96509050600a8110156104d0578060011b90612f54604060018060a01b03600385015416936000948251808095819463022c86eb60e11b8352602060048401526024830190600201612b54565b03915afa8015612ff75783918491612fb8575b50928198899281612fb0575b50612f7f575b50612ec9565b9050612f89612c75565b15908115612fa7575b50612f9f575b8790612f79565b965038612f98565b90501538612f92565b905038612f73565b9150506040813d8211612fef575b81612fd360409383612890565b810103126123f8576020612fe682612c68565b91015138612f67565b3d9150612fc6565b6040513d85823e3d90fd5b905080613010575b38612ec3565b5060ff60285460081c1661300a565b61302d919450602754612e1a565b421015928361303d575b38612e9c565b60006016545b808210613051575050613037565b909450600a8510156104d0578461309d9560011b602060018060a01b036003830154169160009260405180809b8194636e04ff0d60e01b83528660048401526024830190600201612b54565b03915afa9687156131055781976130c6575b5086156130c0575060010190613043565b95505050565b9096506020813d82116130fd575b816130e160209383612890565b810103126130f9576130f290612c68565b95386130af565b8680fd5b3d91506130d4565b50604051903d90823e3d90fd5b600291501438612e96565b905060ff60285460081c168015613135575b90612e90565b5061313e613185565b61312f565b8051156104d05760200190565b8051600110156104d05760400190565b80518210156104d05760209160051b010190565b9060058110156104d05760051b0190565b6040516131958161065081612ab3565b805181019060a08183031261020e576020806131b393019101612bd7565b60005b600581106131c5575050600090565b6001600160a01b036131d78284613174565b51166131e6575b6001016131b6565b602460206001600160a01b036131fc8486613174565b5116604051928380926370a0823160e01b82523060048301525afa9081156104595760009161326a575b50801515908161323e575b50156131de575050600190565b90506001600160a01b036132528385613174565b5116600052602d602052604060002054111538613231565b906020823d8211613293575b8161328360209383612890565b81010312611adf57505138613226565b3d9150613276565b91906101408382031261020e578060a06132b86129a69386612bd7565b9401612bd7565b156132c657565b60405162461bcd60e51b815260206004820152601560248201527418dbdb999a59dd5c985d1a5bdb881a5b9d985b1a59605a1b6044820152606490fd5b919080519283516001600160401b038111610f2c576133228254612820565b601f81116133fe575b506020601f821160011461339557908061336092600195969760009261338a5750508160011b916000199060031b1c19161790565b81555b0190602060018060a01b03910151166bffffffffffffffffffffffff60a01b825416179055565b015190503880610e2f565b601f1982169583600052816000209660005b8181106133e657509160019596979184879594106133cd575b505050811b018155613363565b015160001960f88460031b161c191690553880806133c0565b838301518955600190980197602093840193016133a7565b61342a90836000526020600020601f840160051c81019160208510610f2257601f0160051c0190612e03565b3861332b565b600154604051631113f57f60e01b8152600091600881901c6001600160a01b031691602081600481865afa8015610459576000906139da575b60ff92909216926004841015929091506001600160a01b0316826114225783156139ac5760285460ff81166137f3575b5060206025546024604051809581936331a9108f60e11b835260048301525afa918215610459576000926137b7575b508415806136c6575b613553575b505050501561350a575b604051906134ef604083612890565b60088252676e6f74206175746f60c01b602083015260009190565b613512612e27565b8291939261352357505090506134e0565b6040519363373be68360e11b60208601521515602485015260448401526044835261354f606484612890565b9190565b61355b612c75565b60405163276a479b60e11b81526001600160a01b0390941660048501819052919390929190602081602481865afa9081156104595760009161368c575b50159384613683575b5083156135ff575b5050506135b8575b80806134d6565b611422576002146135ca5738806135b1565b506040519063373be68360e11b60208301526001602483015260056044830152604482526135f9606483612890565b60019190565b602091929350602460405180948193632ac5308160e11b835260048301525afa90811561045957600091613649575b50159081613640575b503880806135a9565b90501538613637565b90506020813d60201161367b575b8161366460209383612890565b8101031261020e5761367590612c68565b3861362e565b3d9150613657565b159350386135a1565b90506020813d6020116136be575b816136a760209383612890565b8101031261020e576136b890612c68565b38613598565b3d915061369a565b5060405163276a479b60e11b81526001600160a01b0383166004820181905290602081602481865afa9081156104595760009161377d575b501590811561370e575b506134d1565b905060405190632ac5308160e11b82526004820152602081602481855afa90811561045957600091613743575b501538613708565b90506020813d602011613775575b8161375e60209383612890565b8101031261020e5761376f90612c68565b3861373b565b3d9150613751565b90506020813d6020116137af575b8161379860209383612890565b8101031261020e576137a990612c68565b386136fe565b3d915061378b565b9091506020813d6020116137eb575b816137d360209383612890565b8101031261020e576137e490612a2d565b90386134c8565b3d91506137c6565b60405163d9398c7360e01b81524790602081600481885afa9081156104595760009161396d575b5060405163e21a74b960e01b815290602090829060049082906001600160a01b03165afa9081156104595760009161393b575b50808210156138b557505083611422576002851490816138a7575b50613874575b38613499565b50505050506040519063373be68360e11b60208301526001602483015260036044830152604482526135f9606483612890565b60ff915060081c1638613868565b600095509150600186146138cb575b505061386e565b118061392d575b6138de575b38806138c4565b6138e6612c75565b81613925575b50156138d75750505050506040519063373be68360e11b60208301526000602483015260046044830152604482526135f9606483612890565b9050386138ec565b50613936613185565b6138d2565b906020823d602011613965575b8161395560209383612890565b81010312611adf5750513861384d565b3d9150613948565b90506020813d6020116139a4575b8161398860209383612890565b8101031261020e57602061399d600492612a2d565b915061381a565b3d915061397b565b5050505050604051906139c0604083612890565b60078252661b9bc818d85b1b60ca1b602083015260009190565b506020813d602011613a0c575b816139f460209383612890565b8101031261020e57613a0760ff91612a2d565b613469565b3d91506139e7565b602a54600a8110156104d057613a609060011b608060018060a01b0360038301541691600092604051808096819463b076cfdd60e01b8352602060048401526024830190600201612b54565b03915afa918215613105578192613aae575b508151602083019384519460606040860151950193845194600019905114600014613aa257505160029594939291565b60019695949392909150565b90915060803d608011613b20575b613ac68183612890565b81016080828203126123f85780601f830112156123f85760405191613aec608084612890565b829060808101928311613b1c57905b828210613b0c575050509038613a72565b8151815260209182019101613afb565b8480fd5b503d613abc565b919060a08301926000905b60058210613b3f57505050565b6020806001928551815201930191019091613b32565b6001600160a01b0390911681526060602082018190526129a6939192613b7d91840190612b54565b9160408184039101526128d4565b60009060ff60285460081c1615613e1d57611246613bdd604051613bae81612875565b600081526000602082015260006040820152600060608201526000608082015260405192839160208301613b27565b6001601654915b828210613d735750505060285460ff8160181c16600014613d695750613c08613a14565b5050602b55602c5560015490915060ff8116600481101561142257600314613cdf575b506001546040516318b770eb60e31b81529091602082600481600887901c6001600160a01b03165afa91821561045957600092613cab575b5011613c86575061ff001960285416602855612e5d600160ff1981541617600155565b60ff16600481101561142257600314612e5d57612e5d600360ff196001541617600155565b9091506020813d602011613cd7575b81613cc760209383612890565b8101031261020e57519038613c63565b3d9150613cba565b6025546040516331a9108f60e11b81526004810191909152906020908290602490829060081c6001600160a01b03165afa801561045957600090613d2e575b613d289150614c4b565b38613c2b565b506020813d602011613d61575b81613d4860209383612890565b8101031261020e57613d5c613d2891612a2d565b613d1e565b3d9150613d3b565b61ff001916602855565b600a8210156104d057600080918360011b611246613dba60018060a01b0360038401541693604051928391602083019563ec6cf1eb60e01b87526002018760248501613b55565b51915af4613dc6612dd3565b9015613dd757600190910190613be4565b610869613de383614a20565b610849603460405180937303bb4ba34323930bb903330b4b632b21030ba1d160651b602083015261083881518092602086860191016128b1565b60405162461bcd60e51b815260206004820152600a6024820152696e6f2062616c616e636560b01b6044820152606490fd5b9060009160ff60285460081c1615613e1d57613ea26112469160405190613e7582612875565b81526000602082015260006040820152600060608201526000608082015260405192839160208301613b27565b6001601654915b828210613ecd5750505060285460ff8160181c16600014613d695750613c08613a14565b600a8210156104d057600080918360011b611246613f1460018060a01b0360038401541693604051928391602083019563ec6cf1eb60e01b87526002018760248501613b55565b51915af4613f20612dd3565b9015613dd757600190910190613ea9565b91909182518251036146b35760025b60168110614649575060405160a0906000613f5b8383612890565b50813682375081600060405190613f728483612890565b50823682375060ff196028541660285560006020604051613f928161285a565b60608152015283519384601655600091600019860193868511935b878110613fec57505050505050505050613fc5613a14565b94935050505063ff0000006001602854921460181b169063ff000000191617602855602955565b60049260006001600160a01b036140038488613160565b5116604051958680926330fe427560e21b82525afa93841561045957600094614607575b5083518690156144c35761089f578187036144a35783518401838582031261020e576020614059910160208601612bd7565b90614098602083965b6001600160a01b03614074878b613160565b5116604051808095819463a913b88160e01b835286600484015260248301906128d4565b03915afa801561045957600090614469575b6140b491506132bf565b60005b600581106143f757505050826140cd828b613160565b516001600160a01b036140e08488613160565b5116604051916140ef8361285a565b82526020820152600a8310156104d05761410f908360011b600201613303565b8560285460ff81161580614367575b614357575b5061089f5786821461416b575b508060019115614153575b61414d600260ff196001541617600155565b01613fad565b614166614160828c613160565b51614b8f565b61413b565b60405161417b602082018a6129fb565b61418860c08201836129fb565b610140815261419961016082612890565b8051906001600160401b038211610f2c576141b5601754612820565b601f8111614308575b50602090601f8311600114614282576141ef92916000918361338a5750508160011b916000199060031b1c19161790565b6017555b60005b600581106142045750614130565b6001600160a01b03614216828b613174565b5116600a8210156104d0576018820180546001600160a01b0319166001600160a01b039283161790556142498284613174565b511690600a6005820110156104d057601d810180546001600160a01b0319166001600160a01b03909316929092179091556001016141f6565b90601f1983169160176000527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c159260005b8181106142f057509084600195949392106142d7575b505050811b016017556141f3565b015160001960f88460031b161c191690553880806142c9565b929360206001819287860151815501950193016142b3565b6017600052614351907fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15601f850160051c81019160208610610f2257601f0160051c0190612e03565b386141be565b60ff191660011760285538614123565b5060015460081c6001600160a01b039081169250602090614388868a613160565b5116602460405180958193637435d6f760e01b835260048301525afa80156104595788926000916143ba575b5061411e565b9192506020823d82116143ef575b816143d560209383612890565b81010312611adf5750906143e98892612c68565b386143b4565b3d91506143c8565b6001600160a01b036144098285613174565b51166001600160a01b0361441d8385613174565b51160361442c576001016140b7565b60405162461bcd60e51b81526020600482015260156024820152740d2dce0eae85edeeae8e0eae840dad2e6dac2e8c6d605b1b6044820152606490fd5b6020823d821161449b575b8161448160209383612890565b81010312611adf57506144966140b491612c68565b6140aa565b3d9150614474565b926020936140986144bb86845185010187850161329b565b969093614062565b90935061089f578086036145e4576144db818a613160565b518051810190838183031261020e576020806144f993019101612bd7565b80935b61454460208c614520866001600160a01b03614518828d613160565b511692613160565b5190604051808095819463a913b88160e01b835286600484015260248301906128d4565b03915afa908115610459576000916145ab575b506140b45761086961456884614a20565b610849603960405180937f636f6e66696775726174696f6e20696e76616c69642061743a00000000000000602083015261083881518092602086860191016128b1565b906020823d82116145dc575b816145c460209383612890565b81010312611adf57506145d690612c68565b38614557565b3d91506145b7565b6146016145f1828b613160565b516020808251830101910161329b565b936144fc565b90933d8082843e6146188184612890565b8201916020818403126123f4578051916001600160401b038311611adf5750614642929101612c26565b9238614027565b8061465660029254612820565b8061466a575b506000600182015501613f40565b601f81116001146146815750600081555b3861465c565b6146a090826000526001601f6020600020920160051c82019101612e03565b806000526000602081208183555561467b565b60405162461bcd60e51b815260206004820152601060248201526f0d2dce0eae8e64040dad2e6dac2e8c6d60831b6044820152606490fd5b600061474592819260405195602087019263a9059cbb60e01b845260018060a01b03166024880152604487015260448652614727606487612890565b60018060a01b031694519082865af161473e612dd3565b9083614d09565b805190811515918261476f575b505061475b5750565b635274afe760e01b60005260045260246000fd5b819250906020918101031261020e57602061478a9101612c68565b153880614752565b60405160a06147a18183612890565b803683376040516147b58161065081612ab3565b80518101918183031261020e576020806147d193019101612bd7565b60005b600581106148ca5750506147f46112469160405192839160208301613b27565b6001916003601654106148c1575b91905b6016548210156148b957600a8210156104d057600080918360011b61124661485660018060a01b03600384015416936040519283916020830195636989890360e01b87526002018760248501613b55565b51915af4614862612dd3565b901561487357600190910190614805565b61086961487f83614a20565b6108496034604051809373039ba3930ba32b3bc903330b4b632b21030ba1d160651b602083015261083881518092602086860191016128b1565b505042602755565b60009250614802565b6001600160a01b036148dc8284613174565b51166148eb575b6001016147d4565b602460206001600160a01b036149018486613174565b5116604051928380926370a0823160e01b82523060048301525afa908115610459576000916149ef575b50801515806149c4575b614940575b506148e3565b61494a8285613174565b5260285460ff8160081c16156149b2575b5060ff6001541690600482101561142257600180921461499b575b60285460ff8160101c1661498c575b509061493a565b62ff0000191660285538614985565b6149ad600260ff196001541617600155565b614976565b61ff001916610100176028553861495b565b506001600160a01b036149d78385613174565b5116600052602d602052604060002054811015614935565b906020823d8211614a18575b81614a0860209383612890565b81010312611adf5750513861492b565b3d91506149fb565b8060009172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b821015614b6c575b806d04ee2d6d415b85acef8100000000600a921015614b51575b662386f26fc10000811015614b3d575b6305f5e100811015614b2c575b612710811015614b1d575b6064811015614b0f575b1015614b04575b600a60216001840193614aa885612939565b94614ab66040519687612890565b808652614ac5601f1991612939565b013660208701378401015b60001901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353048015614aff57600a9091614ad0565b505090565b600190910190614a96565b606460029104930192614a8f565b61271060049104930192614a85565b6305f5e10060089104930192614a7a565b662386f26fc1000060109104930192614a6d565b6d04ee2d6d415b85acef810000000060209104930192614a5d565b506040915072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8104614a43565b805181016101e0826020830192031261020e57614baf8160208401612bd7565b90614bbd8160c08501612bd7565b508061017f8401121561020e5760405192614bd960a085612890565b8390610200810192831161020e5761016001905b828210614c3b5750505060005b60058110614c0757505050565b80614c1460019285613174565b51828060a01b03614c258386613174565b5116600052602d60205260406000205501614bfa565b8151815260209182019101614bed565b6000915b600a831015614d045760188301546001600160a01b031692600084614c7a575b506001019250614c4f565b506040516370a0823160e01b815230600482015293602085602481845afa94851561045957600095614cce575b5084846001949596614cbd575b94935050614c6f565b614cc6926146eb565b388085614cb4565b6020813d8211614cfc575b81614ce660209383612890565b81010312614cf8575194506001614ca7565b8580fd5b3d9150614cd9565b915050565b90614d2f5750805115614d1e57805190602001fd5b630a12f52160e11b60005260046000fd5b81511580614d61575b614d40575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15614d3856fed57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230a264697066735822122038e541fbb266852c990b99dbd458bc4a9ad5428f933246f630022093a25ed90164736f6c634300081c0033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.