POL Price: $0.371613 (-1.74%)
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 POL

POL Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Create170845512021-07-20 21:05:041170 days ago1626815104IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170845472021-07-20 21:04:561170 days ago1626815096IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170845432021-07-20 21:04:441170 days ago1626815084IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170845402021-07-20 21:04:381170 days ago1626815078IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170845192021-07-20 21:03:561170 days ago1626815036IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170845032021-07-20 21:03:241170 days ago1626815004IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170844682021-07-20 21:02:101170 days ago1626814930IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170844612021-07-20 21:01:561170 days ago1626814916IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170843742021-07-20 20:58:581170 days ago1626814738IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170843702021-07-20 20:58:501170 days ago1626814730IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170843452021-07-20 20:57:561170 days ago1626814676IN
0xd1797D46...a5c49455C
0 POL0.000332512
Create170843422021-07-20 20:57:501170 days ago1626814670IN
0xd1797D46...a5c49455C
0 POL0.000185362
Create170842682021-07-20 20:55:181170 days ago1626814518IN
0xd1797D46...a5c49455C
0 POL0.000167911.01
Create170842652021-07-20 20:55:121170 days ago1626814512IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170841642021-07-20 20:51:461170 days ago1626814306IN
0xd1797D46...a5c49455C
0 POL0.000186292.01
Create170841642021-07-20 20:51:461170 days ago1626814306IN
0xd1797D46...a5c49455C
0 POL0.000288243.11
Create170841642021-07-20 20:51:461170 days ago1626814306IN
0xd1797D46...a5c49455C
0 POL0.000288243.11
Create170841632021-07-20 20:51:441170 days ago1626814304IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create170838572021-07-20 20:36:561170 days ago1626813416IN
0xd1797D46...a5c49455C
0 POL0.00009361.01
Create168635942021-07-14 21:40:051176 days ago1626298805IN
0xd1797D46...a5c49455C
0 POL0.000166251
Create158765392021-06-18 22:04:371202 days ago1624053877IN
0xd1797D46...a5c49455C
0 POL0.001496229
Create158740092021-06-18 20:23:311202 days ago1624047811IN
0xd1797D46...a5c49455C
0 POL0.0018877811.35531
Create158740092021-06-18 20:23:311202 days ago1624047811IN
0xd1797D46...a5c49455C
0 POL0.0017215310.35531
Create157567612021-06-15 20:11:101205 days ago1623787870IN
0xd1797D46...a5c49455C
0 POL0.000166241
Create147647152021-05-21 15:32:391230 days ago1621611159IN
0xd1797D46...a5c49455C
0 POL0.000239681
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
170845512021-07-20 21:05:041170 days ago1626815104
0xd1797D46...a5c49455C
 Contract Creation0 POL
170845472021-07-20 21:04:561170 days ago1626815096
0xd1797D46...a5c49455C
 Contract Creation0 POL
170845432021-07-20 21:04:441170 days ago1626815084
0xd1797D46...a5c49455C
 Contract Creation0 POL
170845402021-07-20 21:04:381170 days ago1626815078
0xd1797D46...a5c49455C
 Contract Creation0 POL
170845192021-07-20 21:03:561170 days ago1626815036
0xd1797D46...a5c49455C
 Contract Creation0 POL
170845032021-07-20 21:03:241170 days ago1626815004
0xd1797D46...a5c49455C
 Contract Creation0 POL
170844682021-07-20 21:02:101170 days ago1626814930
0xd1797D46...a5c49455C
 Contract Creation0 POL
170844612021-07-20 21:01:561170 days ago1626814916
0xd1797D46...a5c49455C
 Contract Creation0 POL
170843742021-07-20 20:58:581170 days ago1626814738
0xd1797D46...a5c49455C
 Contract Creation0 POL
170843702021-07-20 20:58:501170 days ago1626814730
0xd1797D46...a5c49455C
 Contract Creation0 POL
170843452021-07-20 20:57:561170 days ago1626814676
0xd1797D46...a5c49455C
 Contract Creation0 POL
170843422021-07-20 20:57:501170 days ago1626814670
0xd1797D46...a5c49455C
 Contract Creation0 POL
170842682021-07-20 20:55:181170 days ago1626814518
0xd1797D46...a5c49455C
 Contract Creation0 POL
170842652021-07-20 20:55:121170 days ago1626814512
0xd1797D46...a5c49455C
 Contract Creation0 POL
170841642021-07-20 20:51:461170 days ago1626814306
0xd1797D46...a5c49455C
 Contract Creation0 POL
170841642021-07-20 20:51:461170 days ago1626814306
0xd1797D46...a5c49455C
 Contract Creation0 POL
