Contract 0xa54285b453571bdc599cb30c937ab00b05313440 2

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x72059fd4ce6e30a141a2ad01f59a8b7dab900fd2fca75bc28108f7f293a1c191Fulfill Random W...432374812023-05-28 5:37:4319 secs ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.025205084496177.016915022
0xc813dc2fb143789d0beead986b64cddc6e0168b61ecc850936c6a733a1f5c9d6Fulfill Random W...432374762023-05-28 5:37:3329 secs ago0x505decc82089a40e8a073de471c8f4c757bad300 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.029475732178
0x533b734efca5cb8fa2a1419c077e4cf2b57a8f757267c68269797fc5376a54fcFulfill Random W...432374722023-05-28 5:37:2537 secs ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.02500608814179.160073799
0x1fd68f1878ef8a6672ed5b5f66d61e364f8489612fbf1bc2e3ad9d2cd010d3c8Fulfill Random W...432374722023-05-28 5:37:2537 secs ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.035659483608179.160073799
0x3a2d39efc2e7df085586db1de1a346fdf36bbb30e313c5bebdf7d0648d11313dFulfill Random W...432374672023-05-28 5:37:1349 secs ago0x505decc82089a40e8a073de471c8f4c757bad300 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.029097275054181.836376023
0xde820a1397f1fa98d0069e06f78a7df4429843d72ed3efdb6ffd5168e543279aFulfill Random W...432374532023-05-28 5:36:431 min ago0xacef9cf01759c33d74140304bdca4fd175bae233 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.048777426031181.836376023
0x7d5060a29a9505e2e2807b3044e4e747c0add4dda4fef974a5eb3ce32d2aafb2Fulfill Random W...432374412023-05-28 5:36:191 min ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.030111740196181.836376023
0x10ce57547a87c352b27aaa3512b34d1d1b6a0c07bca9fe6ac6cf8c858406454aFulfill Random W...432374412023-05-28 5:36:191 min ago0x505decc82089a40e8a073de471c8f4c757bad300 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.026387913052181.836376023
0x0e6a3f5302bfb09326ed09d9ff40d82ce92505102be2de0c0b20e3bae5823535Fulfill Random W...432374392023-05-28 5:36:131 min ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.029603689362181.836376023
0xef52570a97684e4afe44631fc214ea848178cac0b9046603805327d6edeea544Fulfill Random W...432374302023-05-28 5:35:552 mins ago0x505decc82089a40e8a073de471c8f4c757bad300 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.028205478115181.486083081
0xe5664a9855da3b25f714b650edc8de1cbab44663f6188be62fcf93767e84d92dFulfill Random W...432374302023-05-28 5:35:552 mins ago0x505decc82089a40e8a073de471c8f4c757bad300 IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.026884259431181.486083081
0x46993bdf9e19937573eeb524dd2a0350228cb9512087660315391150ba3006f1Fulfill Random W...432374272023-05-28 5:35:492 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.03650547268181.749475648
0xfd1a7daf7484df4bb58c2ff163f56776b983473dd2e6ce41bb8931d3604253c7Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.02588422629181.836376023
0x0a570bb0e82f1a50f3dd7ccd9cb7d4dd24e497dbdd653390d67856ae80ab41eaFulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.027967889323181.836376023
0x3691f9676035e05a37206d3a6204f4e741e9f71ea1c42d513d2ef0252a58e274Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.027445109742181.836376023
0x65128e5197183041b5453b135815c80138336ad99619cc33b40bb3a684e73022Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.02795897934181.836376023
0x0546f3c3d87e3704b62563fdd8a613310d29db75200a705fa0915deca0bf595fFulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.026936513398181.836376023
0xd9a28fdbb9f86c2ad5766c617ccd058fe66286e70e3ccb1ee7bb5b99046fdfcdFulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.026945787053181.836376023
0xae557df1dc820392d73d38781acb4f1caca38e34acff55056123dd177dd098c6Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.025945553738182.301778633
0x530a5f8fcda3119e369c48de089150b225d4fae884f628b21c88de80855b4450Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.027009831522182.301778633
0xd4566dbd210786c4ed96ae732daf08caf93b1c55c31cff94b160c62a6ffc9052Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.027009831522182.301778633
0xa2e2b74dce4b2f83ddfd3ec97eb2466cb03b71ead0ea89f63cc1bf1288c2cf42Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.025435655663182.301778633
0x0d3f16bdbea157931f4b9e7e73b3f468473c666ac101a70b1d523268056232c7Fulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.02543839019182.301778633
0xf03feac7ca027de40693ee1091476ea00716bbc4ae0056f46eca1f6f86d481ecFulfill Random W...432374252023-05-28 5:35:452 mins ago0x6d79d4ae4075c5db69c8802c68968d235c161f6c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.025445353617182.35821563
0xfefc63042cba73f409fcc1b8b7916e977c7e758fd781b4049e39f9e40dde4f63Fulfill Random W...432374202023-05-28 5:35:332 mins ago0x57b2543a92e366abf23b813f31e658bf20d1062c IN  0xa54285b453571bdc599cb30c937ab00b053134400 MATIC0.030702233729184.091533782
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BatchVRFCoordinatorV2

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion
File 1 of 2 : BatchVRFCoordinatorV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import "./VRFTypes.sol";

