Source Code
Overview
POL Balance
More Info
ContractCreator
Multichain Info
N/A
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Authorized W... | 10514402 | 219 days ago | IN | 0 POL | 0.00084251 |
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)
// 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; } }
{ "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
Loading...
Loading
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.