ETH Price: $2,039.33 (+0.55%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Set Pool Address420226852026-02-11 18:31:5727 days ago1770834717IN
0x0236F596...8C9AeaDd1
0 ETH0.00000040.00836699
Set Oracle Addre...420226712026-02-11 18:31:2927 days ago1770834689IN
0x0236F596...8C9AeaDd1
0 ETH0.00000040.00849417
Set Fee Address420226032026-02-11 18:29:1327 days ago1770834553IN
0x0236F596...8C9AeaDd1
0 ETH0.000000420.00889058

Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RoyaltizRegistry

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2026-02-11
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title RoyaltizRegistry
 * @dev Registry contract storing application configuration
 */
contract RoyaltizRegistry {
  // Name of the application
  string public constant APP_NAME = 'Royaltiz';

  // Official website
  string public constant WEBSITE = 'https://royaltiz.com';

  // Bonding curve pool address
  address public poolAddress;

  // Transaction fee address
  address public feeAddress;

  // Oracle contract address
  address public oracleAddress;

  address public immutable OWNER;
  address public updater;

  modifier onlyOwner() {
    _onlyOwner();
    _;
  }

  modifier onlyUpdater() {
    _onlyUpdater();
    _;
  }

  modifier notZeroAddress(address _address) {
    _notZeroAddress(_address);
    _;
  }

  modifier notSameAsOwner(address _address) {
    _notSameAsOwner(_address);
    _;
  }

  function _onlyOwner() internal view {
    require(msg.sender == OWNER, 'RoyaltizRegistry: caller is not owner');
  }

  function _onlyUpdater() internal view {
    require(msg.sender == updater, 'RoyaltizRegistry: caller is not updater');
  }

  function _notZeroAddress(address _address) internal pure {
    require(_address != address(0), 'RoyaltizRegistry: address cannot be zero');
  }

  function _notSameAsOwner(address _address) internal view {
    require(_address != OWNER, 'RoyaltizRegistry: address cannot be owner');
  }

  event PoolAddressUpdated(
    address indexed oldAddress,
    address indexed newAddress
  );
  event FeeAddressUpdated(
    address indexed oldAddress,
    address indexed newAddress
  );
  event OracleAddressUpdated(
    address indexed oldAddress,
    address indexed newAddress
  );
  event UpdaterChanged(address indexed oldUpdater, address indexed newUpdater);

  constructor(address _owner, address _updater) {
    require(_owner != address(0), 'RoyaltizRegistry: owner cannot be zero');
    require(_updater != address(0), 'RoyaltizRegistry: updater cannot be zero');
    require(
      _owner != _updater,
      'RoyaltizRegistry: owner and updater cannot be the same'
    );
    OWNER = _owner;
    updater = _updater;
  }

  /**
   * @dev Set the bonding curve pool address
   * @param _poolAddress New pool address
   */
  function setPoolAddress(
    address _poolAddress
  ) external onlyUpdater notZeroAddress(_poolAddress) {
    address oldAddress = poolAddress;
    poolAddress = _poolAddress;
    emit PoolAddressUpdated(oldAddress, _poolAddress);
  }

  /**
   * @dev Set the transaction fee address
   * @param _feeAddress New fee address
   */
  function setFeeAddress(
    address _feeAddress
  ) external onlyUpdater notZeroAddress(_feeAddress) {
    address oldAddress = feeAddress;
    feeAddress = _feeAddress;
    emit FeeAddressUpdated(oldAddress, _feeAddress);
  }

  /**
   * @dev Set the oracle contract address
   * @param _oracleAddress New oracle address
   */
  function setOracleAddress(
    address _oracleAddress
  ) external onlyUpdater notZeroAddress(_oracleAddress) {
    address oldAddress = oracleAddress;
    oracleAddress = _oracleAddress;
    emit OracleAddressUpdated(oldAddress, _oracleAddress);
  }

  /**
   * @dev Change the updater address
   * @param _updater New updater address
   */
  function setUpdater(
    address _updater
  ) external onlyOwner notZeroAddress(_updater) notSameAsOwner(_updater) {
    address oldUpdater = updater;
    updater = _updater;

    emit UpdaterChanged(oldUpdater, _updater);
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_updater","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"FeeAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"OracleAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"PoolAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldUpdater","type":"address"},{"indexed":true,"internalType":"address","name":"newUpdater","type":"address"}],"name":"UpdaterChanged","type":"event"},{"inputs":[],"name":"APP_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":"WEBSITE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracleAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_feeAddress","type":"address"}],"name":"setFeeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracleAddress","type":"address"}],"name":"setOracleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_poolAddress","type":"address"}],"name":"setPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_updater","type":"address"}],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updater","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561000f575f80fd5b5060405161084838038061084883398101604081905261002e916101c9565b6001600160a01b0382166100985760405162461bcd60e51b815260206004820152602660248201527f526f79616c74697a52656769737472793a206f776e65722063616e6e6f74206260448201526565207a65726f60d01b60648201526084015b60405180910390fd5b6001600160a01b0381166100ff5760405162461bcd60e51b815260206004820152602860248201527f526f79616c74697a52656769737472793a20757064617465722063616e6e6f74604482015267206265207a65726f60c01b606482015260840161008f565b806001600160a01b0316826001600160a01b0316036101865760405162461bcd60e51b815260206004820152603660248201527f526f79616c74697a52656769737472793a206f776e657220616e64207570646160448201527f7465722063616e6e6f74206265207468652073616d6500000000000000000000606482015260840161008f565b6001600160a01b03918216608052600380546001600160a01b031916919092161790556101fa565b80516001600160a01b03811681146101c4575f80fd5b919050565b5f80604083850312156101da575f80fd5b6101e3836101ae565b91506101f1602084016101ae565b90509250929050565b60805161062961021f5f395f818160af0152818161046d01526104ea01526106295ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c80636313578d1161006e5780636313578d146101685780638705fcd41461018f5780639d54f419146101a2578063a89ae4ba146101b5578063df034cd0146101c8578063e9e15b4f146101db575f80fd5b8063117803e3146100aa5780631755ff21146100ee578063283dc96f1461010057806341275358146101405780634c69c00f14610153575b5f80fd5b6100d17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b5f546100d1906001600160a01b031681565b6101336040518060400160405280601481526020017368747470733a2f2f726f79616c74697a2e636f6d60601b81525081565b6040516100e5919061057b565b6001546100d1906001600160a01b031681565b6101666101613660046105c6565b6101ee565b005b610133604051806040016040528060088152602001672937bcb0b63a34bd60c11b81525081565b61016661019d3660046105c6565b610252565b6101666101b03660046105c6565b6102b6565b6002546100d1906001600160a01b031681565b6003546100d1906001600160a01b031681565b6101666101e93660046105c6565b610325565b6101f6610387565b80610200816103f8565b600280546001600160a01b038481166001600160a01b0319831681179093556040519116919082907fd3afd1676752459d3aa8b6f73633fac8efd724610da9c4cd8d8e4fa1631841fb905f90a3505050565b61025a610387565b80610264816103f8565b600180546001600160a01b038481166001600160a01b0319831681179093556040519116919082907f11f35a22548bcd4c3788ab4a7e4fba427a2014f02e5d5e2da9af62212c03183f905f90a3505050565b6102be610462565b806102c8816103f8565b816102d2816104e8565b600380546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f662a4a4a892f5f13cf7ee050fdaa045f8641601fdbc843e8a71f418099cacd4e905f90a350505050565b61032d610387565b80610337816103f8565b5f80546001600160a01b038481166001600160a01b0319831681178455604051919092169283917fbc265b118422e9d29f4173594a64a9c2ac4d07373e209a941f4bc8c83c38321b9190a3505050565b6003546001600160a01b031633146103f65760405162461bcd60e51b815260206004820152602760248201527f526f79616c74697a52656769737472793a2063616c6c6572206973206e6f74206044820152663ab83230ba32b960c91b60648201526084015b60405180910390fd5b565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602860248201527f526f79616c74697a52656769737472793a20616464726573732063616e6e6f74604482015267206265207a65726f60c01b60648201526084016103ed565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103f65760405162461bcd60e51b815260206004820152602560248201527f526f79616c74697a52656769737472793a2063616c6c6572206973206e6f742060448201526437bbb732b960d91b60648201526084016103ed565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03160361045f5760405162461bcd60e51b815260206004820152602960248201527f526f79616c74697a52656769737472793a20616464726573732063616e6e6f746044820152681031329037bbb732b960b91b60648201526084016103ed565b5f6020808352835180828501525f5b818110156105a65785810183015185820160400152820161058a565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156105d6575f80fd5b81356001600160a01b03811681146105ec575f80fd5b939250505056fea264697066735822122002bfa0b06e6f5325e5c1bada472bee546425a109f33b6fd3656dbd2aa8771f6b64736f6c634300081400330000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e00000000000000000000000046bae750a3f339e021bc4d75be2a8a37168d74db

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c80636313578d1161006e5780636313578d146101685780638705fcd41461018f5780639d54f419146101a2578063a89ae4ba146101b5578063df034cd0146101c8578063e9e15b4f146101db575f80fd5b8063117803e3146100aa5780631755ff21146100ee578063283dc96f1461010057806341275358146101405780634c69c00f14610153575b5f80fd5b6100d17f0000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e81565b6040516001600160a01b0390911681526020015b60405180910390f35b5f546100d1906001600160a01b031681565b6101336040518060400160405280601481526020017368747470733a2f2f726f79616c74697a2e636f6d60601b81525081565b6040516100e5919061057b565b6001546100d1906001600160a01b031681565b6101666101613660046105c6565b6101ee565b005b610133604051806040016040528060088152602001672937bcb0b63a34bd60c11b81525081565b61016661019d3660046105c6565b610252565b6101666101b03660046105c6565b6102b6565b6002546100d1906001600160a01b031681565b6003546100d1906001600160a01b031681565b6101666101e93660046105c6565b610325565b6101f6610387565b80610200816103f8565b600280546001600160a01b038481166001600160a01b0319831681179093556040519116919082907fd3afd1676752459d3aa8b6f73633fac8efd724610da9c4cd8d8e4fa1631841fb905f90a3505050565b61025a610387565b80610264816103f8565b600180546001600160a01b038481166001600160a01b0319831681179093556040519116919082907f11f35a22548bcd4c3788ab4a7e4fba427a2014f02e5d5e2da9af62212c03183f905f90a3505050565b6102be610462565b806102c8816103f8565b816102d2816104e8565b600380546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f662a4a4a892f5f13cf7ee050fdaa045f8641601fdbc843e8a71f418099cacd4e905f90a350505050565b61032d610387565b80610337816103f8565b5f80546001600160a01b038481166001600160a01b0319831681178455604051919092169283917fbc265b118422e9d29f4173594a64a9c2ac4d07373e209a941f4bc8c83c38321b9190a3505050565b6003546001600160a01b031633146103f65760405162461bcd60e51b815260206004820152602760248201527f526f79616c74697a52656769737472793a2063616c6c6572206973206e6f74206044820152663ab83230ba32b960c91b60648201526084015b60405180910390fd5b565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602860248201527f526f79616c74697a52656769737472793a20616464726573732063616e6e6f74604482015267206265207a65726f60c01b60648201526084016103ed565b50565b336001600160a01b037f0000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e16146103f65760405162461bcd60e51b815260206004820152602560248201527f526f79616c74697a52656769737472793a2063616c6c6572206973206e6f742060448201526437bbb732b960d91b60648201526084016103ed565b7f0000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e6001600160a01b0316816001600160a01b03160361045f5760405162461bcd60e51b815260206004820152602960248201527f526f79616c74697a52656769737472793a20616464726573732063616e6e6f746044820152681031329037bbb732b960b91b60648201526084016103ed565b5f6020808352835180828501525f5b818110156105a65785810183015185820160400152820161058a565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156105d6575f80fd5b81356001600160a01b03811681146105ec575f80fd5b939250505056fea264697066735822122002bfa0b06e6f5325e5c1bada472bee546425a109f33b6fd3656dbd2aa8771f6b64736f6c63430008140033

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

