Sonic Blaze Testnet

Contract

0x5aC1254f6c8cD976e796c951D7fE92eEF0eB70BE

Overview

S Balance

Sonic Blaze LogoSonic Blaze LogoSonic Blaze Logo0 S

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Support Card159732882025-01-27 18:37:563 days ago1738003076IN
0x5aC1254f...EF0eB70BE
0 S0.000155211.1
Add Support Card159732552025-01-27 18:37:473 days ago1738003067IN
0x5aC1254f...EF0eB70BE
0 S0.000155211.1
Add Support Card159732302025-01-27 18:37:373 days ago1738003057IN
0x5aC1254f...EF0eB70BE
0 S0.000155211.1
Add Support Card159732002025-01-27 18:37:283 days ago1738003048IN
0x5aC1254f...EF0eB70BE
0 S0.000133711.1
Add Support Card159731702025-01-27 18:37:183 days ago1738003038IN
0x5aC1254f...EF0eB70BE
0 S0.000155151.1
Add Support Card159731392025-01-27 18:37:093 days ago1738003029IN
0x5aC1254f...EF0eB70BE
0 S0.00015521.1
Add Support Card159731092025-01-27 18:36:593 days ago1738003019IN
0x5aC1254f...EF0eB70BE
0 S0.000111431.1
Add Support Card159730792025-01-27 18:36:503 days ago1738003010IN
0x5aC1254f...EF0eB70BE
0 S0.000111471.1
Add Support Card159730552025-01-27 18:36:403 days ago1738003000IN
0x5aC1254f...EF0eB70BE
0 S0.000156061.1
Add Support Card159730292025-01-27 18:36:313 days ago1738002991IN
0x5aC1254f...EF0eB70BE
0 S0.000111461.1
Add Support Card159729992025-01-27 18:36:213 days ago1738002981IN
0x5aC1254f...EF0eB70BE
0 S0.000089971.1
Add Support Card159729702025-01-27 18:36:113 days ago1738002971IN
0x5aC1254f...EF0eB70BE
0 S0.000111451.1
Add Support Card159729412025-01-27 18:36:023 days ago1738002962IN
0x5aC1254f...EF0eB70BE
0 S0.000111471.1
Add Support Card159729092025-01-27 18:35:523 days ago1738002952IN
0x5aC1254f...EF0eB70BE
0 S0.000155621.1
Add Support Card159728812025-01-27 18:35:433 days ago1738002943IN
0x5aC1254f...EF0eB70BE
0 S0.000155621.1
Add Support Card159728532025-01-27 18:35:343 days ago1738002934IN
0x5aC1254f...EF0eB70BE
0 S0.000089531.1
Add Support Card159728222025-01-27 18:35:243 days ago1738002924IN
0x5aC1254f...EF0eB70BE
0 S0.000089531.1
Add Support Card159727912025-01-27 18:35:143 days ago1738002914IN
0x5aC1254f...EF0eB70BE
0 S0.000089531.1
Add Support Card159727652025-01-27 18:35:053 days ago1738002905IN
0x5aC1254f...EF0eB70BE
0 S0.000089531.1
Add Support Card159727372025-01-27 18:34:563 days ago1738002896IN
0x5aC1254f...EF0eB70BE
0 S0.000089531.1
Add Support Card159727092025-01-27 18:34:463 days ago1738002886IN
0x5aC1254f...EF0eB70BE
0 S0.000155581.1
Add Support Card159726832025-01-27 18:34:363 days ago1738002876IN
0x5aC1254f...EF0eB70BE
0 S0.000111881.1
Add Support Card159726562025-01-27 18:34:273 days ago1738002867IN
0x5aC1254f...EF0eB70BE
0 S0.000156051.1
Add Support Card159726272025-01-27 18:34:173 days ago1738002857IN
0x5aC1254f...EF0eB70BE
0 S0.000111471.1
Add Support Card159725962025-01-27 18:34:083 days ago1738002848IN
0x5aC1254f...EF0eB70BE
0 S0.000156021.1
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PepemonCardOracle

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 3 : PepemonCardOracle.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
pragma experimental ABIEncoderV2;

import "./cardlib/AdminRole.sol";

