Contract 0x4678f0a6958e4d2bc4f1baf7bc52e8f3564f3fe4

Maker 
 
Ad
Crypto.com
Txn Hash Method
Block
From
To
Value
0x64fee5d55968a5b9915678404d31fe001b1bac3961a8c790211fa344fb1186ccPending(pending)2021-05-08 12:20:211 hr 49 mins ago0x8bbb5cdbc6e039036bac48fd6211a6be80811c5d IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xba1675d936c8f11b61f0951221b74728b484e014b69bcb8bf21680c1ee247c15Pending(pending)2021-05-08 12:02:022 hrs 7 mins ago0x7d7d8baee84bca250fa1a61813ec2322f9f88751 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xf8010bb90a897ff797ee971d859fdf4d1a0c3dd00ba464b6a65f690a80be0d0aPending(pending)2021-05-08 4:55:199 hrs 14 mins ago0x32e91a33ff73ebfbcbbfd0d55f31e576f839dc00 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xd1307ed2dd3ac39b29d27f259dd0ec1c964c1be3422bb1dd64d39c99499ba16aPending(pending)2021-05-07 22:02:2016 hrs 7 mins ago0xe7ae0731c8c657437cc5e1d4438b48a4cff8c71e IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xf82f73f0d8c7593e3e5594ef4a2de0236487a466bb89828d6a8fb6e3adcb8eccPending(pending)2021-05-07 21:21:5816 hrs 47 mins ago0x5780f00a483c51d33f8e01418c2b7328bde4b36a IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x42d2c46e9100de6fe75d60cd4770996b1f2e6c4dc245027cfe2aaba401cd0296Pending(pending)2021-05-07 16:45:5321 hrs 23 mins ago0xd0dc5f6fa586265433653663c833429e5533be6e IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x88e4b2bcd177d7a72007cc486761d0d3b75138231e2ee08b657fa331535bd8bcPending(pending)2021-05-07 13:08:141 day 1 hr ago0xe7a5ca1953ada47cf1de3034a9c5b21bc2cdbd28 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x104e443837f5af0310ac3c0ddc56bcd0926193ad6bb8469d374cf4853d4edf81Pending(pending)2021-05-07 12:55:521 day 1 hr ago0x20fcb95f6a5edf7f779e06b85e16de5f7808e4a6 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x52be04bb355969bfa1c50b8a3799f80d2a3af384408a6656b63992aa96c950c9Pending(pending)2021-05-07 12:46:431 day 1 hr ago0xb0fb7932b7335d0be72050ec8fa2be0012147bbe IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x6382afd360316f1f517a80ae4d7896e558415bbb8cf50780984c52c9e13e0825Pending(pending)2021-05-07 10:46:511 day 3 hrs ago0x12b76fd35454a8dc4038dee270da0c9ed77ddb7b IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xb62fa9be471cdb5a8af38d9705ecfdffc144fa0256ae3de9c76ee4ffda7fafffPending(pending)2021-05-07 8:19:361 day 5 hrs ago0x85a9ad45b878d7c77f025d63ed1a8e52f550cac3 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x21bc8f38f23f4715a4f9fa2135e8565d4f4e9c9b203a28e0b48a97370e86b528Pending(pending)2021-05-07 7:45:341 day 6 hrs ago0xc9d3250a47fbe148c728b5e745f0fb77d87c8f9b IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0xf8afbdeb37e35ef3e0c1bca868918e1cd8d087532cbbc547c28957b54f1edaffPending(pending)2021-05-07 7:37:241 day 6 hrs ago0x4adb8ca9c670a80a7738602efb7245da634d1ca1 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x58e0590cb93c12e00df7a2480f6d3943ea3f0ee819c34066876bb9f4d9bde155Pending(pending)2021-05-07 6:53:151 day 7 hrs ago0x83103ace6aa104fd259b5ea4ff9221ca9d80ff98 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x2db4b2b8a6c99d7f40c1923f0d64ed5a547ab22d6e0c925c98f1061002675ecdPending(pending)2021-05-07 6:05:351 day 8 hrs ago0xa13b0ac0c93a268a51959414f203c772aee89a11 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x58dbefb133101f27be44bafe1a8e586a2073d46019468bd0002b7cb0ed64b9bePending(pending)2021-05-07 5:59:301 day 8 hrs ago0x7b152c61b433b297c19fa354c519f9be22976f41 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x432ecb8ec5a4a653fce79c72a6758ffa6a3b36a0df80a004cf66b737c505aa12Pending(pending)2021-05-07 5:59:091 day 8 hrs ago0x79e704091a5423f7956af5f4118c92efaef41198 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x96435e764b1e19660a7d410c097623a36e270768fba2ee6353dbefc884e33a4dPending(pending)2021-05-07 5:38:071 day 8 hrs ago0x423695ce82b5f1c51905c3a3037f959760c58caa IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x7645e8cde6f7073bd4a4fa3d08d5edc3a3445b09a778dd1609fcbe39ada812c4Pending(pending)2021-05-07 5:36:551 day 8 hrs ago0x42b425cbfbda1ce9a96e54b9be3dd57b25b5a9b4 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x1131c1cc725ed739735d95edde046c5a1aa3803be2b89deb5a3189e545fad572Pending(pending)2021-05-07 5:31:011 day 8 hrs ago0x39286b36de51e8cbde7c55fc46c7df07ad6dc8f5 IN Maker: Proxy Registry0 Ether(Pending)(Pending)
0x3486d16a4c6fdec0f0dd667862f88749c6f67a638487c41fbfa41498804b94c3Build123939292021-05-08 13:30:1939 mins ago0x774c3ab98af2989132076b97eb9eaf01caf8a570 IN  Maker: Proxy Registry0 Ether0.097740064164
0x4b1eea934cf1cc4f60e52bff116187120159272e9d970eafe7dabb719b23e4eeBuild123938542021-05-08 13:10:2159 mins ago0xdb2d5efdb9251ecc1b9e991baa9938af12944852 IN  Maker: Proxy Registry0 Ether0.073305048123
0x61a9c4025831b0bd04ced343f9ae675028d176b0e482e4d3a138ae29b8cf8fdaBuild123937562021-05-08 12:47:421 hr 21 mins ago0xc8ba9bb4838f5144c78ab66f3201b903d15c0477 IN  Maker: Proxy Registry0 Ether0.060193576101
0x87c04f219f97722890acc909a843568a04fc102ca4daefebce157a16d01d8e3dBuild123932142021-05-08 10:49:433 hrs 19 mins ago0x5b1a6e4d69ae0760b23a0c78dcf8f179343d23d5 IN  Maker: Proxy Registry0 Ether0.034745400858.3
0xc64d36f7be119d643677c435d408b4c30bb7ac256ad22a66decfaf57fdc894b5Build123930342021-05-08 10:11:443 hrs 57 mins ago0xad19890fbe3ff8460da2959c8780be33a962fc59 IN  Maker: Proxy Registry0 Ether0.0476780880
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xc4ce84b3f1c92d9253c523c3436456139f5f58eecb3550763ac3fe5bc42b33f599704582020-04-29 23:32:48373 days 14 hrs ago 0xc7854f8bc57176a079d3a17b5c2c8630cf420fb5 Maker: Proxy Registry0.2 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ProxyRegistry

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-06-22
*/

