ETH Price: $3,404.86 (+2.80%)

Token

ARCx Governance Token (ARCX)
 

Overview

Max Total Supply

96,538,475.64928711962695 ARCX

Holders

2,900 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

ARCx’s vision is to become a governance-minimized central bank that issues credit against various DeFi assets through its native stablecoin, STABLEx.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ArcxTokenV2

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 8 : ArcxTokenV2.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

import {Ownable} from "../lib/Ownable.sol";
import {SafeERC20} from "../lib/SafeERC20.sol";
import {SafeMath} from "../lib/SafeMath.sol";

import {IMintableToken} from "../token/IMintableToken.sol";
import {BaseERC20} from "./BaseERC20.sol";

contract ArcxTokenV2 is BaseERC20, IMintableToken, Ownable {

    /* ========== Libraries ========== */

    using SafeMath for uint256;

    /* ========== Variables ========== */

    address public pauseOperator;
    bool public isPaused;

    uint8 public version;
    BaseERC20 public oldArcxToken;

    /* ========== Events ========== */

    event Claimed(
        address _owner,
        uint256 _amount
    );

    event OtherOwnershipTransfered(
        address _targetContract,
        address _newOwner
    );

    event PauseStatusUpdated(bool _status);

    event PauseOperatorUpdated(
        address _pauseOperator
    );

    // ============ Modifiers ============

    modifier isNotPaused() {
        require (
            isPaused == false,
            "ArcxTokenV2: contract is paused"
        );
        _;
    }

    // ============ Constructor ============

    constructor(
        string memory name,
        string memory symbol,
        address _oldArcxToken
    )
        public
        BaseERC20(name, symbol, 18)
    {
        require(
            _oldArcxToken != address(0),
            "ArcxTokenV2: old ARCX token cannot be address 0"
        );

        oldArcxToken = BaseERC20(_oldArcxToken);
        version = 2;

        pauseOperator = msg.sender;
        isPaused = false;
    }

    // ============ Core Functions ============

    function mint(
        address to,
        uint256 value
    )
        external
        onlyOwner
    {
        _mint(to, value);
    }

    function burn(
        address to,
        uint256 value
    )
        external
        onlyOwner
    {
        _burn(to, value);
    }

    // ============ Migration Function ============

    /**
     * @dev Transfers the old tokens to the owner and
     *      mints the new tokens, respecting a 1 : 10,000 ratio.
     *
     * @notice Convert the old tokens from the old ARCX token to the new (this one).
     */
    function claim()
        external
        isNotPaused
    {
        uint256 balance = oldArcxToken.balanceOf(msg.sender);
        uint256 newBalance = balance.mul(10000);

        require(
            balance > 0,
            "ArcxTokenV2: user has 0 balance of old tokens"
        );

        // Burn old balance
        IMintableToken oldToken = IMintableToken(address(oldArcxToken));

        oldToken.burn(
            msg.sender,
            balance
        );

        // Mint new balance
        _mint(
            msg.sender,
            newBalance
        );

        emit Claimed(
            msg.sender,
            newBalance
        );
    }

    function transfer(
        address recipient,
        uint256 amount
    )
        public
        isNotPaused
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    )
        public
        isNotPaused
        returns (bool)
    {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(amount)
        );

        return true;
    }

    // ============ Restricted Functions ============

    function transferOtherOwnership(
        address _targetContract,
        address _newOwner
    )
        external
        onlyOwner
    {
        Ownable ownableContract = Ownable(_targetContract);

        require(
            ownableContract.owner() == address(this),
            "ArcxTokenV2: this contract is not the owner of the target"
        );

        ownableContract.transferOwnership(_newOwner);

        emit OtherOwnershipTransfered(
            _targetContract,
            _newOwner
        );
    }

    function updatePauseOperator(
        address _newPauseOperator
    )
        external
        onlyOwner
    {
        pauseOperator = _newPauseOperator;

        emit PauseOperatorUpdated(_newPauseOperator);
    }

    function setPause(
        bool _pauseStatus
    )
        external
    {
        require(
            msg.sender == pauseOperator,
            "ArcxTokenV2: caller is not pause operator"
        );

        isPaused = _pauseStatus;

        emit PauseStatusUpdated(_pauseStatus);
    }
}

File 2 of 8 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;

/**
 * @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.
 */
contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == msg.sender, "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 onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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 onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

File 3 of 8 : SafeERC20.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity ^0.5.16;

