Contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B 4

 

Contract Overview

BOB: BOB Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x6bb8f0a75b3c4bd2a204320684e91835a8936f7f0782557e7e0a54135491c1a2Approve385649322023-01-26 22:36:284 mins ago0x297bbc9388a82b865c066de3600c9971311da341 IN BOB: BOB Token0 MATIC0.002893628656.007521537
0xd0c2eb3c3252301f8d63f45a34809fe50132cf3c7659e4a9f897dfd56ec21454Transfer385648662023-01-26 22:34:086 mins ago0x9465ac60c2d36fb7920915a04d9e8f5625c08d91 IN BOB: BOB Token0 MATIC0.0023915497145.953340714
0x88a46673043abcdd7e9c3365eb42cd0467a1f3e6e3196bcb3d12928e8d58ffe4Transfer385609242023-01-26 20:08:232 hrs 32 mins ago0xebe544d9b3ec80a8266029b82d3283e7f2df65a4 IN BOB: BOB Token0 MATIC0.00333075264
0xa87bc02ac13f1d278aa1166894925630ceddcf8b9dd3033b0e84d138be27f92bApprove385565072023-01-26 17:25:025 hrs 15 mins ago0x560db4099d777db71db0328b75be3e8b91a997ee IN BOB: BOB Token0 MATIC0.003475468795 67.646394214
0x314359a5eb435c735be8dfedf9b50abfa66eb5144ebb12d3291a8ce97a2f6acfApprove385562392023-01-26 17:15:325 hrs 24 mins ago0x1ac262d831815b1296803f01221271cd5b1c3bbd IN BOB: BOB Token0 MATIC0.004403831985 85.696004706
0xb6547695095770f298147a07278f2b09c719010cfaca89d8aa36138a6f19a857Approve385553342023-01-26 16:41:545 hrs 58 mins ago0xb8ca87b017906b4eac99d830ab42827d4046921f IN BOB: BOB Token0 MATIC0.003810449796 73.838771378
0xd4a16cb4bb358d64ad23717b6c2e58a3d9702efade1e4b02bf726eb4575d5197Approve385527312023-01-26 15:06:307 hrs 34 mins ago0xe6d3474310ff037f3788a233a7526eeeed93397a IN BOB: BOB Token0 MATIC0.020995018954 406.368314234
0x3aea7b4e41e79d196175b46549af47e40e2dae66c92a8efa64df98b4919f6afeApprove385493562023-01-26 13:02:369 hrs 37 mins ago0x7ff7c8a4b74a5da6e8d1a8d1991d9a8cbd6c4335 IN BOB: BOB Token0 MATIC0.004106098241 79.939613382
0x36a6bdbb0f69b4ab06575694791fc2f8acc0c26c14a79608b3a896e0ff48aafeApprove385492152023-01-26 12:57:369 hrs 42 mins ago0xd08959326e8a48e71823de2ac08bbcc998a1f8e8 IN BOB: BOB Token0 MATIC0.004554515063 88.257243755
0x56c06d3234db650f042b80cb31c89cb241a555980de26e9369e89c90b524ca49Approve385487722023-01-26 12:40:529 hrs 59 mins ago0x342a3c02116d176d7b51d095d718ec8edf2c8d39 IN BOB: BOB Token0 MATIC0.002480265807 78.081719096
0x26d1f445d8bd44a251fe9144a8bfaad31a868413a9a5e9610c27fae3fa9c63cdApprove385487712023-01-26 12:40:509 hrs 59 mins ago0x342a3c02116d176d7b51d095d718ec8edf2c8d39 IN BOB: BOB Token0 MATIC0.003934394745 76.152032243
0x5614633fc9d5eb5ad6e67d7e6d9168f5f17d49ab9413d2fa29bda51e104c78b6Approve385477712023-01-26 12:04:2010 hrs 36 mins ago0x426cf0a8423a9522a78cd3325984ae000d425eeb IN BOB: BOB Token0 MATIC0.001780998087 60.617340708
0x2113d57e5760ed91271eefde2ca8599de97fc4cdb74e1fe3e67a91c07bf24225Approve385475142023-01-26 11:55:1410 hrs 45 mins ago0xe087bbed6ac7439f3988ef4bb2dca56350870ad4 IN BOB: BOB Token0 MATIC0.002119580486 61.321582145
0xf239b62d512f960bdf680b338520d0d966ab49247324681d96b35691730fc2f5Approve385472892023-01-26 11:47:1610 hrs 53 mins ago0x426cf0a8423a9522a78cd3325984ae000d425eeb IN BOB: BOB Token0 MATIC0.001870391553 63.659901071
0xe4d9351c28e33214d0b03699befc08647359892ddb82c0c6e0a5ae9442961f6cApprove385468142023-01-26 11:29:5411 hrs 10 mins ago0xd0581ff7007ca3559f016ba05c9eafe5c2ef886f IN BOB: BOB Token0 MATIC0.002999091203 58.048799057
0x5cdf34c421fab022f8afe3ff79b603dc98cc5f3d3a2fb3940a45fbb30d5754bfApprove385446982023-01-26 10:13:4212 hrs 26 mins ago0xb7e32006debf8f4bbd81d30e9ede3af04c16b277 IN BOB: BOB Token0 MATIC0.004549238122 88.566886457
0xba5e8a356533f4bbbe0dc81fd5ee20d82c0867f091417992d437ec15e3882672Approve385442212023-01-26 9:56:2612 hrs 44 mins ago0x8950827be8fa721fdfbe7764f2b6c3988132dffc IN BOB: BOB Token0 MATIC0.003416447193 66.497599958
0xab49eed8ea0af78af64c3a36435db20d1e40679e2115323ba35ad90e109f17e7Approve385441832023-01-26 9:55:0612 hrs 45 mins ago0xadb68a572379b0e3e5ec899fc4d737bd400a13ed IN BOB: BOB Token0 MATIC0.004048897288 78.825996085
0xa468a272700dad9228b47f712b1c20962fc3a17f049a9fbbb2bc93672f83d447Transfer385435882023-01-26 9:33:2613 hrs 7 mins ago0xdc09da3b92d8e8545d326dde106d4ea84b84e258 IN BOB: BOB Token0 MATIC0.003719650145 71.505606523
0x64f97f1c6657ea790ce59757224bff1ea13db90c4021cf36cbe19af58fbb4447Approve385399322023-01-26 7:21:4115 hrs 18 mins ago0x0c977ee39b2280d873d4fb6b5032dede2545de0b IN BOB: BOB Token0 MATIC0.002369940242 45.871290863
0x36e2720498780e6194ce8618a840f9e3ebd1368c2762dfe55bf8efc25fb40853Approve385380512023-01-26 6:13:3116 hrs 27 mins ago0x7df47dcfdd46afeffe52a36d4e08a41fd66d9922 IN BOB: BOB Token0 MATIC0.002373007505 45.930659163
0x5c334a13786d277685dfc7dd2ba15171a0a817ed267639b58c23081dc38dc5a8Approve385318322023-01-26 2:28:5520 hrs 11 mins ago0xecedde7900d9f0271e894f59061b5b67a522a227 IN BOB: BOB Token0 MATIC0.002414335236 47.014492563
0x17ae13e4a8df27ede90abf55b32d26eb9bb86a6b4965c1bea3e3adf9adfec3a1Transfer385282822023-01-26 0:20:4122 hrs 19 mins ago0xc6576f7f84e75b89db0ad847d796760ba8fda5f9 IN BOB: BOB Token0 MATIC0.003383282786 59.557497966
0x092c7056743ced09ae9bc8c70c36d7fd1854253e0c0764fac2fb32b09b086055Approve385279722023-01-26 0:09:4322 hrs 30 mins ago0xc6576f7f84e75b89db0ad847d796760ba8fda5f9 IN BOB: BOB Token0 MATIC0.003437169717 66.528011563
0x3c3971969599cbdd5ae9c35b6cba8347d0e2522cf17db6bb504bb0ffe322b357Approve385279292023-01-26 0:08:1122 hrs 32 mins ago0xf226cff08541897036e9f8d76aaa63d7faf25ab0 IN BOB: BOB Token0 MATIC0.00332468506764.350819073
[ Download CSV Export 

OVERVIEW

BOB is a stablecoin fully collateralized by USDC. BOB features novel DeFi use-cases intended to generate additional yield for active participants of the Bob Protocol. BOB token is an exclusive asset for zkBob, a privacy preserving protocol for stable transfers.

Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x07add78256baa65b73c0ee79ca42d8e3175439690d05e259d299dced21285e2d328452372022-09-08 12:08:36140 days 10 hrs ago 0xce0042b868300000d44a59004da54a005ffdcf9f  Contract Creation0 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EIP1967Proxy

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : EIP1967Proxy.sol
// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.15;

import "./EIP1967Admin.sol";

/**
 * @title EIP1967Proxy
 * @dev Upgradeable proxy pattern implementation according to minimalistic EIP1967.
 */
contract EIP1967Proxy is EIP1967Admin {
    // EIP 1967
    // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
    uint256 internal constant EIP1967_IMPLEMENTATION_STORAGE =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    event Upgraded(address indexed implementation);
    event AdminChanged(address previousAdmin, address newAdmin);

    constructor(address _admin, address _implementation, bytes memory _data) payable {
        _setAdmin(_admin);
        _setImplementation(_implementation);
        if (_data.length > 0) {
            bool status;
            assembly {
                status := callcode(gas(), _implementation, callvalue(), add(_data, 32), mload(_data), 0, 0)
            }
            require(status, "EIP1967Proxy: initialize call failed");
        }
    }

    /**
     * @dev Tells the proxy admin account address.
     * @return proxy admin address.
     */
    function admin() public view returns (address) {
        return _admin();
    }

    /**
     * @dev Tells the proxy implementation contract address.
     * @return res implementation address.
     */
    function implementation() public view returns (address res) {
        assembly {
            res := sload(EIP1967_IMPLEMENTATION_STORAGE)
        }
    }

    /**
     * @dev Updates address of the proxy owner.
     * Callable only by the proxy admin.
     * @param _admin address of the new proxy admin.
     */
    function setAdmin(address _admin) external onlyAdmin {
        _setAdmin(_admin);
    }

    /**
     * @dev Updates proxy implementation address.
     * Callable only by the proxy admin.
     * @param _implementation address of the new proxy implementation.
     */
    function upgradeTo(address _implementation) external onlyAdmin {
        _setImplementation(_implementation);
    }

    /**
     * @dev Updates proxy implementation address and makes an initialization call to new implementation.
     * Callable only by the proxy admin.
     * @param _implementation address of the new proxy implementation.
     * @param _data calldata to pass through the new implementation after the upgrade.
     */
    function upgradeToAndCall(address _implementation, bytes calldata _data) external payable onlyAdmin {
        _setImplementation(_implementation);
        (bool status,) = address(this).call{value: msg.value}(_data);
        require(status, "EIP1967Proxy: update call failed");
    }

    /**
     * @dev Fallback function allowing to perform a delegatecall to the given implementation.
     * This function will return whatever the implementation call returns
     */
    fallback() external payable {
        address impl = implementation();
        require(impl != address(0));
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), impl, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    /**
     * @dev Internal function for transfer current admin rights to a different account.
     * @param _admin address of the new administrator.
     */
    function _setAdmin(address _admin) internal {
        address previousAdmin = admin();
        require(_admin != address(0));
        require(previousAdmin != _admin);
        assembly {
            sstore(EIP1967_ADMIN_STORAGE, _admin)
        }
        emit AdminChanged(previousAdmin, _admin);
    }

    /**
     * @dev Internal function for setting a new implementation address.
     * @param _implementation address of the new implementation contract.
     */
    function _setImplementation(address _implementation) internal {
        require(_implementation != address(0));
        require(implementation() != _implementation);
        assembly {
            sstore(EIP1967_IMPLEMENTATION_STORAGE, _implementation)
        }
        emit Upgraded(_implementation);
    }
}

File 2 of 2 : EIP1967Admin.sol
// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.15;

/**
 * @title EIP1967Admin
 * @dev Upgradeable proxy pattern implementation according to minimalistic EIP1967.
 */
contract EIP1967Admin {
    // EIP 1967
    // bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1)
    uint256 internal constant EIP1967_ADMIN_STORAGE = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    modifier onlyAdmin() {
        require(msg.sender == _admin(), "EIP1967Admin: not an admin");
        _;
    }

    function _admin() internal view returns (address res) {
        assembly {
            res := sload(EIP1967_ADMIN_STORAGE)
        }
    }
}

Settings
{
  "remappings": [
    "@gnosis/=lib/@gnosis/",
    "@gnosis/auction/=lib/@gnosis/auction/contracts/",
    "@openzeppelin/=lib/@openzeppelin/contracts/",
    "@openzeppelin/contracts/=lib/@openzeppelin/contracts/contracts/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"res","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

608060405260405161090538038061090583398101604081905261002291610227565b61002b836100b3565b61003482610149565b8051156100ab57600080600083516020850134875af29050806100a95760405162461bcd60e51b8152602060048201526024808201527f4549503139363750726f78793a20696e697469616c697a652063616c6c2066616044820152631a5b195960e21b606482015260840160405180910390fd5b505b50505061031a565b60006100bd6101d8565b90506001600160a01b0382166100d257600080fd5b816001600160a01b0316816001600160a01b0316036100f057600080fd5b6000805160206108c5833981519152829055604080516001600160a01b038084168252841660208201527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b6001600160a01b03811661015c57600080fd5b6001600160a01b03811661017c6000805160206108e58339815191525490565b6001600160a01b03160361018f57600080fd5b6000805160206108e58339815191528190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006101f06000805160206108c58339815191525490565b905090565b80516001600160a01b038116811461020c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561023c57600080fd5b610245846101f5565b925060206102548186016101f5565b60408601519093506001600160401b038082111561027157600080fd5b818701915087601f83011261028557600080fd5b81518181111561029757610297610211565b604051601f8201601f19908116603f011681019083821181831017156102bf576102bf610211565b816040528281528a868487010111156102d757600080fd5b600093505b828410156102f957848401860151818501870152928501926102dc565b8284111561030a5760008684830101525b8096505050505050509250925092565b61059c806103296000396000f3fe60806040526004361061004a5760003560e01c80633659cfe61461009d5780634f1ef286146100bd5780635c60da1b146100d0578063704b6c021461010a578063f851a4401461012a575b60006100626000805160206105478339815191525490565b90506001600160a01b03811661007757600080fd5b3660008037600080366000845af43d6000803e808015610096573d6000f35b3d6000fd5b005b3480156100a957600080fd5b5061009b6100b836600461043a565b61013f565b61009b6100cb36600461045c565b610194565b3480156100dc57600080fd5b50600080516020610547833981519152545b6040516001600160a01b03909116815260200160405180910390f35b34801561011657600080fd5b5061009b61012536600461043a565b610293565b34801561013657600080fd5b506100ee6102dc565b600080516020610527833981519152546001600160a01b0316336001600160a01b0316146101885760405162461bcd60e51b815260040161017f906104df565b60405180910390fd5b610191816102f9565b50565b600080516020610527833981519152546001600160a01b0316336001600160a01b0316146101d45760405162461bcd60e51b815260040161017f906104df565b6101dd836102f9565b6000306001600160a01b03163484846040516101fa929190610516565b60006040518083038185875af1925050503d8060008114610237576040519150601f19603f3d011682016040523d82523d6000602084013e61023c565b606091505b505090508061028d5760405162461bcd60e51b815260206004820181905260248201527f4549503139363750726f78793a207570646174652063616c6c206661696c6564604482015260640161017f565b50505050565b600080516020610527833981519152546001600160a01b0316336001600160a01b0316146102d35760405162461bcd60e51b815260040161017f906104df565b61019181610388565b60006102f46000805160206105278339815191525490565b905090565b6001600160a01b03811661030c57600080fd5b806001600160a01b031661032c6000805160206105478339815191525490565b6001600160a01b03160361033f57600080fd5b6000805160206105478339815191528190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006103926102dc565b90506001600160a01b0382166103a757600080fd5b816001600160a01b0316816001600160a01b0316036103c557600080fd5b600080516020610527833981519152829055604080516001600160a01b038084168252841660208201527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b80356001600160a01b038116811461043557600080fd5b919050565b60006020828403121561044c57600080fd5b6104558261041e565b9392505050565b60008060006040848603121561047157600080fd5b61047a8461041e565b9250602084013567ffffffffffffffff8082111561049757600080fd5b818601915086601f8301126104ab57600080fd5b8135818111156104ba57600080fd5b8760208285010111156104cc57600080fd5b6020830194508093505050509250925092565b6020808252601a908201527f4549503139363741646d696e3a206e6f7420616e2061646d696e000000000000604082015260600190565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212203a120e4dd5f0849a0b6e92c874b8ff4e42363c90d20d52f4cac638a68ae33dcb64736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc00000000000000000000000039f0bd56c1439a22ee90b4972c16b7868d161981000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

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

00000000000000000000000039f0bd56c1439a22ee90b4972c16b7868d161981000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _admin (address): 0x39f0bd56c1439a22ee90b4972c16b7868d161981
Arg [1] : _implementation (address): 0x000000000000000000000000000000000000dead
Arg [2] : _data (bytes): 0x

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000039f0bd56c1439a22ee90b4972c16b7868d161981
Arg [1] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


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.