Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
Latest 25 from a total of 644 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 18183218 | 574 days ago | IN | 0 ETH | 0.00141572 | ||||
Mint | 18054218 | 593 days ago | IN | 0 ETH | 0.00112688 | ||||
Mint | 18054212 | 593 days ago | IN | 0 ETH | 0.00107587 | ||||
Mint | 18038929 | 595 days ago | IN | 0 ETH | 0.0012262 | ||||
Mint | 18030825 | 596 days ago | IN | 0 ETH | 0.00180095 | ||||
Mint | 18029367 | 596 days ago | IN | 0 ETH | 0.00234746 | ||||
Mint | 18024245 | 597 days ago | IN | 0 ETH | 0.00226631 | ||||
Mint | 18002030 | 600 days ago | IN | 0 ETH | 0.00100665 | ||||
Mint | 17883726 | 616 days ago | IN | 0 ETH | 0.00226599 | ||||
Mint | 17883721 | 616 days ago | IN | 0 ETH | 0.00230705 | ||||
Mint | 17883713 | 616 days ago | IN | 0 ETH | 0.00167017 | ||||
Mint | 17799412 | 628 days ago | IN | 0 ETH | 0.00421178 | ||||
Mint | 17729902 | 638 days ago | IN | 0 ETH | 0.00358945 | ||||
Mint | 17729898 | 638 days ago | IN | 0 ETH | 0.00381814 | ||||
Mint | 17729893 | 638 days ago | IN | 0 ETH | 0.00356504 | ||||
Mint | 17713134 | 640 days ago | IN | 0 ETH | 0.00166883 | ||||
Mint | 17713130 | 640 days ago | IN | 0 ETH | 0.00166813 | ||||
Mint | 17713121 | 640 days ago | IN | 0 ETH | 0.00178349 | ||||
Mint | 17674749 | 646 days ago | IN | 0 ETH | 0.0012463 | ||||
Mint | 17662787 | 647 days ago | IN | 0 ETH | 0.00141263 | ||||
Mint | 17662783 | 647 days ago | IN | 0 ETH | 0.00138166 | ||||
Mint | 17662776 | 647 days ago | IN | 0 ETH | 0.00132179 | ||||
Mint | 17651841 | 649 days ago | IN | 0 ETH | 0.00132577 | ||||
Mint | 17651837 | 649 days ago | IN | 0 ETH | 0.00142698 | ||||
Mint | 17651833 | 649 days ago | IN | 0 ETH | 0.00162637 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RedCard
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/Pausable.sol"; interface IKitBag { function mint( address to, uint256 id, uint256 amount, bytes memory data ) external; function mintBatch( address to, uint256[] memory ids, uint256[] memory amounts, bytes calldata data ) external; } interface IMPL { function balanceOf(address account) external view returns (uint256); } interface IDelegationRegistry { function checkDelegateForContract( address delegate, address vault, address contract_ ) external view returns (bool); } function getOneArray(uint256 length) pure returns (uint256[] memory arr) { arr = new uint[](length); for (uint i = 0; i < length; i++) { arr[i] = 1; } } contract RedCard is Ownable, Pausable { IKitBag public kitBag; // KitBag contract IMPL public mpl; // MPL contract IDelegationRegistry public dc; // Delegation contract uint8[2] public cutoffs = [5, 11]; // MPL balance cutoffs to receive multiple comics (1 / 2 / 3) uint8[2] public odds = [169, 225]; // Odds of receiving different comics. We use the same odds across comics mapping(uint8 => bool) baseIds; // Base IDs of comic covers that can be minted (comic covers come in threes) mapping(uint8 => mapping(address => bool)) public claimed; // Whether addresses have claimed different comics bool public allowMultipleClaims = false; // Whether users can claim multiple comics constructor( address _kitBag, address _mpl, address _dc, uint8[] memory _baseIds ) { kitBag = IKitBag(_kitBag); mpl = IMPL(_mpl); dc = IDelegationRegistry(_dc); for (uint8 i = 0; i < _baseIds.length; i++) { baseIds[_baseIds[i]] = true; } } function setBaseId(uint8 _baseId, bool _setting) external onlyOwner { baseIds[_baseId] = _setting; } function setCutoffs(uint8[2] memory _cutoffs) external onlyOwner { require(_cutoffs[0] < _cutoffs[1], "RedCard: invalid cutoffs"); cutoffs = _cutoffs; } function setOdds(uint8[2] memory _odds) external onlyOwner { require(_odds[0] < _odds[1], "Redcard: invalid odds"); odds = _odds; } function setAllowMultipleClaims( bool _allowMultipleClaims ) external onlyOwner { allowMultipleClaims = _allowMultipleClaims; } function mint(uint8 baseId, address vault) public whenNotPaused { address requester = msg.sender; if (vault != address(0)) { bool isDelegateValid = dc.checkDelegateForContract( msg.sender, vault, address(mpl) ); require(isDelegateValid, "invalid delegate-vault pairing"); requester = vault; } require(baseIds[baseId], "RedCard: not a valid baseId"); require( !claimed[baseId][requester] || allowMultipleClaims, "RedCard: already claimed" ); uint256 balance = mpl.balanceOf(requester); require(balance > 0, "RedCard: no MPLs!"); uint256 pseudoRandom = uint8( uint256( keccak256( abi.encode( blockhash(block.number - 1), address(this), requester ) ) ) ); uint256 randomId; if (balance < cutoffs[0]) { if (pseudoRandom < odds[0]) { randomId = baseId; } else if (pseudoRandom < odds[1]) { randomId = baseId + 1; } else { randomId = baseId + 2; } kitBag.mint(requester, randomId, 1, "0x"); } else if (balance < cutoffs[1]) { randomId = pseudoRandom < odds[0] ? baseId + 1 : baseId + 2; uint[] memory ids = new uint[](2); ids[0] = baseId; ids[1] = randomId; kitBag.mintBatch(requester, ids, getOneArray(2), "0x"); } else { uint[] memory ids = new uint[](3); ids[0] = baseId; ids[1] = baseId + 1; ids[2] = baseId + 2; kitBag.mintBatch(requester, ids, getOneArray(3), "0x"); } claimed[baseId][requester] = true; } function setPaused(bool _bPaused) external onlyOwner { if (_bPaused) _pause(); else _unpause(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (security/Pausable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_kitBag","type":"address"},{"internalType":"address","name":"_mpl","type":"address"},{"internalType":"address","name":"_dc","type":"address"},{"internalType":"uint8[]","name":"_baseIds","type":"uint8[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"allowMultipleClaims","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"address","name":"","type":"address"}],"name":"claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cutoffs","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dc","outputs":[{"internalType":"contract IDelegationRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kitBag","outputs":[{"internalType":"contract IKitBag","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"baseId","type":"uint8"},{"internalType":"address","name":"vault","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mpl","outputs":[{"internalType":"contract IMPL","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"odds","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_allowMultipleClaims","type":"bool"}],"name":"setAllowMultipleClaims","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_baseId","type":"uint8"},{"internalType":"bool","name":"_setting","type":"bool"}],"name":"setBaseId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8[2]","name":"_cutoffs","type":"uint8[2]"}],"name":"setCutoffs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8[2]","name":"_odds","type":"uint8[2]"}],"name":"setOdds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_bPaused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c060405260056080908152600b60a052620000209060049060026200019e565b506040805180820190915260a9815260e16020820152620000469060059060026200019e565b506008805460ff191690553480156200005e57600080fd5b506040516200161b3803806200161b833981016040819052620000819162000294565b6200008c336200014e565b6000805460ff60a01b19168155600180546001600160a01b038088166001600160a01b0319928316179092556002805487841690831617905560038054928616929091169190911790555b81518160ff1610156200014357600160066000848460ff16815181106200010257620001026200039f565b60209081029190910181015160ff168252810191909152604001600020805460ff1916911515919091179055806200013a81620003b5565b915050620000d7565b5050505050620003e4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600183019183908215620002265791602002820160005b83821115620001f557835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620001b5565b8015620002245782816101000a81549060ff0219169055600101602081600001049283019260010302620001f5565b505b506200023492915062000238565b5090565b5b8082111562000234576000815560010162000239565b80516001600160a01b03811681146200026757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff811681146200026757600080fd5b60008060008060808587031215620002ab57600080fd5b620002b6856200024f565b93506020620002c78187016200024f565b9350620002d7604087016200024f565b60608701519093506001600160401b0380821115620002f557600080fd5b818801915088601f8301126200030a57600080fd5b8151818111156200031f576200031f6200026c565b8060051b604051601f19603f830116810181811085821117156200034757620003476200026c565b60405291825284820192508381018501918b8311156200036657600080fd5b938501935b828510156200038f576200037f8562000282565b845293850193928501926200036b565b989b979a50959850505050505050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff811415620003db57634e487b7160e01b600052601160045260246000fd5b60010192915050565b61122780620003f46000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063d07e5d8811610071578063d07e5d881461021d578063d8a531a61461024b578063e697ca1e1461025e578063f0ea220a14610271578063f2fde38b1461028457600080fd5b8063715018a6146101ca5780637bf75f6c146101d25780638da5cb5b146101e5578063a05309461461020a57600080fd5b80633640d374116100de5780633640d3741461016d5780634398b61f1461018057806346156ea0146101a55780635c975abb146101b857600080fd5b806316c38b3c146101105780632765b9b3146101255780632e24e891146101475780632f8af0f01461015a575b600080fd5b61012361011e366004610ed1565b610297565b005b6008546101329060ff1681565b60405190151581526020015b60405180910390f35b610123610155366004610f21565b6102e3565b610123610168366004610f21565b610379565b61012361017b366004610ed1565b610403565b61019361018e366004610fb6565b610440565b60405160ff909116815260200161013e565b6101936101b3366004610fb6565b61046a565b600054600160a01b900460ff16610132565b61012361047a565b6101236101e0366004610fe6565b6104b0565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013e565b6002546101f2906001600160a01b031681565b61013261022b366004610fe6565b600760209081526000928352604080842090915290825290205460ff1681565b6003546101f2906001600160a01b031681565b6001546101f2906001600160a01b031681565b61012361027f366004611019565b610b32565b610123610292366004611050565b610b81565b6000546001600160a01b031633146102ca5760405162461bcd60e51b81526004016102c19061106b565b60405180910390fd5b80156102db576102d8610c19565b50565b6102d8610cbe565b6000546001600160a01b0316331461030d5760405162461bcd60e51b81526004016102c19061106b565b6020810151815160ff9182169116106103685760405162461bcd60e51b815260206004820152601860248201527f526564436172643a20696e76616c6964206375746f666673000000000000000060448201526064016102c1565b6103756004826002610e1b565b5050565b6000546001600160a01b031633146103a35760405162461bcd60e51b81526004016102c19061106b565b6020810151815160ff9182169116106103f65760405162461bcd60e51b8152602060048201526015602482015274526564636172643a20696e76616c6964206f64647360581b60448201526064016102c1565b6103756005826002610e1b565b6000546001600160a01b0316331461042d5760405162461bcd60e51b81526004016102c19061106b565b6008805460ff1916911515919091179055565b6004816002811061045057600080fd5b60209182820401919006915054906101000a900460ff1681565b6005816002811061045057600080fd5b6000546001600160a01b031633146104a45760405162461bcd60e51b81526004016102c19061106b565b6104ae6000610d42565b565b600054600160a01b900460ff16156104fd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016102c1565b336001600160a01b038216156105f35760035460025460405163090c9a2d60e41b81523360048201526001600160a01b038581166024830152918216604482015260009291909116906390c9a2d09060640160206040518083038186803b15801561056757600080fd5b505afa15801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f91906110b6565b9050806105ee5760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016102c1565b829150505b60ff808416600090815260066020526040902054166106545760405162461bcd60e51b815260206004820152601b60248201527f526564436172643a206e6f7420612076616c696420626173654964000000000060448201526064016102c1565b60ff80841660009081526007602090815260408083206001600160a01b038616845290915290205416158061068b575060085460ff165b6106d75760405162461bcd60e51b815260206004820152601860248201527f526564436172643a20616c726561647920636c61696d6564000000000000000060448201526064016102c1565b6002546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906110d3565b90506000811161079b5760405162461bcd60e51b8152602060048201526011602482015270526564436172643a206e6f204d504c732160781b60448201526064016102c1565b60006107a8600143611102565b604080519140602083015230908201526001600160a01b038416606082015260800160408051808303601f19018152919052805160209091012060045460ff9182169250600091168310156108d25760055460ff1682101561080e575060ff8516610846565b600554610100900460ff168210156108355761082b866001611119565b60ff169050610846565b610840866002611119565b60ff1690505b6001805460405163731133e960e01b81526001600160a01b038781166004830152602482018590526044820193909352608060648201526002608482015261060f60f31b60a482015291169063731133e99060c401600060405180830381600087803b1580156108b557600080fd5b505af11580156108c9573d6000803e3d6000fd5b50505050610af7565b600454610100900460ff168310156109eb5760055460ff168210610900576108fb866002611119565b61090b565b61090b866001611119565b60408051600280825260608201835260ff93909316935060009290916020830190803683370190505090508660ff168160008151811061094d5761094d6110a0565b602002602001018181525050818160018151811061096d5761096d6110a0565b60209081029190910101526001546001600160a01b0316631f7fdffa86836109956002610d92565b6040518463ffffffff1660e01b81526004016109b393929190611179565b600060405180830381600087803b1580156109cd57600080fd5b505af11580156109e1573d6000803e3d6000fd5b5050505050610af7565b60408051600380825260808201909252600091602082016060803683370190505090508660ff1681600081518110610a2557610a256110a0565b6020908102919091010152610a3b876001611119565b60ff1681600181518110610a5157610a516110a0565b6020908102919091010152610a67876002611119565b60ff1681600281518110610a7d57610a7d6110a0565b60209081029190910101526001546001600160a01b0316631f7fdffa8683610aa56003610d92565b6040518463ffffffff1660e01b8152600401610ac393929190611179565b600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505b50505060ff90921660009081526007602090815260408083206001600160a01b03909516835293905291909120805460ff1916600117905550565b6000546001600160a01b03163314610b5c5760405162461bcd60e51b81526004016102c19061106b565b60ff919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bab5760405162461bcd60e51b81526004016102c19061106b565b6001600160a01b038116610c105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c1565b6102d881610d42565b600054600160a01b900460ff1615610c665760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016102c1565b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ca13390565b6040516001600160a01b03909116815260200160405180910390a1565b600054600160a01b900460ff16610d0e5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016102c1565b6000805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33610ca1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60608167ffffffffffffffff811115610dad57610dad610ef5565b604051908082528060200260200182016040528015610dd6578160200160208202803683370190505b50905060005b82811015610e15576001828281518110610df857610df86110a0565b602090810291909101015280610e0d816111d6565b915050610ddc565b50919050565b600183019183908215610e9e5791602002820160005b83821115610e6f57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302610e31565b8015610e9c5782816101000a81549060ff0219169055600101602081600001049283019260010302610e6f565b505b50610eaa929150610eae565b5090565b5b80821115610eaa5760008155600101610eaf565b80151581146102d857600080fd5b600060208284031215610ee357600080fd5b8135610eee81610ec3565b9392505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114610f1c57600080fd5b919050565b600060408284031215610f3357600080fd5b82601f830112610f4257600080fd5b6040516040810181811067ffffffffffffffff82111715610f7357634e487b7160e01b600052604160045260246000fd5b8060405250806040840185811115610f8a57600080fd5b845b81811015610fab57610f9d81610f0b565b835260209283019201610f8c565b509195945050505050565b600060208284031215610fc857600080fd5b5035919050565b80356001600160a01b0381168114610f1c57600080fd5b60008060408385031215610ff957600080fd5b61100283610f0b565b915061101060208401610fcf565b90509250929050565b6000806040838503121561102c57600080fd5b61103583610f0b565b9150602083013561104581610ec3565b809150509250929050565b60006020828403121561106257600080fd5b610eee82610fcf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b8151610eee81610ec3565b6000602082840312156110e557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611114576111146110ec565b500390565b600060ff821660ff84168060ff03821115611136576111366110ec565b019392505050565b600081518084526020808501945080840160005b8381101561116e57815187529582019590820190600101611152565b509495945050505050565b6001600160a01b038416815260806020820181905260009061119d9083018561113e565b82810360408401526111af818561113e565b83810360608501526002815261060f60f31b60208201529050604081019695505050505050565b60006000198214156111ea576111ea6110ec565b506001019056fea2646970667358221220d1880f4a4a587b74658a59ddf739f2849235dacd3b7e8aa720412814b780684b64736f6c63430008090033000000000000000000000000cdd5a1cacd12ad5f44e3a673b7900498237eb37c000000000000000000000000139732c3f717071843f90977d93400393bdf966400000000000000000000000000000000000076a84fef008cdabe6409d2fe638b000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063d07e5d8811610071578063d07e5d881461021d578063d8a531a61461024b578063e697ca1e1461025e578063f0ea220a14610271578063f2fde38b1461028457600080fd5b8063715018a6146101ca5780637bf75f6c146101d25780638da5cb5b146101e5578063a05309461461020a57600080fd5b80633640d374116100de5780633640d3741461016d5780634398b61f1461018057806346156ea0146101a55780635c975abb146101b857600080fd5b806316c38b3c146101105780632765b9b3146101255780632e24e891146101475780632f8af0f01461015a575b600080fd5b61012361011e366004610ed1565b610297565b005b6008546101329060ff1681565b60405190151581526020015b60405180910390f35b610123610155366004610f21565b6102e3565b610123610168366004610f21565b610379565b61012361017b366004610ed1565b610403565b61019361018e366004610fb6565b610440565b60405160ff909116815260200161013e565b6101936101b3366004610fb6565b61046a565b600054600160a01b900460ff16610132565b61012361047a565b6101236101e0366004610fe6565b6104b0565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013e565b6002546101f2906001600160a01b031681565b61013261022b366004610fe6565b600760209081526000928352604080842090915290825290205460ff1681565b6003546101f2906001600160a01b031681565b6001546101f2906001600160a01b031681565b61012361027f366004611019565b610b32565b610123610292366004611050565b610b81565b6000546001600160a01b031633146102ca5760405162461bcd60e51b81526004016102c19061106b565b60405180910390fd5b80156102db576102d8610c19565b50565b6102d8610cbe565b6000546001600160a01b0316331461030d5760405162461bcd60e51b81526004016102c19061106b565b6020810151815160ff9182169116106103685760405162461bcd60e51b815260206004820152601860248201527f526564436172643a20696e76616c6964206375746f666673000000000000000060448201526064016102c1565b6103756004826002610e1b565b5050565b6000546001600160a01b031633146103a35760405162461bcd60e51b81526004016102c19061106b565b6020810151815160ff9182169116106103f65760405162461bcd60e51b8152602060048201526015602482015274526564636172643a20696e76616c6964206f64647360581b60448201526064016102c1565b6103756005826002610e1b565b6000546001600160a01b0316331461042d5760405162461bcd60e51b81526004016102c19061106b565b6008805460ff1916911515919091179055565b6004816002811061045057600080fd5b60209182820401919006915054906101000a900460ff1681565b6005816002811061045057600080fd5b6000546001600160a01b031633146104a45760405162461bcd60e51b81526004016102c19061106b565b6104ae6000610d42565b565b600054600160a01b900460ff16156104fd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016102c1565b336001600160a01b038216156105f35760035460025460405163090c9a2d60e41b81523360048201526001600160a01b038581166024830152918216604482015260009291909116906390c9a2d09060640160206040518083038186803b15801561056757600080fd5b505afa15801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f91906110b6565b9050806105ee5760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016102c1565b829150505b60ff808416600090815260066020526040902054166106545760405162461bcd60e51b815260206004820152601b60248201527f526564436172643a206e6f7420612076616c696420626173654964000000000060448201526064016102c1565b60ff80841660009081526007602090815260408083206001600160a01b038616845290915290205416158061068b575060085460ff165b6106d75760405162461bcd60e51b815260206004820152601860248201527f526564436172643a20616c726561647920636c61696d6564000000000000000060448201526064016102c1565b6002546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906110d3565b90506000811161079b5760405162461bcd60e51b8152602060048201526011602482015270526564436172643a206e6f204d504c732160781b60448201526064016102c1565b60006107a8600143611102565b604080519140602083015230908201526001600160a01b038416606082015260800160408051808303601f19018152919052805160209091012060045460ff9182169250600091168310156108d25760055460ff1682101561080e575060ff8516610846565b600554610100900460ff168210156108355761082b866001611119565b60ff169050610846565b610840866002611119565b60ff1690505b6001805460405163731133e960e01b81526001600160a01b038781166004830152602482018590526044820193909352608060648201526002608482015261060f60f31b60a482015291169063731133e99060c401600060405180830381600087803b1580156108b557600080fd5b505af11580156108c9573d6000803e3d6000fd5b50505050610af7565b600454610100900460ff168310156109eb5760055460ff168210610900576108fb866002611119565b61090b565b61090b866001611119565b60408051600280825260608201835260ff93909316935060009290916020830190803683370190505090508660ff168160008151811061094d5761094d6110a0565b602002602001018181525050818160018151811061096d5761096d6110a0565b60209081029190910101526001546001600160a01b0316631f7fdffa86836109956002610d92565b6040518463ffffffff1660e01b81526004016109b393929190611179565b600060405180830381600087803b1580156109cd57600080fd5b505af11580156109e1573d6000803e3d6000fd5b5050505050610af7565b60408051600380825260808201909252600091602082016060803683370190505090508660ff1681600081518110610a2557610a256110a0565b6020908102919091010152610a3b876001611119565b60ff1681600181518110610a5157610a516110a0565b6020908102919091010152610a67876002611119565b60ff1681600281518110610a7d57610a7d6110a0565b60209081029190910101526001546001600160a01b0316631f7fdffa8683610aa56003610d92565b6040518463ffffffff1660e01b8152600401610ac393929190611179565b600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505b50505060ff90921660009081526007602090815260408083206001600160a01b03909516835293905291909120805460ff1916600117905550565b6000546001600160a01b03163314610b5c5760405162461bcd60e51b81526004016102c19061106b565b60ff919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bab5760405162461bcd60e51b81526004016102c19061106b565b6001600160a01b038116610c105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c1565b6102d881610d42565b600054600160a01b900460ff1615610c665760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016102c1565b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ca13390565b6040516001600160a01b03909116815260200160405180910390a1565b600054600160a01b900460ff16610d0e5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016102c1565b6000805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33610ca1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60608167ffffffffffffffff811115610dad57610dad610ef5565b604051908082528060200260200182016040528015610dd6578160200160208202803683370190505b50905060005b82811015610e15576001828281518110610df857610df86110a0565b602090810291909101015280610e0d816111d6565b915050610ddc565b50919050565b600183019183908215610e9e5791602002820160005b83821115610e6f57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302610e31565b8015610e9c5782816101000a81549060ff0219169055600101602081600001049283019260010302610e6f565b505b50610eaa929150610eae565b5090565b5b80821115610eaa5760008155600101610eaf565b80151581146102d857600080fd5b600060208284031215610ee357600080fd5b8135610eee81610ec3565b9392505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114610f1c57600080fd5b919050565b600060408284031215610f3357600080fd5b82601f830112610f4257600080fd5b6040516040810181811067ffffffffffffffff82111715610f7357634e487b7160e01b600052604160045260246000fd5b8060405250806040840185811115610f8a57600080fd5b845b81811015610fab57610f9d81610f0b565b835260209283019201610f8c565b509195945050505050565b600060208284031215610fc857600080fd5b5035919050565b80356001600160a01b0381168114610f1c57600080fd5b60008060408385031215610ff957600080fd5b61100283610f0b565b915061101060208401610fcf565b90509250929050565b6000806040838503121561102c57600080fd5b61103583610f0b565b9150602083013561104581610ec3565b809150509250929050565b60006020828403121561106257600080fd5b610eee82610fcf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b8151610eee81610ec3565b6000602082840312156110e557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611114576111146110ec565b500390565b600060ff821660ff84168060ff03821115611136576111366110ec565b019392505050565b600081518084526020808501945080840160005b8381101561116e57815187529582019590820190600101611152565b509495945050505050565b6001600160a01b038416815260806020820181905260009061119d9083018561113e565b82810360408401526111af818561113e565b83810360608501526002815261060f60f31b60208201529050604081019695505050505050565b60006000198214156111ea576111ea6110ec565b506001019056fea2646970667358221220d1880f4a4a587b74658a59ddf739f2849235dacd3b7e8aa720412814b780684b64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cdd5a1cacd12ad5f44e3a673b7900498237eb37c000000000000000000000000139732c3f717071843f90977d93400393bdf966400000000000000000000000000000000000076a84fef008cdabe6409d2fe638b000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004
-----Decoded View---------------
Arg [0] : _kitBag (address): 0xCdd5A1CACD12aD5F44E3a673B7900498237EB37c
Arg [1] : _mpl (address): 0x139732c3f717071843f90977D93400393BdF9664
Arg [2] : _dc (address): 0x00000000000076A84feF008CDAbe6409d2FE638B
Arg [3] : _baseIds (uint8[]): 4
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000cdd5a1cacd12ad5f44e3a673b7900498237eb37c
Arg [1] : 000000000000000000000000139732c3f717071843f90977d93400393bdf9664
Arg [2] : 00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.