Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 25,413 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00041535 | ||||
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00041535 | ||||
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00041535 | ||||
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00041535 | ||||
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00042716 | ||||
Claim Bayc | 19217382 | 355 days ago | IN | 0 ETH | 0.00042716 | ||||
Claim Mayc | 17502854 | 595 days ago | IN | 0 ETH | 0.0003207 | ||||
Claim Mayc | 17502854 | 595 days ago | IN | 0 ETH | 0.0003207 | ||||
Claim Bayc | 16587173 | 724 days ago | IN | 0 ETH | 0.00565419 | ||||
Claim Bayc Bakc | 16587160 | 724 days ago | IN | 0 ETH | 0.00624566 | ||||
Claim Mayc | 16587155 | 724 days ago | IN | 0 ETH | 0.00621828 | ||||
Claim Mayc | 16587152 | 724 days ago | IN | 0 ETH | 0.00676458 | ||||
Claim Bayc Bakc | 16587149 | 724 days ago | IN | 0 ETH | 0.00857385 | ||||
Claim Bayc | 16587138 | 724 days ago | IN | 0 ETH | 0.00649269 | ||||
Claim Bayc Bakc | 16587132 | 724 days ago | IN | 0 ETH | 0.00724995 | ||||
Claim Bayc Bakc | 16587128 | 724 days ago | IN | 0 ETH | 0.00665221 | ||||
Claim Mayc | 16587107 | 724 days ago | IN | 0 ETH | 0.00505149 | ||||
Claim Mayc | 16587104 | 724 days ago | IN | 0 ETH | 0.00509936 | ||||
Claim Bayc | 16587100 | 724 days ago | IN | 0 ETH | 0.00556952 | ||||
Claim Mayc | 16587099 | 724 days ago | IN | 0 ETH | 0.00508316 | ||||
Claim Mayc | 16587098 | 724 days ago | IN | 0 ETH | 0.00542754 | ||||
Claim Mayc | 16587096 | 724 days ago | IN | 0 ETH | 0.00536315 | ||||
Claim Mayc | 16587094 | 724 days ago | IN | 0 ETH | 0.00569773 | ||||
Claim Mayc | 16587092 | 724 days ago | IN | 0 ETH | 0.00524609 | ||||
Claim Mayc | 16587088 | 724 days ago | IN | 0 ETH | 0.00545201 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BAYCSewerPassClaim
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./lib/Operator.sol"; import "./lib/IBAYCSewerPass.sol"; import "./lib/YugaVerify.sol"; // |||||\ |||||\ |||||\ |||||\ // ||||| | ||||| | ||||| | ||||| | // \__|||||\ |||||\___\| \__|||||\ |||||\___\| // ||||| | ||||| | ||||| | ||||| | // \__|||||\___\| Y u g a \__|||||\___\| // ||||| | L a b s ||||| | // |||||\___\| Sewer Pass |||||\___\| // ||||| | Claim ||||| | // \__|||||||||||\ \__|||||||||||\ // ||||||||||| | ||||||||||| | // \_________\| \_________\| error ClaimIsNotActive(); error TokenAlreadyClaimed(); error UnauthorizedOwner(); /** * @title BAYC Sewer Pass Claim Smart Contract */ contract BAYCSewerPassClaim is Operator, YugaVerify, ReentrancyGuard { uint64 constant TIER_FOUR = 4; uint64 constant TIER_THREE = 3; uint64 constant TIER_TWO = 2; uint64 constant TIER_ONE = 1; uint256 constant NO_DOGGO = 10000; address public immutable BAYC_CONTRACT; address public immutable MAYC_CONTRACT; address public immutable BAKC_CONTRACT; bool public claimIsActive; mapping(uint256 => bool) public baycClaimed; mapping(uint256 => bool) public maycClaimed; mapping(uint256 => bool) public bakcClaimed; IBAYCSewerPass public immutable sewerPassContract; event SewerPassMinted( uint256 indexed sewerPassTokenId, uint256 indexed tier, uint256 indexed baycMaycTokenId, uint256 bakcTokenId ); modifier claimable() { if (!claimIsActive) revert ClaimIsNotActive(); _; } constructor( address _baycContract, address _maycContract, address _bakcContract, address _warmContract, address _delegateCashContract, address _sewerPassContract, address _operator ) Operator(_operator) YugaVerify(_warmContract, _delegateCashContract) { BAYC_CONTRACT = _baycContract; MAYC_CONTRACT = _maycContract; BAKC_CONTRACT = _bakcContract; sewerPassContract = IBAYCSewerPass(_sewerPassContract); } /** * @notice Claim Sewer Pass with BAYC and BAKC pair - TIER 4 * @param baycTokenId token id of the ape * @param bakcTokenId token id of the dog */ function claimBaycBakc( uint256 baycTokenId, uint256 bakcTokenId ) external claimable nonReentrant { _checkBaycClaim(baycTokenId); _checkBakcClaim(bakcTokenId); _mintSewerPass(TIER_FOUR, baycTokenId, bakcTokenId); } /** * @notice Claim Sewer Pass with with BAYC - TIER 3 * @param baycTokenId token id of the ape */ function claimBayc(uint256 baycTokenId) external claimable nonReentrant { _checkBaycClaim(baycTokenId); _mintSewerPass(TIER_THREE, baycTokenId, NO_DOGGO); } /** * @notice Claim Sewer Pass with MAYC and BAKC pair - TIER 2 * @param maycTokenId token id of the mutant * @param bakcTokenId token id of the dog */ function claimMaycBakc( uint256 maycTokenId, uint256 bakcTokenId ) external claimable nonReentrant { _checkMaycClaim(maycTokenId); _checkBakcClaim(bakcTokenId); _mintSewerPass(TIER_TWO, maycTokenId, bakcTokenId); } /** * @notice Claim Sewer Pass with MAYC - TIER 1 * @param maycTokenId token id of the mutant */ function claimMayc(uint256 maycTokenId) external claimable nonReentrant { _checkMaycClaim(maycTokenId); _mintSewerPass(TIER_ONE, maycTokenId, NO_DOGGO); } // Manage token checks and claim status function _checkBaycClaim(uint256 tokenId) private { if (!verifyTokenOwner(BAYC_CONTRACT, tokenId)) revert UnauthorizedOwner(); if (baycClaimed[tokenId]) revert TokenAlreadyClaimed(); baycClaimed[tokenId] = true; } function _checkMaycClaim(uint256 tokenId) private { if (!verifyTokenOwner(MAYC_CONTRACT, tokenId)) revert UnauthorizedOwner(); if (maycClaimed[tokenId]) revert TokenAlreadyClaimed(); maycClaimed[tokenId] = true; } function _checkBakcClaim(uint256 tokenId) private { if (!verifyTokenOwner(BAKC_CONTRACT, tokenId)) revert UnauthorizedOwner(); if (bakcClaimed[tokenId]) revert TokenAlreadyClaimed(); bakcClaimed[tokenId] = true; } function _mintSewerPass( uint64 tier, uint256 baycMaycTokenId, uint256 bakcTokenId ) private { // prepare mint data for storage uint256 mintData = uint256(tier); mintData |= baycMaycTokenId << 64; mintData |= bakcTokenId << 128; uint256 sewerPassTokenId = sewerPassContract.mintSewerPass( _msgSender(), mintData ); emit SewerPassMinted( sewerPassTokenId, tier, baycMaycTokenId, bakcTokenId ); } /** * @notice Check BAYC/MAYC/BAKC token claim status - bayc = 0, mayc = 1, bakc = 2 * @param collectionId id of the collection see above * @param tokenId id of the ape, mutant or dog */ function checkClaimed( uint8 collectionId, uint256 tokenId ) external view returns (bool) { if (collectionId == 0) { return baycClaimed[tokenId]; } else if (collectionId == 1) { return maycClaimed[tokenId]; } else if (collectionId == 2) { return bakcClaimed[tokenId]; } return false; } // Operator functions /** * @notice Flip the claim state */ function flipClaimIsActiveState() external onlyOperator { claimIsActive = !claimIsActive; } /** * @notice Withdraw erc-20 tokens sent to the contract by error * @param coinContract the erc-20 contract address */ function withdraw(address coinContract) external onlyOperator { uint256 balance = IERC20(coinContract).balanceOf(address(this)); if (balance > 0) { IERC20(coinContract).transfer(operator, balance); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (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 Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @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 amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "../../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); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// 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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; interface IBAYCSewerPass { function mintSewerPass( address to, uint256 mintdata ) external returns (uint256); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "@openzeppelin/contracts/access/Ownable.sol"; error OnlyOperatorError(); error OperatorZeroAddressCheck(); contract Operator is Ownable { address public operator; event OperatorChanged(address operator); modifier onlyOperator() { if (operator != _msgSender()) revert OnlyOperatorError(); _; } constructor(address _operator) { if (_operator == address(0)) revert OperatorZeroAddressCheck(); operator = _operator; } /** * @notice change operator */ function setOperator(address _operator) external onlyOwner { if (_operator == address(0)) revert OperatorZeroAddressCheck(); operator = _operator; emit OperatorChanged(_operator); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; interface WarmInterface { function ownerOf( address contractAddress, uint256 tokenId ) external view returns (address); } interface DelegateCashInterface { function checkDelegateForToken( address delegate, address vault, address contract_, uint256 tokenId ) external view returns (bool); } error ZeroAddressCheck(); /** * @title YugaVerify - check for token ownership via contract, warm wallet and delegate cash * Warm Wallet https://github.com/wenewlabs/public/tree/main/HotWalletProxy * Delegate.cash https://github.com/delegatecash/delegation-registry */ contract YugaVerify { address public immutable WARM_WALLET_CONTRACT; address public immutable DELEGATE_CASH_CONTRACT; constructor(address _warmWalletContract, address _delegateCashContract) { if ( _warmWalletContract == address(0) || _delegateCashContract == address(0) ) revert ZeroAddressCheck(); WARM_WALLET_CONTRACT = _warmWalletContract; DELEGATE_CASH_CONTRACT = _delegateCashContract; } /** * @notice verify contract token based claim using warm wallet and delegate cash * @param tokenContract the smart contract address of the token * @param tokenId the tokenId */ function verifyTokenOwner( address tokenContract, uint256 tokenId ) internal view returns (bool) { address tokenOwner = IERC721(tokenContract).ownerOf(tokenId); // 1. check contract token owner // 2. check warm wallet delegation - ownerOf() // all delegation // is a mapping of token owner's wallet to hot wallet // coldWalletToHotWallet[owner].walletAddress // 3. check delegate.cash delegation - checkDelegateForToken() // checks three forms of delegation all, contract, and contract/token id return (msg.sender == tokenOwner || msg.sender == WarmInterface(WARM_WALLET_CONTRACT).ownerOf( tokenContract, tokenId ) || DelegateCashInterface(DELEGATE_CASH_CONTRACT).checkDelegateForToken( msg.sender, tokenOwner, tokenContract, tokenId )); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_baycContract","type":"address"},{"internalType":"address","name":"_maycContract","type":"address"},{"internalType":"address","name":"_bakcContract","type":"address"},{"internalType":"address","name":"_warmContract","type":"address"},{"internalType":"address","name":"_delegateCashContract","type":"address"},{"internalType":"address","name":"_sewerPassContract","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ClaimIsNotActive","type":"error"},{"inputs":[],"name":"OnlyOperatorError","type":"error"},{"inputs":[],"name":"OperatorZeroAddressCheck","type":"error"},{"inputs":[],"name":"TokenAlreadyClaimed","type":"error"},{"inputs":[],"name":"UnauthorizedOwner","type":"error"},{"inputs":[],"name":"ZeroAddressCheck","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorChanged","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"sewerPassTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tier","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"baycMaycTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bakcTokenId","type":"uint256"}],"name":"SewerPassMinted","type":"event"},{"inputs":[],"name":"BAKC_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BAYC_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DELEGATE_CASH_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAYC_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WARM_WALLET_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bakcClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"baycClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"collectionId","type":"uint8"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"checkClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"baycTokenId","type":"uint256"}],"name":"claimBayc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baycTokenId","type":"uint256"},{"internalType":"uint256","name":"bakcTokenId","type":"uint256"}],"name":"claimBaycBakc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimIsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maycTokenId","type":"uint256"}],"name":"claimMayc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maycTokenId","type":"uint256"},{"internalType":"uint256","name":"bakcTokenId","type":"uint256"}],"name":"claimMaycBakc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipClaimIsActiveState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"maycClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sewerPassContract","outputs":[{"internalType":"contract IBAYCSewerPass","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"coinContract","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6101406040523480156200001257600080fd5b506040516200113e3803806200113e833981016040819052620000359162000161565b8383826200004333620000f4565b6001600160a01b0381166200006b57604051637652539b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b03928316179055821615806200009d57506001600160a01b038116155b15620000bc576040516399676b1160e01b815260040160405180910390fd5b6001600160a01b03918216608052811660a052600160025596871660c0525093851660e05250508216610100521661012052620001f6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200015c57600080fd5b919050565b600080600080600080600060e0888a0312156200017d57600080fd5b620001888862000144565b9650620001986020890162000144565b9550620001a86040890162000144565b9450620001b86060890162000144565b9350620001c86080890162000144565b9250620001d860a0890162000144565b9150620001e860c0890162000144565b905092959891949750929550565b60805160a05160c05160e0516101005161012051610ece62000270600039600081816101c301526108d20152600081816101ea0152610b0101526000818161038001526109c50152600081816102ce015261082a0152600081816103230152610cf00152600081816101840152610c360152610ece6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637409693e116100b8578063aa89fd7c1161007c578063aa89fd7c14610303578063b3ab15fb1461030b578063e454fa7d1461031e578063f2fde38b14610345578063f7d3b44b14610358578063fa494abd1461037b57600080fd5b80637409693e146102925780638da5cb5b146102a5578063995726dc146102b6578063a30d21da146102c9578063aa53fc9b146102f057600080fd5b8063380a7ec51161010a578063380a7ec51461022f57806350710a9b1461024457806351cff8d9146102575780635303f68c1461026a578063570ca73514610277578063715018a61461028a57600080fd5b806328fbf049146101475780632cd5859e1461017f5780632de16490146101be5780633287c18d146101e557806334180f811461020c575b600080fd5b61016a610155366004610d63565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b61016a61021a366004610d63565b60046020526000908152604090205460ff1681565b61024261023d366004610d63565b6103a2565b005b610242610252366004610d63565b610412565b610242610265366004610d91565b610471565b60035461016a9060ff1681565b6001546101a6906001600160a01b031681565b61024261058c565b6102426102a0366004610db5565b6105a0565b6000546001600160a01b03166101a6565b61016a6102c4366004610dd7565b61060f565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b6102426102fe366004610db5565b610684565b6102426106ea565b610242610319366004610d91565b610729565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b610242610353366004610d91565b6107ac565b61016a610366366004610d63565b60066020526000908152604090205460ff1681565b6101a67f000000000000000000000000000000000000000000000000000000000000000081565b60035460ff166103c557604051633e640d4d60e11b815260040160405180910390fd5b60028054036103ef5760405162461bcd60e51b81526004016103e690610e09565b60405180910390fd5b600280556103fc81610825565b61040a6003826127106108b7565b506001600255565b60035460ff1661043557604051633e640d4d60e11b815260040160405180910390fd5b60028054036104565760405162461bcd60e51b81526004016103e690610e09565b60028055610463816109c0565b61040a6001826127106108b7565b6001546001600160a01b0316331461049c576040516337fa462360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105079190610e40565b905080156105885760015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610e59565b505b5050565b610594610a52565b61059e6000610aac565b565b60035460ff166105c357604051633e640d4d60e11b815260040160405180910390fd5b60028054036105e45760405162461bcd60e51b81526004016103e690610e09565b600280556105f182610825565b6105fa81610afc565b610606600483836108b7565b50506001600255565b60008260ff16600003610634575060008181526004602052604090205460ff1661067e565b8260ff16600103610657575060008181526005602052604090205460ff1661067e565b8260ff1660020361067a575060008181526006602052604090205460ff1661067e565b5060005b92915050565b60035460ff166106a757604051633e640d4d60e11b815260040160405180910390fd5b60028054036106c85760405162461bcd60e51b81526004016103e690610e09565b600280556106d5826109c0565b6106de81610afc565b610606600283836108b7565b6001546001600160a01b03163314610715576040516337fa462360e11b815260040160405180910390fd5b6003805460ff19811660ff90911615179055565b610731610a52565b6001600160a01b03811661075857604051637652539b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e549060200160405180910390a150565b6107b4610a52565b6001600160a01b0381166108195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e6565b61082281610aac565b50565b61084f7f000000000000000000000000000000000000000000000000000000000000000082610b8e565b61086c5760405163de271cf560e01b815260040160405180910390fd5b60008181526004602052604090205460ff161561089c57604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600460205260409020805460ff19166001179055565b67ffffffffffffffff8316604083901b17608082901b1760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e67a3b9a336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af115801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190610e40565b9050838567ffffffffffffffff16827f8ef78ce8289511059382ff6f0d889e212f440485eec5db7712c287745636ab85866040516109b191815260200190565b60405180910390a45050505050565b6109ea7f000000000000000000000000000000000000000000000000000000000000000082610b8e565b610a075760405163de271cf560e01b815260040160405180910390fd5b60008181526005602052604090205460ff1615610a3757604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461059e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610b267f000000000000000000000000000000000000000000000000000000000000000082610b8e565b610b435760405163de271cf560e01b815260040160405180910390fd5b60008181526006602052604090205460ff1615610b7357604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600660205260409020805460ff19166001179055565b6040516331a9108f60e11b81526004810182905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc9190610e7b565b9050336001600160a01b0382161480610cb657506040516307ca74b760e21b81526001600160a01b038581166004830152602482018590527f00000000000000000000000000000000000000000000000000000000000000001690631f29d2dc90604401602060405180830381865afa158015610c7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca19190610e7b565b6001600160a01b0316336001600160a01b0316145b80610d5b5750604051631574d39f60e31b81523360048201526001600160a01b0382811660248301528581166044830152606482018590527f0000000000000000000000000000000000000000000000000000000000000000169063aba69cf890608401602060405180830381865afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190610e59565b949350505050565b600060208284031215610d7557600080fd5b5035919050565b6001600160a01b038116811461082257600080fd5b600060208284031215610da357600080fd5b8135610dae81610d7c565b9392505050565b60008060408385031215610dc857600080fd5b50508035926020909101359150565b60008060408385031215610dea57600080fd5b823560ff81168114610dfb57600080fd5b946020939093013593505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060208284031215610e5257600080fd5b5051919050565b600060208284031215610e6b57600080fd5b81518015158114610dae57600080fd5b600060208284031215610e8d57600080fd5b8151610dae81610d7c56fea264697066735822122024fe825b2a9c920830d49df4b8107a4b99c173951e87ceacaa2040e5809c6a5f64736f6c63430008110033000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d00000000000000000000000060e4d786628fea6478f785a6d7e704777c86a7c6000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf95623000000000000000000000000c3aa9bc72bd623168860a1e5c6a4530d3d80456c00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b000000000000000000000000764aeebcf425d56800ef2c84f2578689415a2daa0000000000000000000000009223abd716ff22c62db2c6760eb6a59a33af729e
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637409693e116100b8578063aa89fd7c1161007c578063aa89fd7c14610303578063b3ab15fb1461030b578063e454fa7d1461031e578063f2fde38b14610345578063f7d3b44b14610358578063fa494abd1461037b57600080fd5b80637409693e146102925780638da5cb5b146102a5578063995726dc146102b6578063a30d21da146102c9578063aa53fc9b146102f057600080fd5b8063380a7ec51161010a578063380a7ec51461022f57806350710a9b1461024457806351cff8d9146102575780635303f68c1461026a578063570ca73514610277578063715018a61461028a57600080fd5b806328fbf049146101475780632cd5859e1461017f5780632de16490146101be5780633287c18d146101e557806334180f811461020c575b600080fd5b61016a610155366004610d63565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101a67f000000000000000000000000c3aa9bc72bd623168860a1e5c6a4530d3d80456c81565b6040516001600160a01b039091168152602001610176565b6101a67f000000000000000000000000764aeebcf425d56800ef2c84f2578689415a2daa81565b6101a67f000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf9562381565b61016a61021a366004610d63565b60046020526000908152604090205460ff1681565b61024261023d366004610d63565b6103a2565b005b610242610252366004610d63565b610412565b610242610265366004610d91565b610471565b60035461016a9060ff1681565b6001546101a6906001600160a01b031681565b61024261058c565b6102426102a0366004610db5565b6105a0565b6000546001600160a01b03166101a6565b61016a6102c4366004610dd7565b61060f565b6101a67f000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d81565b6102426102fe366004610db5565b610684565b6102426106ea565b610242610319366004610d91565b610729565b6101a67f00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b81565b610242610353366004610d91565b6107ac565b61016a610366366004610d63565b60066020526000908152604090205460ff1681565b6101a67f00000000000000000000000060e4d786628fea6478f785a6d7e704777c86a7c681565b60035460ff166103c557604051633e640d4d60e11b815260040160405180910390fd5b60028054036103ef5760405162461bcd60e51b81526004016103e690610e09565b60405180910390fd5b600280556103fc81610825565b61040a6003826127106108b7565b506001600255565b60035460ff1661043557604051633e640d4d60e11b815260040160405180910390fd5b60028054036104565760405162461bcd60e51b81526004016103e690610e09565b60028055610463816109c0565b61040a6001826127106108b7565b6001546001600160a01b0316331461049c576040516337fa462360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105079190610e40565b905080156105885760015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610e59565b505b5050565b610594610a52565b61059e6000610aac565b565b60035460ff166105c357604051633e640d4d60e11b815260040160405180910390fd5b60028054036105e45760405162461bcd60e51b81526004016103e690610e09565b600280556105f182610825565b6105fa81610afc565b610606600483836108b7565b50506001600255565b60008260ff16600003610634575060008181526004602052604090205460ff1661067e565b8260ff16600103610657575060008181526005602052604090205460ff1661067e565b8260ff1660020361067a575060008181526006602052604090205460ff1661067e565b5060005b92915050565b60035460ff166106a757604051633e640d4d60e11b815260040160405180910390fd5b60028054036106c85760405162461bcd60e51b81526004016103e690610e09565b600280556106d5826109c0565b6106de81610afc565b610606600283836108b7565b6001546001600160a01b03163314610715576040516337fa462360e11b815260040160405180910390fd5b6003805460ff19811660ff90911615179055565b610731610a52565b6001600160a01b03811661075857604051637652539b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e549060200160405180910390a150565b6107b4610a52565b6001600160a01b0381166108195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e6565b61082281610aac565b50565b61084f7f000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d82610b8e565b61086c5760405163de271cf560e01b815260040160405180910390fd5b60008181526004602052604090205460ff161561089c57604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600460205260409020805460ff19166001179055565b67ffffffffffffffff8316604083901b17608082901b1760007f000000000000000000000000764aeebcf425d56800ef2c84f2578689415a2daa6001600160a01b031663e67a3b9a336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af115801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190610e40565b9050838567ffffffffffffffff16827f8ef78ce8289511059382ff6f0d889e212f440485eec5db7712c287745636ab85866040516109b191815260200190565b60405180910390a45050505050565b6109ea7f00000000000000000000000060e4d786628fea6478f785a6d7e704777c86a7c682610b8e565b610a075760405163de271cf560e01b815260040160405180910390fd5b60008181526005602052604090205460ff1615610a3757604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461059e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610b267f000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf9562382610b8e565b610b435760405163de271cf560e01b815260040160405180910390fd5b60008181526006602052604090205460ff1615610b7357604051633d6a72ef60e11b815260040160405180910390fd5b6000908152600660205260409020805460ff19166001179055565b6040516331a9108f60e11b81526004810182905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc9190610e7b565b9050336001600160a01b0382161480610cb657506040516307ca74b760e21b81526001600160a01b038581166004830152602482018590527f000000000000000000000000c3aa9bc72bd623168860a1e5c6a4530d3d80456c1690631f29d2dc90604401602060405180830381865afa158015610c7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca19190610e7b565b6001600160a01b0316336001600160a01b0316145b80610d5b5750604051631574d39f60e31b81523360048201526001600160a01b0382811660248301528581166044830152606482018590527f00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b169063aba69cf890608401602060405180830381865afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190610e59565b949350505050565b600060208284031215610d7557600080fd5b5035919050565b6001600160a01b038116811461082257600080fd5b600060208284031215610da357600080fd5b8135610dae81610d7c565b9392505050565b60008060408385031215610dc857600080fd5b50508035926020909101359150565b60008060408385031215610dea57600080fd5b823560ff81168114610dfb57600080fd5b946020939093013593505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060208284031215610e5257600080fd5b5051919050565b600060208284031215610e6b57600080fd5b81518015158114610dae57600080fd5b600060208284031215610e8d57600080fd5b8151610dae81610d7c56fea264697066735822122024fe825b2a9c920830d49df4b8107a4b99c173951e87ceacaa2040e5809c6a5f64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d00000000000000000000000060e4d786628fea6478f785a6d7e704777c86a7c6000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf95623000000000000000000000000c3aa9bc72bd623168860a1e5c6a4530d3d80456c00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b000000000000000000000000764aeebcf425d56800ef2c84f2578689415a2daa0000000000000000000000009223abd716ff22c62db2c6760eb6a59a33af729e
-----Decoded View---------------
Arg [0] : _baycContract (address): 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
Arg [1] : _maycContract (address): 0x60E4d786628Fea6478F785A6d7e704777c86a7c6
Arg [2] : _bakcContract (address): 0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623
Arg [3] : _warmContract (address): 0xC3AA9bc72Bd623168860a1e5c6a4530d3D80456c
Arg [4] : _delegateCashContract (address): 0x00000000000076A84feF008CDAbe6409d2FE638B
Arg [5] : _sewerPassContract (address): 0x764AeebcF425d56800eF2c84F2578689415a2DAa
Arg [6] : _operator (address): 0x9223abD716FF22C62Db2c6760eB6A59a33AF729E
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000bc4ca0eda7647a8ab7c2061c2e118a18a936f13d
Arg [1] : 00000000000000000000000060e4d786628fea6478f785a6d7e704777c86a7c6
Arg [2] : 000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf95623
Arg [3] : 000000000000000000000000c3aa9bc72bd623168860a1e5c6a4530d3d80456c
Arg [4] : 00000000000000000000000000000000000076a84fef008cdabe6409d2fe638b
Arg [5] : 000000000000000000000000764aeebcf425d56800ef2c84f2578689415a2daa
Arg [6] : 0000000000000000000000009223abd716ff22c62db2c6760eb6a59a33af729e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.