Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
552082 | 51 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
VeArcTransferHandler
Compiler Version
v0.8.19+commit.7dd6d404
ZkSolc Version
v1.5.7
Contract Source Code (Solidity)
/** *Submitted for verification at abscan.org on 2025-02-01 */ // Sources flattened with hardhat v2.19.5 https://hardhat.org // SPDX-License-Identifier: BUSL-1.1 AND MIT // File @openzeppelin/contracts/utils/[email protected] // Original license: 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; } } // File @openzeppelin/contracts/access/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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); } } // File @openzeppelin/contracts/access/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides 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} and {acceptOwnership}. * * This module is used through inheritance. It will make available all functions * from parent (Ownable). */ abstract contract Ownable2Step is Ownable { address private _pendingOwner; event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner); /** * @dev Returns the address of the pending owner. */ function pendingOwner() public view virtual returns (address) { return _pendingOwner; } /** * @dev Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual override onlyOwner { _pendingOwner = newOwner; emit OwnershipTransferStarted(owner(), newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner. * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual override { delete _pendingOwner; super._transferOwnership(newOwner); } /** * @dev The new owner accepts the ownership transfer. */ function acceptOwnership() public virtual { address sender = _msgSender(); require(pendingOwner() == sender, "Ownable2Step: caller is not the new owner"); _transferOwnership(sender); } } // File @openzeppelin/contracts/security/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol) pragma solidity ^0.8.0; /** * @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 Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { _requireNotPaused(); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { _requirePaused(); _; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { require(!paused(), "Pausable: paused"); } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { 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()); } } // File @openzeppelin/contracts/token/ERC20/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.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); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File @openzeppelin/contracts/security/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (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() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == _ENTERED; } } // File contracts/bases/ArcBase.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; /** * Provides set of properties, functions, and modifiers to help with * security and access control of extending contracts */ contract ArcBase is Ownable2Step, Pausable, ReentrancyGuard { function pause() public onlyOwner { _pause(); } function unpause() public onlyOwner { _unpause(); } function withdrawNative(address beneficiary) public onlyOwner { uint256 amount = address(this).balance; (bool sent, ) = beneficiary.call{value: amount}(""); require(sent, 'Unable to withdraw'); } function withdrawToken(address beneficiary, address token) public onlyOwner { uint256 amount = IERC20(token).balanceOf(address(this)); IERC20(token).transfer(beneficiary, amount); } } // File contracts/interfaces/IArc.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; interface IArc { function approve(address _spender, uint _value) external returns (bool); function burn(uint amount) external; function mint(address account, uint amount) external; function transfer(address, uint) external returns (bool); function transferFrom(address _from, address _to, uint _value) external; } // File contracts/interfaces/IRainbowRoad.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; interface IRainbowRoad { function acceptTeam() external; function actionHandlers(string calldata action) external view returns (address); function arc() external view returns (IArc); function blockToken(address tokenAddress) external; function disableFeeManager(address feeManager) external; function disableOpenTokenWhitelisting() external; function disableReceiver(address receiver) external; function disableSender(address sender) external; function disableSendFeeBurn() external; function disableSendFeeCharge() external; function disableWhitelistingFeeBurn() external; function disableWhitelistingFeeCharge() external; function enableFeeManager(address feeManager) external; function enableOpenTokenWhitelisting() external; function enableReceiver(address receiver) external; function enableSendFeeBurn() external; function enableSender(address sender) external; function enableSendFeeCharge() external; function enableWhitelistingFeeBurn() external; function enableWhitelistingFeeCharge() external; function sendFee() external view returns (uint256); function whitelistingFee() external view returns (uint256); function chargeSendFee() external view returns (bool); function chargeWhitelistingFee() external view returns (bool); function burnSendFee() external view returns (bool); function burnWhitelistingFee() external view returns (bool); function openTokenWhitelisting() external view returns (bool); function config(string calldata configName) external view returns (bytes memory); function blockedTokens(address tokenAddress) external view returns (bool); function feeManagers(address feeManager) external view returns (bool); function receiveAction(string calldata action, address to, bytes calldata payload) external; function sendAction(string calldata action, address from, bytes calldata payload) external; function setActionHandler(string memory action, address handler) external; function setArc(address _arc) external; function setSendFee(uint256 _fee) external; function setTeam(address _team) external; function setTeamRate(uint256 _teamRate) external; function setToken(string calldata tokenSymbol, address tokenAddress) external; function setWhitelistingFee(uint256 _fee) external; function team() external view returns (address); function teamRate() external view returns (uint256); function tokens(string calldata tokenSymbol) external view returns (address); function MAX_TEAM_RATE() external view returns (uint256); function receivers(address receiver) external view returns (bool); function senders(address sender) external view returns (bool); function unblockToken(address tokenAddress) external; function whitelist(address tokenAddress) external; } // File contracts/bases/ArcBaseWithRainbowRoad.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; /** * Extends the ArcBase contract to provide * for interactions with the Rainbow Road */ contract ArcBaseWithRainbowRoad is ArcBase { IRainbowRoad public rainbowRoad; constructor(address _rainbowRoad) { require(_rainbowRoad != address(0), 'Rainbow Road cannot be zero address'); rainbowRoad = IRainbowRoad(_rainbowRoad); } function setRainbowRoad(address _rainbowRoad) external onlyOwner { require(_rainbowRoad != address(0), 'Rainbow Road cannot be zero address'); rainbowRoad = IRainbowRoad(_rainbowRoad); } /// @dev Only calls from the Rainbow Road are accepted. modifier onlyRainbowRoad() { require(msg.sender == address(rainbowRoad), 'Must be called by Rainbow Road'); _; } } // File contracts/interfaces/IHandler.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; interface IHandler { function handleReceive(address target, bytes calldata payload) external; function handleSend(address target, bytes calldata payload) external; } // File contracts/interfaces/IMintBurn.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; interface IMintBurn { function burn(uint amount) external; function mint(address account, uint amount) external; } // File contracts/interfaces/IVotingEscrow.sol // Original license: SPDX_License_Identifier: MIT pragma solidity 0.8.19; interface IVotingEscrow { struct Point { int128 bias; int128 slope; // # -dweight / dt uint256 ts; uint256 blk; // block } function user_point_epoch(uint tokenId) external view returns (uint); function epoch() external view returns (uint); function user_point_history(uint tokenId, uint loc) external view returns (Point memory); function point_history(uint loc) external view returns (Point memory); function checkpoint() external; function deposit_for(uint tokenId, uint value) external; function token() external view returns (address); function user_point_history__ts(uint tokenId, uint idx) external view returns (uint); function locked__end(uint _tokenId) external view returns (uint); function locked__amount(uint _tokenId) external view returns (uint); function approve(address spender, uint tokenId) external; function balanceOfNFT(uint) external view returns (uint); function isApprovedOrOwner(address, uint) external view returns (bool); function ownerOf(uint) external view returns (address); function transferFrom(address, address, uint) external; function totalSupply() external view returns (uint); function supply() external view returns (uint); function create_lock_for(uint, uint, address) external returns (uint); function lockVote(uint tokenId) external; function isVoteExpired(uint tokenId) external view returns (bool); function voteExpiry(uint _tokenId) external view returns (uint); function attach(uint tokenId) external; function detach(uint tokenId) external; function voting(uint tokenId) external; function abstain(uint tokenId) external; function voted(uint tokenId) external view returns (bool); function withdraw(uint tokenId) external; function create_lock(uint value, uint duration) external returns (uint); function setVoter(address voter) external; function balanceOf(address owner) external view returns (uint); function safeTransferFrom(address from, address to, uint tokenId) external; function burn(uint _tokenId) external; function setAdmin(address _admin) external; function setArtProxy(address _proxy) external; } // File contracts/handlers/VeArcTransferHandler.sol // Original license: SPDX_License_Identifier: BUSL-1.1 pragma solidity 0.8.19; /** * Dex Weekly Update Handler */ contract VeArcTransferHandler is ArcBaseWithRainbowRoad, IHandler { uint internal constant WEEK = 1 weeks; uint internal constant MAXTIME = 4 * 365 * 86400; IVotingEscrow public veArc; event VeArcMinted(address indexed account, uint fromTokenId, uint toTokenId, uint amount, uint fromLockEnd, uint toLockEnd); event VeArcReceived(address indexed operator, address indexed from, uint tokenId, bytes data); constructor(address _rainbowRoad, address _veArc) ArcBaseWithRainbowRoad(_rainbowRoad) { require(_veArc != address(0), 'veArc cannot be zero address'); veArc = IVotingEscrow(_veArc); } function setVeArc(address _veArc) external onlyOwner { require(_veArc != address(0), 'veArc cannot be zero address'); veArc = IVotingEscrow(_veArc); } function encodePayload(uint tokenId) view external returns (bytes memory payload) { uint lockedAmount = veArc.locked__amount(tokenId); uint lockedEnd = veArc.locked__end(tokenId); uint blockTimestamp = block.timestamp; uint lockDuration = lockedEnd - blockTimestamp; require(lockDuration > 0, 'veArc cannot be expired'); uint unlockTime = (blockTimestamp + lockDuration) / WEEK * WEEK; // Locktime is rounded down to weeks require(unlockTime > blockTimestamp, 'Lock cannot expire soon'); require(unlockTime <= blockTimestamp + MAXTIME, 'Cannot be locked for more than 4 years'); return abi.encode(tokenId, lockedAmount, lockedEnd); } function handleSend(address target, bytes calldata payload) external onlyRainbowRoad whenNotPaused { (uint tokenId, uint lockedAmount, uint lockedEnd) = abi.decode(payload, (uint, uint, uint)); uint currentLockedAmount = veArc.locked__amount(tokenId); require(currentLockedAmount == lockedAmount, 'Locked amount for veArc is invalid'); uint currentLockedEnd = veArc.locked__end(tokenId); require(currentLockedEnd == lockedEnd, 'Locked end for veArc is invalid'); uint blockTimestamp = block.timestamp; uint lockDuration = lockedEnd - blockTimestamp; require(lockDuration > 0, 'veArc cannot be expired'); uint unlockTime = (blockTimestamp + lockDuration) / WEEK * WEEK; // Locktime is rounded down to weeks require(unlockTime > blockTimestamp, 'Lock cannot expire soon'); require(unlockTime <= blockTimestamp + MAXTIME, 'Cannot be locked for more than 4 years'); veArc.safeTransferFrom(target, address(this), tokenId); veArc.burn(tokenId); } function handleReceive(address target, bytes calldata payload) external onlyRainbowRoad whenNotPaused { (uint tokenId, uint lockedAmount, uint lockedEnd) = abi.decode(payload, (uint, uint, uint)); uint blockTimestamp = block.timestamp; uint newLockDuration = lockedEnd - blockTimestamp; IArc arc = rainbowRoad.arc(); arc.mint(address(this), lockedAmount); arc.approve(address(veArc), lockedAmount); uint newTokenId = veArc.create_lock_for(lockedAmount, newLockDuration, target); emit VeArcMinted(target, tokenId, newTokenId, lockedAmount, lockedEnd, newLockDuration + blockTimestamp); } function onERC721Received(address operator, address from, uint tokenId, bytes calldata data) external returns (bytes4) { emit VeArcReceived(operator, from, tokenId, data); return this.onERC721Received.selector; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_rainbowRoad","type":"address"},{"internalType":"address","name":"_veArc","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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":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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromLockEnd","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toLockEnd","type":"uint256"}],"name":"VeArcMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"VeArcReceived","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"encodePayload","outputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"handleReceive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"handleSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rainbowRoad","outputs":[{"internalType":"contract IRainbowRoad","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rainbowRoad","type":"address"}],"name":"setRainbowRoad","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_veArc","type":"address"}],"name":"setVeArc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"veArc","outputs":[{"internalType":"contract IVotingEscrow","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"}],"name":"withdrawNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000257d94edcbaaf20c8c96e69e967c44714d2efa2375144845dfb6e6802aa00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000eb484dddfad4f89c0f72267c7d13752451831038000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab45
Deployed Bytecode
0x000200000000000200090000000000020000006003100270000001f203300197000100000031035500000001002001900000001e0000c13d0000008002000039000000400020043f000000040030008c000003df0000413d000000000201043b000000e002200270000002010020009c000000790000213d0000020e0020009c0000009f0000a13d0000020f0020009c000001140000a13d000002100020009c000002230000613d000002110020009c000001790000613d000002120020009c000003df0000c13d0000000001000416000000000001004b000003df0000c13d0000000401000039000001e40000013d0000000002000416000000000002004b000003df0000c13d0000001f02300039000001f3022001970000008002200039000000400020043f0000001f0430018f000001f40530019800000080025000390000002f0000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000002b0000c13d000000000004004b0000003c0000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000400030008c000003df0000413d000000800200043d000001f50020009c000003df0000213d000000a00100043d000900000001001d000001f50010009c000003df0000213d000000000100041a000800000002001d000001f6021001970000000006000411000000000262019f0000000103000039000000000303041a000700000003001d000000000020041b000000400200043d000600000002001d0000000002000414000001f505100197000001f20020009c000001f202008041000000c001200210000001f7011001c70000800d020000390000000303000039000001f80400004107c407ba0000040f00000001002001900000000802000029000003df0000613d0000000701000029000001f9011001970000000103000039000000000013041b0000000201000039000000000031041b000000000002004b000002b80000c13d00000006030000290000006401300039000001fe0200004100000000002104350000004401300039000001ff020000410000000000210435000000240130003900000023020000390000000000210435000001fc010000410000000000130435000000040130003900000020020000390000000000210435000001f20030009c000001f203008041000000400130021000000200011001c7000007c600010430000002020020009c000000bf0000a13d000002030020009c000001590000a13d000002040020009c000002390000613d000002050020009c000001840000613d000002060020009c000003df0000c13d000000240030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000401100370000000000601043b000001f50060009c000003df0000213d000000000100041a000001f5011001970000000005000411000000000051004b000002a70000c13d0000000101000039000000000201041a000001f602200197000000000262019f000000000021041b0000000001000414000001f20010009c000001f201008041000000c001100210000001f7011001c70000800d0200003900000003030000390000021a04000041000003360000013d000002150020009c000000dd0000213d000002180020009c000001890000613d000002190020009c000003df0000c13d000000240030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000401100370000000000101043b000001f50010009c000003df0000213d000000000200041a000001f5022001970000000003000411000000000032004b000002a70000c13d000000000001004b0000038d0000c13d000001fc01000041000000800010043f0000002001000039000000840010043f0000001c01000039000000a40010043f000001fb01000041000000c40010043f0000023301000041000007c600010430000002090020009c000000f80000213d0000020c0020009c000001e00000613d0000020d0020009c000003df0000c13d0000000001000416000000000001004b000003df0000c13d000000000100041a000001f5021001970000000005000411000000000052004b000002a70000c13d0000000102000039000000000302041a000001f603300197000000000032041b000001f601100197000000000010041b0000000001000414000001f20010009c000001f201008041000000c001100210000001f7011001c70000800d020000390000000303000039000001f8040000410000000006000019000003360000013d000002160020009c000001e60000613d000002170020009c000003df0000c13d000000240030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000402000039000000000202041a0000000401100370000000000301043b0000023601000041000000800010043f000800000003001d000000840030043f0000000001000414000001f502200197000000040020008c000700000002001d000002db0000c13d0000000003000031000000200030008c00000020040000390000000004034019000003000000013d0000020a0020009c0000020a0000613d0000020b0020009c000003df0000c13d0000000001000416000000000001004b000003df0000c13d000000000100041a000001f5021001970000000001000411000000000012004b000002a70000c13d0000000103000039000000000203041a0000021d00200198000003220000c13d0000022c0220019700000222022001c7000000000023041b000000800010043f0000000001000414000001f20010009c000001f201008041000000c0011002100000022d011001c70000800d020000390000022e04000041000003360000013d000002130020009c000002860000613d000002140020009c000003df0000c13d000000440030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000402100370000000000202043b000900000002001d000001f50020009c000003df0000213d0000002402100370000000000502043b0000021c0050009c000003df0000213d0000002302500039000000000032004b000003df0000813d0000000402500039000000000421034f000000000404043b0000021c0040009c000003df0000213d00000000054500190000002405500039000000000035004b000003df0000213d0000000303000039000000000303041a000001f5033001970000000005000411000000000035004b000003a90000c13d0000000103000039000000000303041a0000021d00300198000003220000c13d000000600040008c000003df0000413d0000002003200039000000000331034f0000006004200039000000000441034f0000004002200039000000000121034f000000000101043b000600000001001d000000000104043b000400000001001d000000000303043b0000000401000039000000000201041a0000023601000041000000800010043f000500000003001d000000840030043f0000000001000414000001f502200197000800000002001d000000040020008c000004a60000c13d0000000003000031000000200030008c00000020040000390000000004034019000004cc0000013d000002070020009c000002b00000613d000002080020009c000003df0000c13d000000240030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000401100370000000000101043b000001f50010009c000003df0000213d000000000200041a000001f5022001970000000003000411000000000032004b000002a70000c13d000000000001004b0000038f0000c13d000001fc01000041000000800010043f0000002001000039000000840010043f0000002301000039000000a40010043f000001ff01000041000000c40010043f000001fe01000041000000e40010043f0000022b01000041000007c6000104300000000001000416000000000001004b000003df0000c13d0000000101000039000000000101041a0000021d001001980000000001000039000000010100c039000000800010043f0000021b01000041000007c50001042e0000000001000416000000000001004b000003df0000c13d0000000101000039000001e40000013d000000840030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000402100370000000000502043b000001f50050009c000003df0000213d0000002402100370000000000602043b000001f50060009c000003df0000213d0000006402100370000000000702043b0000021c0070009c000003df0000213d0000002302700039000000000032004b000003df0000813d0000000404700039000000000241034f000000000202043b0000021c0020009c000003df0000213d00000000072700190000002407700039000000000037004b000003df0000213d0000004403100370000000000303043b000000800030043f0000004003000039000000a00030043f0000002003400039000000000431034f000000c00020043f00000253072001980000001f0820018f000000e003700039000001b80000613d000000e009000039000000000a04034f00000000ab0a043c0000000009b90436000000000039004b000001b40000c13d000000000008004b000001c50000613d000000000474034f0000000307800210000000000803043300000000087801cf000000000878022f000000000404043b0000010007700089000000000474022f00000000047401cf000000000484019f0000000000430435000000e00320003900000000000304350000001f02200039000002530120019700000060021002100000024d0220009a0000024e0010009c0000024f020080410000000001000414000001f20010009c000001f201008041000000c00110021000000000012100190000800d020000390000000303000039000002500400004107c407ba0000040f0000000100200190000003df0000613d000000400100043d00000251020000410000000000210435000001f20010009c000001f201008041000000400110021000000252011001c7000007c50001042e0000000001000416000000000001004b000003df0000c13d0000000301000039000000000101041a000002b40000013d000000240030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000401100370000000000101043b000900000001001d000001f50010009c000003df0000213d000000000100041a000001f5011001970000000002000411000000000021004b000002a70000c13d0000024a010000410000000000100443000000000100041000000004001004430000000001000414000001f20010009c000001f201008041000000c00110021000000224011001c70000800a0200003907c407bf0000040f0000000100200190000007580000613d000000000301043b00000000010004140000000904000029000000040040008c000003a20000c13d000000010200003900000000010000310000042f0000013d0000000001000416000000000001004b000003df0000c13d0000000101000039000000000201041a000001f5032001970000000006000411000000000063004b000003160000c13d000001f602200197000000000021041b000000000100041a000001f602100197000000000262019f000000000020041b0000000002000414000001f505100197000001f20020009c000001f202008041000000c001200210000001f7011001c70000800d020000390000000303000039000001f804000041000003360000013d0000000001000416000000000001004b000003df0000c13d000000000100041a000001f5021001970000000001000411000000000012004b000002a70000c13d0000000103000039000000000203041a0000021d002001980000032c0000c13d000001fc01000041000000800010043f0000002001000039000000840010043f0000001401000039000000a40010043f0000023201000041000000c40010043f0000023301000041000007c600010430000000440030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000402100370000000000202043b000900000002001d000001f50020009c000003df0000213d0000002402100370000000000502043b0000021c0050009c000003df0000213d0000002302500039000000000032004b000003df0000813d0000000402500039000000000421034f000000000404043b0000021c0040009c000003df0000213d00000000054500190000002405500039000000000035004b000003df0000213d0000000303000039000000000303041a000001f5033001970000000005000411000000000035004b000003a90000c13d0000000103000039000000000303041a0000021d00300198000003220000c13d000000600040008c000003df0000413d0000002003200039000000000331034f0000004004200039000000000441034f0000006002200039000000000121034f000000000101043b000800000001001d000000000104043b000700000001001d000000000103043b000600000001001d0000021e0100004100000000001004430000000001000414000001f20010009c000001f201008041000000c0011002100000021f011001c70000800b0200003907c407bf0000040f0000000100200190000007580000613d000000000101043b0004000800100073000003870000413d000000400200043d0000022001000041000500000002001d000000000012043500000000010004140000000002000411000000040020008c000005c10000c13d0000000003000031000000200030008c00000020040000390000000004034019000005ec0000013d000000440030008c000003df0000413d0000000002000416000000000002004b000003df0000c13d0000000402100370000000000202043b000900000002001d000001f50020009c000003df0000213d0000002401100370000000000101043b000800000001001d000001f50010009c000003df0000213d000000000100041a000001f5011001970000000002000411000000000021004b000002a70000c13d0000024201000041000000800010043f0000000001000410000000840010043f00000000010004140000000802000029000000040020008c000003b30000c13d0000000003000031000000200030008c000000200a000039000000000a034019000003d80000013d000001fc01000041000000800010043f0000002001000039000000840010043f000000a40010043f0000024c01000041000000c40010043f0000023301000041000007c6000104300000000001000416000000000001004b000003df0000c13d000000000100041a000001f501100197000000800010043f0000021b01000041000007c50001042e0000000303000039000000000103041a000001f601100197000000000121019f000000000013041b0000000903000029000000000003004b000002d10000c13d000000400100043d0000004402100039000001fb03000041000000000032043500000024021000390000001c030000390000000000320435000001fc020000410000000000210435000000040210003900000020030000390000000000320435000001f20010009c000001f2010080410000004001100210000001fd011001c7000007c6000104300000000401000039000000000201041a000001f602200197000000000232019f000000000021041b000000200100003900000100001004430000012000000443000001fa01000041000007c50001042e000001f20010009c000001f201008041000000c00110021000000237011001c707c407bf0000040f0000006003100270000001f203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000002ef0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000002eb0000c13d000000000006004b000002fc0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000100000001035500000001002001900000033b0000613d0000001f01400039000000600110018f00000080021001bf000900000002001d000000400020043f000000200030008c000003df0000413d000000800200043d000600000002001d0000023a020000410000000904000029000000000024043500000084021001bf0000000803000029000000000032043500000000030004140000000702000029000000040020008c000003470000c13d0000000001140019000000400010043f000003750000013d000001fc01000041000000800010043f0000002001000039000000840010043f0000002901000039000000a40010043f0000022f01000041000000c40010043f0000023001000041000000e40010043f0000022b01000041000007c600010430000001fc01000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f0000023501000041000000c40010043f0000023301000041000007c6000104300000022c02200197000000000023041b000000800010043f0000000001000414000001f20010009c000001f201008041000000c0011002100000022d011001c70000800d02000039000002310400004107c407ba0000040f0000000100200190000003df0000613d0000000001000019000007c50001042e0000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003420000c13d000004930000013d000001f20030009c000001f203008041000000c0013002100000004003400210000000000131019f0000023b011001c707c407bf0000040f000000090b0000290000006003100270000001f203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000035e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000035a0000c13d000000000006004b0000036b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00010000000103550000000100200190000003960000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c000003df0000413d00000009010000290000000001010433000900000001001d0000021e0100004100000000001004430000000001000414000001f20010009c000001f201008041000000c0011002100000021f011001c70000800b0200003907c407bf0000040f0000000100200190000007580000613d000000000101043b0000000903000029000000000031004b000003e10000a13d0000024901000041000000000010043f0000001101000039000000040010043f0000023b01000041000007c6000104300000000402000039000003900000013d0000000302000039000000000302041a000001f603300197000000000113019f000000000012041b0000000001000019000007c50001042e0000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000039d0000c13d000004930000013d000001f20010009c000001f201008041000000c001100210000000000003004b000004270000c13d00000000020400190000042a0000013d000001fc01000041000000800010043f0000002001000039000000840010043f0000001e01000039000000a40010043f0000023401000041000000c40010043f0000023301000041000007c600010430000001f20010009c000001f201008041000000c00110021000000237011001c707c407bf0000040f0000006003100270000001f203300197000000200030008c000000200a000039000000000a0340190000001f05a0018f0000002006a0019000000080046001bf000003c70000613d0000008007000039000000000801034f000000008908043c0000000007970436000000000047004b000003c30000c13d000000000005004b000003d40000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f00010000000103550000000100200190000004600000613d0000001f01a00039000000600110018f00000080021001bf000700000002001d000000400020043f000000200030008c000003e70000813d0000000001000019000007c600010430000000000013004b0000046c0000c13d000000400100043d000000440210003900000248030000410000056d0000013d00000000040a0019000000800200043d0000024303000041000000070b00002900000000003b043500000084031001bf00000009050000290000000000530435000000a401100039000000000021043500000000010004140000000802000029000000040020008c0000041e0000613d000001f20010009c000001f201008041000000c0011002100000004003b00210000000000131019f00000226011001c707c407ba0000040f000000070b0000290000006003100270000001f203300197000000200030008c000000200a000039000000000a0340190000001f05a0018f0000002006a0019000000000046b00190000040c0000613d000000000701034f00000000080b0019000000007907043c0000000008980436000000000048004b000004080000c13d000000000005004b000004190000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f000000000054043500000000040a0019000000000003001f00010000000103550000000100200190000004880000613d00000000010b00190000000002040019000900000004001d07c407990000040f0000000701000029000000090210002907c407ab0000040f0000000001000019000007c50001042e000001f7011001c70000800902000039000000000500001907c407ba0000040f00010000000103550000006001100270000001f20010019d000001f201100197000000000001004b000004570000613d0000001f0410003900000253044001970000003f044000390000025305400197000000400400043d0000000005540019000000000045004b000000000600003900000001060040390000021c0050009c0000057e0000213d00000001006001900000057e0000c13d000000400050043f000000000614043600000253031001980000001f0410018f000000000136001900000001050003670000044a0000613d000000000705034f000000007807043c0000000006860436000000000016004b000004460000c13d000000000004004b000004570000613d000000000335034f0000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000100200190000003390000c13d000000400100043d00000044021000390000024b03000041000000000032043500000024021000390000001203000039000002c60000013d0000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004670000c13d000004930000013d0000023d2030012a0000000002230049000000000012004b0000056a0000a13d0000023f0110009c000003870000813d000000000012004b000005710000a13d000000400100043d000000640210003900000246030000410000000000320435000000440210003900000247030000410000000000320435000000240210003900000026030000390000000000320435000001fc020000410000000000210435000000040210003900000020030000390000000000320435000001f20010009c000001f201008041000000400110021000000200011001c7000007c6000104300000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000048f0000c13d000000000005004b000004a00000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000001f20020009c000001f2020080410000004002200210000000000112019f000007c600010430000001f20010009c000001f201008041000000c00110021000000237011001c7000000080200002907c407bf0000040f0000006003100270000001f203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000000800a000039000004bb0000613d000000000801034f000000008908043c000000000a9a043600000000005a004b000004b70000c13d000000000006004b000004c80000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00010000000103550000000100200190000005840000613d0000001f01400039000000600110018f00000080021001bf000700000002001d000000400020043f000000200030008c000003df0000413d00000084021001bf000000800300043d000000060030006c000005b00000c13d0000023a03000041000000070400002900000000003404350000000503000029000000000032043500000000020004140000000803000029000000040030008c000006470000c13d0000000701100029000000400010043f00000007020000290000000002020433000000040020006c000006830000c13d0000021e0100004100000000001004430000000001000414000001f20010009c000001f201008041000000c0011002100000021f011001c70000800b0200003907c407bf0000040f0000000100200190000007580000613d000000000101043b000000040010006c000003870000213d000000040010006b000003e30000613d00000004030000290000023d2030012a0000000002230049000000000012004b0000056a0000a13d0000023f0110009c000003870000813d000000000012004b000004740000213d00000223010000410000000000100443000000080100002900000004001004430000000001000414000001f20010009c000001f201008041000000c00110021000000224011001c7000080020200003907c407bf0000040f0000000100200190000007580000613d000000000101043b000000000001004b000003df0000613d000000400300043d00000044013000390000000502000029000000000021043500000024013000390000000002000410000000000021043500000240010000410000000000130435000700000003001d00000004013000390000000902000029000000000021043500000000010004140000000802000029000000040020008c000005300000613d0000000702000029000001f20020009c000001f2020080410000004002200210000001f20010009c000001f201008041000000c001100210000000000121019f000001fd011001c7000000080200002907c407ba0000040f0000006003100270000001f20030019d00010000000103550000000100200190000007730000613d00000007010000290000021c0010009c0000057e0000213d0000000701000029000000400010043f0000000401000039000000000101041a00000223020000410000000000200443000001f501100197000900000001001d00000004001004430000000001000414000001f20010009c000001f201008041000000c00110021000000224011001c7000080020200003907c407bf0000040f0000000100200190000007580000613d000000000101043b000000000001004b000003df0000613d000000400200043d00000241010000410000000000120435000800000002001d00000004012000390000000502000029000000000021043500000000010004140000000902000029000000040020008c000005630000613d0000000802000029000001f20020009c000001f2020080410000004002200210000001f20010009c000001f201008041000000c001100210000000000121019f0000023b011001c7000000090200002907c407ba0000040f0000006003100270000001f20030019d000100000001035500000001002001900000078c0000613d00000008010000290000021c0010009c0000057e0000213d0000000801000029000000400010043f0000000001000019000007c50001042e000000400100043d00000044021000390000024403000041000000000032043500000024021000390000001703000039000002c60000013d000000400100043d0000006002100039000000000032043500000040021000390000000603000029000000000032043500000020021000390000000803000029000000000032043500000060020000390000000000210435000002450010009c000005900000a13d0000024901000041000000000010043f0000004101000039000000040010043f0000023b01000041000007c6000104300000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000058b0000c13d000004930000013d0000008002100039000000400020043f00000020030000390000000000320435000000a00410003900000000030104330000000000340435000000000003004b000005a20000613d00000000040000190000000005140019000000c0065000390000002005500039000000000505043300000000005604350000002004400039000000000034004b0000059a0000413d0000001f0430003900000253044001970000000001310019000000c00110003900000000000104350000004001400039000001f20010009c000001f2010080410000006001100210000001f20020009c000001f2020080410000004002200210000000000121019f000007c50001042e000001fc030000410000000704000029000000000034043500000020030000390000000000320435000000e40210003900000238030000410000000000320435000000c40210003900000239030000410000000000320435000000a40110003900000022020000390000000000210435000000400140021000000200011001c7000007c6000104300000000502000029000001f20020009c000001f2020080410000004002200210000001f20010009c000001f201008041000000c001100210000000000121019f00000221011001c7000000000200041107c407bf0000040f0000006003100270000001f203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000505700029000005db0000613d000000000801034f0000000509000029000000008a08043c0000000009a90436000000000059004b000005d70000c13d000000000006004b000005e80000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00010000000103550000000100200190000006770000613d0000001f01400039000000600210018f0000000501200029000000000021004b000000000200003900000001020040390000021c0010009c0000057e0000213d00000001002001900000057e0000c13d000000400010043f000000200030008c000003df0000413d00000005010000290000000001010433000500000001001d000002220010009c000003df0000813d00000223010000410000000000100443000000050100002900000004001004430000000001000414000001f20010009c000001f201008041000000c00110021000000224011001c7000080020200003907c407bf0000040f0000000100200190000007580000613d000000000101043b000000000001004b000003df0000613d000000400200043d0000022501000041000000000012043500000024032000390000000701000029000200000003001d00000000001304350000000001000410000001f501100197000300000002001d0000000402200039000100000002001d000000000012043500000000010004140000000502000029000000040020008c0000062f0000613d0000000302000029000001f20020009c000001f2020080410000004002200210000001f20010009c000001f201008041000000c001100210000000000121019f00000226011001c7000000050200002907c407ba0000040f0000006003100270000001f20030019d000100000001035500000001002001900000069d0000613d00000003010000290000021c0010009c0000057e0000213d0000000303000029000000400030043f0000000401000039000000000101041a00000227020000410000000000230435000001f5011001970000000102000029000000000012043500000007010000290000000202000029000000000012043500000000010004140000000502000029000000040020008c000006aa0000c13d0000000004000031000000200040008c00000020030000390000000003044019000006d50000013d000001f20020009c000001f202008041000000c00120021000000007020000290000004002200210000000000121019f0000023b011001c7000000080200002907c407bf0000040f0000006003100270000001f203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000007057000290000065f0000613d000000000801034f0000000709000029000000008a08043c0000000009a90436000000000059004b0000065b0000c13d000000000006004b0000066c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00010000000103550000000100200190000006910000613d0000001f01400039000000600110018f0000000701100029000000400010043f000000200030008c000003df0000413d000004e20000013d0000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000067e0000c13d000004930000013d000001fc02000041000000000021043500000004021001bf0000002003000039000000000032043500000044021000390000023c03000041000000000032043500000024021000390000001f0300003900000000003204350000004001100210000001fd011001c7000007c6000104300000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006980000c13d000004930000013d000001f2033001970000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006a50000c13d000004930000013d0000000302000029000001f20020009c000001f2020080410000004002200210000001f20010009c000001f201008041000000c001100210000000000121019f00000226011001c7000000050200002907c407ba0000040f0000006003100270000001f204300197000000200040008c000000200300003900000000030440190000001f0630018f00000020073001900000000305700029000006c40000613d000000000801034f0000000309000029000000008a08043c0000000009a90436000000000059004b000006c00000c13d000000000006004b000006d10000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000004001f00010000000103550000000100200190000007590000613d0000001f01300039000000600210018f0000000302200029000500000002001d0000021c0020009c0000057e0000213d0000000502000029000000400020043f000000200040008c000003df0000413d00000003020000290000000002020433000000000002004b0000000004000039000000010400c039000000000042004b000003df0000c13d0000000402000039000000000202041a0000000506000029000000440460003900000009050000290000000000540435000000240460003900000004050000290000000000540435000002280400004100000000004604350000000404600039000000070500002900000000005404350000000004000414000001f502200197000000040020008c000007230000613d0000000501000029000001f20010009c000001f2010080410000004001100210000001f20040009c000001f204008041000000c003400210000000000113019f000001fd011001c707c407ba0000040f0000006003100270000001f204300197000000200040008c000000200300003900000000030440190000001f0630018f00000020073001900000000505700029000007110000613d000000000801034f0000000509000029000000008a08043c0000000009a90436000000000059004b0000070d0000c13d000000000006004b0000071e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000004001f00010000000103550000000100200190000007800000613d0000001f01300039000002530110019700000005011000290000021c0010009c0000057e0000213d000000400010043f000000200030008c000003df0000413d00000005010000290000000001010433000500000001001d0000021e0100004100000000001004430000000001000414000001f20010009c000001f201008041000000c0011002100000021f011001c70000800b0200003907c407bf0000040f0000000100200190000007580000613d000000000101043b000000040010002a000003870000413d0000000401100029000000400200043d0000008003200039000000000013043500000060012000390000000803000029000000000031043500000040012000390000000703000029000000000031043500000020012000390000000503000029000000000031043500000006010000290000000000120435000001f20020009c000001f20200804100000040012002100000000002000414000001f20020009c000001f202008041000000c002200210000000000112019f00000229011001c70000800d0200003900000002030000390000022a040000410000000905000029000003360000013d000000000001042f0000001f0540018f000001f406400198000000400200043d0000000003620019000007640000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000007600000c13d000000000005004b000007710000613d000000000161034f0000000305500210000000000603043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001304350000006001400210000004a10000013d000001f2033001970000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000077b0000c13d000004930000013d0000001f0540018f000001f406400198000000400200043d0000000003620019000007640000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000007870000c13d000007640000013d000001f2033001970000001f0530018f000001f406300198000000400200043d0000000004620019000004930000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000007940000c13d000004930000013d0000001f0220003900000253022001970000000001120019000000000021004b000000000200003900000001020040390000021c0010009c000007a50000213d0000000100200190000007a50000c13d000000400010043f000000000001042d0000024901000041000000000010043f0000004101000039000000040010043f0000023b01000041000007c6000104300000000002120049000002540020009c000007b70000213d0000001f0020008c000007b70000a13d0000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000007b70000c13d000000000001042d0000000001000019000007c600010430000000000001042f000007bd002104210000000102000039000000000001042d0000000002000019000000000001042d000007c2002104230000000102000039000000000001042d0000000002000019000000000001042d000007c400000432000007c50001042e000007c600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ffffffffffffffffffffff000000000000000000000000000000000000000000000000020000000000000000000000000000004000000100000000000000000076654172632063616e6e6f74206265207a65726f20616464726573730000000008c379a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000065737300000000000000000000000000000000000000000000000000000000005261696e626f7720526f61642063616e6e6f74206265207a65726f20616464720000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000006a936816000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000c18272fb00000000000000000000000000000000000000000000000000000000c18272fc00000000000000000000000000000000000000000000000000000000e30c397800000000000000000000000000000000000000000000000000000000f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000bfb5944a0000000000000000000000000000000000000000000000000000000079ba50960000000000000000000000000000000000000000000000000000000079ba5097000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000006a93681700000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000003aeac4e0000000000000000000000000000000000000000000000000000000003f4ba839000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb000000000000000000000000000000000000000000000000000000005fd7b3e8000000000000000000000000000000000000000000000000000000003aeac4e1000000000000000000000000000000000000000000000000000000003ed0da7f000000000000000000000000000000000000000000000000000000002f622e6a000000000000000000000000000000000000000000000000000000002f622e6b00000000000000000000000000000000000000000000000000000000342242e800000000000000000000000000000000000000000000000000000000150b7a02000000000000000000000000000000000000000000000000000000001751545b38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000ff0000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000004b1c6a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000100000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000040c10f19000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000d4e54c3b0000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000a00000000000000000000000004fab512c0f5fa4a7807dd2b8ee680f1b657a2c24ba1d2fd8363190ee3b62038b0000000000000000000000000000000000000084000000800000000000000000ffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff020000000000000000000000000000000000002000000080000000000000000062e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2584f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e657200000000000000000000000000000000000000000000005db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa5061757361626c653a206e6f742070617573656400000000000000000000000000000000000000000000000000000000000000640000008000000000000000004d7573742062652063616c6c6564206279205261696e626f7720526f616400005061757361626c653a20706175736564000000000000000000000000000000009700ad3a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000080000000000000000069640000000000000000000000000000000000000000000000000000000000004c6f636b656420616d6f756e7420666f7220766541726320697320696e76616cf8a057630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000004c6f636b656420656e6420666f7220766541726320697320696e76616c6964000000000000000000000000000000000000000000000000000000000000093a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffff87b31fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87b320042842e0e0000000000000000000000000000000000000000000000000000000042966c680000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000a9059cbb000000000000000000000000000000000000000000000000000000004c6f636b2063616e6e6f742065787069726520736f6f6e000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f207965617273000000000000000000000000000000000000000000000000000043616e6e6f74206265206c6f636b656420666f72206d6f7265207468616e203476654172632063616e6e6f7420626520657870697265640000000000000000004e487b71000000000000000000000000000000000000000000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39556e61626c6520746f20776974686472617700000000000000000000000000004f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572fdffffffffffffffffffffffffffffffffffff9fffffff80000000000000000000000000000000000000000000000000000000000000000000000000ffffffa002000000000000000000000000000000ffffffff00000080000000000000000092f9ceb9e44fef0e790878730b53e80682a2614d46ad043140c698a23d0e6436150b7a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000bd13b198b19b6dabb1021bd1fd50f36db2b34a5b5d33143ebff094c3e93d4e8d
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000eb484dddfad4f89c0f72267c7d13752451831038000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab45
-----Decoded View---------------
Arg [0] : _rainbowRoad (address): 0xEb484dddfAD4F89c0F72267c7d13752451831038
Arg [1] : _veArc (address): 0x483BdBdbf60d9650845c8097E002c2241D92ab45
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000eb484dddfad4f89c0f72267c7d13752451831038
Arg [1] : 000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab45
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.