Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
19,852.59 xCBR

Holders:
405
Profile Summary
Blockchain:
Blast Sepolia (168587773)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
XToken

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 800 runs

Created At:
Tue, 27 Feb 2024 22:45:34 GMT
Ownable.sol
@openzeppelin
contracts:076
access
Ownable.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "_underlyingToken",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_blast",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_governor",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_treasuryAddress",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "Allocate",
    "type": "event"
  },
  {
    "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": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ApproveUsage",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      }
    ],
    "name": "CancelRedeem",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "Convert",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "Deallocate",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "FinalizeRedeem",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "duration",
        "type": "uint256"
      }
    ],
    "name": "Redeem",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "add",
        "type": "bool"
      }
    ],
    "name": "SetTransferWhitelist",
    "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "previousDividendsAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newDividendsAddress",
        "type": "address"
      }
    ],
    "name": "UpdateDividendsAddress",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "redeemIndex",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "previousDividendsAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newDividendsAddress",
        "type": "address"
      }
    ],
    "name": "UpdateRedeemDividendsAddress",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "minRedeemRatio",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "maxRedeemRatio",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "minRedeemDuration",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "maxRedeemDuration",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "redeemDividendsAdjustment",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "freeRedeemPercentage",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "minFreeRedeem",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "freeRedeemCooldown",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "redemptionGracePeriod",
        "type": "uint256"
      }
    ],
    "name": "UpdateRedeemSettings",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newTreasuryAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldTreasuryAddress",
        "type": "address"
      }
    ],
    "name": "UpdateTreasuryAddress",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "MAX_FIXED_RATIO",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "usageData",
        "type": "bytes"
      }
    ],
    "name": "allocate",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "allocateFromUsage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IXTokenUsage",
        "name": "usage",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approveUsage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "redeemIndex",
        "type": "uint256"
      }
    ],
    "name": "cancelRedeem",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "convert",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "convertTo",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "usageData",
        "type": "bytes"
      }
    ],
    "name": "deallocate",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "deallocateFromUsage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "dividendsAddress",
    "outputs": [
      {
        "internalType": "contract IXTokenUsage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "redeemIndex",
        "type": "uint256"
      }
    ],
    "name": "finalizeRedeem",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "freeRedeemAllowances",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "freeRedeemCooldown",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "freeRedeemPercentage",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "duration",
        "type": "uint256"
      }
    ],
    "name": "getTokenByVestingDuration",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      }
    ],
    "name": "getUsageAllocation",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "usageAddress",
        "type": "address"
      }
    ],
    "name": "getUsageApproval",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "redeemIndex",
        "type": "uint256"
      }
    ],
    "name": "getUserRedeem",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "endTime",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "dividendsContract",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "dividendsAllocation",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      }
    ],
    "name": "getUserRedeemsLength",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      }
    ],
    "name": "getXTokenBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "allocatedAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "redeemingAmount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isTransferWhitelisted",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxRedeemDuration",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxRedeemRatio",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minFreeRedeem",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minRedeemDuration",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minRedeemRatio",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "duration",
        "type": "uint256"
      }
    ],
    "name": "redeem",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "redeemDividendsAdjustment",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "redemptionGracePeriod",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "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"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "transferWhitelist",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "transferWhitelistLength",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "treasuryAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "underlyingToken",
    "outputs": [
      {
        "internalType": "contract IERC20",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IXTokenUsage",
        "name": "dividendsAddress_",
        "type": "address"
      }
    ],
    "name": "updateDividendsAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "redeemIndex",
        "type": "uint256"
      }
    ],
    "name": "updateRedeemDividendsAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "minRedeemRatio_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "maxRedeemRatio_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minRedeemDuration_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "maxRedeemDuration_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "redeemDividendsAdjustment_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "freeRedeemPercentage_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minFreeRedeem_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "freeRedeemCooldown_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "redemptionGracePeriod_",
        "type": "uint256"
      }
    ],
    "name": "updateRedeemSettings",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "add",
        "type": "bool"
      }
    ],
    "name": "updateTransferWhitelist",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_newTreasuryAddress",
        "type": "address"
      }
    ],
    "name": "updateTreasuryAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "usageAllocations",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "usageApprovals",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "userRedeems",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "xTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "endTime",
        "type": "uint256"
      },
      {
        "internalType": "contract IXTokenUsage",
        "name": "dividendsAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "dividendsAllocation",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "xTokenBalances",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "allocatedAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "redeemingAmount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


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

----Decoded View------------Arg [0] : _underlyingToken (address): 0xE070B87c4d88826D4cD1b85BAbE186fdB14CD321Arg [1] : name (string): xCyberblastArg [2] : symbol (string): xCBRArg [3] : _blast (address): 0x4300000000000000000000000000000000000002Arg [4] : _governor (address): 0x1eb871f2293D8Ef6Af98b7553bD68E32fDeB3974Arg [5] : _treasuryAddress (address): 0x1eb871f2293D8Ef6Af98b7553bD68E32fDeB3974

----Encoded View------------Arg [0] : 0x000000000000000000000000e070b87c4d88826d4cd1b85babe186fdb14cd321Arg [1] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b784379626572626c617374000000000000000000000000000000000000000000Arg [2] : 0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047843425200000000000000000000000000000000000000000000000000000000Arg [3] : 0x0000000000000000000000004300000000000000000000000000000000000002Arg [4] : 0x0000000000000000000000001eb871f2293d8ef6af98b7553bd68e32fdeb3974Arg [5] : 0x0000000000000000000000001eb871f2293d8ef6af98b7553bd68e32fdeb3974