Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BlastGovernor
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.4;
import { OwnableWithManagers } from "../access/OwnableWithManagers.sol";
import { GasMode, IBlast } from "./IBlast.sol";
/// @title Blast Governor contract
/// @author Tempe Techie
/// @notice Contract that governs Blast smart contract gas claims
contract BlastGovernor is OwnableWithManagers {
address public blastAddress; // 0x4300000000000000000000000000000000000002
address public feeReceiver;
// CONSTRUCTOR
constructor(address blastAddress_, address feeReceiver_) {
IBlast(blastAddress_).configureClaimableGas();
blastAddress = blastAddress_;
feeReceiver = feeReceiver_;
}
// READ
// read how much gas you can claim etc. per smart contract
function readGasParams(address _contractAddress) public view returns(uint256 etherSeconds, uint256 etherBalance, uint256 lastUpdated, GasMode) {
return IBlast(blastAddress).readGasParams(_contractAddress);
}
// WRITE
/// @notice Claim only fully vested gas for a given smart contract. Anyone can call this function, ETH will be sent to the fee receiver.
function claimMaxGas(address _contractAddress) external {
IBlast(blastAddress).claimMaxGas(_contractAddress, feeReceiver);
}
/// @notice Claim max gas for multiple smart contracts. Anyone can call this function, ETH will be sent to the fee receiver.
function claimMaxGasMultiple(address[] calldata _contractAddresses) external {
for (uint256 i = 0; i < _contractAddresses.length; i++) {
IBlast(blastAddress).claimMaxGas(_contractAddresses[i], feeReceiver);
}
}
/// @notice Recover ETH that is stuck in this contract. Anyone can call this function, ETH will be sent to the fee receiver.
function recoverETH() external {
(bool success, ) = feeReceiver.call{value: address(this).balance}("");
require(success, "Failed to withdraw ETH from contract");
}
// OWNER
/// @notice Change blast address
function changeBlastAddress(address _newBlastAddress) external onlyManagerOrOwner {
IBlast(_newBlastAddress).configureClaimableGas();
blastAddress = _newBlastAddress;
}
/// @notice Change fee receiver
function changeFeeReceiver(address _newFeeReceiver) external onlyManagerOrOwner {
feeReceiver = _newFeeReceiver;
}
/// @notice Change governor in a given smart contract
function changeGovernorInContract(address _newGovernor, address _contractAddress) external onlyManagerOrOwner {
IBlast(blastAddress).configureGovernorOnBehalf(_newGovernor, _contractAddress);
}
/// @notice Change governor in multiple smart contracts
function changeGovernorInMultipleContracts(address _newGovernor, address[] calldata _contractAddresses) external onlyManagerOrOwner {
uint256 cLength = _contractAddresses.length;
for (uint256 i = 0; i < cLength;) {
IBlast(blastAddress).configureGovernorOnBehalf(_newGovernor, _contractAddresses[i]);
unchecked {
i++;
}
}
}
/// @notice More gas efficient version of claimMaxGasMultiple, but only owner/manager can call it due to unchecked
function claimMaxGasMultipleOwner(address[] calldata _contractAddresses) external onlyManagerOrOwner {
uint256 cLength = _contractAddresses.length;
for (uint256 i = 0; i < cLength;) {
IBlast(blastAddress).claimMaxGas(_contractAddresses[i], feeReceiver);
unchecked {
i++;
}
}
}
// RECEIVE & FALLBACK
receive() external payable {}
fallback() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.4;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
/**
@title Extended Ownable contract with managers functionality
@author Tempe Techie
*/
abstract contract OwnableWithManagers is Ownable {
address[] public managers; // array of managers
mapping (address => bool) public isManager; // mapping of managers
// MODIFIERS
modifier onlyManagerOrOwner() {
require(isManager[msg.sender] || msg.sender == owner(), "OwnableWithManagers: caller is not a manager or owner");
_;
}
// EVENTS
event ManagerAdd(address indexed owner_, address indexed manager_);
event ManagerRemove(address indexed owner_, address indexed manager_);
// READ
function getManagers() external view returns (address[] memory) {
return managers;
}
function getManagersLength() external view returns (uint256) {
return managers.length;
}
// MANAGER
function removeYourselfAsManager() external onlyManagerOrOwner {
address manager_ = msg.sender;
isManager[manager_] = false;
uint256 length = managers.length;
for (uint256 i = 0; i < length;) {
if (managers[i] == manager_) {
managers[i] = managers[length - 1];
managers.pop();
emit ManagerRemove(msg.sender, manager_);
return;
}
unchecked {
i++;
}
}
}
// OWNER
function addManager(address manager_) external onlyOwner {
require(!isManager[manager_], "OwnableWithManagers: manager already added");
isManager[manager_] = true;
managers.push(manager_);
emit ManagerAdd(msg.sender, manager_);
}
function removeManagerByAddress(address manager_) external onlyOwner {
isManager[manager_] = false;
uint256 length = managers.length;
for (uint256 i = 0; i < length;) {
if (managers[i] == manager_) {
managers[i] = managers[length - 1];
managers.pop();
emit ManagerRemove(msg.sender, manager_);
return;
}
unchecked {
i++;
}
}
}
function removeManagerByIndex(uint256 index_) external onlyOwner {
emit ManagerRemove(msg.sender, managers[index_]);
isManager[managers[index_]] = false;
managers[index_] = managers[managers.length - 1];
managers.pop();
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.4;
enum YieldMode {
AUTOMATIC,
VOID,
CLAIMABLE
}
enum GasMode {
VOID,
CLAIMABLE
}
interface IBlast{
// configure
function configureContract(address contractAddress, YieldMode _yield, GasMode gasMode, address governor) external;
function configure(YieldMode _yield, GasMode gasMode, address governor) external;
// base configuration options
function configureClaimableYield() external;
function configureClaimableYieldOnBehalf(address contractAddress) external;
function configureAutomaticYield() external;
function configureAutomaticYieldOnBehalf(address contractAddress) external;
function configureVoidYield() external;
function configureVoidYieldOnBehalf(address contractAddress) external;
function configureClaimableGas() external;
function configureClaimableGasOnBehalf(address contractAddress) external;
function configureVoidGas() external;
function configureVoidGasOnBehalf(address contractAddress) external;
function configureGovernor(address _governor) external;
function configureGovernorOnBehalf(address _newGovernor, address contractAddress) external;
// claim yield
function claimYield(address contractAddress, address recipientOfYield, uint256 amount) external returns (uint256);
function claimAllYield(address contractAddress, address recipientOfYield) external returns (uint256);
// claim gas
function claimAllGas(address contractAddress, address recipientOfGas) external returns (uint256);
function claimGasAtMinClaimRate(address contractAddress, address recipientOfGas, uint256 minClaimRateBips) external returns (uint256);
function claimMaxGas(address contractAddress, address recipientOfGas) external returns (uint256);
function claimGas(address contractAddress, address recipientOfGas, uint256 gasToClaim, uint256 gasSecondsToConsume) external returns (uint256);
// read functions
function readClaimableYield(address contractAddress) external view returns (uint256);
function readYieldConfiguration(address contractAddress) external view returns (uint8);
function readGasParams(address contractAddress) external view returns (uint256 etherSeconds, uint256 etherBalance, uint256 lastUpdated, GasMode);
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"blastAddress_","type":"address"},{"internalType":"address","name":"feeReceiver_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner_","type":"address"},{"indexed":true,"internalType":"address","name":"manager_","type":"address"}],"name":"ManagerAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner_","type":"address"},{"indexed":true,"internalType":"address","name":"manager_","type":"address"}],"name":"ManagerRemove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"manager_","type":"address"}],"name":"addManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blastAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newBlastAddress","type":"address"}],"name":"changeBlastAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernor","type":"address"},{"internalType":"address","name":"_contractAddress","type":"address"}],"name":"changeGovernorInContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernor","type":"address"},{"internalType":"address[]","name":"_contractAddresses","type":"address[]"}],"name":"changeGovernorInMultipleContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"name":"claimMaxGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_contractAddresses","type":"address[]"}],"name":"claimMaxGasMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_contractAddresses","type":"address[]"}],"name":"claimMaxGasMultipleOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getManagers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getManagersLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"managers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"name":"readGasParams","outputs":[{"internalType":"uint256","name":"etherSeconds","type":"uint256"},{"internalType":"uint256","name":"etherBalance","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"enum GasMode","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"manager_","type":"address"}],"name":"removeManagerByAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"name":"removeManagerByIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeYourselfAsManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040523480156200001157600080fd5b50604051620016d5380380620016d5833981016040819052620000349162000138565b6200003f33620000cb565b816001600160a01b0316634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200007b57600080fd5b505af115801562000090573d6000803e3d6000fd5b5050600380546001600160a01b039586166001600160a01b0319918216179091556004805494909516931692909217909255506200016f9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013357600080fd5b919050565b600080604083850312156200014b578182fd5b62000156836200011b565b915062000166602084016200011b565b90509250929050565b611556806200017f6000396000f3fe60806040526004361061012d5760003560e01c8063b0d32934116100a5578063d570fb341161006c578063d570fb3414610332578063d6153c8a14610350578063dde798a414610370578063f2fde38b146103a0578063f3ae2415146103c0578063f883a6961461040057005b8063b0d329341461029d578063b3f00674146102bd578063b7002309146102dd578063c6d1538b146102f2578063cd2002f51461031257005b80635ab5de8a116100f45780635ab5de8a146101e85780635e7a953b14610208578063715018a6146102285780637c08b9641461023d5780638da5cb5b1461025d578063a8d088bb1461027b57005b80630614117a146101365780632d06177a1461014b5780633d39c2601461016b578063493d9274146101a857806349d3d5e1146101c857005b3661013457005b005b34801561014257600080fd5b50610134610420565b34801561015757600080fd5b50610134610166366004611268565b6104d7565b34801561017757600080fd5b5061018b61018636600461134c565b610609565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b457600080fd5b506101346101c3366004611289565b610633565b3480156101d457600080fd5b5060035461018b906001600160a01b031681565b3480156101f457600080fd5b50610134610203366004611268565b6106e2565b34801561021457600080fd5b506101346102233660046112bb565b61089b565b34801561023457600080fd5b506101346109a5565b34801561024957600080fd5b50610134610258366004611268565b6109db565b34801561026957600080fd5b506000546001600160a01b031661018b565b34801561028757600080fd5b50610290610a41565b60405161019f91906113bf565b3480156102a957600080fd5b506101346102b836600461130c565b610aa3565b3480156102c957600080fd5b5060045461018b906001600160a01b031681565b3480156102e957600080fd5b50610134610b8f565b3480156102fe57600080fd5b5061013461030d366004611268565b610c51565b34801561031e57600080fd5b5061013461032d366004611268565b610d0b565b34801561033e57600080fd5b5060015460405190815260200161019f565b34801561035c57600080fd5b5061013461036b36600461130c565b610d9b565b34801561037c57600080fd5b5061039061038b366004611268565b610ec8565b60405161019f9493929190611496565b3480156103ac57600080fd5b506101346103bb366004611268565b610f5b565b3480156103cc57600080fd5b506103f06103db366004611268565b60026020526000908152604090205460ff1681565b604051901515815260200161019f565b34801561040c57600080fd5b5061013461041b36600461134c565b610ff3565b6004546040516000916001600160a01b03169047908381818185875af1925050503d806000811461046d576040519150601f19603f3d011682016040523d82523d6000602084013e610472565b606091505b50509050806104d45760405162461bcd60e51b8152602060048201526024808201527f4661696c656420746f207769746864726177204554482066726f6d20636f6e746044820152631c9858dd60e21b60648201526084015b60405180910390fd5b50565b6000546001600160a01b031633146105015760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b03811660009081526002602052604090205460ff161561057d5760405162461bcd60e51b815260206004820152602a60248201527f4f776e61626c65576974684d616e61676572733a206d616e6167657220616c726044820152691958591e48185919195960b21b60648201526084016104cb565b6001600160a01b038116600081815260026020526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b031916841790555133917ffef4b799044e6259138adfd04ab1cca8b2442cc484dd25672ae344fa8a9e208b91a350565b6001818154811061061957600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604090205460ff168061065b57506000546001600160a01b031633145b6106775760405162461bcd60e51b81526004016104cb90611441565b600354604051630ca12c4b60e01b81526001600160a01b038481166004830152838116602483015290911690630ca12c4b90604401600060405180830381600087803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461070c5760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b0381166000908152600260205260408120805460ff19169055600154905b8181101561089657826001600160a01b03166001828154811061076457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561088e57600161078b81846114d8565b815481106107a957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600180546001600160a01b0390921691839081106107e357634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061083057634e487b7160e01b600052603160045260246000fd5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b0385169133917fc322b4d5159f72837eec184e14dde68867f91c6da39449fb9829f42121fc704d9190a3505050565b600101610731565b505050565b3360009081526002602052604090205460ff16806108c357506000546001600160a01b031633145b6108df5760405162461bcd60e51b81526004016104cb90611441565b8060005b8181101561099e576003546001600160a01b0316630ca12c4b8686868581811061091d57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906109329190611268565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561097a57600080fd5b505af115801561098e573d6000803e3d6000fd5b5050600190920191506108e39050565b5050505050565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016104cb9061140c565b6109d960006111b2565b565b3360009081526002602052604090205460ff1680610a0357506000546001600160a01b031633145b610a1f5760405162461bcd60e51b81526004016104cb90611441565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60606001805480602002602001604051908101604052809291908181526020018280548015610a9957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a7b575b5050505050905090565b60005b81811015610896576003546001600160a01b031663662aa11d848484818110610adf57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610af49190611268565b6004805460405160e085901b6001600160e01b03191681526001600160a01b0393841692810192909252919091166024820152604401602060405180830381600087803b158015610b4457600080fd5b505af1158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190611364565b5080610b87816114ef565b915050610aa6565b3360009081526002602052604090205460ff1680610bb757506000546001600160a01b031633145b610bd35760405162461bcd60e51b81526004016104cb90611441565b336000818152600260205260408120805460ff19169055600154905b8181101561089657826001600160a01b031660018281548110610c2257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c4957600161078b81846114d8565b600101610bef565b3360009081526002602052604090205460ff1680610c7957506000546001600160a01b031633145b610c955760405162461bcd60e51b81526004016104cb90611441565b806001600160a01b0316634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cd057600080fd5b505af1158015610ce4573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555050565b6003546004805460405163662aa11d60e01b81526001600160a01b0385811693820193909352908216602482015291169063662aa11d90604401602060405180830381600087803b158015610d5f57600080fd5b505af1158015610d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d979190611364565b5050565b3360009081526002602052604090205460ff1680610dc357506000546001600160a01b031633145b610ddf5760405162461bcd60e51b81526004016104cb90611441565b8060005b81811015610ec2576003546001600160a01b031663662aa11d858584818110610e1c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610e319190611268565b6004805460405160e085901b6001600160e01b03191681526001600160a01b0393841692810192909252919091166024820152604401602060405180830381600087803b158015610e8157600080fd5b505af1158015610e95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb99190611364565b50600101610de3565b50505050565b600354604051633779e62960e21b81526001600160a01b038381166004830152600092839283928392169063dde798a49060240160806040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c919061137c565b93509350935093509193509193565b6000546001600160a01b03163314610f855760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b038116610fea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104cb565b6104d4816111b2565b6000546001600160a01b0316331461101d5760405162461bcd60e51b81526004016104cb9061140c565b6001818154811061103e57634e487b7160e01b600052603260045260246000fd5b60009182526020822001546040516001600160a01b039091169133917fc322b4d5159f72837eec184e14dde68867f91c6da39449fb9829f42121fc704d9190a3600060026000600184815481106110a557634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600180546110e89082906114d8565b8154811061110657634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600180546001600160a01b03909216918390811061114057634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061118d57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b031916905501905550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461121957600080fd5b919050565b60008083601f84011261122f578182fd5b50813567ffffffffffffffff811115611246578182fd5b6020830191508360208260051b850101111561126157600080fd5b9250929050565b600060208284031215611279578081fd5b61128282611202565b9392505050565b6000806040838503121561129b578081fd5b6112a483611202565b91506112b260208401611202565b90509250929050565b6000806000604084860312156112cf578081fd5b6112d884611202565b9250602084013567ffffffffffffffff8111156112f3578182fd5b6112ff8682870161121e565b9497909650939450505050565b6000806020838503121561131e578182fd5b823567ffffffffffffffff811115611334578283fd5b6113408582860161121e565b90969095509350505050565b60006020828403121561135d578081fd5b5035919050565b600060208284031215611375578081fd5b5051919050565b60008060008060808587031215611391578081fd5b8451935060208501519250604085015191506060850151600281106113b4578182fd5b939692955090935050565b6020808252825182820181905260009190848201906040850190845b818110156114005783516001600160a01b0316835292840192918401916001016113db565b50909695505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526035908201527f4f776e61626c65576974684d616e61676572733a2063616c6c6572206973206e60408201527437ba10309036b0b730b3b2b91037b91037bbb732b960591b606082015260800190565b848152602081018490526040810183905260808101600283106114c957634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6000828210156114ea576114ea61150a565b500390565b60006000198214156115035761150361150a565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212206311b8b52f2fccb3d15df784729c939243982dc13f605503a9b77bcb20ea163464736f6c634300080400330000000000000000000000004300000000000000000000000000000000000002000000000000000000000000e08033d0bdbcebe7e619c3ae165e7957ab577961
Deployed Bytecode
0x60806040526004361061012d5760003560e01c8063b0d32934116100a5578063d570fb341161006c578063d570fb3414610332578063d6153c8a14610350578063dde798a414610370578063f2fde38b146103a0578063f3ae2415146103c0578063f883a6961461040057005b8063b0d329341461029d578063b3f00674146102bd578063b7002309146102dd578063c6d1538b146102f2578063cd2002f51461031257005b80635ab5de8a116100f45780635ab5de8a146101e85780635e7a953b14610208578063715018a6146102285780637c08b9641461023d5780638da5cb5b1461025d578063a8d088bb1461027b57005b80630614117a146101365780632d06177a1461014b5780633d39c2601461016b578063493d9274146101a857806349d3d5e1146101c857005b3661013457005b005b34801561014257600080fd5b50610134610420565b34801561015757600080fd5b50610134610166366004611268565b6104d7565b34801561017757600080fd5b5061018b61018636600461134c565b610609565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b457600080fd5b506101346101c3366004611289565b610633565b3480156101d457600080fd5b5060035461018b906001600160a01b031681565b3480156101f457600080fd5b50610134610203366004611268565b6106e2565b34801561021457600080fd5b506101346102233660046112bb565b61089b565b34801561023457600080fd5b506101346109a5565b34801561024957600080fd5b50610134610258366004611268565b6109db565b34801561026957600080fd5b506000546001600160a01b031661018b565b34801561028757600080fd5b50610290610a41565b60405161019f91906113bf565b3480156102a957600080fd5b506101346102b836600461130c565b610aa3565b3480156102c957600080fd5b5060045461018b906001600160a01b031681565b3480156102e957600080fd5b50610134610b8f565b3480156102fe57600080fd5b5061013461030d366004611268565b610c51565b34801561031e57600080fd5b5061013461032d366004611268565b610d0b565b34801561033e57600080fd5b5060015460405190815260200161019f565b34801561035c57600080fd5b5061013461036b36600461130c565b610d9b565b34801561037c57600080fd5b5061039061038b366004611268565b610ec8565b60405161019f9493929190611496565b3480156103ac57600080fd5b506101346103bb366004611268565b610f5b565b3480156103cc57600080fd5b506103f06103db366004611268565b60026020526000908152604090205460ff1681565b604051901515815260200161019f565b34801561040c57600080fd5b5061013461041b36600461134c565b610ff3565b6004546040516000916001600160a01b03169047908381818185875af1925050503d806000811461046d576040519150601f19603f3d011682016040523d82523d6000602084013e610472565b606091505b50509050806104d45760405162461bcd60e51b8152602060048201526024808201527f4661696c656420746f207769746864726177204554482066726f6d20636f6e746044820152631c9858dd60e21b60648201526084015b60405180910390fd5b50565b6000546001600160a01b031633146105015760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b03811660009081526002602052604090205460ff161561057d5760405162461bcd60e51b815260206004820152602a60248201527f4f776e61626c65576974684d616e61676572733a206d616e6167657220616c726044820152691958591e48185919195960b21b60648201526084016104cb565b6001600160a01b038116600081815260026020526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b031916841790555133917ffef4b799044e6259138adfd04ab1cca8b2442cc484dd25672ae344fa8a9e208b91a350565b6001818154811061061957600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604090205460ff168061065b57506000546001600160a01b031633145b6106775760405162461bcd60e51b81526004016104cb90611441565b600354604051630ca12c4b60e01b81526001600160a01b038481166004830152838116602483015290911690630ca12c4b90604401600060405180830381600087803b1580156106c657600080fd5b505af11580156106da573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461070c5760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b0381166000908152600260205260408120805460ff19169055600154905b8181101561089657826001600160a01b03166001828154811061076457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561088e57600161078b81846114d8565b815481106107a957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600180546001600160a01b0390921691839081106107e357634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061083057634e487b7160e01b600052603160045260246000fd5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b0385169133917fc322b4d5159f72837eec184e14dde68867f91c6da39449fb9829f42121fc704d9190a3505050565b600101610731565b505050565b3360009081526002602052604090205460ff16806108c357506000546001600160a01b031633145b6108df5760405162461bcd60e51b81526004016104cb90611441565b8060005b8181101561099e576003546001600160a01b0316630ca12c4b8686868581811061091d57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906109329190611268565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561097a57600080fd5b505af115801561098e573d6000803e3d6000fd5b5050600190920191506108e39050565b5050505050565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016104cb9061140c565b6109d960006111b2565b565b3360009081526002602052604090205460ff1680610a0357506000546001600160a01b031633145b610a1f5760405162461bcd60e51b81526004016104cb90611441565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60606001805480602002602001604051908101604052809291908181526020018280548015610a9957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a7b575b5050505050905090565b60005b81811015610896576003546001600160a01b031663662aa11d848484818110610adf57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610af49190611268565b6004805460405160e085901b6001600160e01b03191681526001600160a01b0393841692810192909252919091166024820152604401602060405180830381600087803b158015610b4457600080fd5b505af1158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190611364565b5080610b87816114ef565b915050610aa6565b3360009081526002602052604090205460ff1680610bb757506000546001600160a01b031633145b610bd35760405162461bcd60e51b81526004016104cb90611441565b336000818152600260205260408120805460ff19169055600154905b8181101561089657826001600160a01b031660018281548110610c2257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c4957600161078b81846114d8565b600101610bef565b3360009081526002602052604090205460ff1680610c7957506000546001600160a01b031633145b610c955760405162461bcd60e51b81526004016104cb90611441565b806001600160a01b0316634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cd057600080fd5b505af1158015610ce4573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555050565b6003546004805460405163662aa11d60e01b81526001600160a01b0385811693820193909352908216602482015291169063662aa11d90604401602060405180830381600087803b158015610d5f57600080fd5b505af1158015610d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d979190611364565b5050565b3360009081526002602052604090205460ff1680610dc357506000546001600160a01b031633145b610ddf5760405162461bcd60e51b81526004016104cb90611441565b8060005b81811015610ec2576003546001600160a01b031663662aa11d858584818110610e1c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610e319190611268565b6004805460405160e085901b6001600160e01b03191681526001600160a01b0393841692810192909252919091166024820152604401602060405180830381600087803b158015610e8157600080fd5b505af1158015610e95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb99190611364565b50600101610de3565b50505050565b600354604051633779e62960e21b81526001600160a01b038381166004830152600092839283928392169063dde798a49060240160806040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c919061137c565b93509350935093509193509193565b6000546001600160a01b03163314610f855760405162461bcd60e51b81526004016104cb9061140c565b6001600160a01b038116610fea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104cb565b6104d4816111b2565b6000546001600160a01b0316331461101d5760405162461bcd60e51b81526004016104cb9061140c565b6001818154811061103e57634e487b7160e01b600052603260045260246000fd5b60009182526020822001546040516001600160a01b039091169133917fc322b4d5159f72837eec184e14dde68867f91c6da39449fb9829f42121fc704d9190a3600060026000600184815481106110a557634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600180546110e89082906114d8565b8154811061110657634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600180546001600160a01b03909216918390811061114057634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061118d57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b031916905501905550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461121957600080fd5b919050565b60008083601f84011261122f578182fd5b50813567ffffffffffffffff811115611246578182fd5b6020830191508360208260051b850101111561126157600080fd5b9250929050565b600060208284031215611279578081fd5b61128282611202565b9392505050565b6000806040838503121561129b578081fd5b6112a483611202565b91506112b260208401611202565b90509250929050565b6000806000604084860312156112cf578081fd5b6112d884611202565b9250602084013567ffffffffffffffff8111156112f3578182fd5b6112ff8682870161121e565b9497909650939450505050565b6000806020838503121561131e578182fd5b823567ffffffffffffffff811115611334578283fd5b6113408582860161121e565b90969095509350505050565b60006020828403121561135d578081fd5b5035919050565b600060208284031215611375578081fd5b5051919050565b60008060008060808587031215611391578081fd5b8451935060208501519250604085015191506060850151600281106113b4578182fd5b939692955090935050565b6020808252825182820181905260009190848201906040850190845b818110156114005783516001600160a01b0316835292840192918401916001016113db565b50909695505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526035908201527f4f776e61626c65576974684d616e61676572733a2063616c6c6572206973206e60408201527437ba10309036b0b730b3b2b91037b91037bbb732b960591b606082015260800190565b848152602081018490526040810183905260808101600283106114c957634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6000828210156114ea576114ea61150a565b500390565b60006000198214156115035761150361150a565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212206311b8b52f2fccb3d15df784729c939243982dc13f605503a9b77bcb20ea163464736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004300000000000000000000000000000000000002000000000000000000000000e08033d0bdbcebe7e619c3ae165e7957ab577961
-----Decoded View---------------
Arg [0] : blastAddress_ (address): 0x4300000000000000000000000000000000000002
Arg [1] : feeReceiver_ (address): 0xE08033d0bDBcEbE7e619c3aE165E7957Ab577961
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004300000000000000000000000000000000000002
Arg [1] : 000000000000000000000000e08033d0bdbcebe7e619c3ae165e7957ab577961
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.