ETH Price: $2,657.41 (+1.11%)

Contract

0x6891FfAA59c0Ce04b4E3C6eaa50CFc5E2fc77b77

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Evaluate1196761912024-05-05 23:19:19283 days ago1714951159IN
0x6891FfAA...E2fc77b77
0 ETH0.0000005264060.00706187
Resolve1142775042024-01-02 0:03:05408 days ago1704153785IN
0x6891FfAA...E2fc77b77
0 ETH0.0007005903391.59466296
Evaluate1142774972024-01-02 0:02:51408 days ago1704153771IN
0x6891FfAA...E2fc77b77
0 ETH0.0011403555341.59773576
Cast1142773142024-01-01 23:56:45408 days ago1704153405IN
0x6891FfAA...E2fc77b77
0 ETH0.0000329534010.09821757
Cast1142772652024-01-01 23:55:07408 days ago1704153307IN
0x6891FfAA...E2fc77b77
0 ETH0.0000348563670.1048125
Cast1142771952024-01-01 23:52:47408 days ago1704153167IN
0x6891FfAA...E2fc77b77
0 ETH0.0000320805590.1037904
Cast1142745012024-01-01 22:22:59408 days ago1704147779IN
0x6891FfAA...E2fc77b77
0 ETH0.0000341101010.10381347
Cast1142742002024-01-01 22:12:57408 days ago1704147177IN
0x6891FfAA...E2fc77b77
0 ETH0.0000363343090.10401302
Cast1142738642024-01-01 22:01:45408 days ago1704146505IN
0x6891FfAA...E2fc77b77
0 ETH0.0000373083330.10551325
Cast1142722912024-01-01 21:09:19408 days ago1704143359IN
0x6891FfAA...E2fc77b77
0 ETH0.0000457296410.10695043
Declare And Cast1142720262024-01-01 21:00:29408 days ago1704142829IN
0x6891FfAA...E2fc77b77
0 ETH0.000125494540.10710729
Cast1142720252024-01-01 21:00:27408 days ago1704142827IN
0x6891FfAA...E2fc77b77
0 ETH0.0000430927650.1038974
Cast1142719862024-01-01 20:59:09408 days ago1704142749IN
0x6891FfAA...E2fc77b77
0 ETH0.0000453360190.10537633
Cast1142719442024-01-01 20:57:45408 days ago1704142665IN
0x6891FfAA...E2fc77b77
0 ETH0.0000453640490.10929728
Cast1142710942024-01-01 20:29:25408 days ago1704140965IN
0x6891FfAA...E2fc77b77
0 ETH0.0000404689180.08282378
Cast1142691012024-01-01 19:22:59408 days ago1704136979IN
0x6891FfAA...E2fc77b77
0 ETH0.000046762910.1046176
Cast1142685952024-01-01 19:06:07408 days ago1704135967IN
0x6891FfAA...E2fc77b77
0 ETH0.0000348527270.10286911
Cast1142678282024-01-01 18:40:33408 days ago1704134433IN
0x6891FfAA...E2fc77b77
0 ETH0.0000427906440.10877398
Cast1142666262024-01-01 18:00:29408 days ago1704132029IN
0x6891FfAA...E2fc77b77
0 ETH0.0000377351360.10140611
Declare And Cast1142623812024-01-01 15:38:59408 days ago1704123539IN
0x6891FfAA...E2fc77b77
0 ETH0.0001013839390.09951163
Cast1142612842024-01-01 15:02:25408 days ago1704121345IN
0x6891FfAA...E2fc77b77
0 ETH0.0000373898080.1051753
Cast1142591662024-01-01 13:51:49408 days ago1704117109IN
0x6891FfAA...E2fc77b77
0 ETH0.0000339651120.1039717
Cast1142583262024-01-01 13:23:49408 days ago1704115429IN
0x6891FfAA...E2fc77b77
0 ETH0.0000352833770.10275521
Cast1142579602024-01-01 13:11:37408 days ago1704114697IN
0x6891FfAA...E2fc77b77
0 ETH0.0000327990750.1
Cast1142573062024-01-01 12:49:49408 days ago1704113389IN
0x6891FfAA...E2fc77b77
0 ETH0.0000333153230.1093189
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
93171662022-05-30 13:37:28989 days ago1653917848
0x6891FfAA...E2fc77b77
 Contract Creation0 ETH
