Address Contract Partially Verified
Address
0xb50B3d5B519e5dF96275A09deccC6080dC0800d9
Balance
0 ETH
Nonce
1
Code Size
8234 bytes
Creator
0x69B253df...C01E at tx 0xc82e146e...d4dd87
Indexed Transactions
0
Contract Bytecode
8234 bytes
0x60806040526004361061023a5760003560e01c8063a22cb4651161012e578063d43cc84f116100ab578063e985e9c51161006f578063e985e9c51461068c578063ea038bfd146106d5578063f242432a146106f0578063f2fde38b14610710578063fe99049a1461073057600080fd5b8063d43cc84f146105ff578063dab5f34014610624578063dce19f7d14610644578063e34951f914610659578063e6aae0ec1461066c57600080fd5b8063ba0b22a8116100f2578063ba0b22a814610569578063c0413c6814610589578063c8befe2b146105b6578063d00d6838146105d6578063d3a85c1b146105e957600080fd5b8063a22cb465146104d8578063ac23cdfd146104f8578063ad603ac01461050d578063b187bd2614610528578063b9d77bfc1461054957600080fd5b806346634818116101bc5780638da5cb5b116101805780638da5cb5b1461044a578063942389c71461046a57806395d89b41146104805780639dd06e9a146104955780639ea034ee146104c257600080fd5b806346634818146103a05780635b2ad109146103c05780635b5bee7b146103f85780636fbf86f214610415578063715018a61461043557600080fd5b80630e89341c116102035780630e89341c1461031c5780631f227aca1461033c5780632db82eef1461035157806330b9af981461036b5780633484af431461038057600080fd5b8062fdd58e1461023f57806301ffc9a71461029357806302a3631d146102c357806302fe5305146102e557806306fdde0314610307575b600080fd5b34801561024b57600080fd5b5061028061025a366004611abc565b6001600160a01b0391909116600090815260208181526040808320938352929052205490565b6040519081526020015b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004611afc565b610750565b604051901515815260200161028a565b3480156102cf57600080fd5b506102d86107a2565b60405161028a9190611b20565b3480156102f157600080fd5b50610305610300366004611bbe565b610830565b005b34801561031357600080fd5b506102d86108a7565b34801561032857600080fd5b506102d8610337366004611c00565b6108b4565b34801561034857600080fd5b50610305610948565b34801561035d57600080fd5b506009546102b39060ff1681565b34801561037757600080fd5b506103056109aa565b34801561038c57600080fd5b5061030561039b366004611c00565b610a78565b3480156103ac57600080fd5b506102b36103bb366004611c19565b610cd6565b3480156103cc57600080fd5b50600a546103e0906001600160a01b031681565b6040516001600160a01b03909116815260200161028a565b34801561040457600080fd5b50610280682086ac35105260000081565b34801561042157600080fd5b506102b3610430366004611c19565b610d5f565b34801561044157600080fd5b50610305610def565b34801561045657600080fd5b506004546103e0906001600160a01b031681565b34801561047657600080fd5b5061028060055481565b34801561048c57600080fd5b506102d8610e24565b3480156104a157600080fd5b506102806104b0366004611c19565b600b6020526000908152604090205481565b3480156104ce57600080fd5b5061028060065481565b3480156104e457600080fd5b506103056104f3366004611c42565b610e31565b34801561050457600080fd5b50610305610e9d565b34801561051957600080fd5b5061028066b1a2bc2ec5000081565b34801561053457600080fd5b506004546102b390600160a01b900460ff1681565b34801561055557600080fd5b50610305610564366004611c79565b610f34565b34801561057557600080fd5b50610305610584366004611c19565b611020565b34801561059557600080fd5b506102806105a4366004611c19565b600c6020526000908152604090205481565b3480156105c257600080fd5b506103056105d1366004611c19565b611073565b6103056105e4366004611c00565b6110c0565b3480156105f557600080fd5b5061028060075481565b34801561060b57600080fd5b506009546103e09061010090046001600160a01b031681565b34801561063057600080fd5b5061030561063f366004611c00565b61125d565b34801561065057600080fd5b5061030561128d565b610305610667366004611c9b565b61137e565b34801561067857600080fd5b506102b3610687366004611c19565b611544565b34801561069857600080fd5b506102b36106a7366004611d10565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b3480156106e157600080fd5b5061028066f523226980800081565b3480156106fc57600080fd5b5061030561070b366004611d43565b611590565b34801561071c57600080fd5b5061030561072b366004611c19565b61168d565b34801561073c57600080fd5b5061030561074b366004611dbb565b6116eb565b60006301ffc9a760e01b6001600160e01b0319831614806107815750636cdb3d1360e11b6001600160e01b03198316145b8061079c57506303a24d0760e21b6001600160e01b03198316145b92915050565b600880546107af90611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546107db90611dfd565b80156108285780601f106107fd57610100808354040283529160200191610828565b820191906000526020600020905b81548152906001019060200180831161080b57829003601f168201915b505050505081565b6004546001600160a01b0316331461085b57604051632e6c18c960e11b815260040160405180910390fd5b61086760088383611a07565b5060017f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b838360405161089b929190611e60565b60405180910390a25050565b600280546107af90611dfd565b6060600880546108c390611dfd565b80601f01602080910402602001604051908101604052809291908181526020018280546108ef90611dfd565b801561093c5780601f106109115761010080835404028352916020019161093c565b820191906000526020600020905b81548152906001019060200180831161091f57829003601f168201915b50505050509050919050565b6004546001600160a01b0316331461097357604051632e6c18c960e11b815260040160405180910390fd5b600454600160a01b900460ff1615610994576004805460ff60a01b19169055565b6004805460ff60a01b1916600160a01b1790555b565b6004546001600160a01b031633146109d557604051632e6c18c960e11b815260040160405180910390fd5b6040514790600090339083908381818185875af1925050503d8060008114610a19576040519150601f19603f3d011682016040523d82523d6000602084013e610a1e565b606091505b5050905080610a745760405162461bcd60e51b815260206004820181905260248201527f4572726f72207768696c65207472616e7366657272696e672062616c616e636560448201526064015b60405180910390fd5b5050565b3233148015610a865750333b155b610aa25760405162461bcd60e51b8152600401610a6b90611e7c565b600060055411610ac45760405162461bcd60e51b8152600401610a6b90611ea2565b6000610ad982682086ac351052600000611edd565b600a546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611efc565b1015610b905760405162461bcd60e51b8152602060048201526015602482015274139bdd08195b9bdd59da0812185cda0813dddb9959605a1b6044820152606401610a6b565b600a54604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190611efc565b1015610c505760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420616c6c6f7765642068617368000000000000006044820152606401610a6b565b600a546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190611f15565b50610a74338361187d565b600a54604051636eb1769f60e11b81526001600160a01b038381166004830152306024830152600092682086ac3510526000009291169063dd62ed3e90604401602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190611efc565b101592915050565b600a546040516370a0823160e01b81526001600160a01b0383811660048301526000928392682086ac35105260000092909116906370a08231906024015b602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611efc565b610de89190611f32565b1192915050565b6004546001600160a01b03163314610e1a57604051632e6c18c960e11b815260040160405180910390fd5b6109a86000611902565b600380546107af90611dfd565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6004546001600160a01b03163314610ec857604051632e6c18c960e11b815260040160405180910390fd5b60095460ff1615610f1b5760405162461bcd60e51b815260206004820152601a60248201527f416c7265616479207065726d616e656e746c79206c6f636b65640000000000006044820152606401610a6b565b600060058190556006556009805460ff19166001179055565b6004546001600160a01b03163314610f5f57604051632e6c18c960e11b815260040160405180910390fd5b60095460009060ff1615610fb55760405162461bcd60e51b815260206004820152601e60248201527f4d696e7420737461746573207065726d616e656e746c79206c6f636b656400006044820152606401610a6b565b82600003610fc65750600581905560015b82600103610fd75750600681905560015b8061101b5760405162461bcd60e51b8152602060048201526014602482015273496e636f727265637420706172616d657465727360601b6044820152606401610a6b565b505050565b6004546001600160a01b0316331461104b57604051632e6c18c960e11b815260040160405180910390fd5b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6004546001600160a01b0316331461109e57604051632e6c18c960e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b32331480156110ce5750333b155b6110ea5760405162461bcd60e51b8152600401610a6b90611e7c565b60006006541161110c5760405162461bcd60e51b8152600401610a6b90611ea2565b336000818152600b60205260408082205460095491516370a0823160e01b8152600481019490945291926101009091046001600160a01b0316906370a0823190602401602060405180830381865afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111909190611efc565b61119a9190611f32565b116111df5760405162461bcd60e51b81526020600482015260156024820152744e6f2052656d61696e696e67204f47204d696e747360581b6044820152606401610a6b565b60006111f28266b1a2bc2ec50000611edd565b90508034101561123e5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000818152600b60205260409020805484019055610a74908361187d565b6004546001600160a01b0316331461128857604051632e6c18c960e11b815260040160405180910390fd5b600755565b6004546001600160a01b031633146112b857604051632e6c18c960e11b815260040160405180910390fd5b600a546040516370a0823160e01b81523060048201526001600160a01b039091169063cbd4882b9082906370a0823190602401602060405180830381865afa158015611308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132c9190611efc565b6040518263ffffffff1660e01b815260040161134a91815260200190565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050565b323314801561138c5750333b155b6113a85760405162461bcd60e51b8152600401610a6b90611e7c565b6000600654116113ca5760405162461bcd60e51b8152600401610a6b90611ea2565b61143f828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506007546040516bffffffffffffffffffffffff193360601b166020820152909250603401905060405160208183030381529060405280519060200120611954565b6114775760405162461bcd60e51b8152602060048201526009602482015268139bdd081bdb88135360ba1b6044820152606401610a6b565b336000908152600c6020526040902054156114c85760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e48135308135a5b9d1959607a1b6044820152606401610a6b565b66f52322698080003410156115195760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da08115d1a08185d1d1858da1959604a1b6044820152606401610a6b565b336000908152600c6020526040812080549161153483611f49565b9190505550610a7433600161187d565b6001600160a01b038181166000818152600b60205260408082205460095491516370a0823160e01b815260048101949094529193849361010090920416906370a0823190602401610d9d565b61159c868686866116eb565b6001600160a01b0385163b156116375760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e61906115e49033908b908a908a908a908a90600401611f62565b6020604051808303816000875af1158015611603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116279190611fa9565b6001600160e01b03191614611644565b6001600160a01b03851615155b6116855760405162461bcd60e51b81526020600482015260126024820152712ab739b0b332902232b9ba34b730ba34b7b760711b6044820152606401610a6b565b505050505050565b6004546001600160a01b031633146116b857604051632e6c18c960e11b815260040160405180910390fd5b6001600160a01b0381166116df57604051631a10c9a360e21b815260040160405180910390fd5b6116e881611902565b50565b600454600160a01b900460ff16156117455760405162461bcd60e51b815260206004820152601f60248201527f526f636b6574506173732069732063757272656e746c79206c6f636b65642e006044820152606401610a6b565b336001600160a01b038516148061177f57506001600160a01b038416600090815260016020908152604080832033845290915290205460ff165b6117bf5760405162461bcd60e51b81526020600482015260116024820152704c61636b73205065726d697373696f6e7360781b6044820152606401610a6b565b6001600160a01b038416600090815260208181526040808320858452909152812080548392906117f0908490611f32565b90915550506001600160a01b03831660009081526020818152604080832085845290915281208054839290611826908490611fc6565b90915550506040805160018152602081018390526001600160a01b03808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6001600160a01b03821660009081526020818152604080832060018452909152812080548392906118af908490611fc6565b90915550506040805160018152602081018390526001600160a01b0384169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82516000908290825b818110156119fb57600087828151811061197957611979611fde565b602002602001015190508084116119bb5760408051602081018690529081018290526060016040516020818303038152906040528051906020012093506119e8565b60408051602081018390529081018590526060016040516020818303038152906040528051906020012093505b50806119f381611f49565b91505061195d565b50509092149392505050565b828054611a1390611dfd565b90600052602060002090601f016020900481019282611a355760008555611a7b565b82601f10611a4e5782800160ff19823516178555611a7b565b82800160010185558215611a7b579182015b82811115611a7b578235825591602001919060010190611a60565b50611a87929150611a8b565b5090565b5b80821115611a875760008155600101611a8c565b80356001600160a01b0381168114611ab757600080fd5b919050565b60008060408385031215611acf57600080fd5b611ad883611aa0565b946020939093013593505050565b6001600160e01b0319811681146116e857600080fd5b600060208284031215611b0e57600080fd5b8135611b1981611ae6565b9392505050565b600060208083528351808285015260005b81811015611b4d57858101830151858201604001528201611b31565b81811115611b5f576000604083870101525b50601f01601f1916929092016040019392505050565b60008083601f840112611b8757600080fd5b50813567ffffffffffffffff811115611b9f57600080fd5b602083019150836020828501011115611bb757600080fd5b9250929050565b60008060208385031215611bd157600080fd5b823567ffffffffffffffff811115611be857600080fd5b611bf485828601611b75565b90969095509350505050565b600060208284031215611c1257600080fd5b5035919050565b600060208284031215611c2b57600080fd5b611b1982611aa0565b80151581146116e857600080fd5b60008060408385031215611c5557600080fd5b611c5e83611aa0565b91506020830135611c6e81611c34565b809150509250929050565b60008060408385031215611c8c57600080fd5b50508035926020909101359150565b60008060208385031215611cae57600080fd5b823567ffffffffffffffff80821115611cc657600080fd5b818501915085601f830112611cda57600080fd5b813581811115611ce957600080fd5b8660208260051b8501011115611cfe57600080fd5b60209290920196919550909350505050565b60008060408385031215611d2357600080fd5b611d2c83611aa0565b9150611d3a60208401611aa0565b90509250929050565b60008060008060008060a08789031215611d5c57600080fd5b611d6587611aa0565b9550611d7360208801611aa0565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d9d57600080fd5b611da989828a01611b75565b979a9699509497509295939492505050565b60008060008060808587031215611dd157600080fd5b611dda85611aa0565b9350611de860208601611aa0565b93969395505050506040820135916060013590565b600181811c90821680611e1157607f821691505b602082108103611e3157634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611e74602083018486611e37565b949350505050565b6020808252600c908201526b4e6f20436f6e74726163747360a01b604082015260600190565b6020808252600b908201526a14d85b194810db1bdcd95960aa1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611ef757611ef7611ec7565b500290565b600060208284031215611f0e57600080fd5b5051919050565b600060208284031215611f2757600080fd5b8151611b1981611c34565b600082821015611f4457611f44611ec7565b500390565b600060018201611f5b57611f5b611ec7565b5060010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a060808201819052600090611f9d9083018486611e37565b98975050505050505050565b600060208284031215611fbb57600080fd5b8151611b1981611ae6565b60008219821115611fd957611fd9611ec7565b500190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220edf5ca49a9dcc532119d8df01ae45931fb20cc043ac077509b14bd246f36301d64736f6c634300080d0033
Verified Source Code Partial Match
Compiler: v0.8.13+commit.abaa5c0e
EVM: london
Optimization: Yes (200 runs)
RocketPass.sol 276 lines
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.13;
error CallerNotOwner();
error NewOwnerAddressZero();
abstract contract ERC1155SingleTokenPausable {
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 amount);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
event URI(string value, uint256 indexed id);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
mapping(address => mapping(uint256 => uint256)) private _balanceOf;
mapping(address => mapping(address => bool)) private _isApprovedForAll;
string public name;
string public symbol;
address public owner;
bool public isPaused;
constructor (string memory _name, string memory _symbol){
name = _name;
symbol = _symbol;
_transferOwnership(msg.sender);
}
function uri(uint256 id) public view virtual returns (string memory);
function balanceOf(address _address, uint256 id) public view returns (uint256) {
return _balanceOf[_address][id];
}
function isApprovedForAll(address _owner, address operator) public view returns (bool) {
return _isApprovedForAll[_owner][operator];
}
function setApprovalForAll(address operator, bool approved) public {
_isApprovedForAll[msg.sender][operator] = approved;
emit ApprovalForAll(msg.sender, operator, approved);
}
function transferFrom(address from, address to, uint256 id, uint256 amount) public {
require(!isPaused, "RocketPass is currently locked.");
require(msg.sender == from || _isApprovedForAll[from][msg.sender], "Lacks Permissions");
_balanceOf[from][id] -= amount;
_balanceOf[to][id] += amount;
emit TransferSingle(msg.sender, from, to, 1, amount);
}
function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) public {
transferFrom(from, to, id, amount);
require(to.code.length == 0 ? to != address(0)
: ERC1155TokenReceiver(to).onERC1155Received(msg.sender, from, id, amount, data) ==
ERC1155TokenReceiver.onERC1155Received.selector,
"Unsafe Destination"
);
}
function _mint(address to, uint256 amount) internal {
_balanceOf[to][1] += amount;
emit TransferSingle(msg.sender, address(0), to, 1, amount);
}
function _safeMint(address to, uint256 amount, bytes memory data) internal {
_mint(to, amount);
require(to.code.length == 0 ? to != address(0)
: ERC1155TokenReceiver(to).onERC1155Received(msg.sender, address(0), 1, amount, data) ==
ERC1155TokenReceiver.onERC1155Received.selector,
"Unsafe Destination"
);
}
function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {
return
interfaceId == 0x01ffc9a7 ||
interfaceId == 0xd9b67a26 ||
interfaceId == 0x0e89341c;
}
function flipPauseState() external onlyOwner {
if (isPaused){
delete isPaused;
} else {
isPaused = true;
}
}
function renounceOwnership() public onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public onlyOwner {
if (newOwner == address(0)) revert NewOwnerAddressZero();
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal {
address oldOwner = owner;
owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
modifier onlyOwner() {
if (owner != msg.sender) revert CallerNotOwner();
_;
}
}
abstract contract ERC1155TokenReceiver {
function onERC1155Received(address, address, uint256, uint256, bytes calldata) external virtual returns (bytes4) {
return ERC1155TokenReceiver.onERC1155Received.selector;
}
}
interface IOGMiner {
function balanceOf(address owner) external view returns (uint256);
}
interface IHASH{
function balanceOf(address account) external view returns (uint256);
function burnHash(uint256 _amount) external;
function approve(address spender, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}
contract RocketPass is ERC1155SingleTokenPausable {
uint256 public constant hashPrice = 600 ether;
uint256 public constant ethOGPrice = .05 ether;
uint256 public constant ethRLPrice = .069 ether;
uint256 public stateHashMint;
uint256 public stateEthMint;
bytes32 public RLMerkleRoot;
string public passURI = "ipfs://QmbtHrneD8JnBtS5YFPfjaiXKexhs3DkYzP3SKg9ypqpVY";
bool public permanentlyClosedMint;
IOGMiner public og;
IHASH public hashpower;
mapping(address => uint256) public OGMints;
mapping(address => uint256) public RLMints;
constructor(address _hContract, address _ogContract) ERC1155SingleTokenPausable("BMC Rocket Pass", "RKTPASS"){
og = IOGMiner(_ogContract);
hashpower = IHASH(_hContract);
_mint(msg.sender, 100);
}
modifier onlyHuman() {
require(tx.origin == msg.sender && msg.sender.code.length == 0, "No Contracts");
_;
}
function mintWithHash(uint256 _amount) external onlyHuman {
require(stateHashMint > 0, "Sale Closed");
uint256 hashToBurn = hashPrice*_amount;
require(hashpower.balanceOf(msg.sender)>=hashToBurn, "Not enough Hash Owned");
require(hashpower.allowance(msg.sender, address(this)) >= hashToBurn, "Insufficient allowed hash");
hashpower.transferFrom(msg.sender, address(this), hashToBurn);
_mint(msg.sender, _amount);
}
function mintWithOG(uint256 _amount) external payable onlyHuman {
require(stateEthMint > 0, "Sale Closed");
require(og.balanceOf(msg.sender) - OGMints[msg.sender] > 0, "No Remaining OG Mints");
uint256 costEth = ethOGPrice * _amount;
require(msg.value >= costEth, "Not enough Eth attached");
unchecked { // Cannot overflow since we checked they have sufficient OG balance and ETH
OGMints[msg.sender] += _amount;
}
_mint(msg.sender, _amount);
}
function mintRL(bytes32[] calldata _proof) external payable onlyHuman {
require(stateEthMint > 0, "Sale Closed");
require(verifyRL(_proof, RLMerkleRoot, keccak256(abi.encodePacked(msg.sender))), "Not on ML");
require(RLMints[msg.sender] == 0, "Already ML Minted");
require(msg.value >= ethRLPrice, "Not enough Eth attached");
RLMints[msg.sender]++;
_mint(msg.sender, 1);
}
function setState(uint256 _category, uint256 _value) external onlyOwner {
bool adjusted;
require(!permanentlyClosedMint, "Mint states permanently locked");
if (_category == 0){
stateHashMint = _value;
adjusted = true;
}
if (_category == 1){
stateEthMint = _value;
adjusted = true;
}
require(adjusted, "Incorrect parameters");
}
function permanentlyCloseMint() external onlyOwner {
require(!permanentlyClosedMint, "Already permanently locked");
delete stateHashMint;
delete stateEthMint;
permanentlyClosedMint = true;
}
function BurnTheHash() external onlyOwner {
hashpower.burnHash(hashpower.balanceOf(address(this)));
}
function setURI(string calldata _newURI) external onlyOwner {
passURI = _newURI;
emit URI(_newURI, 1);
}
function setRoot(bytes32 _newROOT) external onlyOwner {
RLMerkleRoot = _newROOT;
}
function setHASHPOWER(address _address) external onlyOwner {
hashpower = IHASH(_address);
}
function setOG(address _address) external onlyOwner {
og = IOGMiner(_address);
}
function verifyHashBalance(address _address) public view returns (bool){
return (hashpower.balanceOf(_address) - hashPrice) > 0;
}
function verifyHashApproved(address _address) public view returns (bool){
return hashpower.allowance(_address, address(this)) >= hashPrice;
}
function verifyOG(address _address) public view returns (bool){
return (og.balanceOf(_address) - OGMints[_address]) > 0;
}
function verifyRL(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {
bytes32 computedHash = leaf;
uint256 iterations = proof.length;
for (uint256 i; i < iterations; i++) {
bytes32 proofElement = proof[i];
if (computedHash <= proofElement) {
computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
} else {
computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
}
}
return computedHash == root;
}
function uri(uint256 id) public view override returns (string memory){
return passURI;
}
function withdrawFunding() external onlyOwner {
uint256 currentBalance = address(this).balance;
(bool sent, ) = address(msg.sender).call{value: currentBalance}('');
require(sent,"Error while transferring balance");
}
}
Read Contract
OGMints 0x9dd06e9a → uint256
RLMerkleRoot 0xd3a85c1b → bytes32
RLMints 0xc0413c68 → uint256
balanceOf 0x00fdd58e → uint256
ethOGPrice 0xad603ac0 → uint256
ethRLPrice 0xea038bfd → uint256
hashPrice 0x5b5bee7b → uint256
hashpower 0x5b2ad109 → address
isApprovedForAll 0xe985e9c5 → bool
isPaused 0xb187bd26 → bool
name 0x06fdde03 → string
og 0xd43cc84f → address
owner 0x8da5cb5b → address
passURI 0x02a3631d → string
permanentlyClosedMint 0x2db82eef → bool
stateEthMint 0x9ea034ee → uint256
stateHashMint 0x942389c7 → uint256
supportsInterface 0x01ffc9a7 → bool
symbol 0x95d89b41 → string
uri 0x0e89341c → string
verifyHashApproved 0x46634818 → bool
verifyHashBalance 0x6fbf86f2 → bool
verifyOG 0xe6aae0ec → bool
Write Contract 17 functions
These functions modify contract state and require a wallet transaction to execute.
BurnTheHash 0xdce19f7d
No parameters
flipPauseState 0x1f227aca
No parameters
mintRL 0xe34951f9
bytes32[] _proof
mintWithHash 0x3484af43
uint256 _amount
mintWithOG 0xd00d6838
uint256 _amount
permanentlyCloseMint 0xac23cdfd
No parameters
renounceOwnership 0x715018a6
No parameters
safeTransferFrom 0xf242432a
address from
address to
uint256 id
uint256 amount
bytes data
setApprovalForAll 0xa22cb465
address operator
bool approved
setHASHPOWER 0xc8befe2b
address _address
setOG 0xba0b22a8
address _address
setRoot 0xdab5f340
bytes32 _newROOT
setState 0xb9d77bfc
uint256 _category
uint256 _value
setURI 0x02fe5305
string _newURI
transferFrom 0xfe99049a
address from
address to
uint256 id
uint256 amount
transferOwnership 0xf2fde38b
address newOwner
withdrawFunding 0x30b9af98
No parameters
Recent Transactions
No transactions found for this address