// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract OdysseyStable is ERC20, AccessControl {
bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
uint256 public constant MAX_SUPPLY = 3_000_000_000 * 10 ** 18;
error ZeroAddress();
error MaxSupplyExceeded(uint256 requestedSupply, uint256 maxSupply);
constructor(address admin) ERC20("Odyssey Stable", "Odyssey") {
if (admin == address(0)) revert ZeroAddress();
_grantRole(DEFAULT_ADMIN_ROLE, admin);
}
function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) {
if (to == address(0)) revert ZeroAddress();
uint256 requestedSupply = totalSupply() + amount;
if (requestedSupply > MAX_SUPPLY) {
revert MaxSupplyExceeded(requestedSupply, MAX_SUPPLY);
}
_mint(to, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "admin",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AccessControlBadConfirmation",
"type": "error",
"inputs": []
},
{
"name": "AccessControlUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"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": "MaxSupplyExceeded",
"type": "error",
"inputs": [
{
"name": "requestedSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ZeroAddress",
"type": "error",
"inputs": []
},
{
"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": "RoleAdminChanged",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "previousAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"name": "RoleGranted",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RoleRevoked",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"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": "DEFAULT_ADMIN_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "MAX_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MINTER_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"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": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "getRoleAdmin",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "grantRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "hasRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "mint",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "renounceRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "revokeRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"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"
}
]0x608060405234801562000010575f80fd5b5060405162000eef38038062000eef833981016040819052620000339162000189565b6040518060400160405280600e81526020016d4f64797373657920537461626c6560901b815250604051806040016040528060078152602001664f64797373657960c81b81525081600390816200008b919062000256565b5060046200009a828262000256565b5050506001600160a01b038116620000c55760405163d92e233d60e01b815260040160405180910390fd5b620000d15f82620000d9565b505062000322565b5f8281526005602090815260408083206001600160a01b038516845290915281205460ff1662000180575f8381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001373390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000183565b505f5b92915050565b5f602082840312156200019a575f80fd5b81516001600160a01b0381168114620001b1575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001e157607f821691505b6020821081036200020057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200025157805f5260205f20601f840160051c810160208510156200022d5750805b601f840160051c820191505b818110156200024e575f815560010162000239565b50505b505050565b81516001600160401b03811115620002725762000272620001b8565b6200028a81620002838454620001cc565b8462000206565b602080601f831160018114620002c0575f8415620002a85750858301515b5f19600386901b1c1916600185901b1785556200031a565b5f85815260208120601f198616915b82811015620002f057888601518255948401946001909101908401620002cf565b50858210156200030e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b610bbf80620003305f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806336568abe116100a9578063a217fddf1161006e578063a217fddf14610257578063a9059cbb1461025e578063d539139314610271578063d547741f14610298578063dd62ed3e146102ab575f80fd5b806336568abe146101ee57806340c10f191461020157806370a082311461021457806391d148541461023c57806395d89b411461024f575f80fd5b806323b872dd116100ef57806323b872dd14610182578063248a9ca3146101955780632f2ff15d146101b7578063313ce567146101cc57806332cb6b0c146101db575f80fd5b806301ffc9a71461012057806306fdde0314610148578063095ea7b31461015d57806318160ddd14610170575b5f80fd5b61013361012e3660046109ba565b6102e3565b60405190151581526020015b60405180910390f35b610150610319565b60405161013f91906109e8565b61013361016b366004610a4f565b6103a9565b6002545b60405190815260200161013f565b610133610190366004610a77565b6103c0565b6101746101a3366004610ab0565b5f9081526005602052604090206001015490565b6101ca6101c5366004610ac7565b6103e3565b005b6040516012815260200161013f565b6101746b09b18ab5df7180b6b800000081565b6101ca6101fc366004610ac7565b61040d565b6101ca61020f366004610a4f565b610445565b610174610222366004610af1565b6001600160a01b03165f9081526020819052604090205490565b61013361024a366004610ac7565b6104fe565b610150610528565b6101745f81565b61013361026c366004610a4f565b610537565b6101747f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101ca6102a6366004610ac7565b610544565b6101746102b9366004610b0a565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6001600160e01b03198216637965db0b60e01b148061031357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461032890610b32565b80601f016020809104026020016040519081016040528092919081815260200182805461035490610b32565b801561039f5780601f106103765761010080835404028352916020019161039f565b820191905f5260205f20905b81548152906001019060200180831161038257829003601f168201915b5050505050905090565b5f336103b6818585610568565b5060019392505050565b5f336103cd858285610575565b6103d88585856105eb565b506001949350505050565b5f828152600560205260409020600101546103fd81610648565b6104078383610655565b50505050565b6001600160a01b03811633146104365760405163334bd91960e11b815260040160405180910390fd5b61044082826106e6565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661046f81610648565b6001600160a01b0383166104965760405163d92e233d60e01b815260040160405180910390fd5b5f826104a160025490565b6104ab9190610b6a565b90506b09b18ab5df7180b6b80000008111156104f457604051637502c12360e11b8152600481018290526b09b18ab5df7180b6b800000060248201526044015b60405180910390fd5b6104078484610751565b5f9182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461032890610b32565b5f336103b68185856105eb565b5f8281526005602052604090206001015461055e81610648565b61040783836106e6565b6104408383836001610789565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561040757818110156105dd57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104eb565b61040784848484035f610789565b6001600160a01b03831661061457604051634b637e8f60e11b81525f60048201526024016104eb565b6001600160a01b03821661063d5760405163ec442f0560e01b81525f60048201526024016104eb565b61044083838361085b565b6106528133610981565b50565b5f61066083836104fe565b6106df575f8381526005602090815260408083206001600160a01b03861684529091529020805460ff191660011790556106973390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610313565b505f610313565b5f6106f183836104fe565b156106df575f8381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610313565b6001600160a01b03821661077a5760405163ec442f0560e01b81525f60048201526024016104eb565b6107855f838361085b565b5050565b6001600160a01b0384166107b25760405163e602df0560e01b81525f60048201526024016104eb565b6001600160a01b0383166107db57604051634a1406b160e11b81525f60048201526024016104eb565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561040757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161084d91815260200190565b60405180910390a350505050565b6001600160a01b038316610885578060025f82825461087a9190610b6a565b909155506108f59050565b6001600160a01b0383165f90815260208190526040902054818110156108d75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104eb565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166109115760028054829003905561092f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161097491815260200190565b60405180910390a3505050565b61098b82826104fe565b6107855760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104eb565b5f602082840312156109ca575f80fd5b81356001600160e01b0319811681146109e1575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610a14578581018301518582016040015282016109f8565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a4a575f80fd5b919050565b5f8060408385031215610a60575f80fd5b610a6983610a34565b946020939093013593505050565b5f805f60608486031215610a89575f80fd5b610a9284610a34565b9250610aa060208501610a34565b9150604084013590509250925092565b5f60208284031215610ac0575f80fd5b5035919050565b5f8060408385031215610ad8575f80fd5b82359150610ae860208401610a34565b90509250929050565b5f60208284031215610b01575f80fd5b6109e182610a34565b5f8060408385031215610b1b575f80fd5b610b2483610a34565b9150610ae860208401610a34565b600181811c90821680610b4657607f821691505b602082108103610b6457634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561031357634e487b7160e01b5f52601160045260245ffdfea2646970667358221220c32ac7732832aee90fea4dfc54e60ef917ccbf8e48564e9431003f04057a111664736f6c6343000818003300000000000000000000000099b5dc37f72528a5727264dbfa90c933f95d76ec
0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c806336568abe116100a9578063a217fddf1161006e578063a217fddf14610257578063a9059cbb1461025e578063d539139314610271578063d547741f14610298578063dd62ed3e146102ab575f80fd5b806336568abe146101ee57806340c10f191461020157806370a082311461021457806391d148541461023c57806395d89b411461024f575f80fd5b806323b872dd116100ef57806323b872dd14610182578063248a9ca3146101955780632f2ff15d146101b7578063313ce567146101cc57806332cb6b0c146101db575f80fd5b806301ffc9a71461012057806306fdde0314610148578063095ea7b31461015d57806318160ddd14610170575b5f80fd5b61013361012e3660046109ba565b6102e3565b60405190151581526020015b60405180910390f35b610150610319565b60405161013f91906109e8565b61013361016b366004610a4f565b6103a9565b6002545b60405190815260200161013f565b610133610190366004610a77565b6103c0565b6101746101a3366004610ab0565b5f9081526005602052604090206001015490565b6101ca6101c5366004610ac7565b6103e3565b005b6040516012815260200161013f565b6101746b09b18ab5df7180b6b800000081565b6101ca6101fc366004610ac7565b61040d565b6101ca61020f366004610a4f565b610445565b610174610222366004610af1565b6001600160a01b03165f9081526020819052604090205490565b61013361024a366004610ac7565b6104fe565b610150610528565b6101745f81565b61013361026c366004610a4f565b610537565b6101747f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101ca6102a6366004610ac7565b610544565b6101746102b9366004610b0a565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6001600160e01b03198216637965db0b60e01b148061031357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461032890610b32565b80601f016020809104026020016040519081016040528092919081815260200182805461035490610b32565b801561039f5780601f106103765761010080835404028352916020019161039f565b820191905f5260205f20905b81548152906001019060200180831161038257829003601f168201915b5050505050905090565b5f336103b6818585610568565b5060019392505050565b5f336103cd858285610575565b6103d88585856105eb565b506001949350505050565b5f828152600560205260409020600101546103fd81610648565b6104078383610655565b50505050565b6001600160a01b03811633146104365760405163334bd91960e11b815260040160405180910390fd5b61044082826106e6565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661046f81610648565b6001600160a01b0383166104965760405163d92e233d60e01b815260040160405180910390fd5b5f826104a160025490565b6104ab9190610b6a565b90506b09b18ab5df7180b6b80000008111156104f457604051637502c12360e11b8152600481018290526b09b18ab5df7180b6b800000060248201526044015b60405180910390fd5b6104078484610751565b5f9182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461032890610b32565b5f336103b68185856105eb565b5f8281526005602052604090206001015461055e81610648565b61040783836106e6565b6104408383836001610789565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561040757818110156105dd57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104eb565b61040784848484035f610789565b6001600160a01b03831661061457604051634b637e8f60e11b81525f60048201526024016104eb565b6001600160a01b03821661063d5760405163ec442f0560e01b81525f60048201526024016104eb565b61044083838361085b565b6106528133610981565b50565b5f61066083836104fe565b6106df575f8381526005602090815260408083206001600160a01b03861684529091529020805460ff191660011790556106973390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610313565b505f610313565b5f6106f183836104fe565b156106df575f8381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610313565b6001600160a01b03821661077a5760405163ec442f0560e01b81525f60048201526024016104eb565b6107855f838361085b565b5050565b6001600160a01b0384166107b25760405163e602df0560e01b81525f60048201526024016104eb565b6001600160a01b0383166107db57604051634a1406b160e11b81525f60048201526024016104eb565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561040757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161084d91815260200190565b60405180910390a350505050565b6001600160a01b038316610885578060025f82825461087a9190610b6a565b909155506108f59050565b6001600160a01b0383165f90815260208190526040902054818110156108d75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104eb565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166109115760028054829003905561092f565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161097491815260200190565b60405180910390a3505050565b61098b82826104fe565b6107855760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104eb565b5f602082840312156109ca575f80fd5b81356001600160e01b0319811681146109e1575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610a14578581018301518582016040015282016109f8565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a4a575f80fd5b919050565b5f8060408385031215610a60575f80fd5b610a6983610a34565b946020939093013593505050565b5f805f60608486031215610a89575f80fd5b610a9284610a34565b9250610aa060208501610a34565b9150604084013590509250925092565b5f60208284031215610ac0575f80fd5b5035919050565b5f8060408385031215610ad8575f80fd5b82359150610ae860208401610a34565b90509250929050565b5f60208284031215610b01575f80fd5b6109e182610a34565b5f8060408385031215610b1b575f80fd5b610b2483610a34565b9150610ae860208401610a34565b600181811c90821680610b4657607f821691505b602082108103610b6457634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561031357634e487b7160e01b5f52601160045260245ffdfea2646970667358221220c32ac7732832aee90fea4dfc54e60ef917ccbf8e48564e9431003f04057a111664736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x8718b5…c4b8f0 | 12 hrs agoMon, 17 Aug 2026 12:30:32 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…a035e771 data: 0x000000000000000000…63100000 |
| 0xad978e…08c262 | 16 hrs agoMon, 17 Aug 2026 08:12:11 UTC | Transfer | [0] 0x000000000000…8b628407 [1] 0x000000000000…0000dead data: 0x000000000000000000…52600000 |
| 0x6e2037…e37940 | 1 day agoSun, 16 Aug 2026 03:34:12 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…8560017e data: 0x000000000000000000…63100000 |
| 0x7197da…400093 | 1 day agoSun, 16 Aug 2026 03:31:16 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…8560017e data: 0x000000000000000000…63100000 |
| 0xfde285…2d2d9a | 3 days agoFri, 14 Aug 2026 05:47:29 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0x9d13ec…a83dd2 | 5 days agoWed, 12 Aug 2026 06:25:56 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0x1d4ff1…357915 | 6 days agoTue, 11 Aug 2026 09:29:53 UTC | Transfer | [0] 0x000000000000…a9060270 [1] 0x000000000000…647acd22 data: 0x000000000000000000…c6200000 |
| 0x34e392…56e943 | 6 days agoTue, 11 Aug 2026 06:47:02 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0x02d9f1…10120c | 7 days agoMon, 10 Aug 2026 06:29:05 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…ec5fac22 data: 0x000000000000000000…63100000 |
| 0x0be494…f9a9f6 | 7 days agoMon, 10 Aug 2026 06:10:10 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0xc2710a…d16b0c | 8 days agoSun, 09 Aug 2026 21:48:21 UTC | Transfer | [0] 0x000000000000…9b43361d [1] 0x000000000000…cb547c66 data: 0x000000000000000000…ef500000 |
| 0xc2710a…d16b0c | 8 days agoSun, 09 Aug 2026 21:48:21 UTC | Approval | [0] 0x000000000000…9b43361d [1] 0x000000000000…72c22734 data: 0x000000000000000000…ef500000 |
| 0xc2710a…d16b0c | 8 days agoSun, 09 Aug 2026 21:48:21 UTC | Transfer | [0] 0x000000000000…2b2060e2 [1] 0x000000000000…9b43361d data: 0x000000000000000000…ef500000 |
| 0x74cd27…ade288 | 8 days agoSun, 09 Aug 2026 21:48:21 UTC | Approval | [0] 0x000000000000…2b2060e2 [1] 0x000000000000…6a7ff880 data: 0xffffffffffffffffff…ffffffff |
| 0x7f0f2c…10503f | 8 days agoSun, 09 Aug 2026 07:55:42 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0x8bda5b…a6b50b | 9 days agoSat, 08 Aug 2026 06:15:23 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…7c1d4a2c data: 0x000000000000000000…63100000 |
| 0xf1ad5c…32b1a3 | 10 days agoFri, 07 Aug 2026 15:22:35 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…8544672a data: 0x000000000000000000…63100000 |
| 0x3f57bf…899596 | 10 days agoFri, 07 Aug 2026 13:33:15 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…eb0f2f67 data: 0x000000000000000000…63100000 |
| 0xd0c3da…02a7c2 | 10 days agoFri, 07 Aug 2026 13:31:12 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…eb0f2f67 data: 0x000000000000000000…63100000 |
| 0x0c655e…dc26c9 | 10 days agoFri, 07 Aug 2026 10:05:02 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| 0x0a91b9…0d60e9 | 10 days agoFri, 07 Aug 2026 10:04:35 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| 0x63717a…e0b8ba | 10 days agoFri, 07 Aug 2026 10:04:10 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| 0x3bf6dc…900d1f | 10 days agoFri, 07 Aug 2026 10:03:48 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| 0x9dc36b…facdfa | 10 days agoFri, 07 Aug 2026 10:03:25 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| 0x322ea2…ed9e8f | 10 days agoFri, 07 Aug 2026 10:02:31 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…bf14c3d6 data: 0x000000000000000000…63100000 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x1d4ff1…357915 | Transfer | 33,554,570 | 6 days agoTue, 11 Aug 2026 09:29:53 UTC | 0x6024…0270 | IN | Odyssey Stable | $0.000 ETH | 0.00000127 | |
| 0x74cd27…ade288 | Approve | 32,271,405 | 8 days agoSun, 09 Aug 2026 21:48:21 UTC | 0xa6af…60e2 | IN | Odyssey Stable | $0.000 ETH | 0.00000136 | |
| 0x8053f3…9ee596 | Transfer | 25,783,140 | 15 days agoSun, 02 Aug 2026 09:12:13 UTC | 0x934e…370f | IN | Odyssey Stable | $0.000 ETH | 0.00000059 | |
| 0xa013dc…915aa1 | Transfer | 23,895,119 | 17 days agoFri, 31 Jul 2026 04:36:52 UTC | 0xf9c7…1d2f | IN | Odyssey Stable | $0.000 ETH | 0.00000093 | |
| 0x199347…6c22b7 | Transfer | 23,664,218 | 18 days agoThu, 30 Jul 2026 22:11:24 UTC | 0x9766…ff40 | IN | Odyssey Stable | $0.000 ETH | 0.00000097 | |
| 0x754644…fd160b | Transfer | 23,180,301 | 18 days agoThu, 30 Jul 2026 08:42:38 UTC | 0xebbf…5e8b | IN | Odyssey Stable | $0.000 ETH | 0.00000093 | |
| 0x2fb085…dd5026 | Approve | 23,138,044 | 18 days agoThu, 30 Jul 2026 07:31:56 UTC | 0xdded…5ddc | IN | Odyssey Stable | $0.000 ETH | 0.00000093 | |
| 0x05de8c…5d861f | Approve | 21,896,911 | 20 days agoTue, 28 Jul 2026 20:58:06 UTC | 0xa4ea…020b | IN | Odyssey Stable | $0.000 ETH | 0.00000132 | |
| 0x0e414f…acf1c7 | Transfer | 21,638,981 | 20 days agoTue, 28 Jul 2026 13:47:03 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000149 | |
| 0x1da095…156ac0 | Transfer | 21,608,716 | 20 days agoTue, 28 Jul 2026 12:56:29 UTC | 0x46d5…3e42 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0x8e97ce…98a04e | Transfer | 21,608,515 | 20 days agoTue, 28 Jul 2026 12:56:09 UTC | 0x3cc2…f981 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0x130800…e4a98e | Transfer | 21,608,165 | 20 days agoTue, 28 Jul 2026 12:55:34 UTC | 0x2e68…1bc5 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0xdd32f4…fc8a0f | Transfer | 21,607,985 | 20 days agoTue, 28 Jul 2026 12:55:16 UTC | 0x03b4…f683 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0x0898e9…9e7b3a | Transfer | 21,605,121 | 20 days agoTue, 28 Jul 2026 12:50:29 UTC | 0x8b8e…78e2 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0x37ddcc…70f4fe | Transfer | 21,604,870 | 20 days agoTue, 28 Jul 2026 12:50:04 UTC | 0x7018…1c40 | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0xd26b67…b3c9a2 | Transfer | 21,604,643 | 20 days agoTue, 28 Jul 2026 12:49:41 UTC | 0xc014…87af | IN | Odyssey Stable | $0.000 ETH | 0.00000085 | |
| 0x770352…dbebd2 | Transfer | 21,567,380 | 20 days agoTue, 28 Jul 2026 11:47:23 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000151 | |
| 0x9c7fdd…532c0e | Transfer | 21,567,028 | 20 days agoTue, 28 Jul 2026 11:46:47 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000151 | |
| 0xfc0659…3864b2 | Transfer | 21,533,475 | 20 days agoTue, 28 Jul 2026 10:50:38 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000155 | |
| 0xc566b7…6a8163 | Transfer | 21,521,794 | 20 days agoTue, 28 Jul 2026 10:31:03 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000154 | |
| 0xfb4582…6bc908 | Transfer | 21,521,497 | 20 days agoTue, 28 Jul 2026 10:30:34 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000155 | |
| 0x490081…847174 | Transfer | 21,494,873 | 20 days agoTue, 28 Jul 2026 09:45:59 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000159 | |
| 0x9a3ad7…7b1773 | Transfer | 21,490,002 | 20 days agoTue, 28 Jul 2026 09:37:49 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000158 | |
| 0x937370…2df722 | Transfer | 21,489,551 | 20 days agoTue, 28 Jul 2026 09:37:04 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000158 | |
| 0x124777…010da2 | Transfer | 21,489,116 | 20 days agoTue, 28 Jul 2026 09:36:20 UTC | 0x5968…cf41 | IN | Odyssey Stable | $0.000 ETH | 0.00000158 |