// proxy.sol - execute actions atomically through the proxy's identity

// Copyright (C) 2017  DappHub, LLC

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.4.23;

contract DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) public view returns (bool);
}

contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        public
        auth
    {
        owner = owner_;
        emit LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        public
        auth
    {
        authority = authority_;
        emit LogSetAuthority(authority);
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig));
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }
}

contract DSNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  guy,
        bytes32  indexed  foo,
        bytes32  indexed  bar,
        uint              wad,
        bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;

        assembly {
            foo := calldataload(4)
            bar := calldataload(36)
        }

        emit LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);

        _;
    }
}

// DSProxy
// Allows code execution using a persistant identity This can be very
// useful to execute a sequence of atomic actions. Since the owner of
// the proxy can be changed, this allows for dynamic ownership models
// i.e. a multisig
contract DSProxy is DSAuth, DSNote {
    DSProxyCache public cache;  // global cache for contracts

    constructor(address _cacheAddr) public {
        require(setCache(_cacheAddr));
    }

    function() public payable {
    }

    // use the proxy to execute calldata _data on contract _code
    function execute(bytes _code, bytes _data)
        public
        payable
        returns (address target, bytes32 response)
    {
        target = cache.read(_code);
        if (target == 0x0) {
            // deploy contract & store its address in cache
            target = cache.write(_code);
        }

        response = execute(target, _data);
    }

    function execute(address _target, bytes _data)
        public
        auth
        note
        payable
        returns (bytes32 response)
    {
        require(_target != 0x0);

        // call contract in current context
        assembly {
            let succeeded := delegatecall(sub(gas, 5000), _target, add(_data, 0x20), mload(_data), 0, 32)
            response := mload(0)      // load delegatecall output
            switch iszero(succeeded)
            case 1 {
                // throw if delegatecall failed
                revert(0, 0)
            }
        }
    }

    //set new cache
    function setCache(address _cacheAddr)
        public
        auth
        note
        returns (bool)
    {
        require(_cacheAddr != 0x0);        // invalid cache address
        cache = DSProxyCache(_cacheAddr);  // overwrite cache
        return true;
    }
}