170841642021-07-20 20:51:461170 days ago1626814306
0xd1797D46...a5c49455C
 Contract Creation0 POL
170841632021-07-20 20:51:441170 days ago1626814304
0xd1797D46...a5c49455C
 Contract Creation0 POL
170838572021-07-20 20:36:561170 days ago1626813416
0xd1797D46...a5c49455C
 Contract Creation0 POL
168635942021-07-14 21:40:051176 days ago1626298805
0xd1797D46...a5c49455C
 Contract Creation0 POL
158765392021-06-18 22:04:371202 days ago1624053877
0xd1797D46...a5c49455C
 Contract Creation0 POL
158740092021-06-18 20:23:311202 days ago1624047811
0xd1797D46...a5c49455C
 Contract Creation0 POL
158740092021-06-18 20:23:311202 days ago1624047811
0xd1797D46...a5c49455C
 Contract Creation0 POL
157567612021-06-15 20:11:101205 days ago1623787870
0xd1797D46...a5c49455C
 Contract Creation0 POL
147647152021-05-21 15:32:391230 days ago1621611159
0xd1797D46...a5c49455C
 Contract Creation0 POL
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GenericProxyFactory

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : GenericProxyFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;

import "@openzeppelin/contracts-upgradeable/proxy/ClonesUpgradeable.sol";

/// @title PoolTogether Generic Minimal ProxyFactory
/// @notice EIP-1167 Minimal proxy factory pattern for creating proxy contracts
contract GenericProxyFactory{
  
  ///@notice Event fired when minimal proxy has been created
  event ProxyCreated(address indexed created, address indexed implementation);

  /// @notice Create a proxy contract for given instance
  /// @param _instance Contract implementation which the created contract will point at
  /// @param _data Data which is to be called after the proxy contract is created
  function create(address _instance, bytes calldata _data) public returns (address instanceCreated, bytes memory result) {
    
    instanceCreated = ClonesUpgradeable.clone(_instance);
    emit ProxyCreated(instanceCreated, _instance);

    if(_data.length > 0) {
      return callContract(instanceCreated, _data);
    }

    return (instanceCreated, "");  
  }

  /// @notice Create a proxy contract with a deterministic address using create2
  /// @param _instance Contract implementation which the created contract will point at
  /// @param _salt Salt which is used as the create2 salt
  /// @param _data Data which is to be called after the proxy contract is created
  function create2(address _instance, bytes32 _salt, bytes calldata _data) public returns (address instanceCreated, bytes memory result) {

    instanceCreated = ClonesUpgradeable.cloneDeterministic(_instance, _salt);
    emit ProxyCreated(instanceCreated, _instance);

    if(_data.length > 0) {
      return callContract(instanceCreated, _data);
    }

    return (instanceCreated, "");
  }

  /// @notice Calculates what the proxy address would be when deterministically created
  /// @param _master Contract implementation which the created contract will point at
  /// @param _salt Salt which would be used as the create2 salt
  /// @return Deterministic address for given master code and salt using create2
  function predictDeterministicAddress(address _master, bytes32 _salt) public view returns (address) {
    return ClonesUpgradeable.predictDeterministicAddress(_master, _salt, address(this));
  }

  /// @notice Calls the instance contract with the specified data
  /// @dev Will revert if call unsuccessful 
  /// @param target Call target contract
  /// @param _data Data for contract call
  /// @return Tuple of the address called contract and the return data from the call
  function callContract(address target, bytes memory _data) internal returns (address, bytes memory) {
    (bool success, bytes memory returnData) = target.call(_data);
    require(success, string(returnData));
    return (target, returnData);
  }

}

File 2 of 2 : ClonesUpgradeable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 *
 * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
 * > a minimal bytecode implementation that delegates all calls to a known, fixed address.
 *
 * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
 * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
 * deterministic method.
 *
 * _Available since v3.4._
 */
