Amoy Testnet

Contract

0xd478C5f174E904F37B82E355c708484727D69CFf

Overview

POL Balance

Polygon PoS Chain Amoy LogoPolygon PoS Chain Amoy LogoPolygon PoS Chain Amoy Logo0 POL

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Set Authorized W...105144022024-08-09 13:20:24219 days ago1723209624IN
0xd478C5f1...727D69CFf
0 POL0.0008425131

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x2d2bd14D...b1Bf7600a
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
AliaNotarizer

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : AliaNotarizer.sol
// SPDX-License-Identifier: AGPL-3.0
pragma solidity ^0.8.24;

/// @title AliaNotarizer
/// @notice A contract for notarizing hashes by an authorized wallet
/// @dev This contract allows an authorized wallet to notarize hashes and transfer authorization
contract AliaNotarizer {
    /// @notice The address of the currently authorized wallet
    address public authorizedWallet;
    
    /// @notice Emitted when a hash is notarized
    /// @param hash The notarized hash
    /// @param sender The address that notarized the hash
    /// @param timestamp The block timestamp when the hash was notarized
    event NotarizedHash(bytes32 indexed hash, address indexed sender, uint256 timestamp);

    /// @notice Initializes the contract with an authorized wallet
    /// @param _authorizedWallet The address to be set as the initial authorized wallet
    constructor(address _authorizedWallet) {
        require(
            _authorizedWallet != address(0),
            "Authorized wallet is the zero address"
        );
        authorizedWallet = _authorizedWallet;
    }

    /// @notice Notarizes a given hash
    /// @dev Only the authorized wallet can call this function
    /// @param hash The hash to be notarized
    function notarizeHash(bytes32 hash) external {
        require(
            msg.sender == authorizedWallet,
            "Only authorized wallet can notarize"
        );
        emit NotarizedHash(hash, msg.sender, block.timestamp);
    }

    /// @notice Changes the authorized wallet
    /// @dev Only the current authorized wallet can call this function
    /// @param _authorizedWallet The address of the new authorized wallet
    function setAuthorizedWallet(address _authorizedWallet) external {
        require(
            msg.sender == authorizedWallet,
            "Only authorized wallet can set authorized wallet"
        );
        require(
            _authorizedWallet != address(0),
            "New authorized wallet is the zero address"
        );
        authorizedWallet = _authorizedWallet;
    }
}

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

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_authorizedWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"NotarizedHash","type":"event"},{"inputs":[],"name":"authorizedWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"name":"notarizeHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_authorizedWallet","type":"address"}],"name":"setAuthorizedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c80631535884e14610046578063b2f0c3a214610062578063c7c822ca14610080575b600080fd5b610060600480360381019061005b919061031b565b61009c565b005b61006a61017c565b6040516100779190610389565b60405180910390f35b61009a600480360381019061009591906103d0565b6101a0565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012190610480565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16817fbb157df2f2bbdc3dc1f292a7ee666c2668b29e16ffd9c565ed3204f47f913c834260405161017191906104b9565b60405180910390a350565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022590610546565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361029d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610294906105d8565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080fd5b6000819050919050565b6102f8816102e5565b811461030357600080fd5b50565b600081359050610315816102ef565b92915050565b600060208284031215610331576103306102e0565b5b600061033f84828501610306565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061037382610348565b9050919050565b61038381610368565b82525050565b600060208201905061039e600083018461037a565b92915050565b6103ad81610368565b81146103b857600080fd5b50565b6000813590506103ca816103a4565b92915050565b6000602082840312156103e6576103e56102e0565b5b60006103f4848285016103bb565b91505092915050565b600082825260208201905092915050565b7f4f6e6c7920617574686f72697a65642077616c6c65742063616e206e6f74617260008201527f697a650000000000000000000000000000000000000000000000000000000000602082015250565b600061046a6023836103fd565b91506104758261040e565b604082019050919050565b600060208201905081810360008301526104998161045d565b9050919050565b6000819050919050565b6104b3816104a0565b82525050565b60006020820190506104ce60008301846104aa565b92915050565b7f4f6e6c7920617574686f72697a65642077616c6c65742063616e20736574206160008201527f7574686f72697a65642077616c6c657400000000000000000000000000000000602082015250565b60006105306030836103fd565b915061053b826104d4565b604082019050919050565b6000602082019050818103600083015261055f81610523565b9050919050565b7f4e657720617574686f72697a65642077616c6c657420697320746865207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b60006105c26029836103fd565b91506105cd82610566565b604082019050919050565b600060208201905081810360008301526105f1816105b5565b905091905056fea26469706673582212205e4fc518703f8a9b069861ddbf4f683e7c8a51c14c76d8326dca325f6918498564736f6c63430008180033

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.