Source Code
Overview
APE Balance
More Info
ContractCreator
Loading...
Loading
Contract Name:
MockVRF
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 9999999 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; interface IFulfillRandomWords { function fulfillRandomWords(bytes32 requestId, uint[] calldata randomWords) external; } contract MockVRF { uint counter = 1; uint randomWord = 1; uint numWords; function requestRandomWords(uint _numWords, uint) external returns (uint256 requestId) { requestId = counter; ++counter; numWords = _numWords; } function fulfill(uint _requestId, address _consumer) external { IFulfillRandomWords consumer = IFulfillRandomWords(_consumer); uint256[] memory randomWords = new uint256[](numWords); for (uint i = 0; i < numWords; ++i) { randomWords[i] = uint(blockhash(block.number - (i + 1)) | bytes32(randomWord)); ++randomWord; } consumer.fulfillRandomWords(bytes32(_requestId), randomWords); } }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "runs": 9999999, "details": { "yul": true } }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"},{"internalType":"address","name":"_consumer","type":"address"}],"name":"fulfill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numWords","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"requestRandomWords","outputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080806040523461001f5760016000556001805561041c90816100258239f35b600080fdfe6040608081526004908136101561001557600080fd5b6000803560e01c80631b739ef1146102f457632b5115561461003657600080fd5b346102f157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f15760249081359073ffffffffffffffffffffffffffffffffffffffff82168092036102f157601f9060029485546100998161039f565b8251957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09567ffffffffffffffff9391920186168701838111888210176102c65784528087526100e89061039f565b6020958688019101368237845b89548110156101ea57600180820182116101bf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82430301438111610194578154908a51841015610168578161016394939261015c9240178b8d8660051b010152610343565b9055610343565b6100f5565b508a8860328f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8a8860118f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b898760118e7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5089939596979497823b156102c2579091889287519889937fbe52e34f00000000000000000000000000000000000000000000000000000000855260448501908835898701528a8a87015251809152606485019291865b8281106102a857505050508383809203925af1801561029e57610262578580f35b84116102745750505281808080808580f35b604185917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b84513d88823e3d90fd5b835185528d97508c96509381019392810192600101610241565b8880fd5b888660418d7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b80fd5b50903461033f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760209282549261033384610343565b90553560025551908152f35b5080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146103705760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff81116103b75760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202dde8774e7f1caa09c5896923c714835b29d78a61ba386667275fa52b4fa393264736f6c63430008140033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b6000803560e01c80631b739ef1146102f457632b5115561461003657600080fd5b346102f157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f15760249081359073ffffffffffffffffffffffffffffffffffffffff82168092036102f157601f9060029485546100998161039f565b8251957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09567ffffffffffffffff9391920186168701838111888210176102c65784528087526100e89061039f565b6020958688019101368237845b89548110156101ea57600180820182116101bf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82430301438111610194578154908a51841015610168578161016394939261015c9240178b8d8660051b010152610343565b9055610343565b6100f5565b508a8860328f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8a8860118f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b898760118e7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5089939596979497823b156102c2579091889287519889937fbe52e34f00000000000000000000000000000000000000000000000000000000855260448501908835898701528a8a87015251809152606485019291865b8281106102a857505050508383809203925af1801561029e57610262578580f35b84116102745750505281808080808580f35b604185917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b84513d88823e3d90fd5b835185528d97508c96509381019392810192600101610241565b8880fd5b888660418d7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b80fd5b50903461033f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760209282549261033384610343565b90553560025551908152f35b5080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146103705760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff81116103b75760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202dde8774e7f1caa09c5896923c714835b29d78a61ba386667275fa52b4fa393264736f6c63430008140033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.