FTM Price: $1.02 (-4.52%)
Gas: 115 GWei

Contract

0xDA00BFf59141cA6375c4Ae488DA7b387960b4F10
 

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

FTM Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Value
Claim Vl Oxd Sta...769634972024-03-08 0:33:1820 days ago1709857998IN
0xDA00BFf5...7960b4F10
0 FTM0.00890958.40631976
Claim Staking Re...769634582024-03-08 0:32:3520 days ago1709857955IN
0xDA00BFf5...7960b4F10
0 FTM0.0035300660.07694737
Clear Vote Deleg...763369552024-02-26 9:05:4431 days ago1708938344IN
0xDA00BFf5...7960b4F10
0 FTM0.00934912103.08649382
Claim Staking Re...763369252024-02-26 9:05:0331 days ago1708938303IN
0xDA00BFf5...7960b4F10
0 FTM0.06604473103.08649382
Set Vote Delegat...751443062024-02-05 13:56:3151 days ago1707141391IN
0xDA00BFf5...7960b4F10
0 FTM0.000823869.24982204
Unstake Lp And W...742989062024-01-16 18:27:5071 days ago1705429670IN
0xDA00BFf5...7960b4F10
0 FTM0.0323476823
Unstake Lp Withd...742599772024-01-15 21:44:1172 days ago1705355051IN
0xDA00BFf5...7960b4F10
0 FTM0.033935616.5967416
Unstake Lp Withd...742583352024-01-15 20:50:4972 days ago1705351849IN
0xDA00BFf5...7960b4F10
0 FTM0.0241821716.19803252
Claim Staking Re...742564422024-01-15 19:40:1172 days ago1705347611IN
0xDA00BFf5...7960b4F10
0 FTM0.0127107816.55231359
Unstake Lp Withd...723356832023-12-10 0:28:34109 days ago1702168114IN
0xDA00BFf5...7960b4F10
0 FTM0.0958777463.14014402
Withdraw Vote Lo...705394312023-11-12 20:48:37136 days ago1699822117IN
0xDA00BFf5...7960b4F10
0 FTM0.0107039829
Claim Vl Oxd Sta...705384692023-11-12 20:23:16136 days ago1699820596IN
0xDA00BFf5...7960b4F10
0 FTM0.0051019129
Withdraw Vote Lo...696472292023-10-22 18:51:33157 days ago1698000693IN
0xDA00BFf5...7960b4F10
0 FTM0.0059308530.26978645
Unstake Ox Solid696470992023-10-22 18:47:26157 days ago1698000446IN
0xDA00BFf5...7960b4F10
0 FTM0.0405284830.7135459
Reset Votes696470462023-10-22 18:45:45157 days ago1698000345IN
0xDA00BFf5...7960b4F10
0 FTM0.0028721830.18046982
Unstake Lp Withd...686876832023-09-27 16:42:49182 days ago1695832969IN
0xDA00BFf5...7960b4F10
0 FTM0.16138306107.08590472
Unstake Ox Solid...661497752023-07-21 15:10:44250 days ago1689952244IN
0xDA00BFf5...7960b4F10
0 FTM0.118547858.4203514
Claim V1Ox Solid...661494532023-07-21 15:00:47250 days ago1689951647IN
0xDA00BFf5...7960b4F10
0 FTM0.0212147858.97008357
Unstake Lp Withd...661488022023-07-21 14:38:56250 days ago1689950336IN
0xDA00BFf5...7960b4F10
0 FTM0.0699550955.04283139
Unstake Lp Withd...601019152023-04-17 0:54:28346 days ago1681692868IN
0xDA00BFf5...7960b4F10
0 FTM0.14541549121.55457812
Unstake Lp Withd...601018232023-04-17 0:52:48346 days ago1681692768IN
0xDA00BFf5...7960b4F10
0 FTM0.17556566121.37651202
Unstake Lp Withd...601017342023-04-17 0:50:59346 days ago1681692659IN
0xDA00BFf5...7960b4F10
0 FTM0.20538303121.36325408
Unstake Lp Withd...601016522023-04-17 0:49:29346 days ago1681692569IN
0xDA00BFf5...7960b4F10
0 FTM0.15936763121.67465417
Unstake Lp Withd...601007802023-04-17 0:33:16346 days ago1681691596IN
0xDA00BFf5...7960b4F10
0 FTM0.13057161106.99749584
Claim Staking Re...601006262023-04-17 0:30:48346 days ago1681691448IN
0xDA00BFf5...7960b4F10
0 FTM0.09919517107.17940035
View all transactions

Latest 1 internal transaction