/**
 * @title BatchVRFCoordinatorV2
 * @notice The BatchVRFCoordinatorV2 contract acts as a proxy to write many random responses to the
 *   provided VRFCoordinatorV2 contract efficiently in a single transaction.
 */
contract BatchVRFCoordinatorV2 {
  VRFCoordinatorV2 public immutable COORDINATOR;

  event ErrorReturned(uint256 indexed requestId, string reason);
  event RawErrorReturned(uint256 indexed requestId, bytes lowLevelData);

  constructor(address coordinatorAddr) {
    COORDINATOR = VRFCoordinatorV2(coordinatorAddr);
  }

  /**
   * @notice fulfills multiple randomness requests with the provided proofs and commitments.
   * @param proofs the randomness proofs generated by the VRF provider.
   * @param rcs the request commitments corresponding to the randomness proofs.
   */
  function fulfillRandomWords(VRFTypes.Proof[] memory proofs, VRFTypes.RequestCommitment[] memory rcs) external {
    require(proofs.length == rcs.length, "input array arg lengths mismatch");
    for (uint256 i = 0; i < proofs.length; i++) {
      try COORDINATOR.fulfillRandomWords(proofs[i], rcs[i]) returns (
        uint96 /* payment */
      ) {
        continue;
      } catch Error(string memory reason) {
        uint256 requestId = getRequestIdFromProof(proofs[i]);
        emit ErrorReturned(requestId, reason);
      } catch (bytes memory lowLevelData) {
        uint256 requestId = getRequestIdFromProof(proofs[i]);
        emit RawErrorReturned(requestId, lowLevelData);
      }
    }
  }

  /**
   * @notice Returns the proving key hash associated with this public key.
   * @param publicKey the key to return the hash of.
   */
  function hashOfKey(uint256[2] memory publicKey) internal pure returns (bytes32) {
    return keccak256(abi.encode(publicKey));
  }

  /**
   * @notice Returns the request ID of the request associated with the given proof.
   * @param proof the VRF proof provided by the VRF oracle.
   */
  function getRequestIdFromProof(VRFTypes.Proof memory proof) internal pure returns (uint256) {
    bytes32 keyHash = hashOfKey(proof.pk);
    return uint256(keccak256(abi.encode(keyHash, proof.seed)));
  }
}

interface VRFCoordinatorV2 {
  function fulfillRandomWords(VRFTypes.Proof memory proof, VRFTypes.RequestCommitment memory rc)
    external
    returns (uint96);
}

File 2 of 2 : VRFTypes.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

/**
 * @title VRFTypes
 * @notice The VRFTypes library is a collection of types that is required to fulfill VRF requests
 * 	on-chain. They must be ABI-compatible with the types used by the coordinator contracts.
 */