/**
This contract acts as the oracle, it contains battling information for both the Pepemon Battle and Support cards
**/
contract PepemonCardOracle is AdminRole {
    enum SupportCardType {OFFENSE, STRONG_OFFENSE, DEFENSE, STRONG_DEFENSE}

    enum EffectTo {ATTACK, STRONG_ATTACK, DEFENSE, STRONG_DEFENSE, SPEED, INTELLIGENCE}

    enum EffectFor {ME, ENEMY}

    enum BattleCardTypes {FIRE, GRASS, WATER, LIGHTNING, WIND, POISON, GHOST, FAIRY, EARTH, UNKNOWN, NONE}

    struct BattleCardStats {
        uint256 battleCardId;
        BattleCardTypes element;
        uint16 hp; // hitpoints
        uint16 spd; // speed
        uint16 inte; // intelligence
        uint16 def; // defense
        uint16 atk; // attack
        uint16 sAtk; // special attack
        uint16 sDef; // special defense
    }

    struct SupportCardStats {
        uint256 supportCardId;
        SupportCardType supportCardType;
        EffectOne effectOne;
        EffectMany effectMany;
        // If true, duplicate copies of the card in the same turn will have no extra effect.
        bool unstackable;
        // This property is for EffectMany now.
        // If true, assume the card is already in effect
        // then the same card drawn and used within a number of turns does not extend or reset duration of the effect.
        bool unresettable;
    }

    struct EffectOne {
        // If power is 0, it is equal to the total of all normal offense/defense cards in the current turn.

        //basePower = power if req not met
        int16 basePower;
        //triggeredPower = power if req met
        int16 triggeredPower;
        EffectTo effectTo;
        EffectFor effectFor;
        uint16 reqCode; //requirement code
    }

    struct EffectMany {
        int16 power;
        uint16 numTurns;
        EffectTo effectTo;
        EffectFor effectFor;
        uint16 reqCode; //requirement code
    }

    //Struct for keeping track of weakness / resistance
    struct elementWR {
        BattleCardTypes weakness;
        BattleCardTypes resistance;
    }

    mapping(uint256 => BattleCardStats) public battleCardStats;
    mapping(uint256 => SupportCardStats) public supportCardStats;
    mapping(BattleCardTypes => string) public elementDecode;
    mapping(BattleCardTypes => elementWR) public weakResist;

    event BattleCardCreated(address sender, uint256 cardId);
    event BattleCardUpdated(address sender, uint256 cardId);
    event SupportCardCreated(address sender, uint256 cardId);
    event SupportCardUpdated(address sender, uint256 cardId);

    constructor() {
        elementDecode[BattleCardTypes.FIRE] = "Fire";
        elementDecode[BattleCardTypes.GRASS] = "Grass";
        elementDecode[BattleCardTypes.WATER] = "Water";
        elementDecode[BattleCardTypes.LIGHTNING] = "Lighting";
        elementDecode[BattleCardTypes.WIND] = "Wind";
        elementDecode[BattleCardTypes.POISON] = "Poison";
        elementDecode[BattleCardTypes.GHOST] = "Ghost";
        elementDecode[BattleCardTypes.FAIRY] = "Fairy";
        elementDecode[BattleCardTypes.EARTH] = "Earth";
        elementDecode[BattleCardTypes.UNKNOWN] = "Unknown";
        elementDecode[BattleCardTypes.NONE] = "None";
        weakResist[BattleCardTypes.FIRE] = elementWR(BattleCardTypes.WATER, BattleCardTypes.GRASS);
        weakResist[BattleCardTypes.GRASS] = elementWR(BattleCardTypes.FIRE, BattleCardTypes.WATER);
        weakResist[BattleCardTypes.WATER] = elementWR(BattleCardTypes.LIGHTNING, BattleCardTypes.FIRE);
        weakResist[BattleCardTypes.LIGHTNING] = elementWR(BattleCardTypes.EARTH, BattleCardTypes.WIND);
        weakResist[BattleCardTypes.WIND] = elementWR(BattleCardTypes.POISON, BattleCardTypes.EARTH);
        weakResist[BattleCardTypes.POISON] = elementWR(BattleCardTypes.FAIRY, BattleCardTypes.GRASS);
        weakResist[BattleCardTypes.GHOST] = elementWR(BattleCardTypes.FAIRY, BattleCardTypes.POISON);
        weakResist[BattleCardTypes.FAIRY] = elementWR(BattleCardTypes.GHOST, BattleCardTypes.FAIRY);
        weakResist[BattleCardTypes.EARTH] = elementWR(BattleCardTypes.GRASS, BattleCardTypes.GHOST);
        weakResist[BattleCardTypes.UNKNOWN] = elementWR(BattleCardTypes.NONE, BattleCardTypes.NONE);
        weakResist[BattleCardTypes.NONE] = elementWR(BattleCardTypes.NONE, BattleCardTypes.NONE);
    }

    function addBattleCard(BattleCardStats memory cardData) public onlyAdmin {
        require(battleCardStats[cardData.battleCardId].battleCardId == 0, "PepemonCard: BattleCard already exists");

        BattleCardStats storage _card = battleCardStats[cardData.battleCardId];
        _card.battleCardId = cardData.battleCardId;
        _card.element = cardData.element;
        _card.hp = cardData.hp;
        _card.spd = cardData.spd;
        _card.inte = cardData.inte;
        _card.def = cardData.def;
        _card.atk = cardData.atk;
        _card.sDef = cardData.sDef;
        _card.sAtk = cardData.sAtk;

        emit BattleCardCreated(msg.sender, cardData.battleCardId);
    }

    function updateBattleCard(BattleCardStats memory cardData) public onlyAdmin {
        require(battleCardStats[cardData.battleCardId].battleCardId != 0, "PepemonCard: BattleCard not found");

        BattleCardStats storage _card = battleCardStats[cardData.battleCardId];
        _card.hp = cardData.hp;
        _card.element = cardData.element;
        _card.spd = cardData.spd;
        _card.inte = cardData.inte;
        _card.def = cardData.def;
        _card.atk = cardData.atk;
        _card.sDef = cardData.sDef;
        _card.sAtk = cardData.sAtk;

        emit BattleCardUpdated(msg.sender, cardData.battleCardId);
    }

    function getBattleCardById(uint256 _id) public view returns (BattleCardStats memory) {
        return battleCardStats[_id];
    }

    function addSupportCard(SupportCardStats memory cardData) public onlyAdmin {
        require(supportCardStats[cardData.supportCardId].supportCardId == 0, "PepemonCard: SupportCard already exists");

        SupportCardStats storage _card = supportCardStats[cardData.supportCardId];
        _card.supportCardId = cardData.supportCardId;
        _card.supportCardType = cardData.supportCardType;
        _card.effectOne = cardData.effectOne;
        _card.effectMany = cardData.effectMany;
        _card.unstackable = cardData.unstackable;
        _card.unresettable = cardData.unresettable;

        emit SupportCardCreated(msg.sender, cardData.supportCardId);
    }

    function updateSupportCard(SupportCardStats memory cardData) public onlyAdmin {
        require(supportCardStats[cardData.supportCardId].supportCardId != 0, "PepemonCard: SupportCard not found");

        SupportCardStats storage _card = supportCardStats[cardData.supportCardId];
        _card.supportCardId = cardData.supportCardId;
        _card.supportCardType = cardData.supportCardType;
        _card.effectOne = cardData.effectOne;
        _card.effectMany = cardData.effectMany;
        _card.unstackable = cardData.unstackable;
        _card.unresettable = cardData.unresettable;

        emit SupportCardUpdated(msg.sender, cardData.supportCardId);
    }

    function getSupportCardById(uint256 _id) public view returns (SupportCardStats memory) {
        return supportCardStats[_id];
    }

    function getWeakResist(BattleCardTypes element) public view returns (elementWR memory) {
        return weakResist[element];
    }

    /**
     * @dev Get supportCardType of supportCard
     * @param _id uint256
     */
    function getSupportCardTypeById(uint256 _id) public view returns (SupportCardType) {
        return getSupportCardById(_id).supportCardType;
    }
}

File 2 of 3 : AdminRole.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Roles.sol";

contract AdminRole {
  using Roles for Roles.Role;

  event AdminAdded(address indexed account);
  event AdminRemoved(address indexed account);

  Roles.Role private admins;

  constructor() {
    _addAdmin(msg.sender);
  }

  modifier onlyAdmin() {
    require(isAdmin(msg.sender));
    _;
  }

  function isAdmin(address account) public view returns (bool) {
    return admins.has(account);
  }

  function addAdmin(address account) public onlyAdmin {
    _addAdmin(account);
  }

  function renounceAdmin() public {
    _removeAdmin(msg.sender);
  }

  function _addAdmin(address account) internal {
    admins.add(account);
    emit AdminAdded(account);
  }

  function _removeAdmin(address account) internal {
    admins.remove(account);
    emit AdminRemoved(account);
  }
}