0000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e00000000000000000000000046bae750a3f339e021bc4d75be2a8a37168d74db

-----Decoded View---------------
Arg [0] : _owner (address): 0x5Cd4CE9Fc2A0Fad7e1e492e45C011Cdb927ec00e
Arg [1] : _updater (address): 0x46BAe750a3f339e021bc4d75Be2a8a37168d74DB

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005cd4ce9fc2a0fad7e1e492e45c011cdb927ec00e
Arg [1] : 00000000000000000000000046bae750a3f339e021bc4d75be2a8a37168d74db


Deployed Bytecode Sourcemap

160:3460:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;550:30;;;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;550:30:0;;;;;;;;390:26;;;;;-1:-1:-1;;;;;390:26:0;;;295:55;;;;;;;;;;;;;;;-1:-1:-1;;;295:55:0;;;;;;;;;;;;:::i;453:25::-;;;;;-1:-1:-1;;;;;453:25:0;;;3028:256;;;;;;:::i;:::-;;:::i;:::-;;221:44;;;;;;;;;;;;;;;-1:-1:-1;;;221:44:0;;;;;2686:232;;;;;;:::i;:::-;;:::i;3384:233::-;;;;;;:::i;:::-;;:::i;515:28::-;;;;;-1:-1:-1;;;;;515:28:0;;;585:22;;;;;-1:-1:-1;;;;;585:22:0;;;2342:240;;;;;;:::i;:::-;;:::i;3028:256::-;704:14;:12;:14::i;:::-;3124::::1;787:25;803:8;787:15;:25::i;:::-;3168:13:::2;::::0;;-1:-1:-1;;;;;3188:30:0;;::::2;-1:-1:-1::0;;;;;;3188:30:0;::::2;::::0;::::2;::::0;;;3230:48:::2;::::0;3168:13;::::2;::::0;3188:30;3168:13;;3230:48:::2;::::0;3147:18:::2;::::0;3230:48:::2;3140:144;725:1:::1;3028:256:::0;:::o;2686:232::-;704:14;:12;:14::i;:::-;2776:11:::1;787:25;803:8;787:15;:25::i;:::-;2817:10:::2;::::0;;-1:-1:-1;;;;;2834:24:0;;::::2;-1:-1:-1::0;;;;;;2834:24:0;::::2;::::0;::::2;::::0;;;2870:42:::2;::::0;2817:10;::::2;::::0;2834:24;2817:10;;2870:42:::2;::::0;2796:18:::2;::::0;2870:42:::2;2789:129;725:1:::1;2686:232:::0;:::o;3384:233::-;642:12;:10;:12::i;:::-;3466:8:::1;787:25;803:8;787:15;:25::i;:::-;3491:8:::2;881:25;897:8;881:15;:25::i;:::-;3529:7:::3;::::0;;-1:-1:-1;;;;;3543:18:0;;::::3;-1:-1:-1::0;;;;;;3543:18:0;::::3;::::0;::::3;::::0;;;3575:36:::3;::::0;3529:7;::::3;::::0;3543:18;3529:7;;3575:36:::3;::::0;3508:18:::3;::::0;3575:36:::3;3501:116;819:1:::2;661::::1;3384:233:::0;:::o;2342:240::-;704:14;:12;:14::i;:::-;2434:12:::1;787:25;803:8;787:15;:25::i;:::-;2455:18:::2;2476:11:::0;;-1:-1:-1;;;;;2494:26:0;;::::2;-1:-1:-1::0;;;;;;2494:26:0;::::2;::::0;::::2;::::0;;2532:44:::2;::::0;2476:11;;;::::2;::::0;;;2532:44:::2;::::0;2455:18;2532:44:::2;2448:134;725:1:::1;2342:240:::0;:::o;1050:124::-;1117:7;;-1:-1:-1;;;;;1117:7:0;1103:10;:21;1095:73;;;;-1:-1:-1;;;1095:73:0;;1268:2:1;1095:73:0;;;1250:21:1;1307:2;1287:18;;;1280:30;1346:34;1326:18;;;1319:62;-1:-1:-1;;;1397:18:1;;;1390:37;1444:19;;1095:73:0;;;;;;;;;1050:124::o;1180:145::-;-1:-1:-1;;;;;1252:22:0;;1244:75;;;;-1:-1:-1;;;1244:75:0;;1676:2:1;1244:75:0;;;1658:21:1;1715:2;1695:18;;;1688:30;1754:34;1734:18;;;1727:62;-1:-1:-1;;;1805:18:1;;;1798:38;1853:19;;1244:75:0;1474:404:1;1244:75:0;1180:145;:::o;926:118::-;977:10;-1:-1:-1;;;;;991:5:0;977:19;;969:69;;;;-1:-1:-1;;;969:69:0;;2085:2:1;969:69:0;;;2067:21:1;2124:2;2104:18;;;2097:30;2163:34;2143:18;;;2136:62;-1:-1:-1;;;2214:18:1;;;2207:35;2259:19;;969:69:0;1883:401:1;1331:141:0;1415:5;-1:-1:-1;;;;;1403:17:0;:8;-1:-1:-1;;;;;1403:17:0;;1395:71;;;;-1:-1:-1;;;1395:71:0;;2491:2:1;1395:71:0;;;2473:21:1;2530:2;2510:18;;;2503:30;2569:34;2549:18;;;2542:62;-1:-1:-1;;;2620:18:1;;;2613:39;2669:19;;1395:71:0;2289:405:1;222:548;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:286::-;834:6;887:2;875:9;866:7;862:23;858:32;855:52;;;903:1;900;893:12;855:52;929:23;;-1:-1:-1;;;;;981:31:1;;971:42;;961:70;;1027:1;1024;1017:12;961:70;1050:5;775:286;-1:-1:-1;;;775:286:1:o

Swarm Source

ipfs://02bfa0b06e6f5325e5c1bada472bee546425a109f33b6fd3656dbd2aa8771f6b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.