Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 $WAIFU

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


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

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Created At:
Tue, 06 Feb 2024 10:10:10 GMT
AccessControl.sol
@openzeppelin
contracts
access
AccessControl.sol


Contract ABI
[
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "defaultAdmin",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "supplyRecipient",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "totalSupply",
            "type": "uint256"
          },
          {
            "internalType": "string",
            "name": "name",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol",
            "type": "string"
          }
        ],
        "internalType": "struct WaifuToken.BaseParameters",
        "name": "baseParams",
        "type": "tuple"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "projectBuyTaxBasisPoints",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "projectSellTaxBasisPoints",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "projectTaxRecipient",
            "type": "address"
          }
        ],
        "internalType": "struct WaifuToken.ERC20TaxParameters",
        "name": "taxParams",
        "type": "tuple"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "AccessControlBadConfirmation",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bytes32",
        "name": "neededRole",
        "type": "bytes32"
      }
    ],
    "name": "AccessControlUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "target",
        "type": "address"
      }
    ],
    "name": "AddressEmptyCode",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "AddressInsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CannotWithdrawThisToken",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "allowance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientAllowance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "balance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "approver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidApprover",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidReceiver",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSpender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FailedInnerCall",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LiquidityPoolCannotBeAddressZero",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LiquidityPoolMustBeAContractAddress",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "SafeERC20FailedOperation",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferAmountExceedsBalance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferFromZeroAddress",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferToZeroAddress",
    "type": "error"
  },
  {
    "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": "addedPool",
        "type": "address"
      }
    ],
    "name": "LiquidityPoolAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "removedPool",
        "type": "address"
      }
    ],
    "name": "LiquidityPoolRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldBuyBasisPoints",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newBuyBasisPoints",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldSellBasisPoints",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newSellBasisPoints",
        "type": "uint256"
      }
    ],
    "name": "ProjectTaxBasisPointsChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "treasury",
        "type": "address"
      }
    ],
    "name": "ProjectTaxRecipientUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "previousAdminRole",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "newAdminRole",
        "type": "bytes32"
      }
    ],
    "name": "RoleAdminChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleGranted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleRevoked",
    "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"
  },
  {
    "inputs": [],
    "name": "DEFAULT_ADMIN_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newLiquidityPool_",
        "type": "address"
      }
    ],
    "name": "addLiquidityPool",
    "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": "value",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "distributeTaxTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      }
    ],
    "name": "getRoleAdmin",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "grantRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "hasRole",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "queryAddress_",
        "type": "address"
      }
    ],
    "name": "isLiquidityPool",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "projectBuyTaxBasisPoints",
    "outputs": [
      {
        "internalType": "uint16",
        "name": "",
        "type": "uint16"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "projectSellTaxBasisPoints",
    "outputs": [
      {
        "internalType": "uint16",
        "name": "",
        "type": "uint16"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "projectTaxPendingSwap",
    "outputs": [
      {
        "internalType": "uint128",
        "name": "",
        "type": "uint128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "projectTaxRecipient",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "removedLiquidityPool_",
        "type": "address"
      }
    ],
    "name": "removeLiquidityPool",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "callerConfirmation",
        "type": "address"
      }
    ],
    "name": "renounceRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "revokeRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint16",
        "name": "newProjectBuyTaxBasisPoints_",
        "type": "uint16"
      },
      {
        "internalType": "uint16",
        "name": "newProjectSellTaxBasisPoints_",
        "type": "uint16"
      }
    ],
    "name": "setProjectTaxRates",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "projectTaxRecipient_",
        "type": "address"
      }
    ],
    "name": "setProjectTaxRecipient",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalBuyTaxBasisPoints",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSellTaxBasisPoints",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      }
    ],
    "name": "withdrawERC20",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      }
    ],
    "name": "withdrawETH",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


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