import {IERC20} from "../token/IERC20.sol";

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library SafeERC20 {
    function safeApprove(
        IERC20 token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        /* solium-disable-next-line */
        (bool success, bytes memory data) = address(token).call(
            abi.encodeWithSelector(0x095ea7b3, to, value)
        );

        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "SafeERC20: APPROVE_FAILED"
        );
    }

    function safeTransfer(
        IERC20 token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        /* solium-disable-next-line */
        (bool success, bytes memory data) = address(token).call(
            abi.encodeWithSelector(0xa9059cbb, to, value)
        );

        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "SafeERC20: TRANSFER_FAILED"
        );
    }

    function safeTransferFrom(
        IERC20 token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        /* solium-disable-next-line */
        (bool success, bytes memory data) = address(token).call(
            abi.encodeWithSelector(
                0x23b872dd,
                from,
                to,
                value
            )
        );

        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "SafeERC20: TRANSFER_FROM_FAILED"
        );
    }
}

File 4 of 8 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(
        address recipient,
        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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    )
        external
        returns (bool);

    /**
     * @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
    );
}

File 5 of 8 : SafeMath.sol
pragma solidity ^0.5.16;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {

        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
}

File 6 of 8 : IMintableToken.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

interface IMintableToken {

    function mint(
        address to,
        uint256 value
    )
        external;

    function burn(
        address to,
        uint256 value
    )
        external;

}

File 7 of 8 : BaseERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;

import {SafeMath} from "../lib/SafeMath.sol";

import {IERC20} from "./IERC20.sol";
import {Permittable} from "./Permittable.sol";

/**
 * @title ERC20 Token
 *
 * Basic ERC20 Implementation
 */
contract BaseERC20 is IERC20, Permittable {

    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) internal _allowances;

    uint8   private _decimals;
    uint256 private _totalSupply;

    string  internal _name;
    string  internal _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (
        string memory name,
        string memory symbol,
        uint8         decimals
    )
        public
        Permittable(name, "1")
    {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name()
        public
        view
        returns (string memory)
    {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol()
        public
        view
        returns (string memory)
    {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals()
        public
        view
        returns (uint8)
    {
        return _decimals;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply()
        public
        view
        returns (uint256)
    {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(
        address account
    )
        public
        view
        returns (uint256)
    {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(
        address recipient,
        uint256 amount
    )
        public
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(
        address owner,
        address spender
    )
        public
        view
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(
        address spender,
        uint256 amount
    )
        public
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20};
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    )
        public
        returns (bool)
    {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(amount)
        );

        return true;
    }

    /**
    * @dev Approve by signature.
    *
    * Adapted from Uniswap's UniswapV2ERC20 and MakerDAO's Dai contracts:
    * https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol
    * https://github.com/makerdao/dss/blob/master/src/dai.sol
    */
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    )
        public
    {
        _permit(
            owner,
            spender,
            value,
            deadline,
            v,
            r,
            s
        );
        _approve(owner, spender, value);
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    )
        internal
    {
        require(
            sender != address(0),
            "ERC20: transfer from the zero address"
        );

        require(
            recipient != address(0),
            "ERC20: transfer to the zero address"
        );

        _balances[sender] = _balances[sender].sub(amount);

        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(
        address account,
        uint256 amount
    )
        internal
    {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(
        address account,
        uint256 amount
    )
        internal
    {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount);
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    )
        internal
    {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

File 8 of 8 : Permittable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;

contract Permittable {

    /* ============ Variables ============ */

    bytes32 public DOMAIN_SEPARATOR;

    mapping (address => uint256) public nonces;

    /* ============ Constants ============ */

    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    /* solium-disable-next-line */
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;

    /* ============ Constructor ============ */

    constructor(
        string memory name,
        string memory version
    )
        public
    {
        DOMAIN_SEPARATOR = _initDomainSeparator(name, version);
    }

    /**
     * @dev Initializes EIP712 DOMAIN_SEPARATOR based on the current contract and chain ID.
     */
    function _initDomainSeparator(
        string memory name,
        string memory version
    )
        internal
        view
        returns (bytes32)
    {
        uint256 chainID;
        /* solium-disable-next-line */
        assembly {
            chainID := chainid()
        }

        return keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(name)),
                keccak256(bytes(version)),
                chainID,
                address(this)
            )
        );
    }

    /**
    * @dev Approve by signature.
    *
    * Adapted from Uniswap's UniswapV2ERC20 and MakerDAO's Dai contracts:
    * https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol
    * https://github.com/makerdao/dss/blob/master/src/dai.sol
    */
    function _permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    )
        internal
    {
        require(
            deadline == 0 || deadline >= block.timestamp,
            "Permittable: Permit expired"
        );

        require(
            spender != address(0),
            "Permittable: spender cannot be 0x0"
        );

        require(
            value > 0,
            "Permittable: approval value must be greater than 0"
        );

        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(
                    abi.encode(
                    PERMIT_TYPEHASH,
                    owner,
                    spender,
                    value,
                    nonces[owner]++,
                    deadline
                )
            )
        ));

        address recoveredAddress = ecrecover(
            digest,
            v,
            r,
            s
        );

        require(
            recoveredAddress != address(0) && owner == recoveredAddress,
            "Permittable: Signature invalid"
        );

    }

}

