Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
373,015.30 SBTC Staking

Holders:
11
Profile Summary
Blockchain:
Base (8453)


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

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Created At:
Wed, 09 Oct 2024 14:00:09 GMT
stakeInterface.sol
stakeInterface.sol
stakeInterface.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "tname",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "tsymbol",
        "type": "string"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ADDREWARD",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "staker",
        "type": "address"
      }
    ],
    "name": "CLAIMALLREWARD",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "staker",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "CLAIMEDREWARD",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "staker",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "reward",
        "type": "uint256"
      }
    ],
    "name": "CLAIMEDSDEARNED",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "round",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokens",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "PAYOUT",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "staker",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokens",
        "type": "uint256"
      }
    ],
    "name": "STAKED",
    "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": "staker",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokens",
        "type": "uint256"
      }
    ],
    "name": "WITHDRAW",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "DATA_READ",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "SD",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "accu",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "accumulated",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "addReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "amountStaked",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "StakedSD",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "boost",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "boostBacking",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "burnWDFee",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimAllReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "claimRewardTokenEarned",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "owing",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "delay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "depositFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amt",
        "type": "uint256"
      }
    ],
    "name": "emergencySaveLostTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "getAllPendingRewardTokenEarned",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      },
      {
        "internalType": "address[]",
        "name": "reward",
        "type": "address[]"
      },
      {
        "internalType": "string[]",
        "name": "name_",
        "type": "string[]"
      },
      {
        "internalType": "string[]",
        "name": "symbol_",
        "type": "string[]"
      },
      {
        "internalType": "uint8[]",
        "name": "decimals_",
        "type": "uint8[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "starting",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "getPaginatedPendingRewardTokenEarned",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      },
      {
        "internalType": "address[]",
        "name": "reward",
        "type": "address[]"
      },
      {
        "internalType": "string[]",
        "name": "name_",
        "type": "string[]"
      },
      {
        "internalType": "string[]",
        "name": "symbol_",
        "type": "string[]"
      },
      {
        "internalType": "uint8[]",
        "name": "decimals_",
        "type": "uint8[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getRewardList",
    "outputs": [
      {
        "internalType": "address[]",
        "name": "reward",
        "type": "address[]"
      },
      {
        "internalType": "string[]",
        "name": "name_",
        "type": "string[]"
      },
      {
        "internalType": "string[]",
        "name": "symbol_",
        "type": "string[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "getRewardRound",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "round",
        "type": "uint256"
      }
    ],
    "name": "getRewardRounds",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "entryRound",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "lastEarned",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "totalEarned",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "getRewards",
    "outputs": [
      {
        "internalType": "bool",
        "name": "islive",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "isOn",
        "type": "bool"
      },
      {
        "internalType": "uint256",
        "name": "round",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "totalDividends",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "totalRewards",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_syncLevel",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "getStakeTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "getStakers",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "stakeTime",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "sacrificeLevel",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "withdrawFee",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "initialized",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "preDelay",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "getSyncLevel",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "getTotalRewards",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "getUserRewards",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "entryRound",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "lastEarned",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "totalEarned",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "isLive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "isStaker",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "matureDelay",
    "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": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "staker",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      }
    ],
    "name": "pendingRewardTokenEarned",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_pendingReward",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "resetAccumulated",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "reward",
        "type": "uint256"
      }
    ],
    "name": "rewardAddresses",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "rewardLength",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sacrificeEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "sacrificed",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "sendReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amt0",
        "type": "uint256"
      }
    ],
    "name": "sendTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setBoost",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setBoostBacking",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setBurnWDFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setDelay",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setDepositFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addy",
        "type": "address"
      }
    ],
    "name": "setLogics",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setMatureDelay",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setOffRewardToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setPause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_syncLevel",
        "type": "uint256"
      }
    ],
    "name": "setRewardToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "setSacrificeEnabled",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setSacrificeLevel",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "setStakeLogic",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "reward",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setSyncLevel",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amt",
        "type": "uint256"
      }
    ],
    "name": "setWithdrawalFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "stake",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "stake",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "stakeDeployerAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "stakeLogic",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "staked",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "start",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "_bool",
        "type": "bool"
      }
    ],
    "name": "stk",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "syncRewards",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "userRewardCheck",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "withdraw",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "tokenAmountOut",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdrawalFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60806040526006805461ff0019166112001790553480156200001f575f80fd5b5060405162004c4938038062004c49833981016040819052620000429162000187565b60015f81905580546001600160a01b0319166001600160a01b03851617905560046200006f83826200029c565b5060056200007e82826200029c565b5050600280546001600160a01b0319166001600160a01b03949094169390931790925550620003689050565b80516001600160a01b0381168114620000c1575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000ea575f80fd5b81516001600160401b0380821115620001075762000107620000c6565b604051601f8301601f19908116603f01168101908282118183101715620001325762000132620000c6565b81604052838152602092508660208588010111156200014f575f80fd5b5f91505b8382101562000172578582018301518183018401529082019062000153565b5f602085830101528094505050505092915050565b5f805f80608085870312156200019b575f80fd5b620001a685620000aa565b9350620001b660208601620000aa565b60408601519093506001600160401b0380821115620001d3575f80fd5b620001e188838901620000da565b93506060870151915080821115620001f7575f80fd5b506200020687828801620000da565b91505092959194509250565b600181811c908216806200022757607f821691505b6020821081036200024657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200029757805f5260205f20601f840160051c81016020851015620002735750805b601f840160051c820191505b8181101562000294575f81556001016200027f565b50505b505050565b81516001600160401b03811115620002b857620002b8620000c6565b620002d081620002c9845462000212565b846200024c565b602080601f83116001811462000306575f8415620002ee5750858301515b5f19600386901b1c1916600185901b17855562000360565b5f85815260208120601f198616915b82811015620003365788860151825594840194600190910190840162000315565b50858210156200035457878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6148d380620003765f395ff3fe608060405234801561000f575f80fd5b5060043610610416575f3560e01c80638a623d8611610221578063bcfd8dbf1161012a578063d65d1604116100b4578063f06fc10311610084578063f06fc1031461091b578063f2fde38b1461092e578063f648141614610941578063f77a3fb914610954578063fa2c24d214610967575f80fd5b8063d65d1604146108c3578063e177246e146108d6578063ef40a670146108e9578063f063b503146108fc575f80fd5b8063cc2153d1116100fa578063cc2153d11461085e578063cd636b1f14610871578063d00d13ef14610884578063d1f794b8146108a8578063d55bfdcd146108b0575f80fd5b8063bcfd8dbf1461081d578063be9a655514610830578063bedb86fb14610838578063c28b354c1461084b575f80fd5b8063a66f42c0116101ab578063adc9772e1161017b578063adc9772e146107df578063b2bdfa7b146107f2578063b445eb7014610805578063b8f7a6651461080d578063b95c574614610815575f80fd5b8063a66f42c01461079e578063a694fc3a146107a6578063aa240d6f146107b9578063ac1e5025146107cc575f80fd5b806395d89b41116101f157806395d89b411461073e57806398807d84146107465780639ea725d9146107655780639feb8f5014610778578063a4d501141461078b575f80fd5b80638a623d86146107155780638bc7e8c41461071d5780638da5cb5b1461072557806393e6cda614610736575f80fd5b80634f25a95c1161032357806370a08231116102ad578063791936101161027d578063791936101461064b57806379ee54f71461068a5780637a4b2830146106cc5780637c8c7775146106fa57806385523a1b1461070d575f80fd5b806370a0823114610611578063715018a61461062457806371b5ef461461062c57806372c0c21114610643575f80fd5b80635c975abb116102f35780635c975abb146105ce57806367a52793146105db5780636a42b8f8146105e35780636b1af75e146105eb5780636f1e8533146105fe575f80fd5b80634f25a95c14610582578063522b9e52146105955780635646696e146105a857806359508b84146105bb575f80fd5b80632e1a7d4d116103a4578063384002a211610374578063384002a21461052e5780633b066d34146105415780633b857a2814610554578063490ae210146105675780634db841431461057a575f80fd5b80632e1a7d4d146104e357806330c1f39d146104f6578063313ce567146104fe57806336662c3c1461051b575f80fd5b806318160ddd116103ea57806318160ddd1461048c5780631f6866be146104a257806329f4ce8d146104aa5780632bcf161c146104bd5780632d162159146104d0575f80fd5b8062be3bd31461041a57806306fdde031461043757806309fa3efc1461044c5780631336ffeb14610477575b5f80fd5b61042261097a565b60405190151581526020015b60405180910390f35b61043f6109e8565b60405161042e919061419b565b60035461045f906001600160a01b031681565b6040516001600160a01b03909116815260200161042e565b61048a6104853660046141c4565b610a78565b005b610494610da2565b60405190815260200161042e565b61048a610e0d565b61045f6104b8366004614202565b610e27565b6104946104cb366004614219565b610e98565b61048a6104de366004614219565b610f05565b6104946104f1366004614202565b610f65565b610422611194565b600654610100900460ff1660405160ff909116815260200161042e565b610494610529366004614219565b6111db565b60015461045f906001600160a01b031681565b61049461054f366004614219565b6112ec565b61048a610562366004614202565b61131e565b61048a610575366004614202565b61143e565b610422611532565b610494610590366004614234565b611579565b6104226105a3366004614219565b61161b565b61048a6105b6366004614278565b611688565b61048a6105c9366004614278565b61177d565b6006546104229060ff1681565b610494611872565b6104946118b9565b61048a6105f93660046141c4565b611900565b61042261060c366004614219565b611953565b61049461061f366004614219565b611985565b61048a6119b7565b610634611ac3565b60405161042e9392919061432e565b61048a611d0a565b61065e610659366004614219565b611d8c565b60408051958652602086019490945292840191909152151560608301521515608082015260a00161042e565b61069d610698366004614219565b611e13565b6040805196151587529415156020870152938501929092526060840152608083015260a082015260c00161042e565b6106df6106da366004614370565b611e9f565b6040805193845260208401929092529082015260600161042e565b61048a61070836600461439a565b611f21565b61045f61201c565b61048a612091565b61049461216b565b6002546001600160a01b031661045f565b61045f6121b2565b61043f6121f6565b610494610754366004614219565b60076020525f908152604090205481565b61048a6107733660046143d9565b612205565b61048a610786366004614370565b612357565b61048a610799366004614278565b612428565b61049461251d565b6104946107b4366004614202565b612564565b6104946107c7366004614219565b612709565b61048a6107da366004614202565b61273b565b6104946107ed366004614370565b61282f565b60025461045f906001600160a01b031681565b61048a6129f0565b610422612bd1565b610494612c18565b61049461082b366004614219565b612c5f565b61048a612c91565b61048a610846366004614278565b612d19565b61048a610859366004614202565b612e9a565b61049461086c366004614219565b612ecc565b6106df61087f366004614234565b612f0f565b610897610892366004614219565b612f4f565b60405161042e959493929190614405565b6104226132d1565b61048a6108be366004614370565b613318565b61048a6108d1366004614278565b613479565b61048a6108e4366004614202565b61356e565b6104946108f7366004614219565b613662565b61049461090a366004614219565b60086020525f908152604090205481565b61048a6109293660046144c0565b613738565b61048a61093c366004614219565b613820565b61089761094f3660046144c0565b6139aa565b61048a610962366004614370565b613d38565b610494610975366004614219565b613ea0565b6003546040805162be3bd360e01b815290515f926001600160a01b03169162be3bd39160048083019260209291908290030181865afa1580156109bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e391906144f2565b905090565b6060600480546109f79061450d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a239061450d565b8015610a6e5780601f10610a4557610100808354040283529160200191610a6e565b820191905f5260205f20905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b610a8061201c565b6001600160a01b0316639a78458a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610adf9190614545565b6001600160a01b0316306001600160a01b031614610b4d57610aff6121b2565b6001600160a01b031663b0bae7716040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610b36575f80fd5b505af1158015610b48573d5f803e3d5ffd5b505050505b6002546001600160a01b031615610b91576002546001600160a01b03163314610b915760405162461bcd60e51b8152600401610b8890614560565b60405180910390fd5b6002546001600160a01b0316610c1957610ba961201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015610bed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1191906144f2565b610c19575f80fd5b6001546001600160a01b0390811690831603610c775760405162461bcd60e51b815260206004820152601760248201527f43616e27742072656d6f7665204d61696e20546f6b656e0000000000000000006044820152606401610b88565b610c7f6121b2565b6040516309ab9c0760e31b81526001600160a01b0384811660048301529190911690634d5ce03890602401602060405180830381865afa158015610cc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce991906144f2565b15610d2e5760405162461bcd60e51b815260206004820152601560248201527443616e6e6f742072656d6f7665207265776172647360581b6044820152606401610b88565b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb90610d5c908690859060040161457f565b6020604051808303815f875af1158015610d78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9c91906144f2565b50505050565b600354604080516318160ddd60e01b815290515f926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190614598565b610e1633613662565b335f90815260086020526040902055565b6003546040516329f4ce8d60e01b8152600481018390525f916001600160a01b0316906329f4ce8d90602401602060405180830381865afa158015610e6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e929190614545565b92915050565b600354604051630af3c58760e21b81526001600160a01b0383811660048301525f921690632bcf161c906024015b602060405180830381865afa158015610ee1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e929190614598565b6003546001600160a01b031615610f435760405162461bcd60e51b8152602060048201526002602482015261060f60f31b6044820152606401610b88565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f60025f5403610f875760405162461bcd60e51b8152600401610b88906145af565b60025f5560065460ff1615610fae5760405162461bcd60e51b8152600401610b88906145e6565b610fb661201c565b6001600160a01b0316639a78458a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190614545565b6001600160a01b0316306001600160a01b031614611083576110356121b2565b6001600160a01b031663b0bae7716040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561106c575f80fd5b505af115801561107e573d5f803e3d5ffd5b505050505b61108b612bd1565b6110a75760405162461bcd60e51b8152600401610b8890614606565b60035460405163f3fef3a360e01b81526001600160a01b039091169063f3fef3a3906110d9903390869060040161457f565b6020604051808303815f875af11580156110f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111199190614598565b90507f4f14ea4e43cc569e4fb4d8fa171366f2f6925bfade37c5cc93334e373a4c9847338360405161114c92919061457f565b60405180910390a1604051818152339030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360015f55919050565b600354604080516330c1f39d60e01b815290515f926001600160a01b0316916330c1f39d9160048083019260209291908290030181865afa1580156109bf573d5f803e3d5ffd5b5f60025f54036111fd5760405162461bcd60e51b8152600401610b88906145af565b60025f5560065460ff16156112245760405162461bcd60e51b8152600401610b88906145e6565b60035460405163a006c32960e01b81523360048201526001600160a01b0384811660248301529091169063a006c329906044016020604051808303815f875af1158015611273573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112979190614598565b604080513381526001600160a01b03851660208201529081018290529091507fc3643628e7aacc422cc2da58691273d6e9fc5b7d306dc4886edd1b5e4892788b9060600160405180910390a160015f55919050565b600354604051630ec19b4d60e21b81526001600160a01b0383811660048301525f921690633b066d3490602401610ec6565b6002546001600160a01b031615611359576002546001600160a01b031633146113595760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166113e15761137161201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156113b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d991906144f2565b6113e1575f80fd5b600354604051630770af4560e31b8152600481018390526001600160a01b0390911690633b857a28906024015b5f604051808303815f87803b158015611425575f80fd5b505af1158015611437573d5f803e3d5ffd5b5050505050565b6002546001600160a01b031615611479576002546001600160a01b031633146114795760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166115015761149161201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156114d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f991906144f2565b611501575f80fd5b600354604051630490ae2160e41b8152600481018390526001600160a01b039091169063490ae2109060240161140e565b60035460408051634db8414360e01b815290515f926001600160a01b031691634db841439160048083019260209291908290030181865afa1580156109bf573d5f803e3d5ffd5b5f6001600160a01b0383166115a05760405162461bcd60e51b8152600401610b8890614628565b6003546040516313c96a5760e21b81526001600160a01b038581166004830152848116602483015290911690634f25a95c90604401602060405180830381865afa1580156115f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116149190614598565b9392505050565b600354604051632915cf2960e11b81526001600160a01b0383811660048301525f92169063522b9e52906024015b602060405180830381865afa158015611664573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9291906144f2565b6002546001600160a01b0316156116c3576002546001600160a01b031633146116c35760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b031661174b576116db61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa15801561171f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174391906144f2565b61174b575f80fd5b600354604051632b2334b760e11b815282151560048201526001600160a01b0390911690635646696e9060240161140e565b6002546001600160a01b0316156117b8576002546001600160a01b031633146117b85760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b0316611840576117d061201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015611814573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061183891906144f2565b611840575f80fd5b60035460405163165422e160e21b815282151560048201526001600160a01b03909116906359508b849060240161140e565b600354604080516367a5279360e01b815290515f926001600160a01b0316916367a527939160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b60035460408051630d48571f60e31b815290515f926001600160a01b031691636a42b8f89160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b6003546001600160a01b031633146119435760405162461bcd60e51b8152602060048201526006602482015265139bdd0814d360d21b6044820152606401610b88565b61194e838383613ed2565b505050565b600354604051630ef037b960e41b81526001600160a01b0383811660048301525f92169063ef037b9090602401611649565b6003546040516370a0823160e01b81526001600160a01b0383811660048301525f9216906370a0823190602401610ec6565b6002546001600160a01b0316156119f2576002546001600160a01b031633146119f25760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b0316611a7a57611a0a61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015611a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7291906144f2565b611a7a575f80fd5b6002546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600280546001600160a01b0319169055565b60608060605f611ad1612c18565b90505f816001600160401b03811115611aec57611aec61466a565b604051908082528060200260200182016040528015611b15578160200160208202803683370190505b509450816001600160401b03811115611b3057611b3061466a565b604051908082528060200260200182016040528015611b6357816020015b6060815260200190600190039081611b4e5790505b509350816001600160401b03811115611b7e57611b7e61466a565b604051908082528060200260200182016040528015611bb157816020015b6060815260200190600190039081611b9c5790505b5092505f5b82811015611d0257611bc781610e27565b915081868281518110611bdc57611bdc61467e565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c37573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c5e9190810190614692565b858281518110611c7057611c7061467e565b6020026020010181905250816001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015611cb6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611cdd9190810190614692565b848281518110611cef57611cef61467e565b6020908102919091010152600101611bb6565b505050909192565b60025f5403611d2b5760405162461bcd60e51b8152600401610b88906145af565b60025f908155600354604080516372c0c21160e01b815290516001600160a01b03909216926372c0c2119260048084019382900301818387803b158015611d70575f80fd5b505af1158015611d82573d5f803e3d5ffd5b505060015f555050565b6003546040516348b4573960e11b81526001600160a01b0383811660048301525f928392839283928392911690639168ae729060240160a060405180830381865afa158015611ddd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e01919061472e565b939a9299509097509550909350915050565b600354604051630700037d60e01b81526001600160a01b0383811660048301525f928392839283928392839290911690630700037d9060240160c060405180830381865afa158015611e67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e8b9190614781565b949c939b5091995097509550909350915050565b600354604051637c5a991160e11b81525f91829182916001600160a01b03169063f8b5322290611ed5908890889060040161457f565b606060405180830381865afa158015611ef0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1491906147db565b9250925092509250925092565b60025f5403611f425760405162461bcd60e51b8152600401610b88906145af565b60025f5560065460ff1615611f695760405162461bcd60e51b8152600401610b88906145e6565b6003546001600160a01b03163314611fa85760405162461bcd60e51b815260206004820152600260248201526114d360f21b6044820152606401610b88565b80611fd5576001600160a01b0383165f90815260076020526040902054611fd090839061481a565b611ff8565b6001600160a01b0383165f90815260076020526040902054611ff890839061482d565b6001600160a01b039093165f90815260076020526040812093909355505060019055565b5f73cced1a96321b2b2a06e8f3f4b0b883ddd059968c6001600160a01b03166385523a1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561206d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190614545565b60025f54036120b25760405162461bcd60e51b8152600401610b88906145af565b60025f5560065460ff16156120d95760405162461bcd60e51b8152600401610b88906145e6565b60035460405163dfed3be360e01b81523360048201526001600160a01b039091169063dfed3be3906024015f604051808303815f87803b15801561211b575f80fd5b505af115801561212d573d5f803e3d5ffd5b50506040513381527fcbc8531f30b5587d02c74c69691859d7466bc514ed6c53473f5c9a852a1149609250602001905060405180910390a160015f55565b60035460408051631d283f4f60e31b815290515f926001600160a01b03169163e941fa789160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b5f6121bb61201c565b6001600160a01b03166393e6cda66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561206d573d5f803e3d5ffd5b6060600580546109f79061450d565b60025f54036122265760405162461bcd60e51b8152600401610b88906145af565b60025f819055546001600160a01b031615612265576002546001600160a01b031633146122655760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166122ed5761227d61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156122c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e591906144f2565b6122ed575f80fd5b600354604051639ea725d960e01b81526001600160a01b038481166004830152831515602483015290911690639ea725d9906044015f604051808303815f87803b158015612339575f80fd5b505af115801561234b573d5f803e3d5ffd5b505060015f5550505050565b60025f54036123785760405162461bcd60e51b8152600401610b88906145af565b60025f5561238882333084613f28565b6003546040516309feb8f560e41b81526001600160a01b0390911690639feb8f50906123ba908590859060040161457f565b5f604051808303815f87803b1580156123d1575f80fd5b505af11580156123e3573d5f803e3d5ffd5b505050507fb894c34e05f879592877ccb0d16cfff612ee7dfa607b93cb7c2c7e7b78d6763f828260405161241892919061457f565b60405180910390a1505060015f55565b6002546001600160a01b031615612463576002546001600160a01b031633146124635760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166124eb5761247b61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156124bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124e391906144f2565b6124eb575f80fd5b600354604051632935404560e21b815282151560048201526001600160a01b039091169063a4d501149060240161140e565b60035460408051630299bd0b60e61b815290515f926001600160a01b03169163a66f42c09160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b5f60025f54036125865760405162461bcd60e51b8152600401610b88906145af565b60025f55612592612bd1565b6125ae5760405162461bcd60e51b8152600401610b8890614606565b6001546003546125cd916001600160a01b039081169133911685613f28565b6003546040516356e4bb9760e11b81525f9182916001600160a01b039091169063adc9772e90612603903390889060040161457f565b60408051808303815f875af115801561261e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126429190614840565b335f9081526007602052604081208054939550919350839261266590849061482d565b9091555050335f908152600860205260408120805483929061268890849061482d565b90915550506040517f4031c63bb53dc5dfada7ef8d75bef8c44d0283658c1585fc74107ed5b75e97c8906126bf903390879061457f565b60405180910390a1604051828152309033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015f5592915050565b60035460405163aa240d6f60e01b81526001600160a01b0383811660048301525f92169063aa240d6f90602401610ec6565b6002546001600160a01b031615612776576002546001600160a01b031633146127765760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166127fe5761278e61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156127d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f691906144f2565b6127fe575f80fd5b60035460405163ac1e502560e01b8152600481018390526001600160a01b039091169063ac1e50259060240161140e565b5f60025f54036128515760405162461bcd60e51b8152600401610b88906145af565b60025f5561285d612bd1565b6128795760405162461bcd60e51b8152600401610b8890614606565b600154600354612898916001600160a01b039081169133911685613f28565b6003546040516356e4bb9760e11b81525f9182916001600160a01b039091169063adc9772e906128ce908890889060040161457f565b60408051808303815f875af11580156128e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061290d9190614840565b6001600160a01b0387165f9081526007602052604081208054939550919350839261293990849061482d565b90915550506001600160a01b0385165f908152600860205260408120805483929061296590849061482d565b90915550506040517f4031c63bb53dc5dfada7ef8d75bef8c44d0283658c1585fc74107ed5b75e97c89061299c908790879061457f565b60405180910390a160405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015f559392505050565b6002546001600160a01b031615612a2b576002546001600160a01b03163314612a2b5760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b0316612ab357612a4361201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015612a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aab91906144f2565b612ab3575f80fd5b612abb6121b2565b60015460405163f968d96f60e01b81526001600160a01b03918216600482015291169063f968d96f90602401602060405180830381865afa158015612b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b2691906144f2565b612b5e5760405162461bcd60e51b81526020600482015260096024820152684e6f7420726561647960b81b6044820152606401610b88565b612b666121b2565b600154604051637b42db0f60e01b81526001600160a01b039182166004820152911690637b42db0f90602401602060405180830381865afa158015612bad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f439190614545565b6003546040805163255ea96360e21b815290515f926001600160a01b03169163957aa58c9160048083019260209291908290030181865afa1580156109bf573d5f803e3d5ffd5b60035460408051635cae2ba360e11b815290515f926001600160a01b03169163b95c57469160048083019260209291908290030181865afa158015610de9573d5f803e3d5ffd5b60035460405163bcfd8dbf60e01b81526001600160a01b0383811660048301525f92169063bcfd8dbf90602401610ec6565b6002546001600160a01b03163314612cbb5760405162461bcd60e51b8152600401610b8890614560565b60035f9054906101000a90046001600160a01b03166001600160a01b031663be9a65556040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612d07575f80fd5b505af1158015610d9c573d5f803e3d5ffd5b6002546001600160a01b031615612d54576002546001600160a01b03163314612d545760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b0316612ddc57612d6c61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015612db0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd491906144f2565b612ddc575f80fd5b612de46121b2565b60015460405163f968d96f60e01b81526001600160a01b03918216600482015291169063f968d96f90602401602060405180830381865afa158015612e2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4f91906144f2565b612e875760405162461bcd60e51b81526020600482015260096024820152684e6f7420726561647960b81b6044820152606401610b88565b6006805460ff1916911515919091179055565b60035460405163e72e326b60e01b81526001600160a01b039091169063e72e326b9061140e903390859060040161457f565b6001600160a01b0381165f9081526008602052604081205481612eee84613662565b9050818111612efd575f612f07565b612f07828261481a565b949350505050565b6003546040516354c01ab560e11b81526001600160a01b03848116600483015283811660248301525f92839283929091169063a980356a90604401611ed5565b60608060608060605f612f60612c18565b90505f816001600160401b03811115612f7b57612f7b61466a565b604051908082528060200260200182016040528015612fa4578160200160208202803683370190505b509550816001600160401b03811115612fbf57612fbf61466a565b604051908082528060200260200182016040528015612fe8578160200160208202803683370190505b509650816001600160401b038111156130035761300361466a565b60405190808252806020026020018201604052801561303657816020015b60608152602001906001900390816130215790505b509450816001600160401b038111156130515761305161466a565b60405190808252806020026020018201604052801561308457816020015b606081526020019060019003908161306f5790505b509350816001600160401b0381111561309f5761309f61466a565b6040519080825280602002602001820160405280156130c8578160200160208202803683370190505b5092505f5b828110156132c5576130de81610e27565b9150818782815181106130f3576130f361467e565b60200260200101906001600160a01b031690816001600160a01b03168152505061311d8983611579565b88828151811061312f5761312f61467e565b602002602001018181525050816001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015613176573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261319d9190810190614692565b8682815181106131af576131af61467e565b6020026020010181905250816001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa1580156131f5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261321c9190810190614692565b85828151811061322e5761322e61467e565b6020026020010181905250816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613275573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132999190614862565b8482815181106132ab576132ab61467e565b60ff909216602092830291909101909101526001016130cd565b50505091939590929450565b60035460408051631a3ef29760e31b815290515f926001600160a01b03169163d1f794b89160048083019260209291908290030181865afa1580156109bf573d5f803e3d5ffd5b6002546001600160a01b031615613353576002546001600160a01b031633146133535760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166133db5761336b61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156133af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d391906144f2565b6133db575f80fd5b6298968081116134165760405162461bcd60e51b8152600401610b88906020808252600490820152632031653760e01b604082015260600190565b60035460405163d55bfdcd60e01b81526001600160a01b039091169063d55bfdcd90613448908590859060040161457f565b5f604051808303815f87803b15801561345f575f80fd5b505af1158015613471573d5f803e3d5ffd5b505050505050565b6002546001600160a01b0316156134b4576002546001600160a01b031633146134b45760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b031661353c576134cc61201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015613510573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061353491906144f2565b61353c575f80fd5b600354604051633597458160e21b815282151560048201526001600160a01b039091169063d65d16049060240161140e565b6002546001600160a01b0316156135a9576002546001600160a01b031633146135a95760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b0316613631576135c161201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa158015613605573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061362991906144f2565b613631575f80fd5b6003546040516370bb923760e11b8152600481018390526001600160a01b039091169063e177246e9060240161140e565b5f6001600160a01b0382166136895760405162461bcd60e51b8152600401610b8890614628565b600354604051630ef40a6760e41b81526001600160a01b0384811660048301525f92169063ef40a67090602401602060405180830381865afa1580156136d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136f59190614598565b6001600160a01b0384165f90815260076020526040902054909150811061371c5780611614565b50506001600160a01b03165f9081526007602052604090205490565b6003546001600160a01b0316331461377b5760405162461bcd60e51b8152602060048201526006602482015265139bdd0814d360d21b6044820152606401610b88565b600154613792906001600160a01b03168484613ed2565b6001600160a01b0383165f908152600760209081526040808320546008909252909120548183116137cc576137c7838361481a565b6137ce565b5f5b6001600160a01b0386165f908152600760205260409020558083116137fc576137f7838261481a565b6137fe565b5f5b6001600160a01b039095165f9081526008602052604090209490945550505050565b6002546001600160a01b03161561385b576002546001600160a01b0316331461385b5760405162461bcd60e51b8152600401610b8890614560565b6002546001600160a01b03166138e35761387361201c565b604051630935e01b60e21b81523360048201526001600160a01b0391909116906324d7806c90602401602060405180830381865afa1580156138b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138db91906144f2565b6138e3575f80fd5b6001600160a01b0381166139285760405162461bcd60e51b815260206004820152600c60248201526b7573652072656e6f756e636560a01b6044820152606401610b88565b6002546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600280546001600160a01b0319166001600160a01b0383811691821790925560035460405163f2fde38b60e01b815260048101929092529091169063f2fde38b9060240161140e565b606080808080855f6139bd60018a61481a565b9850816001600160401b038111156139d7576139d761466a565b604051908082528060200260200182016040528015613a00578160200160208202803683370190505b509550816001600160401b03811115613a1b57613a1b61466a565b604051908082528060200260200182016040528015613a44578160200160208202803683370190505b509650816001600160401b03811115613a5f57613a5f61466a565b604051908082528060200260200182016040528015613a9257816020015b6060815260200190600190039081613a7d5790505b509450816001600160401b03811115613aad57613aad61466a565b604051908082528060200260200182016040528015613ae057816020015b6060815260200190600190039081613acb5790505b509350816001600160401b03811115613afb57613afb61466a565b604051908082528060200260200182016040528015613b24578160200160208202803683370190505b509250885b613b338a8461482d565b811015613d2a57613b4381610e27565b915081878281518110613b5857613b5861467e565b60200260200101906001600160a01b031690816001600160a01b031681525050613b828b83611579565b888281518110613b9457613b9461467e565b602002602001018181525050816001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015613bdb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613c029190810190614692565b868281518110613c1457613c1461467e565b6020026020010181905250816001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015613c5a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613c819190810190614692565b858281518110613c9357613c9361467e565b6020026020010181905250816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cfe9190614862565b848281518110613d1057613d1061467e565b60ff90921660209283029190910190910152600101613b29565b505050939792965093509350565b613d406121b2565b6001600160a01b0316336001600160a01b031614613d97576002546001600160a01b03163314613d975760405162461bcd60e51b81526020600482015260026024820152614f4f60f01b6044820152606401610b88565b613d9f6121b2565b6040516309ab9c0760e31b81526001600160a01b0384811660048301529190911690634d5ce03890602401602060405180830381865afa158015613de5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e0991906144f2565b613e6e57613e156121b2565b6040516371dcdcaf60e01b81526001600160a01b03848116600483015291909116906371dcdcaf906024015f604051808303815f87803b158015613e57575f80fd5b505af1158015613e69573d5f803e3d5ffd5b505050505b60035460405163f77a3fb960e01b81526001600160a01b039091169063f77a3fb990613448908590859060040161457f565b600354604051637d16126960e11b81526001600160a01b0383811660048301525f92169063fa2c24d290602401610ec6565b61194e8363a9059cbb60e01b8484604051602401613ef192919061457f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613f60565b6040516001600160a01b0380851660248301528316604482015260648101829052610d9c9085906323b872dd60e01b90608401613ef1565b5f613fb4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166140319092919063ffffffff16565b80519091501561194e5780806020019051810190613fd291906144f2565b61194e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b88565b6060612f0784845f85855f80866001600160a01b031685876040516140569190614882565b5f6040518083038185875af1925050503d805f8114614090576040519150601f19603f3d011682016040523d82523d5f602084013e614095565b606091505b50915091506140a6878383876140b1565b979650505050505050565b6060831561411f5782515f03614118576001600160a01b0385163b6141185760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b88565b5081612f07565b612f0783838151156141345781518083602001fd5b8060405162461bcd60e51b8152600401610b88919061419b565b5f5b83811015614168578181015183820152602001614150565b50505f910152565b5f815180845261418781602086016020860161414e565b601f01601f19169290920160200192915050565b602081525f6116146020830184614170565b6001600160a01b03811681146141c1575f80fd5b50565b5f805f606084860312156141d6575f80fd5b83356141e1816141ad565b925060208401356141f1816141ad565b929592945050506040919091013590565b5f60208284031215614212575f80fd5b5035919050565b5f60208284031215614229575f80fd5b8135611614816141ad565b5f8060408385031215614245575f80fd5b8235614250816141ad565b91506020830135614260816141ad565b809150509250929050565b80151581146141c1575f80fd5b5f60208284031215614288575f80fd5b81356116148161426b565b5f815180845260208085019450602084015f5b838110156142cb5781516001600160a01b0316875295820195908201906001016142a6565b509495945050505050565b5f8282518085526020808601955060208260051b840101602086015f5b8481101561432157601f1986840301895261430f838351614170565b988401989250908301906001016142f3565b5090979650505050505050565b606081525f6143406060830186614293565b828103602084015261435281866142d6565b9050828103604084015261436681856142d6565b9695505050505050565b5f8060408385031215614381575f80fd5b823561438c816141ad565b946020939093013593505050565b5f805f606084860312156143ac575f80fd5b83356143b7816141ad565b92506020840135915060408401356143ce8161426b565b809150509250925092565b5f80604083850312156143ea575f80fd5b82356143f5816141ad565b915060208301356142608161426b565b60a080825286519082018190525f9060209060c0840190828a01845b8281101561443d57815184529284019290840190600101614421565b505050838103828501526144518189614293565b9050838103604085015261446581886142d6565b9050838103606085015261447981876142d6565b848103608086015285518082528387019250908301905f5b818110156144b057835160ff1683529284019291840191600101614491565b50909a9950505050505050505050565b5f805f606084860312156144d2575f80fd5b83356144dd816141ad565b95602085013595506040909401359392505050565b5f60208284031215614502575f80fd5b81516116148161426b565b600181811c9082168061452157607f821691505b60208210810361453f57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614555575f80fd5b8151611614816141ad565b60208082526005908201526437bbb732b960d91b604082015260600190565b6001600160a01b03929092168252602082015260400190565b5f602082840312156145a8575f80fd5b5051919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526006908201526514185d5cd95960d21b604082015260600190565b6020808252600890820152676e6f74206c69766560c01b604082015260600190565b60208082526022908201527f45524332303a2073656e64696e6720746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156146a2575f80fd5b81516001600160401b03808211156146b8575f80fd5b818401915084601f8301126146cb575f80fd5b8151818111156146dd576146dd61466a565b604051601f8201601f19908116603f011681019083821181831017156147055761470561466a565b8160405282815287602084870101111561471d575f80fd5b6140a683602083016020880161414e565b5f805f805f60a08688031215614742575f80fd5b85519450602086015193506040860151925060608601516147628161426b565b60808701519092506147738161426b565b809150509295509295909350565b5f805f805f8060c08789031215614796575f80fd5b86516147a18161426b565b60208801519096506147b28161426b565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b5f805f606084860312156147ed575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e9257610e92614806565b80820180821115610e9257610e92614806565b5f8060408385031215614851575f80fd5b505080516020909101519092909150565b5f60208284031215614872575f80fd5b815160ff81168114611614575f80fd5b5f825161489381846020870161414e565b919091019291505056fea26469706673582212207c1bf056dbf6691ef6c06671ba28a457eded30cb37a8478b3a869b4aebe83c5764736f6c634300081800330000000000000000000000008fe680afe4b9510fe7601d905cf1ab296bde152400000000000000000000000067407040bc14f1e6e375f160330fcf8af98513d1000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000010536d617274425443205374616b696e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c53425443205374616b696e670000000000000000000000000000000000000000