Parent Txn Hash Block From To Value
319548642022-02-25 19:12:35761 days ago1645816355  Contract Creation0 FTM
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x311a4926...65BefC4E6
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
OxDAOProxy

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at ftmscan.com on 2022-02-25
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;

/**
 * @title 0xDAO governance killable proxy
 * @author 0xDAO
 * @notice EIP-1967 upgradeable proxy with the ability to kill governance and render the contract immutable
 */
contract OxDAOProxy {
    bytes32 constant IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; // keccak256('eip1967.proxy.implementation')
    bytes32 constant GOVERNANCE_SLOT =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; // keccak256('eip1967.proxy.admin')
    bytes32 constant INITIALIZED_SLOT =
        0x834ce84547018237034401a09067277cdcbe7bbf7d7d30f6b382b0a102b7b4a3; // keccak256('eip1967.proxy.initialized')

    /**
     * @notice Initialize governance (this can only be done once)
     * @param _governanceAddress New governance address
     */
    function initialize(address _governanceAddress) public {
        bool initialized;
        assembly {
            initialized := sload(INITIALIZED_SLOT)
            if eq(initialized, 1) {
                revert(0, 0)
            }
            sstore(INITIALIZED_SLOT, 1)
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Detect whether or not governance is killed
     * @return Return true if governance is killed, false if not
     * @dev If governance is killed this contract becomes immutable
     */
    function governanceIsKilled() external view returns (bool) {
        return governanceAddress() == address(0);
    }

    /**
     * @notice Kill governance, making this contract immutable
     * @dev Only governance can kil governance
     */
    function killGovernance() external {
        require(msg.sender == governanceAddress(), "Only governance");
        updateGovernanceAddress(address(0));
    }

    /**
     * @notice Update implementation address
     * @param _implementationAddress Address of the new implementation
     * @dev Only governance can update implementation
     */
    function updateImplementationAddress(address _implementationAddress)
        external
    {
        require(msg.sender == governanceAddress(), "Only governance");
        assembly {
            sstore(IMPLEMENTATION_SLOT, _implementationAddress)
        }
    }

    /**
     * @notice Update governance address
     * @param _governanceAddress New governance address
     * @dev Only governance can update governance
     */
    function updateGovernanceAddress(address _governanceAddress) public {
        require(msg.sender == governanceAddress(), "Only governance");
        assembly {
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _implementationAddress Returns the current implementation address
     */
    function implementationAddress()
        external
        view
        returns (address _implementationAddress)
    {
        assembly {
            _implementationAddress := sload(IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @notice Fetch current governance address
     * @return _governanceAddress Returns current governance address
     */
    function governanceAddress()
        public
        view
        returns (address _governanceAddress)
    {
        assembly {
            _governanceAddress := sload(GOVERNANCE_SLOT)
        }
    }

    /**
     * @notice Delegatecall fallback proxy
     */
    fallback() external {
        assembly {
            let contractLogic := sload(IMPLEMENTATION_SLOT)
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(
                gas(),
                contractLogic,
                0x0,
                calldatasize(),
                0,
                0
            )
            let returnDataSize := returndatasize()
            returndatacopy(0, 0, returnDataSize)
            switch success
            case 0 {
                revert(0, returnDataSize)
            }
            default {
                return(0, returnDataSize)
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"governanceAddress","outputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceIsKilled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementationAddress","outputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"killGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"name":"updateGovernanceAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"name":"updateImplementationAddress","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100815760003560e01c8063b90d89301161005b578063b90d893014610111578063b97a23191461012d578063c4d66de81461014b578063eb5ee83a1461016757610082565b8063179781c4146100cb578063654ea5e7146100e9578063795053d3146100f357610082565b5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000845af43d806000803e81600081146100c657816000f35b816000fd5b6100d3610183565b6040516100e09190610463565b60405180910390f35b6100f16101c0565b005b6100fb610241565b60405161010891906104bf565b60405180910390f35b61012b6004803603810190610126919061050b565b61026a565b005b610135610305565b60405161014291906104bf565b60405180910390f35b6101656004803603810190610160919061050b565b61032e565b005b610181600480360381019061017c919061050b565b6103ad565b005b60008073ffffffffffffffffffffffffffffffffffffffff166101a4610241565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6101c8610241565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022c90610595565b60405180910390fd5b61023f600061026a565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354905090565b610272610241565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d690610595565b60405180910390fd5b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905090565b60007f834ce84547018237034401a09067277cdcbe7bbf7d7d30f6b382b0a102b7b4a3549050600181141561036257600080fd5b60017f834ce84547018237034401a09067277cdcbe7bbf7d7d30f6b382b0a102b7b4a355817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103555050565b6103b5610241565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041990610595565b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5550565b60008115159050919050565b61045d81610448565b82525050565b60006020820190506104786000830184610454565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104a98261047e565b9050919050565b6104b98161049e565b82525050565b60006020820190506104d460008301846104b0565b92915050565b600080fd5b6104e88161049e565b81146104f357600080fd5b50565b600081359050610505816104df565b92915050565b600060208284031215610521576105206104da565b5b600061052f848285016104f6565b91505092915050565b600082825260208201905092915050565b7f4f6e6c7920676f7665726e616e63650000000000000000000000000000000000600082015250565b600061057f600f83610538565b915061058a82610549565b602082019050919050565b600060208201905081810360008301526105ae81610572565b905091905056fea264697066735822122052fad13411bf962a04da522d48167983e0231ab87b3c7219ab3da0a7582f376664736f6c634300080b0033

Deployed Bytecode Sourcemap

240:4004:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:19;3647:26;3710:14;3705:3;3700;3687:38;3916:1;3896;3863:14;3841:3;3809:13;3785:5;3754:178;3968:16;4019:14;4016:1;4013;3998:36;4055:7;4081:1;4076:66;;;;4193:14;4190:1;4183:25;4076:66;4112:14;4109:1;4102:25;1463:118;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1719:161;;;:::i;:::-;;3294:207;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2523:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2924:225;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;890:353;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2079:268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1463:118;1516:4;1571:1;1540:33;;:19;:17;:19::i;:::-;:33;;;1533:40;;1463:118;:::o;1719:161::-;1787:19;:17;:19::i;:::-;1773:33;;:10;:33;;;1765:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;1837:35;1869:1;1837:23;:35::i;:::-;1719:161::o;3294:207::-;3371:26;3467:15;3461:22;3439:44;;3294:207;:::o;2523:236::-;2624:19;:17;:19::i;:::-;2610:33;;:10;:33;;;2602:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2722:18;2705:15;2698:43;2523:236;:::o;2924:225::-;3007:30;3111:19;3105:26;3079:52;;2924:225;:::o;890:353::-;956:16;1028;1022:23;1007:38;;1078:1;1065:11;1062:18;1059:68;;;1110:1;1107;1100:12;1059:68;1166:1;1148:16;1141:27;1206:18;1189:15;1182:43;992:244;890:353;:::o;2079:268::-;2204:19;:17;:19::i;:::-;2190:33;;:10;:33;;;2182:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2306:22;2285:19;2278:51;2079:268;:::o;7:90:1:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:126::-;471:7;511:42;504:5;500:54;489:65;;434:126;;;:::o;566:96::-;603:7;632:24;650:5;632:24;:::i;:::-;621:35;;566:96;;;:::o;668:118::-;755:24;773:5;755:24;:::i;:::-;750:3;743:37;668:118;;:::o;792:222::-;885:4;923:2;912:9;908:18;900:26;;936:71;1004:1;993:9;989:17;980:6;936:71;:::i;:::-;792:222;;;;:::o;1101:117::-;1210:1;1207;1200:12;1347:122;1420:24;1438:5;1420:24;:::i;:::-;1413:5;1410:35;1400:63;;1459:1;1456;1449:12;1400:63;1347:122;:::o;1475:139::-;1521:5;1559:6;1546:20;1537:29;;1575:33;1602:5;1575:33;:::i;:::-;1475:139;;;;:::o;1620:329::-;1679:6;1728:2;1716:9;1707:7;1703:23;1699:32;1696:119;;;1734:79;;:::i;:::-;1696:119;1854:1;1879:53;1924:7;1915:6;1904:9;1900:22;1879:53;:::i;:::-;1869:63;;1825:117;1620:329;;;;:::o;1955:169::-;2039:11;2073:6;2068:3;2061:19;2113:4;2108:3;2104:14;2089:29;;1955:169;;;;:::o;2130:165::-;2270:17;2266:1;2258:6;2254:14;2247:41;2130:165;:::o;2301:366::-;2443:3;2464:67;2528:2;2523:3;2464:67;:::i;:::-;2457:74;;2540:93;2629:3;2540:93;:::i;:::-;2658:2;2653:3;2649:12;2642:19;;2301:366;;;:::o;2673:419::-;2839:4;2877:2;2866:9;2862:18;2854:26;;2926:9;2920:4;2916:20;2912:1;2901:9;2897:17;2890:47;2954:131;3080:4;2954:131;:::i;:::-;2946:139;;2673:419;;;:::o

Swarm Source

ipfs://52fad13411bf962a04da522d48167983e0231ab87b3c7219ab3da0a7582f3766

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

Txn 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.