library ClonesUpgradeable {
    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `master`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address master) internal returns (address instance) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `master`.
     *
     * This function uses the create2 opcode and a `salt` to deterministically deploy
     * the clone. Using the same `master` and `salt` multiple time will revert, since
     * the clones cannot be deployed twice at the same address.
     */
    function cloneDeterministic(address master, bytes32 salt) internal returns (address instance) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create2(0, ptr, 0x37, salt)
        }
        require(instance != address(0), "ERC1167: create2 failed");
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address master, bytes32 salt, address deployer) internal pure returns (address predicted) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)
            mstore(add(ptr, 0x38), shl(0x60, deployer))
            mstore(add(ptr, 0x4c), salt)
            mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
            predicted := keccak256(add(ptr, 0x37), 0x55)
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address master, bytes32 salt) internal view returns (address predicted) {
        return predictDeterministicAddress(master, salt, address(this));
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"created","type":"address"},{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"ProxyCreated","type":"event"},{"inputs":[{"internalType":"address","name":"_instance","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"create","outputs":[{"internalType":"address","name":"instanceCreated","type":"address"},{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_instance","type":"address"},{"internalType":"bytes32","name":"_salt","type":"bytes32"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"create2","outputs":[{"internalType":"address","name":"instanceCreated","type":"address"},{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_master","type":"address"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"predictDeterministicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506106bf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063360d0fad1461004657806368dd803e1461008e578063a3f697ba1461019b575b600080fd5b6100726004803603604081101561005c57600080fd5b506001600160a01b03813516906020013561021b565b604080516001600160a01b039092168252519081900360200190f35b610113600480360360608110156100a457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100d457600080fd5b8201836020820111156100e657600080fd5b8035906020019184600183028401116401000000008311171561010857600080fd5b509092509050610231565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561015f578181015183820152602001610147565b50505050905090810190601f16801561018c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610113600480360360408110156101b157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101dc57600080fd5b8201836020820111156101ee57600080fd5b8035906020019184600183028401116401000000008311171561021057600080fd5b5090925090506102ea565b60006102288383306103a1565b90505b92915050565b6000606061023f86866103ff565b9150856001600160a01b0316826001600160a01b03167f9678a1e87ca9f1a37dc659a97b39d812d98cd236947e1b53b3d0d6fd346acb6e60405160405180910390a382156102d0576102c78285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104a492505050565b915091506102e1565b506040805160208101909152600081525b94509492505050565b600060606102f7856105e7565b9150846001600160a01b0316826001600160a01b03167f9678a1e87ca9f1a37dc659a97b39d812d98cd236947e1b53b3d0d6fd346acb6e60405160405180910390a382156103885761037f8285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104a492505050565b91509150610399565b506040805160208101909152600081525b935093915050565b604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b03811661022b576040805162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015290519081900360640190fd5b6000606060006060856001600160a01b0316856040518082805190602001908083835b602083106104e65780518252601f1990920191602091820191016104c7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610548576040519150601f19603f3d011682016040523d82523d6000602084013e61054d565b606091505b50915091508181906105dd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105a257818101518382015260200161058a565b50505050905090810190601f1680156105cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5094959350505050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610684576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b91905056fea264697066735822122010d800d479fbdfe36c61e1e1131e93d6543ed04d5b7ef62f0c41e29b2f0741f664736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063360d0fad1461004657806368dd803e1461008e578063a3f697ba1461019b575b600080fd5b6100726004803603604081101561005c57600080fd5b506001600160a01b03813516906020013561021b565b604080516001600160a01b039092168252519081900360200190f35b610113600480360360608110156100a457600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100d457600080fd5b8201836020820111156100e657600080fd5b8035906020019184600183028401116401000000008311171561010857600080fd5b509092509050610231565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561015f578181015183820152602001610147565b50505050905090810190601f16801561018c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610113600480360360408110156101b157600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101dc57600080fd5b8201836020820111156101ee57600080fd5b8035906020019184600183028401116401000000008311171561021057600080fd5b5090925090506102ea565b60006102288383306103a1565b90505b92915050565b6000606061023f86866103ff565b9150856001600160a01b0316826001600160a01b03167f9678a1e87ca9f1a37dc659a97b39d812d98cd236947e1b53b3d0d6fd346acb6e60405160405180910390a382156102d0576102c78285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104a492505050565b915091506102e1565b506040805160208101909152600081525b94509492505050565b600060606102f7856105e7565b9150846001600160a01b0316826001600160a01b03167f9678a1e87ca9f1a37dc659a97b39d812d98cd236947e1b53b3d0d6fd346acb6e60405160405180910390a382156103885761037f8285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104a492505050565b91509150610399565b506040805160208101909152600081525b935093915050565b604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b03811661022b576040805162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015290519081900360640190fd5b6000606060006060856001600160a01b0316856040518082805190602001908083835b602083106104e65780518252601f1990920191602091820191016104c7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610548576040519150601f19603f3d011682016040523d82523d6000602084013e61054d565b606091505b50915091508181906105dd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105a257818101518382015260200161058a565b50505050905090810190601f1680156105cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5094959350505050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610684576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b91905056fea264697066735822122010d800d479fbdfe36c61e1e1131e93d6543ed04d5b7ef62f0c41e29b2f0741f664736f6c634300060c0033

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  ]
[ 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.