library VRFTypes {
  // ABI-compatible with VRF.Proof.
  // This proof is used for VRF V2.
  struct Proof {
    uint256[2] pk;
    uint256[2] gamma;
    uint256 c;
    uint256 s;
    uint256 seed;
    address uWitness;
    uint256[2] cGammaWitness;
    uint256[2] sHashWitness;
    uint256 zInv;
  }

  // ABI-compatible with VRFCoordinatorV2.RequestCommitment.
  // This is only used for VRF V2.
  struct RequestCommitment {
    uint64 blockNum;
    uint64 subId;
    uint32 callbackGasLimit;
    uint32 numWords;
    address sender;
  }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"coordinatorAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ErrorReturned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"lowLevelData","type":"bytes"}],"name":"RawErrorReturned","type":"event"},{"inputs":[],"name":"COORDINATOR","outputs":[{"internalType":"contract VRFCoordinatorV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256[2]","name":"pk","type":"uint256[2]"},{"internalType":"uint256[2]","name":"gamma","type":"uint256[2]"},{"internalType":"uint256","name":"c","type":"uint256"},{"internalType":"uint256","name":"s","type":"uint256"},{"internalType":"uint256","name":"seed","type":"uint256"},{"internalType":"address","name":"uWitness","type":"address"},{"internalType":"uint256[2]","name":"cGammaWitness","type":"uint256[2]"},{"internalType":"uint256[2]","name":"sHashWitness","type":"uint256[2]"},{"internalType":"uint256","name":"zInv","type":"uint256"}],"internalType":"struct VRFTypes.Proof[]","name":"proofs","type":"tuple[]"},{"components":[{"internalType":"uint64","name":"blockNum","type":"uint64"},{"internalType":"uint64","name":"subId","type":"uint64"},{"internalType":"uint32","name":"callbackGasLimit","type":"uint32"},{"internalType":"uint32","name":"numWords","type":"uint32"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct VRFTypes.RequestCommitment[]","name":"rcs","type":"tuple[]"}],"name":"fulfillRandomWords","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561001057600080fd5b50604051610bab380380610bab83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610b1a610091600039600081816055015261011d0152610b1a6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806308b2da0a1461003b5780633b2bcbf114610050575b600080fd5b61004e610049366004610655565b6100a0565b005b6100777f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b805182511461010f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f696e70757420617272617920617267206c656e67746873206d69736d61746368604482015260640160405180910390fd5b60005b8251811015610320577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663af198b97848381518110610169576101696107b4565b6020026020010151848481518110610183576101836107b4565b60200260200101516040518363ffffffff1660e01b81526004016101a892919061080c565b6020604051808303816000875af1925050508015610201575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526101fe9181019061090c565b60015b61030c5761020d61093a565b806308c379a0036102915750610221610955565b8061022c5750610293565b6000610250858481518110610243576102436107b4565b6020026020010151610325565b9050807f4dcab4ce0e741a040f7e0f9b880557f8de685a9520d4bfac272a81c3c3802b2e836040516102829190610a6a565b60405180910390a2505061030e565b505b3d8080156102bd576040519150601f19603f3d011682016040523d82523d6000602084013e6102c2565b606091505b5060006102da858481518110610243576102436107b4565b9050807fbfd42bb5a1bf8153ea750f66ea4944f23f7b9ae51d0462177b9769aa652b61b5836040516102829190610a6a565b505b8061031881610a7d565b915050610112565b505050565b6000806103358360000151610394565b9050808360800151604051602001610357929190918252602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209392505050565b6000816040516020016103a79190610adc565b604051602081830303815290604052805190602001209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810181811067ffffffffffffffff82111715610413576104136103c4565b60405250565b610120810167ffffffffffffffff81118282101715610413576104136103c4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff8211171561047e5761047e6103c4565b6040525050565b60405161049181610419565b90565b600067ffffffffffffffff8211156104ae576104ae6103c4565b5060051b60200190565b600082601f8301126104c957600080fd5b6040516040810181811067ffffffffffffffff821117156104ec576104ec6103c4565b806040525080604084018581111561050357600080fd5b845b8181101561051d578035835260209283019201610505565b509195945050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461054c57600080fd5b919050565b803567ffffffffffffffff8116811461054c57600080fd5b803563ffffffff8116811461054c57600080fd5b600082601f83011261058e57600080fd5b8135602061059b82610494565b604080516105a9838261043a565b84815260a094850287018401948482019350888611156105c857600080fd5b8488015b868110156106475781818b0312156105e45760008081fd5b83516105ef816103f3565b6105f882610551565b8152610605878301610551565b87820152610614858301610569565b858201526060610625818401610569565b908201526080610636838201610528565b9082015285529385019381016105cc565b509098975050505050505050565b6000806040838503121561066857600080fd5b823567ffffffffffffffff8082111561068057600080fd5b818501915085601f83011261069457600080fd5b813560206106a182610494565b6040516106ae828261043a565b8381526101a0938402860183019383820192508a8511156106ce57600080fd5b958301955b848710156107865780878c0312156106eb5760008081fd5b6106f3610485565b6106fd8c896104b8565b815261070c8c60408a016104b8565b85820152608080890135604083015260a0808a0135606084015260c0808b01358385015260e0925061073f838c01610528565b8285015261010091506107548f838d016104b8565b908401526107668e6101408c016104b8565b9183019190915261018089013590820152835295860195918301916106d3565b509650508601359250508082111561079d57600080fd5b506107aa8582860161057d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8060005b60028110156108065781518452602093840193909101906001016107e7565b50505050565b6000610240820190506108208285516107e3565b602084015161083260408401826107e3565b5060408401516080830152606084015160a0830152608084015160c083015273ffffffffffffffffffffffffffffffffffffffff60a08501511660e083015260c0840151610100610885818501836107e3565b60e0860151915061089a6101408501836107e3565b85015161018084015250825167ffffffffffffffff9081166101a08401526020840151166101c0830152604083015163ffffffff9081166101e0840152606084015116610200830152608083015173ffffffffffffffffffffffffffffffffffffffff166102208301525b9392505050565b60006020828403121561091e57600080fd5b81516bffffffffffffffffffffffff8116811461090557600080fd5b600060033d11156104915760046000803e5060005160e01c90565b600060443d10156109635790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff81602484011181841117156109b157505050505090565b82850191508151818111156109c95750505050505090565b843d87010160208285010111156109e35750505050505090565b6109f26020828601018761043a565b509095945050505050565b60008151808452602060005b82811015610a24578481018201518682018301528101610a09565b82811115610a355760008284880101525b50807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168601019250505092915050565b60208152600061090560208301846109fd565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60408101818360005b6002811015610b04578151835260209283019290910190600101610ae5565b5050509291505056fea164736f6c634300080d000a000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067

-----Decoded View---------------
Arg [0] : coordinatorAddr (address): 0xae975071be8f8ee67addbc1a82488f1c24858067

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.