// DSProxyFactory
// This factory deploys new proxy instances through build()
// Deployed proxy addresses are logged
contract DSProxyFactory {
    event Created(address indexed sender, address indexed owner, address proxy, address cache);
    mapping(address=>bool) public isProxy;
    DSProxyCache public cache = new DSProxyCache();

    // deploys a new proxy instance
    // sets owner of proxy to caller
    function build() public returns (DSProxy proxy) {
        proxy = build(msg.sender);
    }

    // deploys a new proxy instance
    // sets custom owner of proxy
    function build(address owner) public returns (DSProxy proxy) {
        proxy = new DSProxy(cache);
        emit Created(msg.sender, owner, address(proxy), address(cache));
        proxy.setOwner(owner);
        isProxy[proxy] = true;
    }
}

// DSProxyCache
// This global cache stores addresses of contracts previously deployed
// by a proxy. This saves gas from repeat deployment of the same
// contracts and eliminates blockchain bloat.

// By default, all proxies deployed from the same factory store
// contracts in the same cache. The cache a proxy instance uses can be
// changed.  The cache uses the sha3 hash of a contract's bytecode to
// lookup the address
contract DSProxyCache {
    mapping(bytes32 => address) cache;

    function read(bytes _code) public view returns (address) {
        bytes32 hash = keccak256(_code);
        return cache[hash];
    }

    function write(bytes _code) public returns (address target) {
        assembly {
            target := create(0, add(_code, 0x20), mload(_code))
            switch iszero(extcodesize(target))
            case 1 {
                // throw if contract failed to deploy
                revert(0, 0)
            }
        }
        bytes32 hash = keccak256(_code);
        cache[hash] = target;
    }
}

// ProxyRegistry
// This Registry deploys new proxy instances through DSProxyFactory.build(address) and keeps a registry of owner => proxy
contract ProxyRegistry {
    mapping(address => DSProxy) public proxies;
    DSProxyFactory factory;

    constructor(DSProxyFactory factory_) public {
        factory = factory_;
    }

    // deploys a new proxy instance
    // sets owner of proxy to caller
    function build() public returns (DSProxy proxy) {
        proxy = build(msg.sender);
    }

    // deploys a new proxy instance
    // sets custom owner of proxy
    function build(address owner) public returns (DSProxy proxy) {
        require(proxies[owner] == DSProxy(0) || proxies[owner].owner() != owner); // Not allow new proxy if the user already has one and remains being the owner
        proxy = factory.build(owner);
        proxies[owner] = proxy;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"build","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"proxies","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"build","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"factory_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

608060405234801561001057600080fd5b50604051602080610319833981016040525160018054600160a060020a031916600160a060020a039092169190911790556102c9806100506000396000f3006080604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638e1a55fc811461005b578063c45527911461008c578063f3701da2146100ad575b600080fd5b34801561006757600080fd5b506100706100ce565b60408051600160a060020a039092168252519081900360200190f35b34801561009857600080fd5b50610070600160a060020a03600435166100de565b3480156100b957600080fd5b50610070600160a060020a03600435166100f9565b60006100d9336100f9565b905090565b600060208190529081526040902054600160a060020a031681565b600160a060020a0381811660009081526020819052604081205490911615806101be5750600160a060020a038083166000818152602081815260408083205481517f8da5cb5b000000000000000000000000000000000000000000000000000000008152915194951693638da5cb5b93600480840194938390030190829087803b15801561018657600080fd5b505af115801561019a573d6000803e3d6000fd5b505050506040513d60208110156101b057600080fd5b5051600160a060020a031614155b15156101c957600080fd5b600154604080517ff3701da2000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151919092169163f3701da29160248083019260209291908290030181600087803b15801561023157600080fd5b505af1158015610245573d6000803e3d6000fd5b505050506040513d602081101561025b57600080fd5b5051600160a060020a039283166000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff19169382169390931790925550905600a165627a7a72305820b8fbb618658e361e3b872cf31c29da0b8a560429629060d4c0ecf52ab32fa7c60029000000000000000000000000a26e15c895efc0616177b7c1e7270a4c7d51c997

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

000000000000000000000000a26e15c895efc0616177b7c1e7270a4c7d51c997

-----Decoded View---------------
Arg [0] : factory_ (address): 0xa26e15c895efc0616177b7c1e7270a4c7d51c997

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


Swarm Source

bzzr://b8fbb618658e361e3b872cf31c29da0b8a560429629060d4c0ecf52ab32fa7c6
Block Transaction Difficulty Gas Used Reward
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.