Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DODOZoo
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-07 */ // File: contracts/lib/Ownable.sol /* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; /** * @title Ownable * @author DODO Breeder * * @notice Ownership related functions */ contract Ownable { address public _OWNER_; address public _NEW_OWNER_; // ============ Events ============ event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // ============ Modifiers ============ modifier onlyOwner() { require(msg.sender == _OWNER_, "NOT_OWNER"); _; } // ============ Functions ============ constructor() internal { _OWNER_ = msg.sender; emit OwnershipTransferred(address(0), _OWNER_); } function transferOwnership(address newOwner) external onlyOwner { require(newOwner != address(0), "INVALID_OWNER"); emit OwnershipTransferPrepared(_OWNER_, newOwner); _NEW_OWNER_ = newOwner; } function claimOwnership() external { require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM"); emit OwnershipTransferred(_OWNER_, _NEW_OWNER_); _OWNER_ = _NEW_OWNER_; _NEW_OWNER_ = address(0); } } // File: contracts/intf/IDODO.sol /* Copyright 2020 DODO ZOO. */ interface IDODO { function init( address owner, address supervisor, address maintainer, address baseToken, address quoteToken, address oracle, uint256 lpFeeRate, uint256 mtFeeRate, uint256 k, uint256 gasPriceLimit ) external; function transferOwnership(address newOwner) external; function claimOwnership() external; function sellBaseToken( uint256 amount, uint256 minReceiveQuote, bytes calldata data ) external returns (uint256); function buyBaseToken( uint256 amount, uint256 maxPayQuote, bytes calldata data ) external returns (uint256); function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote); function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote); function depositBaseTo(address to, uint256 amount) external returns (uint256); function withdrawBase(uint256 amount) external returns (uint256); function withdrawAllBase() external returns (uint256); function depositQuoteTo(address to, uint256 amount) external returns (uint256); function withdrawQuote(uint256 amount) external returns (uint256); function withdrawAllQuote() external returns (uint256); function _BASE_CAPITAL_TOKEN_() external returns (address); function _QUOTE_CAPITAL_TOKEN_() external returns (address); function _BASE_TOKEN_() external returns (address); function _QUOTE_TOKEN_() external returns (address); } // File: contracts/helper/CloneFactory.sol /* Copyright 2020 DODO ZOO. */ interface ICloneFactory { function clone(address prototype) external returns (address proxy); } // introduction of proxy mode design: https://docs.openzeppelin.com/upgrades/2.8/ // minimum implementation of transparent proxy: https://eips.ethereum.org/EIPS/eip-1167 contract CloneFactory is ICloneFactory { function clone(address prototype) external override returns (address proxy) { bytes20 targetBytes = bytes20(prototype); assembly { let clone := mload(0x40) mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) mstore(add(clone, 0x14), targetBytes) mstore( add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000 ) proxy := create(0, clone, 0x37) } return proxy; } } // File: contracts/DODOZoo.sol /* Copyright 2020 DODO ZOO. */ /** * @title DODOZoo * @author DODO Breeder * * @notice Register of All DODO */ contract DODOZoo is Ownable { address public _DODO_LOGIC_; address public _CLONE_FACTORY_; address public _DEFAULT_SUPERVISOR_; mapping(address => mapping(address => address)) internal _DODO_REGISTER_; address[] public _DODOs; // ============ Events ============ event DODOBirth(address newBorn, address baseToken, address quoteToken); // ============ Constructor Function ============ constructor( address _dodoLogic, address _cloneFactory, address _defaultSupervisor ) public { _DODO_LOGIC_ = _dodoLogic; _CLONE_FACTORY_ = _cloneFactory; _DEFAULT_SUPERVISOR_ = _defaultSupervisor; } // ============ Admin Function ============ function setDODOLogic(address _dodoLogic) external onlyOwner { _DODO_LOGIC_ = _dodoLogic; } function setCloneFactory(address _cloneFactory) external onlyOwner { _CLONE_FACTORY_ = _cloneFactory; } function setDefaultSupervisor(address _defaultSupervisor) external onlyOwner { _DEFAULT_SUPERVISOR_ = _defaultSupervisor; } function removeDODO(address dodo) external onlyOwner { address baseToken = IDODO(dodo)._BASE_TOKEN_(); address quoteToken = IDODO(dodo)._QUOTE_TOKEN_(); require(isDODORegistered(baseToken, quoteToken), "DODO_NOT_REGISTERED"); _DODO_REGISTER_[baseToken][quoteToken] = address(0); for (uint256 i = 0; i < _DODOs.length - 1; i++) { if (_DODOs[i] == dodo) { _DODOs[i] = _DODOs[_DODOs.length - 1]; _DODOs.pop(); break; } } } function addDODO(address dodo) public onlyOwner { address baseToken = IDODO(dodo)._BASE_TOKEN_(); address quoteToken = IDODO(dodo)._QUOTE_TOKEN_(); require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED"); _DODO_REGISTER_[baseToken][quoteToken] = dodo; _DODOs.push(dodo); } // ============ Breed DODO Function ============ function breedDODO( address maintainer, address baseToken, address quoteToken, address oracle, uint256 lpFeeRate, uint256 mtFeeRate, uint256 k, uint256 gasPriceLimit ) external onlyOwner returns (address newBornDODO) { require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED"); newBornDODO = ICloneFactory(_CLONE_FACTORY_).clone(_DODO_LOGIC_); IDODO(newBornDODO).init( _OWNER_, _DEFAULT_SUPERVISOR_, maintainer, baseToken, quoteToken, oracle, lpFeeRate, mtFeeRate, k, gasPriceLimit ); addDODO(newBornDODO); emit DODOBirth(newBornDODO, baseToken, quoteToken); return newBornDODO; } // ============ View Functions ============ function isDODORegistered(address baseToken, address quoteToken) public view returns (bool) { if ( _DODO_REGISTER_[baseToken][quoteToken] == address(0) && _DODO_REGISTER_[quoteToken][baseToken] == address(0) ) { return false; } else { return true; } } function getDODO(address baseToken, address quoteToken) external view returns (address) { return _DODO_REGISTER_[baseToken][quoteToken]; } function getDODOs() external view returns (address[] memory) { return _DODOs; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_dodoLogic","type":"address"},{"internalType":"address","name":"_cloneFactory","type":"address"},{"internalType":"address","name":"_defaultSupervisor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newBorn","type":"address"},{"indexed":false,"internalType":"address","name":"baseToken","type":"address"},{"indexed":false,"internalType":"address","name":"quoteToken","type":"address"}],"name":"DODOBirth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_CLONE_FACTORY_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DEFAULT_SUPERVISOR_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DODO_LOGIC_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_DODOs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dodo","type":"address"}],"name":"addDODO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"maintainer","type":"address"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"lpFeeRate","type":"uint256"},{"internalType":"uint256","name":"mtFeeRate","type":"uint256"},{"internalType":"uint256","name":"k","type":"uint256"},{"internalType":"uint256","name":"gasPriceLimit","type":"uint256"}],"name":"breedDODO","outputs":[{"internalType":"address","name":"newBornDODO","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"}],"name":"getDODO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDODOs","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"}],"name":"isDODORegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dodo","type":"address"}],"name":"removeDODO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_cloneFactory","type":"address"}],"name":"setCloneFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dodoLogic","type":"address"}],"name":"setDODOLogic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_defaultSupervisor","type":"address"}],"name":"setDefaultSupervisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610fc4380380610fc483398101604081905261002f916100ba565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b039485166001600160a01b03199182161790915560038054938516938216939093179092556004805491909316911617905561011e565b6000806000606084860312156100ce578283fd5b83516100d981610106565b60208501519093506100ea81610106565b60408501519092506100fb81610106565b809150509250925092565b6001600160a01b038116811461011b57600080fd5b50565b610e978061012d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063816bd40e116100a2578063eb774d0511610071578063eb774d05146101e4578063ecfa2d24146101ec578063eef55d3d146101ff578063f2fde38b14610212578063fa20e0d9146102255761010b565b8063816bd40e146101a15780638456db15146101b45780639a07cd82146101bc578063a0b0a4d1146101c45761010b565b80634f4e6eea116100de5780634f4e6eea1461015357806352491217146101665780635891296f1461017b5780636ace4afd1461018e5761010b565b80631273b0c61461011057806316048bc4146101395780633e73d4b4146101415780634e71e0c814610149575b600080fd5b61012361011e366004610bc7565b610238565b6040516101309190610c96565b60405180910390f35b610123610267565b610123610276565b610151610285565b005b610151610161366004610b88565b61031c565b61016e610368565b6040516101309190610d2a565b610151610189366004610b88565b6103ca565b61012361019c366004610bff565b610624565b6101516101af366004610b88565b6107c9565b610123610815565b610123610824565b6101d76101d2366004610bc7565b610833565b6040516101309190610d77565b6101236108a4565b6101516101fa366004610b88565b6108b3565b61015161020d366004610b88565b610a6a565b610151610220366004610b88565b610ab6565b610123610233366004610c7e565b610b61565b6001600160a01b0380831660009081526005602090815260408083208585168452909152902054165b92915050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af90610d82565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146103465760405162461bcd60e51b81526004016102af90610e26565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060068054806020026020016040519081016040528092919081815260200182805480156103c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a2575b5050505050905090565b6000546001600160a01b031633146103f45760405162461bcd60e51b81526004016102af90610e26565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043157600080fd5b505af1158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610bab565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190610bab565b90506104ec8282610833565b6105085760405162461bcd60e51b81526004016102af90610df9565b6001600160a01b038083166000908152600560209081526040808320938516835292905290812080546001600160a01b03191690555b6006546000190181101561061e57836001600160a01b03166006828154811061056357fe5b6000918252602090912001546001600160a01b031614156106165760068054600019810190811061059057fe5b600091825260209091200154600680546001600160a01b0390921691839081106105b657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060068054806105ef57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561061e565b60010161053e565b50505050565b600080546001600160a01b0316331461064f5760405162461bcd60e51b81526004016102af90610e26565b6106598888610833565b156106765760405162461bcd60e51b81526004016102af90610da9565b6003546002546040516340925bc760e11b81526001600160a01b0392831692638124b78e926106aa92911690600401610c96565b602060405180830381600087803b1580156106c457600080fd5b505af11580156106d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fc9190610bab565b6000546004805460405163f00f9a0960e01b81529394506001600160a01b038086169463f00f9a09946107479490831693909216918f918f918f918f918f918f918f918f9101610ccd565b600060405180830381600087803b15801561076157600080fd5b505af1158015610775573d6000803e3d6000fd5b50505050610782816108b3565b7f5c428a2e12ecaa744a080b25b4cda8b86359c82d726575d7d747e07708071f938189896040516107b593929190610caa565b60405180910390a198975050505050505050565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016102af90610e26565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b038281166000908152600560209081526040808320858516845290915281205490911615801561088f57506001600160a01b038281166000908152600560209081526040808320878516845290915290205416155b1561089c57506000610261565b506001610261565b6003546001600160a01b031681565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016102af90610e26565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190610bab565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561099157600080fd5b505af11580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610bab565b90506109d58282610833565b156109f25760405162461bcd60e51b81526004016102af90610da9565b6001600160a01b03918216600090815260056020908152604080832093851683529290529081208054929093166001600160a01b031992831681179093556006805460018101825591527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180549091169091179055565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016102af90610e26565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016102af90610e26565b6001600160a01b038116610b065760405162461bcd60e51b81526004016102af90610dd2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60068181548110610b6e57fe5b6000918252602090912001546001600160a01b0316905081565b600060208284031215610b99578081fd5b8135610ba481610e49565b9392505050565b600060208284031215610bbc578081fd5b8151610ba481610e49565b60008060408385031215610bd9578081fd5b8235610be481610e49565b91506020830135610bf481610e49565b809150509250929050565b600080600080600080600080610100898b031215610c1b578384fd5b8835610c2681610e49565b97506020890135610c3681610e49565b96506040890135610c4681610e49565b95506060890135610c5681610e49565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600060208284031215610c8f578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039a8b168152988a1660208a0152968916604089015294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b6020808252825182820181905260009190848201906040850190845b81811015610d6b5783516001600160a01b031683529284019291840191600101610d46565b50909695505050505050565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600f908201526e1113d113d7d49151d254d511549151608a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601390820152721113d113d7d393d517d49151d254d511549151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6001600160a01b0381168114610e5e57600080fd5b5056fea2646970667358221220858e3418b47c1cdc82da1bedf16332e4327c780546912171ffb5452fc48f8e2164736f6c63430006090033000000000000000000000000f6a8e47daeeddcce297e7541523e27df2f167bf30000000000000000000000005e5a7b76462e4bdf83aa98795644281bdba80b880000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a2
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063816bd40e116100a2578063eb774d0511610071578063eb774d05146101e4578063ecfa2d24146101ec578063eef55d3d146101ff578063f2fde38b14610212578063fa20e0d9146102255761010b565b8063816bd40e146101a15780638456db15146101b45780639a07cd82146101bc578063a0b0a4d1146101c45761010b565b80634f4e6eea116100de5780634f4e6eea1461015357806352491217146101665780635891296f1461017b5780636ace4afd1461018e5761010b565b80631273b0c61461011057806316048bc4146101395780633e73d4b4146101415780634e71e0c814610149575b600080fd5b61012361011e366004610bc7565b610238565b6040516101309190610c96565b60405180910390f35b610123610267565b610123610276565b610151610285565b005b610151610161366004610b88565b61031c565b61016e610368565b6040516101309190610d2a565b610151610189366004610b88565b6103ca565b61012361019c366004610bff565b610624565b6101516101af366004610b88565b6107c9565b610123610815565b610123610824565b6101d76101d2366004610bc7565b610833565b6040516101309190610d77565b6101236108a4565b6101516101fa366004610b88565b6108b3565b61015161020d366004610b88565b610a6a565b610151610220366004610b88565b610ab6565b610123610233366004610c7e565b610b61565b6001600160a01b0380831660009081526005602090815260408083208585168452909152902054165b92915050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6001546001600160a01b031633146102b85760405162461bcd60e51b81526004016102af90610d82565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146103465760405162461bcd60e51b81526004016102af90610e26565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b606060068054806020026020016040519081016040528092919081815260200182805480156103c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a2575b5050505050905090565b6000546001600160a01b031633146103f45760405162461bcd60e51b81526004016102af90610e26565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043157600080fd5b505af1158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610bab565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190610bab565b90506104ec8282610833565b6105085760405162461bcd60e51b81526004016102af90610df9565b6001600160a01b038083166000908152600560209081526040808320938516835292905290812080546001600160a01b03191690555b6006546000190181101561061e57836001600160a01b03166006828154811061056357fe5b6000918252602090912001546001600160a01b031614156106165760068054600019810190811061059057fe5b600091825260209091200154600680546001600160a01b0390921691839081106105b657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060068054806105ef57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561061e565b60010161053e565b50505050565b600080546001600160a01b0316331461064f5760405162461bcd60e51b81526004016102af90610e26565b6106598888610833565b156106765760405162461bcd60e51b81526004016102af90610da9565b6003546002546040516340925bc760e11b81526001600160a01b0392831692638124b78e926106aa92911690600401610c96565b602060405180830381600087803b1580156106c457600080fd5b505af11580156106d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fc9190610bab565b6000546004805460405163f00f9a0960e01b81529394506001600160a01b038086169463f00f9a09946107479490831693909216918f918f918f918f918f918f918f918f9101610ccd565b600060405180830381600087803b15801561076157600080fd5b505af1158015610775573d6000803e3d6000fd5b50505050610782816108b3565b7f5c428a2e12ecaa744a080b25b4cda8b86359c82d726575d7d747e07708071f938189896040516107b593929190610caa565b60405180910390a198975050505050505050565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016102af90610e26565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b038281166000908152600560209081526040808320858516845290915281205490911615801561088f57506001600160a01b038281166000908152600560209081526040808320878516845290915290205416155b1561089c57506000610261565b506001610261565b6003546001600160a01b031681565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016102af90610e26565b6000816001600160a01b0316634a248d2a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190610bab565b90506000826001600160a01b031663d4b970466040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561099157600080fd5b505af11580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610bab565b90506109d58282610833565b156109f25760405162461bcd60e51b81526004016102af90610da9565b6001600160a01b03918216600090815260056020908152604080832093851683529290529081208054929093166001600160a01b031992831681179093556006805460018101825591527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180549091169091179055565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016102af90610e26565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016102af90610e26565b6001600160a01b038116610b065760405162461bcd60e51b81526004016102af90610dd2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60068181548110610b6e57fe5b6000918252602090912001546001600160a01b0316905081565b600060208284031215610b99578081fd5b8135610ba481610e49565b9392505050565b600060208284031215610bbc578081fd5b8151610ba481610e49565b60008060408385031215610bd9578081fd5b8235610be481610e49565b91506020830135610bf481610e49565b809150509250929050565b600080600080600080600080610100898b031215610c1b578384fd5b8835610c2681610e49565b97506020890135610c3681610e49565b96506040890135610c4681610e49565b95506060890135610c5681610e49565b979a969950949760808101359660a0820135965060c0820135955060e0909101359350915050565b600060208284031215610c8f578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039a8b168152988a1660208a0152968916604089015294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b6020808252825182820181905260009190848201906040850190845b81811015610d6b5783516001600160a01b031683529284019291840191600101610d46565b50909695505050505050565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600f908201526e1113d113d7d49151d254d511549151608a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601390820152721113d113d7d393d517d49151d254d511549151606a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6001600160a01b0381168114610e5e57600080fd5b5056fea2646970667358221220858e3418b47c1cdc82da1bedf16332e4327c780546912171ffb5452fc48f8e2164736f6c63430006090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f6a8e47daeeddcce297e7541523e27df2f167bf30000000000000000000000005e5a7b76462e4bdf83aa98795644281bdba80b880000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a2
-----Decoded View---------------
Arg [0] : _dodoLogic (address): 0xF6A8E47daEEdDcCe297e7541523e27DF2f167BF3
Arg [1] : _cloneFactory (address): 0x5E5a7b76462E4BdF83Aa98795644281BdbA80B88
Arg [2] : _defaultSupervisor (address): 0x9c59990ec0177d87ED7D60A56F584E6b06C639a2
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000f6a8e47daeeddcce297e7541523e27df2f167bf3
Arg [1] : 0000000000000000000000005e5a7b76462e4bdf83aa98795644281bdba80b88
Arg [2] : 0000000000000000000000009c59990ec0177d87ed7d60a56f584e6b06c639a2
Deployed Bytecode Sourcemap
4266:3642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7652:152;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;306:22;;;:::i;4374:35::-;;;:::i;1156:230::-;;;:::i;:::-;;5143:117;;;;;;;;;:::i;7812:93::-;;;:::i;:::-;;;;;;;;5413:555;;;;;;;;;:::i;6375:866::-;;;;;;;;;:::i;5030:105::-;;;;;;;;;:::i;335:26::-;;;:::i;4301:27::-;;;:::i;7300:344::-;;;;;;;;;:::i;:::-;;;;;;;;4335:30;;;:::i;5976:335::-;;;;;;;;;:::i;5268:137::-;;;;;;;;;:::i;924:224::-;;;;;;;;;:::i;4497:23::-;;;;;;;;;:::i;7652:152::-;-1:-1:-1;;;;;7758:26:0;;;7731:7;7758:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;;7652:152;;;;;:::o;306:22::-;;;-1:-1:-1;;;;;306:22:0;;:::o;4374:35::-;;;-1:-1:-1;;;;;4374:35:0;;:::o;1156:230::-;1224:11;;-1:-1:-1;;;;;1224:11:0;1210:10;:25;1202:51;;;;-1:-1:-1;;;1202:51:0;;;;;;;;;;;;;;;;;1299:11;;;1290:7;;1269:42;;-1:-1:-1;;;;;1299:11:0;;;;1290:7;;;;1269:42;;;1332:11;;;;1322:21;;-1:-1:-1;;;;;;1322:21:0;;;-1:-1:-1;;;;;1332:11:0;;1322:21;;;;1354:24;;;1156:230::o;5143:117::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;5221:15:::1;:31:::0;;-1:-1:-1;;;;;;5221:31:0::1;-1:-1:-1::0;;;;;5221:31:0;;;::::1;::::0;;;::::1;::::0;;5143:117::o;7812:93::-;7855:16;7891:6;7884:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7884:13:0;;;;;;;;;;;;;;;;;;;;;;;7812:93;:::o;5413:555::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;5477:17:::1;5503:4;-1:-1:-1::0;;;;;5497:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5477:46;;5534:18;5561:4;-1:-1:-1::0;;;;;5555:25:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5534:48;;5601:39;5618:9;5629:10;5601:16;:39::i;:::-;5593:71;;;;-1:-1:-1::0;;;5593:71:0::1;;;;;;;;;-1:-1:-1::0;;;;;5675:26:0;;::::1;5724:1;5675:26:::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:51;;-1:-1:-1;;;;;;5675:51:0::1;::::0;;5737:224:::1;5761:6;:13:::0;-1:-1:-1;;5761:17:0;5757:21;::::1;5737:224;;;5817:4;-1:-1:-1::0;;;;;5804:17:0::1;:6;5811:1;5804:9;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;5804:9:0::1;:17;5800:150;;;5854:6;5861:13:::0;;-1:-1:-1;;5861:17:0;;;5854:25;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;5842:6:::1;:9:::0;;-1:-1:-1;;;;;5854:25:0;;::::1;::::0;5849:1;;5842:9;::::1;;;;;;;;;;;;;:37;;;;;-1:-1:-1::0;;;;;5842:37:0::1;;;;;-1:-1:-1::0;;;;;5842:37:0::1;;;;;;5898:6;:12;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;5898:12:0;;;;;-1:-1:-1;;;;;;5898:12:0::1;::::0;;;;;5929:5:::1;;5800:150;5780:3;;5737:224;;;;734:1;;5413:555:::0;:::o;6375:866::-;6648:19;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;6689:39:::1;6706:9;6717:10;6689:16;:39::i;:::-;6688:40;6680:68;;;;-1:-1:-1::0;;;6680:68:0::1;;;;;;;;;6787:15;::::0;6810:12:::1;::::0;6773:50:::1;::::0;-1:-1:-1;;;6773:50:0;;-1:-1:-1;;;;;6787:15:0;;::::1;::::0;6773:36:::1;::::0;:50:::1;::::0;6810:12;::::1;::::0;6773:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:7;::::0;6894:20:::1;::::0;;6834:278:::1;::::0;-1:-1:-1;;;6834:278:0;;6759:64;;-1:-1:-1;;;;;;6834:23:0;;::::1;::::0;::::1;::::0;:278:::1;::::0;6872:7;;::::1;::::0;6894:20;;::::1;::::0;6929:10;;6954:9;;6978:10;;7003:6;;7024:9;;7048;;7072:1;;7088:13;;6834:278:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7123:20;7131:11;7123:7;:20::i;:::-;7159:45;7169:11;7182:9;7193:10;7159:45;;;;;;;;;;;;;;;;;6375:866:::0;;;;;;;;;;:::o;5030:105::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;5102:12:::1;:25:::0;;-1:-1:-1;;;;;;5102:25:0::1;-1:-1:-1::0;;;;;5102:25:0;;;::::1;::::0;;;::::1;::::0;;5030:105::o;335:26::-;;;-1:-1:-1;;;;;335:26:0;;:::o;4301:27::-;;;-1:-1:-1;;;;;4301:27:0;;:::o;7300:344::-;-1:-1:-1;;;;;7421:26:0;;;7386:4;7421:26;;;:15;:26;;;;;;;;:38;;;;;;;;;;;7386:4;;7421:38;:52;:121;;;;-1:-1:-1;;;;;;7490:27:0;;;7540:1;7490:27;;;:15;:27;;;;;;;;:38;;;;;;;;;;;;:52;7421:121;7403:234;;;-1:-1:-1;7576:5:0;7569:12;;7403:234;-1:-1:-1;7621:4:0;7614:11;;4335:30;;;-1:-1:-1;;;;;4335:30:0;;:::o;5976:335::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;6035:17:::1;6061:4;-1:-1:-1::0;;;;;6055:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6035:46;;6092:18;6119:4;-1:-1:-1::0;;;;;6113:25:0::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6092:48;;6160:39;6177:9;6188:10;6160:16;:39::i;:::-;6159:40;6151:68;;;;-1:-1:-1::0;;;6151:68:0::1;;;;;;;;;-1:-1:-1::0;;;;;6230:26:0;;::::1;;::::0;;;:15:::1;:26;::::0;;;;;;;:38;;::::1;::::0;;;;;;;;:45;;;;;::::1;-1:-1:-1::0;;;;;;6230:45:0;;::::1;::::0;::::1;::::0;;;6286:6:::1;:17:::0;;6230:45;6286:17;::::1;::::0;;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;5976:335::o;5268:137::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;5356:20:::1;:41:::0;;-1:-1:-1;;;;;;5356:41:0::1;-1:-1:-1::0;;;;;5356:41:0;;;::::1;::::0;;;::::1;::::0;;5268:137::o;924:224::-;702:7;;-1:-1:-1;;;;;702:7:0;688:10;:21;680:43;;;;-1:-1:-1;;;680:43:0;;;;;;;;;-1:-1:-1;;;;;1007:22:0;::::1;999:48;;;;-1:-1:-1::0;;;999:48:0::1;;;;;;;;;1089:7;::::0;;1063:44:::1;::::0;-1:-1:-1;;;;;1063:44:0;;::::1;::::0;1089:7;::::1;::::0;1063:44:::1;::::0;::::1;1118:11;:22:::0;;-1:-1:-1;;;;;;1118:22:0::1;-1:-1:-1::0;;;;;1118:22:0;;;::::1;::::0;;;::::1;::::0;;924:224::o;4497:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4497:23:0;;-1:-1:-1;4497:23:0;:::o;420:241:-1:-;;524:2;512:9;503:7;499:23;495:32;492:2;;;-1:-1;;530:12;492:2;85:6;72:20;97:33;124:5;97:33;;;582:63;486:175;-1:-1;;;486:175;668:263;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;226:6;220:13;238:33;265:5;238:33;;938:366;;;1059:2;1047:9;1038:7;1034:23;1030:32;1027:2;;;-1:-1;;1065:12;1027:2;85:6;72:20;97:33;124:5;97:33;;;1117:63;-1:-1;1217:2;1256:22;;72:20;97:33;72:20;97:33;;;1225:63;;;;1021:283;;;;;;1311:1121;;;;;;;;;1534:3;1522:9;1513:7;1509:23;1505:33;1502:2;;;-1:-1;;1541:12;1502:2;85:6;72:20;97:33;124:5;97:33;;;1593:63;-1:-1;1693:2;1732:22;;72:20;97:33;72:20;97:33;;;1701:63;-1:-1;1801:2;1840:22;;72:20;97:33;72:20;97:33;;;1809:63;-1:-1;1909:2;1948:22;;72:20;97:33;72:20;97:33;;;1496:936;;;;-1:-1;1496:936;;2017:3;2057:22;;350:20;;2126:3;2166:22;;350:20;;-1:-1;2235:3;2275:22;;350:20;;-1:-1;2344:3;2384:22;;;350:20;;-1:-1;1496:936;-1:-1;;1496:936;2439:241;;2543:2;2531:9;2522:7;2518:23;2514:32;2511:2;;;-1:-1;;2549:12;2511:2;-1:-1;350:20;;2505:175;-1:-1;2505:175;5672:222;-1:-1;;;;;11324:54;;;;2930:37;;5799:2;5784:18;;5770:124;5901:444;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6248:2;6233:18;;2930:37;11324:54;;;6331:2;6316:18;;2930:37;6084:2;6069:18;;6055:290;6352:1228;-1:-1;;;;;11324:54;;;2930:37;;11324:54;;;6896:2;6881:18;;2930:37;11324:54;;;6979:2;6964:18;;2930:37;11324:54;;;7062:2;7047:18;;2930:37;11324:54;;;7145:3;7130:19;;2930:37;11324:54;;11335:42;7214:19;;2930:37;7313:3;7298:19;;5623:37;;;;7397:3;7382:19;;5623:37;;;;7481:3;7466:19;;5623:37;;;;7565:3;7550:19;;5623:37;;;;6731:3;6716:19;;6702:878;7587:370;7764:2;7778:47;;;10557:12;;7749:18;;;10832:19;;;7587:370;;7764:2;10411:14;;;;10872;;;;7587:370;3538:260;3563:6;3560:1;3557:13;3538:260;;;3624:13;;-1:-1;;;;;11324:54;2930:37;;10687:14;;;;2841;;;;11335:42;3578:9;3538:260;;;-1:-1;7831:116;;7735:222;-1:-1;;;;;;7735:222;7964:210;11236:13;;11229:21;3893:34;;8085:2;8070:18;;8056:118;8181:416;8381:2;8395:47;;;4164:2;8366:18;;;10832:19;-1:-1;;;10872:14;;;4180:36;4235:12;;;8352:245;8604:416;8804:2;8818:47;;;4486:2;8789:18;;;10832:19;-1:-1;;;10872:14;;;4502:38;4559:12;;;8775:245;9027:416;9227:2;9241:47;;;4810:2;9212:18;;;10832:19;-1:-1;;;10872:14;;;4826:36;4881:12;;;9198:245;9450:416;9650:2;9664:47;;;5132:2;9635:18;;;10832:19;-1:-1;;;10872:14;;;5148:42;5209:12;;;9621:245;9873:416;10073:2;10087:47;;;5460:1;10058:18;;;10832:19;-1:-1;;;10872:14;;;5475:32;5526:12;;;10044:245;11469:117;-1:-1;;;;;11324:54;;11528:35;;11518:2;;11577:1;;11567:12;11518:2;11512:74;
Swarm Source
ipfs://858e3418b47c1cdc82da1bedf16332e4327c780546912171ffb5452fc48f8e21
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.