File 3 of 3 : Roles.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.6;


/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev Give an account access to this role.
     */
    function add(Role storage role, address account) internal {
        
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    /**
     * @dev Remove an account's access to this role.
     */
    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    /**
     * @dev Check if an account has this role.
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

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

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cardId","type":"uint256"}],"name":"BattleCardCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cardId","type":"uint256"}],"name":"BattleCardUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cardId","type":"uint256"}],"name":"SupportCardCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"cardId","type":"uint256"}],"name":"SupportCardUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"battleCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"element","type":"uint8"},{"internalType":"uint16","name":"hp","type":"uint16"},{"internalType":"uint16","name":"spd","type":"uint16"},{"internalType":"uint16","name":"inte","type":"uint16"},{"internalType":"uint16","name":"def","type":"uint16"},{"internalType":"uint16","name":"atk","type":"uint16"},{"internalType":"uint16","name":"sAtk","type":"uint16"},{"internalType":"uint16","name":"sDef","type":"uint16"}],"internalType":"struct PepemonCardOracle.BattleCardStats","name":"cardData","type":"tuple"}],"name":"addBattleCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"supportCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.SupportCardType","name":"supportCardType","type":"uint8"},{"components":[{"internalType":"int16","name":"basePower","type":"int16"},{"internalType":"int16","name":"triggeredPower","type":"int16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectOne","name":"effectOne","type":"tuple"},{"components":[{"internalType":"int16","name":"power","type":"int16"},{"internalType":"uint16","name":"numTurns","type":"uint16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectMany","name":"effectMany","type":"tuple"},{"internalType":"bool","name":"unstackable","type":"bool"},{"internalType":"bool","name":"unresettable","type":"bool"}],"internalType":"struct PepemonCardOracle.SupportCardStats","name":"cardData","type":"tuple"}],"name":"addSupportCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"battleCardStats","outputs":[{"internalType":"uint256","name":"battleCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"element","type":"uint8"},{"internalType":"uint16","name":"hp","type":"uint16"},{"internalType":"uint16","name":"spd","type":"uint16"},{"internalType":"uint16","name":"inte","type":"uint16"},{"internalType":"uint16","name":"def","type":"uint16"},{"internalType":"uint16","name":"atk","type":"uint16"},{"internalType":"uint16","name":"sAtk","type":"uint16"},{"internalType":"uint16","name":"sDef","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"","type":"uint8"}],"name":"elementDecode","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getBattleCardById","outputs":[{"components":[{"internalType":"uint256","name":"battleCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"element","type":"uint8"},{"internalType":"uint16","name":"hp","type":"uint16"},{"internalType":"uint16","name":"spd","type":"uint16"},{"internalType":"uint16","name":"inte","type":"uint16"},{"internalType":"uint16","name":"def","type":"uint16"},{"internalType":"uint16","name":"atk","type":"uint16"},{"internalType":"uint16","name":"sAtk","type":"uint16"},{"internalType":"uint16","name":"sDef","type":"uint16"}],"internalType":"struct PepemonCardOracle.BattleCardStats","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getSupportCardById","outputs":[{"components":[{"internalType":"uint256","name":"supportCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.SupportCardType","name":"supportCardType","type":"uint8"},{"components":[{"internalType":"int16","name":"basePower","type":"int16"},{"internalType":"int16","name":"triggeredPower","type":"int16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectOne","name":"effectOne","type":"tuple"},{"components":[{"internalType":"int16","name":"power","type":"int16"},{"internalType":"uint16","name":"numTurns","type":"uint16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectMany","name":"effectMany","type":"tuple"},{"internalType":"bool","name":"unstackable","type":"bool"},{"internalType":"bool","name":"unresettable","type":"bool"}],"internalType":"struct PepemonCardOracle.SupportCardStats","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getSupportCardTypeById","outputs":[{"internalType":"enum PepemonCardOracle.SupportCardType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"element","type":"uint8"}],"name":"getWeakResist","outputs":[{"components":[{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"weakness","type":"uint8"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"resistance","type":"uint8"}],"internalType":"struct PepemonCardOracle.elementWR","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"supportCardStats","outputs":[{"internalType":"uint256","name":"supportCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.SupportCardType","name":"supportCardType","type":"uint8"},{"components":[{"internalType":"int16","name":"basePower","type":"int16"},{"internalType":"int16","name":"triggeredPower","type":"int16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectOne","name":"effectOne","type":"tuple"},{"components":[{"internalType":"int16","name":"power","type":"int16"},{"internalType":"uint16","name":"numTurns","type":"uint16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectMany","name":"effectMany","type":"tuple"},{"internalType":"bool","name":"unstackable","type":"bool"},{"internalType":"bool","name":"unresettable","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"battleCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"element","type":"uint8"},{"internalType":"uint16","name":"hp","type":"uint16"},{"internalType":"uint16","name":"spd","type":"uint16"},{"internalType":"uint16","name":"inte","type":"uint16"},{"internalType":"uint16","name":"def","type":"uint16"},{"internalType":"uint16","name":"atk","type":"uint16"},{"internalType":"uint16","name":"sAtk","type":"uint16"},{"internalType":"uint16","name":"sDef","type":"uint16"}],"internalType":"struct PepemonCardOracle.BattleCardStats","name":"cardData","type":"tuple"}],"name":"updateBattleCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"supportCardId","type":"uint256"},{"internalType":"enum PepemonCardOracle.SupportCardType","name":"supportCardType","type":"uint8"},{"components":[{"internalType":"int16","name":"basePower","type":"int16"},{"internalType":"int16","name":"triggeredPower","type":"int16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectOne","name":"effectOne","type":"tuple"},{"components":[{"internalType":"int16","name":"power","type":"int16"},{"internalType":"uint16","name":"numTurns","type":"uint16"},{"internalType":"enum PepemonCardOracle.EffectTo","name":"effectTo","type":"uint8"},{"internalType":"enum PepemonCardOracle.EffectFor","name":"effectFor","type":"uint8"},{"internalType":"uint16","name":"reqCode","type":"uint16"}],"internalType":"struct PepemonCardOracle.EffectMany","name":"effectMany","type":"tuple"},{"internalType":"bool","name":"unstackable","type":"bool"},{"internalType":"bool","name":"unresettable","type":"bool"}],"internalType":"struct PepemonCardOracle.SupportCardStats","name":"cardData","type":"tuple"}],"name":"updateSupportCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"","type":"uint8"}],"name":"weakResist","outputs":[{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"weakness","type":"uint8"},{"internalType":"enum PepemonCardOracle.BattleCardTypes","name":"resistance","type":"uint8"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506200001d3362000a2e565b6040805180820190915260048152634669726560e01b60208083019182526000805260039052905162000072917f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff9162000b89565b50604080518082019091526005815264477261737360d81b60208083019182526001600052600390529051620000ca917fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c9162000b89565b506040805180820190915260058152642bb0ba32b960d91b6020808301918252600260005260039052905162000122917fc3a24b0501bd2c13a7e57f2db4369ec4c223447539fc0724a9d55ac4a06ebd4d9162000b89565b506040805180820190915260088152674c69676874696e6760c01b602080830191825260036000819052905290516200017d917fcbc4e5fb02c3d1de23a9f1e014b4d2ee5aeaea9505df5e855c9210bf472495af9162000b89565b506040805180820190915260048082526315da5b9960e21b602080840191825260009290925260039091529051620001d7917f83ec6a1f0257b830b5e016457c9cf1435391bf56cc98f369a58a54fe937724659162000b89565b506040805180820190915260068152652837b4b9b7b760d11b6020808301918252600560005260039052905162000230917f405aad32e1adbac89bb7f176e338b8fc6e994ca210c9bb7bdca249b4659422509162000b89565b5060408051808201909152600581526411da1bdcdd60da1b6020808301918252600660005260039052905162000288917fc69056f16cbaa3c616b828e333ab7d3a32310765507f8f58359e99ebb7a885f39162000b89565b50604080518082019091526005815264466169727960d81b60208083019182526007600052600390529051620002e0917ff2c49132ed1cee2a7e75bde50d332a2f81f1d01e5456d8a19d1df09bd561dbd29162000b89565b5060408051808201909152600581526408ac2e4e8d60db1b6020808301918252600860005260039052905162000338917f85aaa47b6dc46495bb8824fad4583769726fea36efd831a35556690b830a8fbe9162000b89565b506040805180820190915260078152662ab735b737bbb760c91b6020808301918252600960005260039052905162000392917f8a8dc4e5242ea8b1ab1d60606dae757e6c2cca9f92a2cced9f72c19960bcb4589162000b89565b506040805180820190915260048152634e6f6e6560e01b6020808301918252600a600052600390529051620003e9917f9dcb9783ba5cd0b54745f65f4f918525e461e91888c334e5342cb380ac558d539162000b89565b50604080518082019091526002815260016020808301829052600080526004905281517f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec80549092839160ff19169083600a8111156200044d576200044d62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000478576200047862000c6c565b0217905550506040805180820190915260008082526002602083015290915060049060018152602081019190915260400160002081518154829060ff1916600183600a811115620004cd57620004cd62000c6c565b021790555060208201518154829061ff00191661010083600a811115620004f857620004f862000c6c565b02179055505060408051808201909152600381526000602080830182905260029091526004905280517f91da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a7805492935091829060ff1916600183600a81111562000565576200056562000c6c565b021790555060208201518154829061ff00191661010083600a81111562000590576200059062000c6c565b02179055505060408051808201909152600881526004602080830182905260036000525280517f2e174c10e159ea99b867ce3205125c24a42d128804e4070ed6fcc8cc98166aa0805492935091829060ff1916600183600a811115620005fa57620005fa62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000625576200062562000c6c565b0217905550506040805180820190915260058152600860208083019190915260046000819052905280517f1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f805492935091829060ff1916600183600a81111562000693576200069362000c6c565b021790555060208201518154829061ff00191661010083600a811115620006be57620006be62000c6c565b02179055505060408051808201909152600781526001602080830182905260056000526004905281517f04cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f058054939450929091839160ff19169083600a8111156200072c576200072c62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000757576200075762000c6c565b0217905550506040805180820190915260078152600560208083019190915260066000526004905280517fc59312466997bb42aaaf719ece141047820e6b34531e1670dc1852a453648f0f805492935091829060ff1916600183600a811115620007c557620007c562000c6c565b021790555060208201518154829061ff00191661010083600a811115620007f057620007f062000c6c565b0217905550506040805180820190915260068152600760208083018290526000919091526004905280517fbeb3bad75134cb432e5707980e3245c52c5998a1125ee30f2f0dbf3925b1e551805492935091829060ff1916600183600a8111156200085e576200085e62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000889576200088962000c6c565b02179055505060408051808201909152600181526006602082015290506004600060088152602081019190915260400160002081518154829060ff1916600183600a811115620008dd57620008dd62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000908576200090862000c6c565b02179055505060408051808201909152600a808252602082015290506004600060098152602081019190915260400160002081518154829060ff1916600183600a8111156200095b576200095b62000c6c565b021790555060208201518154829061ff00191661010083600a81111562000986576200098662000c6c565b02179055505060408051808201909152600a808252602080830182905260008290526004905281517f5c6b02db8b672415ffad906d7ccee10bd53dbad7d0b29e2bc0e50c93d5f310938054939450929091839160ff1916906001908490811115620009f557620009f562000c6c565b021790555060208201518154829061ff00191661010083600a81111562000a205762000a2062000c6c565b021790555090505062000c82565b62000a4981600062000a8060201b6200120e1790919060201c565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b62000a8c828262000b04565b1562000adf5760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650060448201526064015b60405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b03821662000b695760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b606482015260840162000ad6565b506001600160a01b03166000908152602091909152604090205460ff1690565b82805462000b979062000c2f565b90600052602060002090601f01602090048101928262000bbb576000855562000c06565b82601f1062000bd657805160ff191683800117855562000c06565b8280016001018555821562000c06579182015b8281111562000c0657825182559160200191906001019062000be9565b5062000c1492915062000c18565b5090565b5b8082111562000c14576000815560010162000c19565b600181811c9082168062000c4457607f821691505b6020821081141562000c6657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b611bcb8062000c926000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637048027511610097578063994fb2c611610066578063994fb2c6146102af578063a8156e3b146102cf578063b2303453146102e2578063c273b8f81461030257600080fd5b806370480275146101d35780637ed7f93b146101e6578063802af2971461026d5780638bad0c0a146102a757600080fd5b80633526d405116100d35780633526d4051461015b5780634aa452861461016e5780634bcb96131461018e5780634e84f9bb146101ae57600080fd5b80631a48f44e146100fa57806324d7806c146101235780632846c90314610146575b600080fd5b61010d6101083660046115aa565b610315565b60405161011a919061187d565b60405180910390f35b61013661013136600461157a565b6103af565b604051901515815260200161011a565b6101596101543660046115c5565b6103c1565b005b610159610169366004611674565b6105a4565b61018161017c36600461175d565b610837565b60405161011a91906118d2565b6101a161019c36600461175d565b610940565b60405161011a919061186f565b6101c16101bc36600461175d565b610955565b60405161011a96959493929190611a60565b6101596101e136600461157a565b610ae0565b6102586101f436600461175d565b6001602081905260009182526040909120805491015460ff81169061ffff610100820481169163010000008104821691600160281b8204811691600160381b8104821691600160481b8204811691600160581b8104821691600160681b9091041689565b60405161011a99989796959493929190611a06565b61029961027b3660046115aa565b60046020526000908152604090205460ff8082169161010090041682565b60405161011a929190611854565b610159610afe565b6102c26102bd36600461175d565b610b09565b60405161011a9190611978565b6101596102dd3660046115c5565b610cf1565b6102f56102f03660046115aa565b610ec6565b60405161011a91906119da565b610159610310366004611674565b610f81565b6003602052600090815260409020805461032e90611b44565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611b44565b80156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b60006103bb818361128a565b92915050565b6103ca336103af565b6103d357600080fd5b805160009081526001602052604090205461043f5760405162461bcd60e51b815260206004820152602160248201527f506570656d6f6e436172643a20426174746c6543617264206e6f7420666f756e6044820152601960fa1b60648201526084015b60405180910390fd5b805160009081526001602081815260409283902092840151838301805461ffff9092166101000262ffff00198316811782559286015193909260ff191662ffffff19909216919091179083600a81111561049b5761049b611b7f565b02179055506060820151600182018054608085015160a086015160c087015161010088015160e089015166ffffffff00000019909516630100000061ffff9889160266ffff0000000000191617600160281b94881694909402939093176affffffff000000000000001916600160381b928716929092026affff000000000000000000191691909117600160481b918616919091021763ffffffff60581b1916600160681b9185169190910261ffff60581b191617600160581b939091169290920291909117905581516040805133815260208101929092527f1dbe7a4174782e5f8cba924ddeb840e4cc4fff4ef29280b218f571c2c72baa9a91015b60405180910390a15050565b6105ad336103af565b6105b657600080fd5b8051600090815260026020526040902054156106245760405162461bcd60e51b815260206004820152602760248201527f506570656d6f6e436172643a20537570706f72744361726420616c72656164796044820152662065786973747360c81b6064820152608401610436565b80516000908152600260209081526040909120825181559082015160018083018054909160ff199091169083600381111561066157610661611b7f565b021790555060408083015180516002840180546020840151600190810b61ffff908116620100000263ffffffff199093169490910b169290921791909117808255928201519192909190829064ff000000001916600160201b8360058111156106cc576106cc611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156106f8576106f8611b7f565b021790555060809190910151815461ffff60301b1916600160301b61ffff928316021790915560608301518051600384018054602084015160019390930b851663ffffffff199091161762010000929094169190910292909217808355604082015191929190829064ff000000001916600160201b83600581111561077f5761077f611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156107ab576107ab611b7f565b0217905550608091820151815461ffff909116600160301b0261ffff60301b1990911617905582015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905581516040805133815260208101929092527fcc85dd689af30390542e50d769fe6c03d411de4e50da85ca2b22b6ac1ac613549101610598565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091526000828152600160208181526040928390208351610120810190945280548452918201549083019060ff16600a8111156108bc576108bc611b7f565b600a8111156108cd576108cd611b7f565b81526001919091015461ffff6101008204811660208401526301000000820481166040840152600160281b820481166060840152600160381b820481166080840152600160481b8204811660a0840152600160581b8204811660c0840152600160681b9091041660e09091015292915050565b600061094b82610b09565b6020015192915050565b6002602081815260009283526040928390208054600180830154865160a081018852958401805480840b840b840b8852620100008104840b840b90930b95870195909552919560ff9283169593949290840191600160201b90041660058111156109c1576109c1611b7f565b60058111156109d2576109d2611b7f565b81528154602090910190600160281b900460ff1660018111156109f7576109f7611b7f565b6001811115610a0857610a08611b7f565b81529054600160301b900461ffff9081166020928301526040805160a081018252600386018054600181810b810b900b835262010000810490941694820194909452939493929190830190600160201b900460ff166005811115610a6e57610a6e611b7f565b6005811115610a7f57610a7f611b7f565b81528154602090910190600160281b900460ff166001811115610aa457610aa4611b7f565b6001811115610ab557610ab5611b7f565b8152905461ffff600160301b9091041660209091015260049091015460ff8082169161010090041686565b610ae9336103af565b610af257600080fd5b610afb8161130d565b50565b610b073361134f565b565b610b11611413565b600082815260026020908152604091829020825160c08101909352805483526001810154909183019060ff166003811115610b4e57610b4e611b7f565b6003811115610b5f57610b5f611b7f565b81526040805160a081018252600284018054600181810b810b810b8452620100008204810b810b900b602080850191909152909401939192909190830190600160201b900460ff166005811115610bb857610bb8611b7f565b6005811115610bc957610bc9611b7f565b81528154602090910190600160281b900460ff166001811115610bee57610bee611b7f565b6001811115610bff57610bff611b7f565b81529054600160301b900461ffff9081166020928301529183526040805160a081018252600386018054600181810b810b900b8352620100008104909516828501529490920193919290830190600160201b900460ff166005811115610c6757610c67611b7f565b6005811115610c7857610c78611b7f565b81528154602090910190600160281b900460ff166001811115610c9d57610c9d611b7f565b6001811115610cae57610cae611b7f565b81529054600160301b900461ffff166020918201529082526004929092015460ff8082161515938301939093526101009004909116151560409091015292915050565b610cfa336103af565b610d0357600080fd5b805160009081526001602052604090205415610d705760405162461bcd60e51b815260206004820152602660248201527f506570656d6f6e436172643a20426174746c654361726420616c72656164792060448201526565786973747360d01b6064820152608401610436565b80516000908152600160208181526040909220835181559183015182820180549192909160ff19169083600a811115610dab57610dab611b7f565b02179055506040828101516001830180546060860151608087015160a088015160c0890151610100808b015160e08c015164ffffffff001990971661ffff998a1690920264ffff0000001916919091176301000000958916959095029490941768ffffffff00000000001916600160281b9388169390930268ffff00000000000000191692909217600160381b91871691909102176effff0000ffff0000000000000000001916600160481b9186169190910261ffff60681b191617600160681b918516919091021761ffff60581b1916600160581b93909116929092029190911790558251815133815260208101919091527fe834f4a6670c306eda5550bcba979eb1243ea6b822d8ec2fe61c004b08d466879101610598565b60408051808201909152600080825260208201526004600083600a811115610ef057610ef0611b7f565b600a811115610f0157610f01611b7f565b81526020810191909152604090810160002081518083019092528054829060ff16600a811115610f3357610f33611b7f565b600a811115610f4457610f44611b7f565b81528154602090910190610100900460ff16600a811115610f6757610f67611b7f565b600a811115610f7857610f78611b7f565b90525092915050565b610f8a336103af565b610f9357600080fd5b8051600090815260026020526040902054610ffb5760405162461bcd60e51b815260206004820152602260248201527f506570656d6f6e436172643a20537570706f727443617264206e6f7420666f756044820152611b9960f21b6064820152608401610436565b80516000908152600260209081526040909120825181559082015160018083018054909160ff199091169083600381111561103857611038611b7f565b021790555060408083015180516002840180546020840151600190810b61ffff908116620100000263ffffffff199093169490910b169290921791909117808255928201519192909190829064ff000000001916600160201b8360058111156110a3576110a3611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156110cf576110cf611b7f565b021790555060809190910151815461ffff60301b1916600160301b61ffff928316021790915560608301518051600384018054602084015160019390930b851663ffffffff199091161762010000929094169190910292909217808355604082015191929190829064ff000000001916600160201b83600581111561115657611156611b7f565b021790555060608201518154829060ff60281b1916600160281b83600181111561118257611182611b7f565b0217905550608091820151815461ffff909116600160301b0261ffff60301b1990911617905582015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905581516040805133815260208101929092527f7d280cd9a4f3e7ca54532462822a1b64c23c94371bab5f3bc7e16070287046d09101610598565b611218828261128a565b156112655760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c65006044820152606401610436565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166112ed5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b506001600160a01b03166000908152602091909152604090205460ff1690565b61131860008261120e565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b61135a600082611391565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b61139b828261128a565b6113f15760405162461bcd60e51b815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6044820152606560f81b6064820152608401610436565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6040805160c08101825260008082526020820152908101611432611453565b815260200161143f611483565b815260006020820181905260409091015290565b6040805160a08101825260008082526020820181905290918201905b815260200160008152600060209091015290565b6040805160a081018252600080825260208201819052909182019061146f565b803580151581146114b357600080fd5b919050565b8035600b81106114b357600080fd5b8035600281106114b357600080fd5b8035600681106114b357600080fd5b8035600181900b81146114b357600080fd5b600060a0828403121561150957600080fd5b611511611aaa565b905061151c826114e5565b815261152a60208301611568565b602082015261153b604083016114d6565b604082015261154c606083016114c7565b606082015261155d60808301611568565b608082015292915050565b803561ffff811681146114b357600080fd5b60006020828403121561158c57600080fd5b81356001600160a01b03811681146115a357600080fd5b9392505050565b6000602082840312156115bc57600080fd5b6115a3826114b8565b600061012082840312156115d857600080fd5b6115e0611ae1565b823581526115f0602084016114b8565b602082015261160160408401611568565b604082015261161260608401611568565b606082015261162360808401611568565b608082015261163460a08401611568565b60a082015261164560c08401611568565b60c082015261165660e08401611568565b60e0820152610100611669818501611568565b908201529392505050565b60008183036101c081121561168857600080fd5b611690611b13565b833581526020840135600481106116a657600080fd5b602082015260a0603f19830112156116bd57600080fd5b6116c5611aaa565b91506116d3604085016114e5565b82526116e1606085016114e5565b60208301526116f2608085016114d6565b604083015261170360a085016114c7565b606083015261171460c08501611568565b608083015281604082015261172c8560e086016114f7565b606082015261173e61018085016114a3565b60808201526117506101a085016114a3565b60a0820152949350505050565b60006020828403121561176f57600080fd5b5035919050565b600b811061178657611786611b7f565b9052565b6002811061178657611786611b7f565b6006811061178657611786611b7f565b6004811061178657611786611b7f565b805160010b8252602081015161ffff8082166020850152604083015191506117e5604085018361179a565b606083015191506117f9606085018361178a565b80608084015116608085015250505050565b805160010b8252602081015160010b60208301526040810151611831604084018261179a565b506060810151611844606084018261178a565b5060809081015161ffff16910152565b604081016118628285611776565b6115a36020830184611776565b602081016103bb82846117aa565b600060208083528351808285015260005b818110156118aa5785810183015185820160400152820161188e565b818111156118bc576000604083870101525b50601f01601f1916929092016040019392505050565b815181526020808301516101208301916118ee90840182611776565b50604083015161ffff808216604085015280606086015116606085015250506080830151611922608084018261ffff169052565b5060a083015161193860a084018261ffff169052565b5060c083015161194e60c084018261ffff169052565b5060e083015161196460e084018261ffff169052565b506101009283015161ffff16919092015290565b815181526020808301516101c0830191611994908401826117aa565b5060408301516119a7604084018261180b565b5060608301516119ba60e08401826117ba565b506080830151151561018083015260a09092015115156101a09091015290565b60006040820190506119ed828451611776565b60208301516119ff6020840182611776565b5092915050565b8981526101208101611a1b602083018b611776565b61ffff98891660408301529688166060820152948716608086015292861660a085015290851660c0840152841660e08301529092166101009092019190915292915050565b8681526101c08101611a7560208301886117aa565b611a82604083018761180b565b611a8f60e08301866117ba565b9215156101808201529015156101a090910152949350505050565b60405160a0810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b60405290565b604051610120810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b600181811c90821680611b5857607f821691505b60208210811415611b7957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212209df4fcf50f53bbb6b21e3c955d40d31062d0de047bc2c59a1f69abc887855e2064736f6c63430008060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80637048027511610097578063994fb2c611610066578063994fb2c6146102af578063a8156e3b146102cf578063b2303453146102e2578063c273b8f81461030257600080fd5b806370480275146101d35780637ed7f93b146101e6578063802af2971461026d5780638bad0c0a146102a757600080fd5b80633526d405116100d35780633526d4051461015b5780634aa452861461016e5780634bcb96131461018e5780634e84f9bb146101ae57600080fd5b80631a48f44e146100fa57806324d7806c146101235780632846c90314610146575b600080fd5b61010d6101083660046115aa565b610315565b60405161011a919061187d565b60405180910390f35b61013661013136600461157a565b6103af565b604051901515815260200161011a565b6101596101543660046115c5565b6103c1565b005b610159610169366004611674565b6105a4565b61018161017c36600461175d565b610837565b60405161011a91906118d2565b6101a161019c36600461175d565b610940565b60405161011a919061186f565b6101c16101bc36600461175d565b610955565b60405161011a96959493929190611a60565b6101596101e136600461157a565b610ae0565b6102586101f436600461175d565b6001602081905260009182526040909120805491015460ff81169061ffff610100820481169163010000008104821691600160281b8204811691600160381b8104821691600160481b8204811691600160581b8104821691600160681b9091041689565b60405161011a99989796959493929190611a06565b61029961027b3660046115aa565b60046020526000908152604090205460ff8082169161010090041682565b60405161011a929190611854565b610159610afe565b6102c26102bd36600461175d565b610b09565b60405161011a9190611978565b6101596102dd3660046115c5565b610cf1565b6102f56102f03660046115aa565b610ec6565b60405161011a91906119da565b610159610310366004611674565b610f81565b6003602052600090815260409020805461032e90611b44565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611b44565b80156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b60006103bb818361128a565b92915050565b6103ca336103af565b6103d357600080fd5b805160009081526001602052604090205461043f5760405162461bcd60e51b815260206004820152602160248201527f506570656d6f6e436172643a20426174746c6543617264206e6f7420666f756e6044820152601960fa1b60648201526084015b60405180910390fd5b805160009081526001602081815260409283902092840151838301805461ffff9092166101000262ffff00198316811782559286015193909260ff191662ffffff19909216919091179083600a81111561049b5761049b611b7f565b02179055506060820151600182018054608085015160a086015160c087015161010088015160e089015166ffffffff00000019909516630100000061ffff9889160266ffff0000000000191617600160281b94881694909402939093176affffffff000000000000001916600160381b928716929092026affff000000000000000000191691909117600160481b918616919091021763ffffffff60581b1916600160681b9185169190910261ffff60581b191617600160581b939091169290920291909117905581516040805133815260208101929092527f1dbe7a4174782e5f8cba924ddeb840e4cc4fff4ef29280b218f571c2c72baa9a91015b60405180910390a15050565b6105ad336103af565b6105b657600080fd5b8051600090815260026020526040902054156106245760405162461bcd60e51b815260206004820152602760248201527f506570656d6f6e436172643a20537570706f72744361726420616c72656164796044820152662065786973747360c81b6064820152608401610436565b80516000908152600260209081526040909120825181559082015160018083018054909160ff199091169083600381111561066157610661611b7f565b021790555060408083015180516002840180546020840151600190810b61ffff908116620100000263ffffffff199093169490910b169290921791909117808255928201519192909190829064ff000000001916600160201b8360058111156106cc576106cc611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156106f8576106f8611b7f565b021790555060809190910151815461ffff60301b1916600160301b61ffff928316021790915560608301518051600384018054602084015160019390930b851663ffffffff199091161762010000929094169190910292909217808355604082015191929190829064ff000000001916600160201b83600581111561077f5761077f611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156107ab576107ab611b7f565b0217905550608091820151815461ffff909116600160301b0261ffff60301b1990911617905582015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905581516040805133815260208101929092527fcc85dd689af30390542e50d769fe6c03d411de4e50da85ca2b22b6ac1ac613549101610598565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091526000828152600160208181526040928390208351610120810190945280548452918201549083019060ff16600a8111156108bc576108bc611b7f565b600a8111156108cd576108cd611b7f565b81526001919091015461ffff6101008204811660208401526301000000820481166040840152600160281b820481166060840152600160381b820481166080840152600160481b8204811660a0840152600160581b8204811660c0840152600160681b9091041660e09091015292915050565b600061094b82610b09565b6020015192915050565b6002602081815260009283526040928390208054600180830154865160a081018852958401805480840b840b840b8852620100008104840b840b90930b95870195909552919560ff9283169593949290840191600160201b90041660058111156109c1576109c1611b7f565b60058111156109d2576109d2611b7f565b81528154602090910190600160281b900460ff1660018111156109f7576109f7611b7f565b6001811115610a0857610a08611b7f565b81529054600160301b900461ffff9081166020928301526040805160a081018252600386018054600181810b810b900b835262010000810490941694820194909452939493929190830190600160201b900460ff166005811115610a6e57610a6e611b7f565b6005811115610a7f57610a7f611b7f565b81528154602090910190600160281b900460ff166001811115610aa457610aa4611b7f565b6001811115610ab557610ab5611b7f565b8152905461ffff600160301b9091041660209091015260049091015460ff8082169161010090041686565b610ae9336103af565b610af257600080fd5b610afb8161130d565b50565b610b073361134f565b565b610b11611413565b600082815260026020908152604091829020825160c08101909352805483526001810154909183019060ff166003811115610b4e57610b4e611b7f565b6003811115610b5f57610b5f611b7f565b81526040805160a081018252600284018054600181810b810b810b8452620100008204810b810b900b602080850191909152909401939192909190830190600160201b900460ff166005811115610bb857610bb8611b7f565b6005811115610bc957610bc9611b7f565b81528154602090910190600160281b900460ff166001811115610bee57610bee611b7f565b6001811115610bff57610bff611b7f565b81529054600160301b900461ffff9081166020928301529183526040805160a081018252600386018054600181810b810b900b8352620100008104909516828501529490920193919290830190600160201b900460ff166005811115610c6757610c67611b7f565b6005811115610c7857610c78611b7f565b81528154602090910190600160281b900460ff166001811115610c9d57610c9d611b7f565b6001811115610cae57610cae611b7f565b81529054600160301b900461ffff166020918201529082526004929092015460ff8082161515938301939093526101009004909116151560409091015292915050565b610cfa336103af565b610d0357600080fd5b805160009081526001602052604090205415610d705760405162461bcd60e51b815260206004820152602660248201527f506570656d6f6e436172643a20426174746c654361726420616c72656164792060448201526565786973747360d01b6064820152608401610436565b80516000908152600160208181526040909220835181559183015182820180549192909160ff19169083600a811115610dab57610dab611b7f565b02179055506040828101516001830180546060860151608087015160a088015160c0890151610100808b015160e08c015164ffffffff001990971661ffff998a1690920264ffff0000001916919091176301000000958916959095029490941768ffffffff00000000001916600160281b9388169390930268ffff00000000000000191692909217600160381b91871691909102176effff0000ffff0000000000000000001916600160481b9186169190910261ffff60681b191617600160681b918516919091021761ffff60581b1916600160581b93909116929092029190911790558251815133815260208101919091527fe834f4a6670c306eda5550bcba979eb1243ea6b822d8ec2fe61c004b08d466879101610598565b60408051808201909152600080825260208201526004600083600a811115610ef057610ef0611b7f565b600a811115610f0157610f01611b7f565b81526020810191909152604090810160002081518083019092528054829060ff16600a811115610f3357610f33611b7f565b600a811115610f4457610f44611b7f565b81528154602090910190610100900460ff16600a811115610f6757610f67611b7f565b600a811115610f7857610f78611b7f565b90525092915050565b610f8a336103af565b610f9357600080fd5b8051600090815260026020526040902054610ffb5760405162461bcd60e51b815260206004820152602260248201527f506570656d6f6e436172643a20537570706f727443617264206e6f7420666f756044820152611b9960f21b6064820152608401610436565b80516000908152600260209081526040909120825181559082015160018083018054909160ff199091169083600381111561103857611038611b7f565b021790555060408083015180516002840180546020840151600190810b61ffff908116620100000263ffffffff199093169490910b169290921791909117808255928201519192909190829064ff000000001916600160201b8360058111156110a3576110a3611b7f565b021790555060608201518154829060ff60281b1916600160281b8360018111156110cf576110cf611b7f565b021790555060809190910151815461ffff60301b1916600160301b61ffff928316021790915560608301518051600384018054602084015160019390930b851663ffffffff199091161762010000929094169190910292909217808355604082015191929190829064ff000000001916600160201b83600581111561115657611156611b7f565b021790555060608201518154829060ff60281b1916600160281b83600181111561118257611182611b7f565b0217905550608091820151815461ffff909116600160301b0261ffff60301b1990911617905582015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905581516040805133815260208101929092527f7d280cd9a4f3e7ca54532462822a1b64c23c94371bab5f3bc7e16070287046d09101610598565b611218828261128a565b156112655760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c65006044820152606401610436565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166112ed5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b506001600160a01b03166000908152602091909152604090205460ff1690565b61131860008261120e565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b61135a600082611391565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b61139b828261128a565b6113f15760405162461bcd60e51b815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6044820152606560f81b6064820152608401610436565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6040805160c08101825260008082526020820152908101611432611453565b815260200161143f611483565b815260006020820181905260409091015290565b6040805160a08101825260008082526020820181905290918201905b815260200160008152600060209091015290565b6040805160a081018252600080825260208201819052909182019061146f565b803580151581146114b357600080fd5b919050565b8035600b81106114b357600080fd5b8035600281106114b357600080fd5b8035600681106114b357600080fd5b8035600181900b81146114b357600080fd5b600060a0828403121561150957600080fd5b611511611aaa565b905061151c826114e5565b815261152a60208301611568565b602082015261153b604083016114d6565b604082015261154c606083016114c7565b606082015261155d60808301611568565b608082015292915050565b803561ffff811681146114b357600080fd5b60006020828403121561158c57600080fd5b81356001600160a01b03811681146115a357600080fd5b9392505050565b6000602082840312156115bc57600080fd5b6115a3826114b8565b600061012082840312156115d857600080fd5b6115e0611ae1565b823581526115f0602084016114b8565b602082015261160160408401611568565b604082015261161260608401611568565b606082015261162360808401611568565b608082015261163460a08401611568565b60a082015261164560c08401611568565b60c082015261165660e08401611568565b60e0820152610100611669818501611568565b908201529392505050565b60008183036101c081121561168857600080fd5b611690611b13565b833581526020840135600481106116a657600080fd5b602082015260a0603f19830112156116bd57600080fd5b6116c5611aaa565b91506116d3604085016114e5565b82526116e1606085016114e5565b60208301526116f2608085016114d6565b604083015261170360a085016114c7565b606083015261171460c08501611568565b608083015281604082015261172c8560e086016114f7565b606082015261173e61018085016114a3565b60808201526117506101a085016114a3565b60a0820152949350505050565b60006020828403121561176f57600080fd5b5035919050565b600b811061178657611786611b7f565b9052565b6002811061178657611786611b7f565b6006811061178657611786611b7f565b6004811061178657611786611b7f565b805160010b8252602081015161ffff8082166020850152604083015191506117e5604085018361179a565b606083015191506117f9606085018361178a565b80608084015116608085015250505050565b805160010b8252602081015160010b60208301526040810151611831604084018261179a565b506060810151611844606084018261178a565b5060809081015161ffff16910152565b604081016118628285611776565b6115a36020830184611776565b602081016103bb82846117aa565b600060208083528351808285015260005b818110156118aa5785810183015185820160400152820161188e565b818111156118bc576000604083870101525b50601f01601f1916929092016040019392505050565b815181526020808301516101208301916118ee90840182611776565b50604083015161ffff808216604085015280606086015116606085015250506080830151611922608084018261ffff169052565b5060a083015161193860a084018261ffff169052565b5060c083015161194e60c084018261ffff169052565b5060e083015161196460e084018261ffff169052565b506101009283015161ffff16919092015290565b815181526020808301516101c0830191611994908401826117aa565b5060408301516119a7604084018261180b565b5060608301516119ba60e08401826117ba565b506080830151151561018083015260a09092015115156101a09091015290565b60006040820190506119ed828451611776565b60208301516119ff6020840182611776565b5092915050565b8981526101208101611a1b602083018b611776565b61ffff98891660408301529688166060820152948716608086015292861660a085015290851660c0840152841660e08301529092166101009092019190915292915050565b8681526101c08101611a7560208301886117aa565b611a82604083018761180b565b611a8f60e08301866117ba565b9215156101808201529015156101a090910152949350505050565b60405160a0810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b60405290565b604051610120810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611adb57634e487b7160e01b600052604160045260246000fd5b600181811c90821680611b5857607f821691505b60208210811415611b7957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212209df4fcf50f53bbb6b21e3c955d40d31062d0de047bc2c59a1f69abc887855e2064736f6c63430008060033

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.