ETH Price: $3,251.03 (+1.88%)

Contract

0x6203e8236C03Fd78c9fE1a080d90E6B1417B710f

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Parent Transaction Hash Block From To
4432932025-01-29 23:12:0132 hrs ago1738192321  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
MulRewardPolicy

Compiler Version
v0.8.28+commit.7893614a

ZkSolc Version
v1.5.7

Optimization Enabled:
Yes with Mode 3

Other Settings:
cancun EvmVersion
File 1 of 2 : MulRewardPolicy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;

import {IRewardPolicy} from "./interfaces/IRewardPolicy.sol";

contract MulRewardPolicy is IRewardPolicy {
    uint256 public constant PRECISION = 100_000;

    function escrow(uint256 toll, address, bytes calldata data) external pure returns (uint256 amount) {
        (uint256 multiple, uint256 tollMinimum, uint256 tollMaximum) = abi.decode(data, (uint256, uint256, uint256));
        if (multiple <= PRECISION) {
            revert("MulRewardPolicy: multiple must be greater than 1");
        }
        if (toll < tollMinimum || toll > tollMaximum) {
            revert("MulRewardPolicy: toll is out of range");
        }
        amount = toll * multiple / PRECISION;
    }

    function payout(uint256 max, bytes32 payoutData) external pure returns (uint256) {
        return max * uint256(payoutData) / PRECISION;
    }
}

File 2 of 2 : IRewardPolicy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;

interface IRewardPolicy {
    // The maximum amount that can be paid out.
    function escrow(uint256 toll, address player, bytes calldata data) external returns (uint256 amount);
    // The actual amount that will be paid out.
    function payout(uint256 reward, bytes32 data) external returns (uint256 amount);
}

Settings
{
  "viaIR": false,
  "codegen": "yul",
  "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/"
  ],
  "evmVersion": "cancun",
  "outputSelection": {
    "*": {
      "*": [
        "abi",
        "metadata"
      ],
      "": [
        "ast"
      ]
    }
  },
  "optimizer": {
    "enabled": true,
    "mode": "3",
    "fallback_to_optimizing_for_size": false,
    "disable_system_request_memoization": true
  },
  "metadata": {},
  "libraries": {},
  "enableEraVMExtensions": false,
  "forceEVMLA": false
}

Contract Security Audit

Contract ABI

[{"inputs":[],"name":"PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"toll","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"escrow","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"max","type":"uint256"},{"internalType":"bytes32","name":"payoutData","type":"bytes32"}],"name":"payout","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]

Deployed Bytecode

0x0000008003000039000000400030043f00000001002001900000003e0000c13d00000060021002700000002302200197000000040020008c000000600000413d000000000301043b000000e003300270000000250030009c000000460000613d000000260030009c000000590000613d000000270030009c000000600000c13d000000640020008c000000600000413d0000000003000416000000000003004b000000600000c13d0000000403100370000000000303043b0000002404100370000000000404043b0000002b0040009c000000600000213d0000004404100370000000000404043b0000002c0040009c000000600000213d0000002305400039000000000025004b000000600000813d0000000405400039000000000651034f000000000606043b0000002c0060009c000000600000213d000000600060008c000000600000413d00000000046400190000002404400039000000000024004b000000600000213d0000002004500039000000000241034f000000000202043b000000280020009c000000620000213d0000002d01000041000000800010043f0000002001000039000000840010043f0000003001000039000000a40010043f0000003101000041000000c40010043f0000003201000041000000e40010043f000000300100004100000088000104300000000001000416000000000001004b000000600000c13d0000002001000039000001000010044300000120000004430000002401000041000000870001042e000000440020008c000000600000413d0000000002000416000000000002004b000000600000c13d0000000402100370000000000302043b0000002401100370000000000201043b0000000001030019008600780000040f000000280110012a000000400200043d0000000000120435000000230020009c0000002302008041000000400120021000000029011001c7000000870001042e0000000001000416000000000001004b000000600000c13d0000002801000041000000800010043f0000002a01000041000000870001042e000000000100001900000088000104300000002004400039000000000541034f000000000505043b000000000053004b0000006c0000413d0000002004400039000000000141034f000000000101043b000000000013004b0000004f0000a13d0000002d01000041000000800010043f0000002001000039000000840010043f0000002501000039000000a40010043f0000002e01000041000000c40010043f0000002f01000041000000e40010043f00000030010000410000008800010430000000000301001900000000011200a9000000000003004b0000007f0000613d00000000033100d9000000000023004b000000800000c13d000000000001042d0000003301000041000000000010043f0000001101000039000000040010043f000000340100004100000088000104300000008600000432000000870001042e000000880001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000c809356100000000000000000000000000000000000000000000000000000000aaf5eb6800000000000000000000000000000000000000000000000000000000437b503100000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff08c379a0000000000000000000000000000000000000000000000000000000004d756c526577617264506f6c6963793a20746f6c6c206973206f7574206f662072616e676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840000008000000000000000004d756c526577617264506f6c6963793a206d756c7469706c65206d7573742062652067726561746572207468616e2031000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000007891f76584fb4f3277418ba32b8290ef066e50a2c3866cc13fbe93dc9c8a5311

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.