Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
256,522.74075064108076187 ibDFD
Holders
91
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ibDFDProxy
Compiler Version
v0.5.17+commit.d19bba13
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-25 */ pragma solidity 0.5.17; interface IERCProxy { function proxyType() external pure returns (uint proxyTypeId); function implementation() external view returns (address codeAddr); } contract Proxy is IERCProxy { function delegatedFwd(address _dst, bytes memory _calldata) internal { // solium-disable-next-line security/no-inline-assembly assembly { let result := delegatecall( sub(gas(), 10000), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0 ) let size := returndatasize() let ptr := mload(0x40) returndatacopy(ptr, 0, size) // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas. // if the call returned error data, forward it switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function proxyType() external pure returns (uint proxyTypeId) { // Upgradeable proxy proxyTypeId = 2; } function implementation() public view returns (address); } contract OwnableProxy { bytes32 constant OWNER_SLOT = keccak256("proxy.owner"); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() internal { _transferOwnership(msg.sender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns(address _owner) { bytes32 position = OWNER_SLOT; assembly { _owner := sload(position) } } modifier onlyOwner() { require(isOwner(), "NOT_OWNER"); _; } function isOwner() public view returns (bool) { return owner() == msg.sender; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "OwnableProxy: new owner is the zero address"); emit OwnershipTransferred(owner(), newOwner); bytes32 position = OWNER_SLOT; assembly { sstore(position, newOwner) } } } contract UpgradableProxy is OwnableProxy, Proxy { bytes32 constant IMPLEMENTATION_SLOT = keccak256("proxy.implementation"); event ProxyUpdated(address indexed previousImpl, address indexed newImpl); function() external payable { delegatedFwd(implementation(), msg.data); } function implementation() public view returns(address _impl) { bytes32 position = IMPLEMENTATION_SLOT; assembly { _impl := sload(position) } } // ACLed on onlyOwner via the call to updateImplementation() function updateAndCall(address _newProxyTo, bytes memory data) public { updateImplementation(_newProxyTo); // sometimes required to initialize the contract (bool success, bytes memory returnData) = address(this).call(data); require(success, string(returnData)); } function updateImplementation(address _newProxyTo) public onlyOwner { require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS"); require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT"); emit ProxyUpdated(implementation(), _newProxyTo); setImplementation(_newProxyTo); } function setImplementation(address _newProxyTo) private { bytes32 position = IMPLEMENTATION_SLOT; assembly { sstore(position, _newProxyTo) } } function isContract(address _target) internal view returns (bool) { if (_target == address(0)) { return false; } uint size; assembly { size := extcodesize(_target) } return size > 0; } } contract ibDFDProxy is UpgradableProxy { function name() public pure returns (string memory) { return "interest-bearing DFD"; } function symbol() public pure returns (string memory) { return "ibDFD"; } /* NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public pure returns (uint8) { return 18; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImpl","type":"address"},{"indexed":true,"internalType":"address","name":"newImpl","type":"address"}],"name":"ProxyUpdated","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"_impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526100133361001860201b60201c565b610189565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561009e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610dfe602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166100c361014660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b019050604051809103902090508181555050565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b610c66806101986000396000f3fe6080604052600436106100915760003560e01c80638da5cb5b116100595780638da5cb5b1461027d5780638f32d59b146102d457806395d89b4114610303578063d88ca2c814610393578063f2fde38b1461047b57610091565b8063025b22bc146100e957806306fdde031461013a578063313ce567146101ca5780634555d5c9146101fb5780635c60da1b14610226575b6100e761009c6104cc565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061050f565b005b3480156100f557600080fd5b506101386004803603602081101561010c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610539565b005b34801561014657600080fd5b5061014f610721565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d657600080fd5b506101df61075e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561020757600080fd5b50610210610767565b6040518082815260200191505060405180910390f35b34801561023257600080fd5b5061023b6104cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028957600080fd5b50610292610770565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e057600080fd5b506102e96107b3565b604051808215151515815260200191505060405180910390f35b34801561030f57600080fd5b506103186107f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039f57600080fd5b50610479600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103f357600080fd5b82018360208201111561040557600080fd5b8035906020019184600183028401116401000000008311171561042757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061082d565b005b34801561048757600080fd5b506104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109a0565b005b60008060405180807f70726f78792e696d706c656d656e746174696f6e000000000000000000000000815250601401905060405180910390209050805491505090565b600080825160208401856127105a03f43d604051816000823e8260008114610535578282f35b8282fd5b6105416107b3565b6105b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610656576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61065f81610a26565b6106b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610be26025913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106d36104cc565b73ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a361071e81610a78565b50565b60606040518060400160405280601481526020017f696e7465726573742d62656172696e6720444644000000000000000000000000815250905090565b60006012905090565b60006002905090565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b60003373ffffffffffffffffffffffffffffffffffffffff166107d4610770565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60606040518060400160405280600581526020017f6962444644000000000000000000000000000000000000000000000000000000815250905090565b61083682610539565b600060603073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108855780518252602082019150602081019050602083039250610862565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108e7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ec565b606091505b5091509150818190610999576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561095e578082015181840152602081019050610943565b50505050905090810190601f16801561098b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b6109a86107b3565b610a1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610a2381610ab9565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a655760009050610a73565b6000823b9050600081119150505b919050565b600060405180807f70726f78792e696d706c656d656e746174696f6e0000000000000000000000008152506014019050604051809103902090508181555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610c07602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b5e610770565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143544f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a723158207dd0f01613c1aeb8200adf2f9f166a86eb6fae68d581eb58b634543a8650cb2d64736f6c634300051100324f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373
Deployed Bytecode
0x6080604052600436106100915760003560e01c80638da5cb5b116100595780638da5cb5b1461027d5780638f32d59b146102d457806395d89b4114610303578063d88ca2c814610393578063f2fde38b1461047b57610091565b8063025b22bc146100e957806306fdde031461013a578063313ce567146101ca5780634555d5c9146101fb5780635c60da1b14610226575b6100e761009c6104cc565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061050f565b005b3480156100f557600080fd5b506101386004803603602081101561010c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610539565b005b34801561014657600080fd5b5061014f610721565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d657600080fd5b506101df61075e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561020757600080fd5b50610210610767565b6040518082815260200191505060405180910390f35b34801561023257600080fd5b5061023b6104cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028957600080fd5b50610292610770565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e057600080fd5b506102e96107b3565b604051808215151515815260200191505060405180910390f35b34801561030f57600080fd5b506103186107f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039f57600080fd5b50610479600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103f357600080fd5b82018360208201111561040557600080fd5b8035906020019184600183028401116401000000008311171561042757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061082d565b005b34801561048757600080fd5b506104ca6004803603602081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109a0565b005b60008060405180807f70726f78792e696d706c656d656e746174696f6e000000000000000000000000815250601401905060405180910390209050805491505090565b600080825160208401856127105a03f43d604051816000823e8260008114610535578282f35b8282fd5b6105416107b3565b6105b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610656576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61065f81610a26565b6106b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610be26025913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106d36104cc565b73ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a361071e81610a78565b50565b60606040518060400160405280601481526020017f696e7465726573742d62656172696e6720444644000000000000000000000000815250905090565b60006012905090565b60006002905090565b60008060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050805491505090565b60003373ffffffffffffffffffffffffffffffffffffffff166107d4610770565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60606040518060400160405280600581526020017f6962444644000000000000000000000000000000000000000000000000000000815250905090565b61083682610539565b600060603073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106108855780518252602082019150602081019050602083039250610862565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108e7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ec565b606091505b5091509150818190610999576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561095e578082015181840152602081019050610943565b50505050905090810190601f16801561098b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b6109a86107b3565b610a1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610a2381610ab9565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a655760009050610a73565b6000823b9050600081119150505b919050565b600060405180807f70726f78792e696d706c656d656e746174696f6e0000000000000000000000008152506014019050604051809103902090508181555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180610c07602b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b5e610770565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600060405180807f70726f78792e6f776e6572000000000000000000000000000000000000000000815250600b01905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143544f776e61626c6550726f78793a206e6577206f776e657220697320746865207a65726f2061646472657373a265627a7a723158207dd0f01613c1aeb8200adf2f9f166a86eb6fae68d581eb58b634543a8650cb2d64736f6c63430005110032
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.