// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
interface IShareTracker {
function setShare(address account, uint256 balance) external;
}
/**
* @title RobinRewToken
* @notice RobinRew launchpad'inde oluşturulan token. TRANSFER VERGİSİ YOKTUR
* (Uniswap V3 ile tam uyumlu — swap sırasında miktar tam gelir). Ödüller
* transfer vergisinden değil, V3 havuzunda biriken LP komisyonlarından gelir.
*
* Tek özel davranış: her transferde ödül defterine (distributor) bakiye
* bildirimi yapılır — böylece "sadece tut, ödül kazan" mümkün olur.
*/
contract RobinRewToken is ERC20 {
address public distributor;
address public immutable creator;
constructor(
string memory name_,
string memory symbol_,
uint256 totalSupply_,
address mintTo,
address creator_
) ERC20(name_, symbol_) {
creator = creator_;
_mint(mintTo, totalSupply_);
}
/// @notice Distributor'ı bağlar. Yalnızca bir kez ayarlanabilir; factory createToken
/// akışı içinde atomik çağırdığı için front-run edilemez.
function initializeDistributor(address distributor_) external {
require(distributor == address(0), "RRT: distributor set");
require(distributor_ != address(0), "RRT: zero distributor");
distributor = distributor_;
}
function _update(address from, address to, uint256 amount) internal override {
super._update(from, to, amount);
address d = distributor;
if (d != address(0)) {
if (from != address(0)) IShareTracker(d).setShare(from, balanceOf(from));
if (to != address(0)) IShareTracker(d).setShare(to, balanceOf(to));
}
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "totalSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "mintTo",
"type": "address",
"internalType": "address"
},
{
"name": "creator_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "creator",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "distributor",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "initializeDistributor",
"type": "function",
"inputs": [
{
"name": "distributor_",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x608060408181526004918236101561001657600080fd5b600092833560e01c91826302d05d3f1461061f5750816306fdde0314610528578163095ea7b31461047e57816318160ddd1461045f57816323b872dd14610368578163313ce5671461034c5781635b1647791461028857816370a082311461025157816395d89b411461014c57508063a9059cbb1461011c578063bfe10928146100f45763dd62ed3e146100a957600080fd5b346100f057806003193601126100f057806020926100c56106ab565b6100cd6106c6565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100f057816003193601126100f05760055490516001600160a01b039091168152602090f35b50346100f057806003193601126100f05760209061014561013b6106ab565b6024359033610728565b5160018152f35b8383346100f057816003193601126100f05780519180938054916001908360011c9260018516948515610247575b60209586861081146102345785895290811561021057506001146101b8575b6101b487876101aa828c0383610706565b5191829182610662565b0390f35b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106101fd57505050826101b4946101aa92820101948680610199565b80548685018801529286019281016101df565b60ff19168887015250505050151560051b83010192506101aa826101b48680610199565b634e487b7160e01b845260228352602484fd5b93607f169361017a565b5050346100f05760203660031901126100f05760209181906001600160a01b036102796106ab565b16815280845220549051908152f35b905034610348576020366003190112610348576102a36106ab565b60055491906001600160a01b039081841661030e57169283156102d35750506001600160a01b0319161760055580f35b906020606492519162461bcd60e51b8352820152601560248201527429292a1d103d32b937903234b9ba3934b13aba37b960591b6044820152fd5b845162461bcd60e51b815260208185015260146024820152731494950e88191a5cdd1c9a589d5d1bdc881cd95d60621b6044820152606490fd5b8280fd5b5050346100f057816003193601126100f0576020905160128152f35b9050823461045c57606036600319011261045c576103846106ab565b61038c6106c6565b916044359360018060a01b0383168083526001602052868320338452602052868320549160001983106103c8575b602088610145898989610728565b86831061043057811561041957331561040257508252600160209081528683203384528152918690209085900390558290610145876103ba565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b8751637dc7a0d960e11b8152339181019182526020820193909352604081018790528291506060010390fd5b80fd5b5050346100f057816003193601126100f0576020906002549051908152f35b9050346103485781600319360112610348576104986106ab565b602435903315610511576001600160a01b03169182156104fa57508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b9190503461034857826003193601126103485780519183600354906001908260011c92600181168015610615575b602095868610821461060257508488529081156105e05750600114610587575b6101b486866101aa828b0383610706565b929550600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106105cd57505050826101b4946101aa928201019438610576565b80548685018801529286019281016105b0565b60ff191687860152505050151560051b83010192506101aa826101b438610576565b634e487b7160e01b845260229052602483fd5b93607f1693610556565b8490346100f057816003193601126100f0577f0000000000000000000000001149ac02698c6b1e909037c39a240c6994dd16da6001600160a01b03168152602090f35b6020808252825181830181905290939260005b82811061069757505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610675565b600435906001600160a01b03821682036106c157565b600080fd5b602435906001600160a01b03821682036106c157565b67ffffffffffffffff81116106f057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176106f057604052565b600092916001600160a01b03808316919082156108e4578082169081156108cb57838752866020526040958688205481811061089c577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60208386948994858e528d8452038b8d2055848c528a8c208181540190558a51908152a36005541692836107b7575b50505050505050565b86528560205284862054833b15610898578551630a5b654b60e11b8082526001600160a01b039690961660048201526024810191909152868160448183885af1801561088e5761087b575b508552846020528385205492823b156108775784519081526001600160a01b03919091166004820152602481019290925290919083908390604490829084905af190811561086e575061085a575b80808080806107ae565b61086482916106dc565b61045c5780610850565b513d84823e3d90fd5b8580fd5b610887909691966106dc565b9438610802565b86513d89823e3d90fd5b8680fd5b875163391434e360e21b81526001600160a01b0388166004820152602481019190915260448101829052606490fd5b60405163ec442f0560e01b815260048101889052602490fd5b604051634b637e8f60e11b815260048101879052602490fdfea264697066735822122010bda1847fa1fd7b88896964ec45c1b62094061f711afdfcd7cb84b38008b38364736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000106 | $0 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xaa270b…0905fb | 37 days agoThu, 09 Jul 2026 23:20:01 UTC | Transfer | [0] 0x000000000000…9bd61bdf [1] 0x000000000000…5663a256 data: 0x000000000000000000…5007f66b |
| 0x3544f8…b7aa24 | 37 days agoThu, 09 Jul 2026 23:06:31 UTC | Transfer | [0] 0x000000000000…705beca6 [1] 0x000000000000…5663a256 data: 0x000000000000000000…1c76d950 |
| 0x3544f8…b7aa24 | 37 days agoThu, 09 Jul 2026 23:06:31 UTC | Approval | [0] 0x000000000000…705beca6 [1] 0x000000000000…0176bd24 data: 0x000000000000000000…1c76d950 |
| 0x3544f8…b7aa24 | 37 days agoThu, 09 Jul 2026 23:06:31 UTC | Transfer | [0] 0x000000000000…5663a256 [1] 0x000000000000…705beca6 data: 0x000000000000000000…1c76d950 |
| 0xd67faf…eacb6c | 37 days agoThu, 09 Jul 2026 23:06:27 UTC | Transfer | [0] 0x000000000000…94dd16da [1] 0x000000000000…5663a256 data: 0x000000000000000000…1e6ce37b |
| 0x4dd5f2…f90e66 | 37 days agoThu, 09 Jul 2026 23:06:25 UTC | Approval | [0] 0x000000000000…94dd16da [1] 0x000000000000…0176bd24 data: 0x000000000000000000…1e6ce37b |
| 0xb93cd0…c95ac2 | 37 days agoThu, 09 Jul 2026 23:04:55 UTC | Approval | [0] 0x000000000000…9bd61bdf [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x1479ee…0d0cc5 | 37 days agoThu, 09 Jul 2026 23:04:55 UTC | Transfer | [0] 0x000000000000…5663a256 [1] 0x000000000000…9bd61bdf data: 0x000000000000000000…5007f66b |
| 0x552665…617c67 | 37 days agoThu, 09 Jul 2026 23:04:50 UTC | Transfer | [0] 0x000000000000…5663a256 [1] 0x000000000000…94dd16da data: 0x000000000000000000…98207169 |
| 0x4f2876…c87496 | 37 days agoThu, 09 Jul 2026 23:04:40 UTC | Transfer | [0] 0x000000000000…dffb8c50 [1] 0x000000000000…0000dead data: 0x000000000000000000…0000042d |
| 0x4f2876…c87496 | 37 days agoThu, 09 Jul 2026 23:04:40 UTC | Transfer | [0] 0x000000000000…dffb8c50 [1] 0x000000000000…5663a256 data: 0x000000000000000000…e7fffbd3 |
| 0x4f2876…c87496 | 37 days agoThu, 09 Jul 2026 23:04:40 UTC | Approval | [0] 0x000000000000…dffb8c50 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…e8000000 |
| 0x4f2876…c87496 | 37 days agoThu, 09 Jul 2026 23:04:40 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…dffb8c50 data: 0x000000000000000000…e8000000 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xc39c8bab…40cbe9 | Transfer | 18,585,653 | 22 days agoSat, 25 Jul 2026 00:38:04 UTC | 0xcaf7…5d11 | IN | 0xe87e…b8a5 | $0.001 DIH |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x4dd5f2…f90e66 | Approve | 5,599,364 | 37 days agoThu, 09 Jul 2026 23:06:25 UTC | 0x1149…16da | IN | RewardCat | $0.000 ETH | 0.00000243 | |
| 0xb93cd0…c95ac2 | Approve | 5,598,447 | 37 days agoThu, 09 Jul 2026 23:04:55 UTC | 0x4ae0…1bdf | IN | RewardCat | $0.000 ETH | 0.00000235 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 5,598,303 | 37 days agoThu, 09 Jul 2026 23:04:40 UTC | 0x4f2876…c87496 | CREATE2 | createToken | 0x00a4…8c50 | IN | 0xe87e…b8a5 | 0 ETH |