93171662022-05-30 13:37:28989 days ago1653917848
0x6891FfAA...E2fc77b77
 Contract Creation0 ETH

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GrantsCouncil

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : GrantsCouncil.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@synthetixio/core-contracts/contracts/proxy/UUPSProxy.sol";

contract GrantsCouncil is UUPSProxy {
    // solhint-disable-next-line no-empty-blocks
    constructor(address firstImplementation) UUPSProxy(firstImplementation) {}
}

File 2 of 6 : UUPSProxy.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./AbstractProxy.sol";
import "./ProxyStorage.sol";
import "../errors/AddressError.sol";
import "../utils/AddressUtil.sol";

contract UUPSProxy is AbstractProxy, ProxyStorage {
    constructor(address firstImplementation) {
        if (firstImplementation == address(0)) {
            revert AddressError.ZeroAddress();
        }

        if (!AddressUtil.isContract(firstImplementation)) {
            revert AddressError.NotAContract(firstImplementation);
        }

        _proxyStore().implementation = firstImplementation;
    }

    function _getImplementation() internal view virtual override returns (address) {
        return _proxyStore().implementation;
    }
}

File 3 of 6 : AbstractProxy.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

abstract contract AbstractProxy {
    fallback() external payable {
        _forward();
    }

    receive() external payable {
        _forward();
    }

    function _forward() internal {
        address implementation = _getImplementation();

        // solhint-disable-next-line no-inline-assembly
        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    function _getImplementation() internal view virtual returns (address);
}

File 4 of 6 : ProxyStorage.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract ProxyStorage {
    struct ProxyStore {
        address implementation;
        bool simulatingUpgrade;
    }

    function _proxyStore() internal pure returns (ProxyStore storage store) {
        assembly {
            // bytes32(uint(keccak256("io.synthetix.v3.proxy")) - 1)
            store.slot := 0x32402780481dd8149e50baad867f01da72e2f7d02639a6fe378dbd80b6bb446e
        }
    }
}

File 5 of 6 : AddressError.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library AddressError {
    error ZeroAddress();
    error NotAContract(address contr);
}

File 6 of 6 : AddressUtil.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library AddressUtil {
    function isContract(address account) internal view returns (bool) {
        uint256 size;

        assembly {
            size := extcodesize(account)
        }

        return size > 0;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"firstImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"contr","type":"address"}],"name":"NotAContract","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516101c53803806101c583398101604081905261002f916100e1565b806001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b61006a816100db60201b61006a1760201c565b610096576040516322a2d07b60e21b81526001600160a01b038216600482015260240160405180910390fd5b7f32402780481dd8149e50baad867f01da72e2f7d02639a6fe378dbd80b6bb446e80546001600160a01b0319166001600160a01b039290921691909117905550610111565b3b151590565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60a68061011f6000396000f3fe608060405236601057600e6013565b005b600e5b600060457f32402780481dd8149e50baad867f01da72e2f7d02639a6fe378dbd80b6bb446e546001600160a01b031690565b90503660008037600080366000845af43d6000803e8080156065573d6000f35b3d6000fd5b3b15159056fea2646970667358221220feff25960918e317a222a26fff2fc9e44aaec96b91655f468fd859d18843e0c664736f6c634300080b0033000000000000000000000000eee0879183835875ab10f9fcee09e1c4a90b25d5

Deployed Bytecode

0x608060405236601057600e6013565b005b600e5b600060457f32402780481dd8149e50baad867f01da72e2f7d02639a6fe378dbd80b6bb446e546001600160a01b031690565b90503660008037600080366000845af43d6000803e8080156065573d6000f35b3d6000fd5b3b15159056fea2646970667358221220feff25960918e317a222a26fff2fc9e44aaec96b91655f468fd859d18843e0c664736f6c634300080b0033

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

000000000000000000000000eee0879183835875ab10f9fcee09e1c4a90b25d5

-----Decoded View---------------
Arg [0] : firstImplementation (address): 0xeee0879183835875aB10f9FceE09e1c4a90B25d5

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


Block Transaction Difficulty 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.