Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 22 from a total of 22 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Remediate Royalt... | 20387317 | 176 days ago | IN | 0.00049999 ETH | 0.00008242 | ||||
Remediate Royalt... | 19927389 | 241 days ago | IN | 0.00146995 ETH | 0.00043784 | ||||
Remediate Royalt... | 19765801 | 263 days ago | IN | 0.0308 ETH | 0.00024586 | ||||
Remediate Royalt... | 19753963 | 265 days ago | IN | 0.0309 ETH | 0.00037186 | ||||
Remediate Royalt... | 19647227 | 280 days ago | IN | 0.00146995 ETH | 0.00049817 | ||||
Remediate Royalt... | 19645839 | 280 days ago | IN | 0.054 ETH | 0.00044581 | ||||
Remediate Royalt... | 19645809 | 280 days ago | IN | 0.00146995 ETH | 0.00038822 | ||||
Remediate Royalt... | 19538113 | 295 days ago | IN | 0.00494 ETH | 0.00068102 | ||||
Remediate Royalt... | 19524811 | 297 days ago | IN | 0.0436905 ETH | 0.00092783 | ||||
Remediate Royalt... | 19514513 | 299 days ago | IN | 0.02445 ETH | 0.00083708 | ||||
Remediate Royalt... | 19509881 | 299 days ago | IN | 0.0498298 ETH | 0.00055412 | ||||
Remediate Royalt... | 19505381 | 300 days ago | IN | 0.0969 ETH | 0.00075114 | ||||
Remediate Royalt... | 19499919 | 301 days ago | IN | 0.059 ETH | 0.00066078 | ||||
Remediate Royalt... | 19444304 | 308 days ago | IN | 0.002 ETH | 0.00124395 | ||||
Remediate Royalt... | 19416932 | 312 days ago | IN | 0.00254999 ETH | 0.00167027 | ||||
Remediate Royalt... | 19356425 | 321 days ago | IN | 0.2581616 ETH | 0.00256241 | ||||
Remediate Royalt... | 19264305 | 334 days ago | IN | 0.0444 ETH | 0.00174626 | ||||
Remediate Royalt... | 19145981 | 350 days ago | IN | 0.0498799 ETH | 0.00050535 | ||||
Remediate Royalt... | 19123691 | 353 days ago | IN | 0.00215 ETH | 0.00078859 | ||||
Remediate Royalt... | 19116194 | 354 days ago | IN | 0.00305 ETH | 0.00067811 | ||||
Remediate Royalt... | 19116123 | 354 days ago | IN | 0.00305 ETH | 0.00063435 | ||||
Remediate Royalt... | 16941354 | 660 days ago | IN | 0.0085 ETH | 0.00133052 |
Latest 22 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20387317 | 176 days ago | 0.00049999 ETH | ||||
19927389 | 241 days ago | 0.00146995 ETH | ||||
19765801 | 263 days ago | 0.0308 ETH | ||||
19753963 | 265 days ago | 0.0309 ETH | ||||
19647227 | 280 days ago | 0.00146995 ETH | ||||
19645839 | 280 days ago | 0.054 ETH | ||||
19645809 | 280 days ago | 0.00146995 ETH | ||||
19538113 | 295 days ago | 0.00494 ETH | ||||
19524811 | 297 days ago | 0.0436905 ETH | ||||
19514513 | 299 days ago | 0.02445 ETH | ||||
19509881 | 299 days ago | 0.0498298 ETH | ||||
19505381 | 300 days ago | 0.0969 ETH | ||||
19499919 | 301 days ago | 0.059 ETH | ||||
19444304 | 308 days ago | 0.002 ETH | ||||
19416932 | 312 days ago | 0.00254999 ETH | ||||
19356425 | 321 days ago | 0.2581616 ETH | ||||
19264305 | 334 days ago | 0.0444 ETH | ||||
19145981 | 350 days ago | 0.0498799 ETH | ||||
19123691 | 353 days ago | 0.00215 ETH | ||||
19116194 | 354 days ago | 0.00305 ETH | ||||
19116123 | 354 days ago | 0.00305 ETH | ||||
16941354 | 660 days ago | 0.0085 ETH |
Loading...
Loading
Contract Name:
RoyaltyRemediation
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 800 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.19; import { Address } from "@openzeppelin/contracts/utils/Address.sol"; contract RoyaltyRemediation { event RoyaltyRemitted(address indexed sender, address indexed creator, uint256 amount); error RoyaltyRemediationZeroValueError(); function remediateRoyalty(address payable creator) external payable { if (msg.value == 0) revert RoyaltyRemediationZeroValueError(); Address.sendValue(creator, msg.value); emit RoyaltyRemitted(msg.sender, creator, msg.value); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } }
{ "metadata": { "bytecodeHash": "none" }, "optimizer": { "enabled": true, "runs": 800 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"RoyaltyRemediationZeroValueError","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RoyaltyRemitted","type":"event"},{"inputs":[{"internalType":"address payable","name":"creator","type":"address"}],"name":"remediateRoyalty","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061022d806100206000396000f3fe60806040526004361061001e5760003560e01c8063805c8af414610023575b600080fd5b6100366100313660046101e3565b610038565b005b3460000361005957604051631f816b1760e11b815260040160405180910390fd5b61006381346100b3565b60405134815273ffffffffffffffffffffffffffffffffffffffff82169033907fa15fae53146afae599129cb31fc75bf4f3d4861fb8f55a80201d0cb3e698d6fb9060200160405180910390a350565b804710156101085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610162576040519150601f19603f3d011682016040523d82523d6000602084013e610167565b606091505b50509050806101de5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016100ff565b505050565b6000602082840312156101f557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461021957600080fd5b939250505056fea164736f6c6343000813000a
Deployed Bytecode
0x60806040526004361061001e5760003560e01c8063805c8af414610023575b600080fd5b6100366100313660046101e3565b610038565b005b3460000361005957604051631f816b1760e11b815260040160405180910390fd5b61006381346100b3565b60405134815273ffffffffffffffffffffffffffffffffffffffff82169033907fa15fae53146afae599129cb31fc75bf4f3d4861fb8f55a80201d0cb3e698d6fb9060200160405180910390a350565b804710156101085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610162576040519150601f19603f3d011682016040523d82523d6000602084013e610167565b606091505b50509050806101de5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016100ff565b505050565b6000602082840312156101f557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461021957600080fd5b939250505056fea164736f6c6343000813000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.