Settings
{
  "metadata": {
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"_oldArcxToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_targetContract","type":"address"},{"indexed":false,"internalType":"address","name":"_newOwner","type":"address"}],"name":"OtherOwnershipTransfered","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":"_pauseOperator","type":"address"}],"name":"PauseOperatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_status","type":"bool"}],"name":"PauseStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldArcxToken","outputs":[{"internalType":"contract BaseERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauseOperator","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_pauseStatus","type":"bool"}],"name":"setPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_targetContract","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOtherOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newPauseOperator","type":"address"}],"name":"updatePauseOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620021bf380380620021bf8339810160408190526200003491620002de565b8282601282604051806040016040528060018152602001603160f81b8152506200006582826200016d60201b60201c565b600055505082516200007f906006906020860190620001d0565b50815162000095906007906020850190620001d0565b506004805460ff90921660ff199092169190911790555050600880546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600160a01b0381166200011f5760405162461bcd60e51b81526004016200011690620004af565b60405180910390fd5b600a80546001600160a01b039092166001600160a01b03199283161790556009805460ff60a01b19600160a91b60ff60a81b19909216919091179092163317919091169055506200057d9050565b604051600090469062000180906200044c565b6040518091039020848051906020012084805190602001208330604051602001620001b095949392919062000459565b604051602081830303815290604052805190602001209150505b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200021357805160ff191683800117855562000243565b8280016001018555821562000243579182015b828111156200024357825182559160200191906001019062000226565b506200025192915062000255565b5090565b6200027291905b808211156200025157600081556001016200025c565b90565b8051620001ca8162000563565b600082601f8301126200029457600080fd5b8151620002ab620002a582620004e8565b620004c1565b91508082526020830160208301858383011115620002c857600080fd5b620002d583828462000530565b50505092915050565b600080600060608486031215620002f457600080fd5b83516001600160401b038111156200030b57600080fd5b620003198682870162000282565b93505060208401516001600160401b038111156200033657600080fd5b620003448682870162000282565b9250506040620003578682870162000275565b9150509250925092565b6200036c816200051e565b82525050565b6200036c8162000272565b60006200038c60528362000519565b7f454950373132446f6d61696e28737472696e67206e616d652c737472696e672081527f76657273696f6e2c75696e7432353620636861696e49642c6164647265737320602082015271766572696679696e67436f6e74726163742960701b604082015260520192915050565b600062000408602f8362000510565b7f41726378546f6b656e56323a206f6c64204152435820746f6b656e2063616e6e81526e06f742062652061646472657373203608c1b602082015260400192915050565b6000620001ca826200037d565b60a0810162000469828862000372565b62000478602083018762000372565b62000487604083018662000372565b62000496606083018562000372565b620004a5608083018462000361565b9695505050505050565b60208082528101620001ca81620003f9565b6040518181016001600160401b0381118282101715620004e057600080fd5b604052919050565b60006001600160401b03821115620004ff57600080fd5b506020601f91909101601f19160190565b90815260200190565b919050565b60006001600160a01b038216620001ca565b60005b838110156200054d57818101518382015260200162000533565b838111156200055d576000848401525b50505050565b6200056e816200051e565b81146200057a57600080fd5b50565b611c32806200058d6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806354fd4d50116100de5780639dc29fac11610097578063bedb86fb11610071578063bedb86fb146102ff578063d505accf14610312578063dd62ed3e14610325578063f2fde38b146103385761018e565b80639dc29fac146102d1578063a9059cbb146102e4578063b187bd26146102f75761018e565b806354fd4d501461028b57806370a0823114610293578063715018a6146102a65780637ecebe00146102ae5780638da5cb5b146102c157806395d89b41146102c95761018e565b806330adf81f1161014b57806340c10f191161012557806340c10f19146102465780634afdcbde146102595780634e71d92d1461026e578063503b6f38146102765761018e565b806330adf81f14610221578063313ce567146102295780633644e5151461023e5761018e565b806306fdde0314610193578063095ea7b3146101b15780630b5c903e146101d157806318160ddd146101e657806323b872dd146101fb5780632bc37baf1461020e575b600080fd5b61019b61034b565b6040516101a891906119eb565b60405180910390f35b6101c46101bf366004611293565b6103e1565b6040516101a89190611929565b6101e46101df36600461112c565b6103f8565b005b6101ee610481565b6040516101a89190611937565b6101c46102093660046111aa565b610487565b6101e461021c366004611170565b61050a565b6101ee610676565b61023161069a565b6040516101a89190611b2c565b6101ee6106a3565b6101e4610254366004611293565b6106a9565b6102616106e1565b6040516101a891906118d7565b6101e46106f0565b61027e610874565b6040516101a891906119dd565b610231610883565b6101ee6102a136600461112c565b610893565b6101e46108ae565b6101ee6102bc36600461112c565b610922565b610261610934565b61019b610943565b6101e46102df366004611293565b6109a4565b6101c46102f2366004611293565b6109d8565b6101c4610a10565b6101e461030d3660046112c3565b610a20565b6101e46103203660046111f7565b610a91565b6101ee610333366004611170565b610ab4565b6101e461034636600461112c565b610adf565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d75780601f106103ac576101008083540402835291602001916103d7565b820191906000526020600020905b8154815290600101906020018083116103ba57829003601f168201915b5050505050905090565b60006103ee338484610b8b565b5060015b92915050565b6008546001600160a01b0316331461042b5760405162461bcd60e51b815260040161042290611a9c565b60405180910390fd5b600980546001600160a01b0319166001600160a01b0383161790556040517f9634ae0f67d46a4880a19759f27cf2fad90f13c61aa6c544bf712f68d07143dd906104769083906118d7565b60405180910390a150565b60055490565b600954600090600160a01b900460ff16156104b45760405162461bcd60e51b815260040161042290611b1c565b6104bf848484610c3f565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546104ff9186916104fa908663ffffffff610d3b16565b610b8b565b5060015b9392505050565b6008546001600160a01b031633146105345760405162461bcd60e51b815260040161042290611a9c565b6000829050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105b49190810190611152565b6001600160a01b0316146105da5760405162461bcd60e51b815260040161042290611acc565b60405163f2fde38b60e01b81526001600160a01b0382169063f2fde38b906106069085906004016118d7565b600060405180830381600087803b15801561062057600080fd5b505af1158015610634573d6000803e3d6000fd5b505050507f143be224d47a128bddb99603cd82d009afb1335f10e1f09e2167a95898297eb9838360405161066992919061190e565b60405180910390a1505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60045460ff1690565b60005481565b6008546001600160a01b031633146106d35760405162461bcd60e51b815260040161042290611a9c565b6106dd8282610d63565b5050565b6009546001600160a01b031681565b600954600160a01b900460ff161561071a5760405162461bcd60e51b815260040161042290611b1c565b600a546040516370a0823160e01b81526000916001600160a01b0316906370a082319061074b9033906004016118e5565b60206040518083038186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061079b91908101906112e1565b905060006107b18261271063ffffffff610e2316565b9050600082116107d35760405162461bcd60e51b815260040161042290611a5c565b600a54604051632770a7eb60e21b81526001600160a01b03909116908190639dc29fac9061080790339087906004016118f3565b600060405180830381600087803b15801561082157600080fd5b505af1158015610835573d6000803e3d6000fd5b505050506108433383610d63565b7fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a33836040516106699291906118f3565b600a546001600160a01b031681565b600954600160a81b900460ff1681565b6001600160a01b031660009081526002602052604090205490565b6008546001600160a01b031633146108d85760405162461bcd60e51b815260040161042290611a9c565b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b60016020526000908152604090205481565b6008546001600160a01b031690565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d75780601f106103ac576101008083540402835291602001916103d7565b6008546001600160a01b031633146109ce5760405162461bcd60e51b815260040161042290611a9c565b6106dd8282610e5d565b600954600090600160a01b900460ff1615610a055760405162461bcd60e51b815260040161042290611b1c565b6103ee338484610c3f565b600954600160a01b900460ff1681565b6009546001600160a01b03163314610a4a5760405162461bcd60e51b815260040161042290611aec565b6009805460ff60a01b1916600160a01b831515021790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590610476908390611929565b610aa087878787878787610f19565b610aab878787610b8b565b50505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6008546001600160a01b03163314610b095760405162461bcd60e51b815260040161042290611a9c565b6001600160a01b038116610b2f5760405162461bcd60e51b815260040161042290611a0c565b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bb15760405162461bcd60e51b815260040161042290611adc565b6001600160a01b038216610bd75760405162461bcd60e51b815260040161042290611a1c565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c32908590611937565b60405180910390a3505050565b6001600160a01b038316610c655760405162461bcd60e51b815260040161042290611abc565b6001600160a01b038216610c8b5760405162461bcd60e51b8152600401610422906119fc565b6001600160a01b038316600090815260026020526040902054610cb4908263ffffffff610d3b16565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610ce9908263ffffffff6110c516565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c32908590611937565b600082821115610d5d5760405162461bcd60e51b815260040161042290611a4c565b50900390565b6001600160a01b038216610d895760405162461bcd60e51b815260040161042290611b0c565b600554610d9c908263ffffffff6110c516565b6005556001600160a01b038216600090815260026020526040902054610dc8908263ffffffff6110c516565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e17908590611937565b60405180910390a35050565b600082610e32575060006103f2565b82820282848281610e3f57fe5b04146105035760405162461bcd60e51b815260040161042290611a8c565b6001600160a01b038216610e835760405162461bcd60e51b815260040161042290611aac565b6001600160a01b038216600090815260026020526040902054610eac908263ffffffff610d3b16565b6001600160a01b038316600090815260026020526040902055600554610ed8908263ffffffff610d3b16565b6005556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e17908590611937565b831580610f265750428410155b610f425760405162461bcd60e51b815260040161042290611a7c565b6001600160a01b038616610f685760405162461bcd60e51b815260040161042290611a6c565b60008511610f885760405162461bcd60e51b815260040161042290611afc565b600080546001600160a01b03891682526001602081815260408085208054938401905551610fe2927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d9101611945565b604051602081830303815290604052805190602001206040516020016110099291906118a6565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051611046949392919061199f565b6020604051602081039080840390855afa158015611068573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061109e5750806001600160a01b0316896001600160a01b0316145b6110ba5760405162461bcd60e51b815260040161042290611a3c565b505050505050505050565b6000828201838110156105035760405162461bcd60e51b815260040161042290611a2c565b80356103f281611bbd565b80516103f281611bbd565b80356103f281611bd4565b80356103f281611bdd565b80516103f281611bdd565b80356103f281611be6565b60006020828403121561113e57600080fd5b600061114a84846110ea565b949350505050565b60006020828403121561116457600080fd5b600061114a84846110f5565b6000806040838503121561118357600080fd5b600061118f85856110ea565b92505060206111a0858286016110ea565b9150509250929050565b6000806000606084860312156111bf57600080fd5b60006111cb86866110ea565b93505060206111dc868287016110ea565b92505060406111ed8682870161110b565b9150509250925092565b600080600080600080600060e0888a03121561121257600080fd5b600061121e8a8a6110ea565b975050602061122f8a828b016110ea565b96505060406112408a828b0161110b565b95505060606112518a828b0161110b565b94505060806112628a828b01611121565b93505060a06112738a828b0161110b565b92505060c06112848a828b0161110b565b91505092959891949750929550565b600080604083850312156112a657600080fd5b60006112b285856110ea565b92505060206111a08582860161110b565b6000602082840312156112d557600080fd5b600061114a8484611100565b6000602082840312156112f357600080fd5b600061114a8484611116565b61130881611b71565b82525050565b61130881611b4c565b61130881611b57565b61130881611b5c565b61130861133582611b5c565b611b5c565b61130881611b78565b600061134e82611b3a565b6113588185611b3e565b9350611368818560208601611b83565b61137181611bb3565b9093019392505050565b6000611388602383611b3e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b60006113cd602683611b3e565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611415602283611b3e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000611459600283611b47565b61190160f01b815260020192915050565b6000611477601b83611b3e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006114b0601e83611b3e565b7f5065726d69747461626c653a205369676e617475726520696e76616c69640000815260200192915050565b60006114e9601e83611b3e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611522602d83611b3e565b7f41726378546f6b656e56323a20757365722068617320302062616c616e63652081526c6f66206f6c6420746f6b656e7360981b602082015260400192915050565b6000611571602283611b3e565b7f5065726d69747461626c653a207370656e6465722063616e6e6f742062652030815261078360f41b602082015260400192915050565b60006115b5601b83611b3e565b7f5065726d69747461626c653a205065726d697420657870697265640000000000815260200192915050565b60006115ee602183611b3e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611631602083611b3e565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b600061166a602183611b3e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b60006116ad602583611b3e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b60006116f4603983611b3e565b7f41726378546f6b656e56323a207468697320636f6e7472616374206973206e6f81527f7420746865206f776e6572206f66207468652074617267657400000000000000602082015260400192915050565b6000611753602483611b3e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000611799602983611b3e565b7f41726378546f6b656e56323a2063616c6c6572206973206e6f742070617573658152681037b832b930ba37b960b91b602082015260400192915050565b60006117e4603283611b3e565b7f5065726d69747461626c653a20617070726f76616c2076616c7565206d75737481527102062652067726561746572207468616e20360741b602082015260400192915050565b6000611838601f83611b3e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000611871601f83611b3e565b7f41726378546f6b656e56323a20636f6e74726163742069732070617573656400815260200192915050565b61130881611b6b565b60006118b18261144c565b91506118bd8285611329565b6020820191506118cd8284611329565b5060200192915050565b602081016103f2828461130e565b602081016103f282846112ff565b6040810161190182856112ff565b6105036020830184611320565b6040810161191c828561130e565b610503602083018461130e565b602081016103f28284611317565b602081016103f28284611320565b60c081016119538289611320565b611960602083018861130e565b61196d604083018761130e565b61197a6060830186611320565b6119876080830185611320565b61199460a0830184611320565b979650505050505050565b608081016119ad8287611320565b6119ba602083018661189d565b6119c76040830185611320565b6119d46060830184611320565b95945050505050565b602081016103f2828461133a565b602080825281016105038184611343565b602080825281016103f28161137b565b602080825281016103f2816113c0565b602080825281016103f281611408565b602080825281016103f28161146a565b602080825281016103f2816114a3565b602080825281016103f2816114dc565b602080825281016103f281611515565b602080825281016103f281611564565b602080825281016103f2816115a8565b602080825281016103f2816115e1565b602080825281016103f281611624565b602080825281016103f28161165d565b602080825281016103f2816116a0565b602080825281016103f2816116e7565b602080825281016103f281611746565b602080825281016103f28161178c565b602080825281016103f2816117d7565b602080825281016103f28161182b565b602080825281016103f281611864565b602081016103f2828461189d565b5190565b90815260200190565b919050565b60006103f282611b5f565b151590565b90565b6001600160a01b031690565b60ff1690565b60006103f2825b60006103f282611b4c565b60005b83811015611b9e578181015183820152602001611b86565b83811115611bad576000848401525b50505050565b601f01601f191690565b611bc681611b4c565b8114611bd157600080fd5b50565b611bc681611b57565b611bc681611b5c565b611bc681611b6b56fea365627a7a723158206b609643b364be234c5af8b9a19ebf35b2179e992b8599f904006d6fb7fdd3a76c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ed30dd7e50edf3581ad970efc5d9379ce2614adb00000000000000000000000000000000000000000000000000000000000000154152437820476f7665726e616e636520546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000044152435800000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806354fd4d50116100de5780639dc29fac11610097578063bedb86fb11610071578063bedb86fb146102ff578063d505accf14610312578063dd62ed3e14610325578063f2fde38b146103385761018e565b80639dc29fac146102d1578063a9059cbb146102e4578063b187bd26146102f75761018e565b806354fd4d501461028b57806370a0823114610293578063715018a6146102a65780637ecebe00146102ae5780638da5cb5b146102c157806395d89b41146102c95761018e565b806330adf81f1161014b57806340c10f191161012557806340c10f19146102465780634afdcbde146102595780634e71d92d1461026e578063503b6f38146102765761018e565b806330adf81f14610221578063313ce567146102295780633644e5151461023e5761018e565b806306fdde0314610193578063095ea7b3146101b15780630b5c903e146101d157806318160ddd146101e657806323b872dd146101fb5780632bc37baf1461020e575b600080fd5b61019b61034b565b6040516101a891906119eb565b60405180910390f35b6101c46101bf366004611293565b6103e1565b6040516101a89190611929565b6101e46101df36600461112c565b6103f8565b005b6101ee610481565b6040516101a89190611937565b6101c46102093660046111aa565b610487565b6101e461021c366004611170565b61050a565b6101ee610676565b61023161069a565b6040516101a89190611b2c565b6101ee6106a3565b6101e4610254366004611293565b6106a9565b6102616106e1565b6040516101a891906118d7565b6101e46106f0565b61027e610874565b6040516101a891906119dd565b610231610883565b6101ee6102a136600461112c565b610893565b6101e46108ae565b6101ee6102bc36600461112c565b610922565b610261610934565b61019b610943565b6101e46102df366004611293565b6109a4565b6101c46102f2366004611293565b6109d8565b6101c4610a10565b6101e461030d3660046112c3565b610a20565b6101e46103203660046111f7565b610a91565b6101ee610333366004611170565b610ab4565b6101e461034636600461112c565b610adf565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d75780601f106103ac576101008083540402835291602001916103d7565b820191906000526020600020905b8154815290600101906020018083116103ba57829003601f168201915b5050505050905090565b60006103ee338484610b8b565b5060015b92915050565b6008546001600160a01b0316331461042b5760405162461bcd60e51b815260040161042290611a9c565b60405180910390fd5b600980546001600160a01b0319166001600160a01b0383161790556040517f9634ae0f67d46a4880a19759f27cf2fad90f13c61aa6c544bf712f68d07143dd906104769083906118d7565b60405180910390a150565b60055490565b600954600090600160a01b900460ff16156104b45760405162461bcd60e51b815260040161042290611b1c565b6104bf848484610c3f565b6001600160a01b0384166000908152600360209081526040808320338085529252909120546104ff9186916104fa908663ffffffff610d3b16565b610b8b565b5060015b9392505050565b6008546001600160a01b031633146105345760405162461bcd60e51b815260040161042290611a9c565b6000829050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105b49190810190611152565b6001600160a01b0316146105da5760405162461bcd60e51b815260040161042290611acc565b60405163f2fde38b60e01b81526001600160a01b0382169063f2fde38b906106069085906004016118d7565b600060405180830381600087803b15801561062057600080fd5b505af1158015610634573d6000803e3d6000fd5b505050507f143be224d47a128bddb99603cd82d009afb1335f10e1f09e2167a95898297eb9838360405161066992919061190e565b60405180910390a1505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60045460ff1690565b60005481565b6008546001600160a01b031633146106d35760405162461bcd60e51b815260040161042290611a9c565b6106dd8282610d63565b5050565b6009546001600160a01b031681565b600954600160a01b900460ff161561071a5760405162461bcd60e51b815260040161042290611b1c565b600a546040516370a0823160e01b81526000916001600160a01b0316906370a082319061074b9033906004016118e5565b60206040518083038186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061079b91908101906112e1565b905060006107b18261271063ffffffff610e2316565b9050600082116107d35760405162461bcd60e51b815260040161042290611a5c565b600a54604051632770a7eb60e21b81526001600160a01b03909116908190639dc29fac9061080790339087906004016118f3565b600060405180830381600087803b15801561082157600080fd5b505af1158015610835573d6000803e3d6000fd5b505050506108433383610d63565b7fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a33836040516106699291906118f3565b600a546001600160a01b031681565b600954600160a81b900460ff1681565b6001600160a01b031660009081526002602052604090205490565b6008546001600160a01b031633146108d85760405162461bcd60e51b815260040161042290611a9c565b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b60016020526000908152604090205481565b6008546001600160a01b031690565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d75780601f106103ac576101008083540402835291602001916103d7565b6008546001600160a01b031633146109ce5760405162461bcd60e51b815260040161042290611a9c565b6106dd8282610e5d565b600954600090600160a01b900460ff1615610a055760405162461bcd60e51b815260040161042290611b1c565b6103ee338484610c3f565b600954600160a01b900460ff1681565b6009546001600160a01b03163314610a4a5760405162461bcd60e51b815260040161042290611aec565b6009805460ff60a01b1916600160a01b831515021790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590610476908390611929565b610aa087878787878787610f19565b610aab878787610b8b565b50505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6008546001600160a01b03163314610b095760405162461bcd60e51b815260040161042290611a9c565b6001600160a01b038116610b2f5760405162461bcd60e51b815260040161042290611a0c565b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bb15760405162461bcd60e51b815260040161042290611adc565b6001600160a01b038216610bd75760405162461bcd60e51b815260040161042290611a1c565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c32908590611937565b60405180910390a3505050565b6001600160a01b038316610c655760405162461bcd60e51b815260040161042290611abc565b6001600160a01b038216610c8b5760405162461bcd60e51b8152600401610422906119fc565b6001600160a01b038316600090815260026020526040902054610cb4908263ffffffff610d3b16565b6001600160a01b038085166000908152600260205260408082209390935590841681522054610ce9908263ffffffff6110c516565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c32908590611937565b600082821115610d5d5760405162461bcd60e51b815260040161042290611a4c565b50900390565b6001600160a01b038216610d895760405162461bcd60e51b815260040161042290611b0c565b600554610d9c908263ffffffff6110c516565b6005556001600160a01b038216600090815260026020526040902054610dc8908263ffffffff6110c516565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e17908590611937565b60405180910390a35050565b600082610e32575060006103f2565b82820282848281610e3f57fe5b04146105035760405162461bcd60e51b815260040161042290611a8c565b6001600160a01b038216610e835760405162461bcd60e51b815260040161042290611aac565b6001600160a01b038216600090815260026020526040902054610eac908263ffffffff610d3b16565b6001600160a01b038316600090815260026020526040902055600554610ed8908263ffffffff610d3b16565b6005556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e17908590611937565b831580610f265750428410155b610f425760405162461bcd60e51b815260040161042290611a7c565b6001600160a01b038616610f685760405162461bcd60e51b815260040161042290611a6c565b60008511610f885760405162461bcd60e51b815260040161042290611afc565b600080546001600160a01b03891682526001602081815260408085208054938401905551610fe2927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d9101611945565b604051602081830303815290604052805190602001206040516020016110099291906118a6565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051611046949392919061199f565b6020604051602081039080840390855afa158015611068573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061109e5750806001600160a01b0316896001600160a01b0316145b6110ba5760405162461bcd60e51b815260040161042290611a3c565b505050505050505050565b6000828201838110156105035760405162461bcd60e51b815260040161042290611a2c565b80356103f281611bbd565b80516103f281611bbd565b80356103f281611bd4565b80356103f281611bdd565b80516103f281611bdd565b80356103f281611be6565b60006020828403121561113e57600080fd5b600061114a84846110ea565b949350505050565b60006020828403121561116457600080fd5b600061114a84846110f5565b6000806040838503121561118357600080fd5b600061118f85856110ea565b92505060206111a0858286016110ea565b9150509250929050565b6000806000606084860312156111bf57600080fd5b60006111cb86866110ea565b93505060206111dc868287016110ea565b92505060406111ed8682870161110b565b9150509250925092565b600080600080600080600060e0888a03121561121257600080fd5b600061121e8a8a6110ea565b975050602061122f8a828b016110ea565b96505060406112408a828b0161110b565b95505060606112518a828b0161110b565b94505060806112628a828b01611121565b93505060a06112738a828b0161110b565b92505060c06112848a828b0161110b565b91505092959891949750929550565b600080604083850312156112a657600080fd5b60006112b285856110ea565b92505060206111a08582860161110b565b6000602082840312156112d557600080fd5b600061114a8484611100565b6000602082840312156112f357600080fd5b600061114a8484611116565b61130881611b71565b82525050565b61130881611b4c565b61130881611b57565b61130881611b5c565b61130861133582611b5c565b611b5c565b61130881611b78565b600061134e82611b3a565b6113588185611b3e565b9350611368818560208601611b83565b61137181611bb3565b9093019392505050565b6000611388602383611b3e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b60006113cd602683611b3e565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611415602283611b3e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000611459600283611b47565b61190160f01b815260020192915050565b6000611477601b83611b3e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006114b0601e83611b3e565b7f5065726d69747461626c653a205369676e617475726520696e76616c69640000815260200192915050565b60006114e9601e83611b3e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611522602d83611b3e565b7f41726378546f6b656e56323a20757365722068617320302062616c616e63652081526c6f66206f6c6420746f6b656e7360981b602082015260400192915050565b6000611571602283611b3e565b7f5065726d69747461626c653a207370656e6465722063616e6e6f742062652030815261078360f41b602082015260400192915050565b60006115b5601b83611b3e565b7f5065726d69747461626c653a205065726d697420657870697265640000000000815260200192915050565b60006115ee602183611b3e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611631602083611b3e565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b600061166a602183611b3e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b60006116ad602583611b3e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b60006116f4603983611b3e565b7f41726378546f6b656e56323a207468697320636f6e7472616374206973206e6f81527f7420746865206f776e6572206f66207468652074617267657400000000000000602082015260400192915050565b6000611753602483611b3e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000611799602983611b3e565b7f41726378546f6b656e56323a2063616c6c6572206973206e6f742070617573658152681037b832b930ba37b960b91b602082015260400192915050565b60006117e4603283611b3e565b7f5065726d69747461626c653a20617070726f76616c2076616c7565206d75737481527102062652067726561746572207468616e20360741b602082015260400192915050565b6000611838601f83611b3e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000611871601f83611b3e565b7f41726378546f6b656e56323a20636f6e74726163742069732070617573656400815260200192915050565b61130881611b6b565b60006118b18261144c565b91506118bd8285611329565b6020820191506118cd8284611329565b5060200192915050565b602081016103f2828461130e565b602081016103f282846112ff565b6040810161190182856112ff565b6105036020830184611320565b6040810161191c828561130e565b610503602083018461130e565b602081016103f28284611317565b602081016103f28284611320565b60c081016119538289611320565b611960602083018861130e565b61196d604083018761130e565b61197a6060830186611320565b6119876080830185611320565b61199460a0830184611320565b979650505050505050565b608081016119ad8287611320565b6119ba602083018661189d565b6119c76040830185611320565b6119d46060830184611320565b95945050505050565b602081016103f2828461133a565b602080825281016105038184611343565b602080825281016103f28161137b565b602080825281016103f2816113c0565b602080825281016103f281611408565b602080825281016103f28161146a565b602080825281016103f2816114a3565b602080825281016103f2816114dc565b602080825281016103f281611515565b602080825281016103f281611564565b602080825281016103f2816115a8565b602080825281016103f2816115e1565b602080825281016103f281611624565b602080825281016103f28161165d565b602080825281016103f2816116a0565b602080825281016103f2816116e7565b602080825281016103f281611746565b602080825281016103f28161178c565b602080825281016103f2816117d7565b602080825281016103f28161182b565b602080825281016103f281611864565b602081016103f2828461189d565b5190565b90815260200190565b919050565b60006103f282611b5f565b151590565b90565b6001600160a01b031690565b60ff1690565b60006103f2825b60006103f282611b4c565b60005b83811015611b9e578181015183820152602001611b86565b83811115611bad576000848401525b50505050565b601f01601f191690565b611bc681611b4c565b8114611bd157600080fd5b50565b611bc681611b57565b611bc681611b5c565b611bc681611b6b56fea365627a7a723158206b609643b364be234c5af8b9a19ebf35b2179e992b8599f904006d6fb7fdd3a76c6578706572696d656e74616cf564736f6c63430005100040

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ed30dd7e50edf3581ad970efc5d9379ce2614adb00000000000000000000000000000000000000000000000000000000000000154152437820476f7665726e616e636520546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000044152435800000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): ARCx Governance Token
Arg [1] : symbol (string): ARCX
Arg [2] : _oldArcxToken (address): 0xED30Dd7E50EdF3581AD970eFC5D9379Ce2614AdB

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000ed30dd7e50edf3581ad970efc5d9379ce2614adb
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [4] : 4152437820476f7665726e616e636520546f6b656e0000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4152435800000000000000000000000000000000000000000000000000000000


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.