Overview
S Balance
0 S
S Value
-More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Token | 931727 | 6 hrs ago | IN | 0 S | 0.00126183 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
931727 | 6 hrs ago | Contract Creation | 0 S |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SubderpTokenFactory
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2024-12-20 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } contract SubderpTokenV0 is ERC20 { address treasury = 0x68705637c16bF32A28a82914f7aADEFB3aBE31CD; address derp = 0x8500d84b203775FC8B418148223872b35c43B050; uint256 maxSupply; uint256 creatorAllocation; uint256 treasuryAllocation; uint256 airdropAllocation; address creator; constructor ( address _creator, uint256 _maxSupply, string memory name, string memory symbol) ERC20(name, symbol) { maxSupply = _maxSupply; creatorAllocation = _maxSupply / 3; treasuryAllocation = _maxSupply / 3; airdropAllocation = _maxSupply - maxSupply / 3 - maxSupply / 3; creator = _creator; } mapping (uint256 => bool) claimedById; function airdrop(uint256 id) public { require(!claimedById[id], "already claimed"); _mint(IERC721(derp).ownerOf(id), airdropAllocation / 2000); claimedById[id] = true; } function airdropRange(uint256 start, uint256 end) public { for (uint256 i = start; i < end + 1; i++) { airdrop(i); } } function airdropRemaining () public { for (uint256 i = 1; i < 2001; i++) { airdrop(i); } } function treasuryClaim () public { require (totalSupply() >= airdropAllocation, "call airdrop first"); require ( totalSupply() < airdropAllocation + treasuryAllocation, "treasury claimed"); _mint(treasury, treasuryAllocation); } function creatorClaim () public { require (totalSupply() >= airdropAllocation + treasuryAllocation, "call airdrop and treasuryClaim first"); require (totalSupply() <= maxSupply, "maxSupply reached"); _mint(creator, creatorAllocation); } } contract SubderpTokenFactory { address derp = 0x8500d84b203775FC8B418148223872b35c43B050; event TokenCreated(address indexed tokenAddress, address indexed owner, uint256 initialSupply); function createToken( uint256 supplyDisplayAmount, string memory name, string memory symbol) public returns (address) { require(IERC721(derp).balanceOf(msg.sender) > 10, "you need ten derps little buddy"); SubderpTokenV0 newToken = new SubderpTokenV0(msg.sender, supplyDisplayAmount * 1e18, name, symbol); emit TokenCreated(address(newToken), msg.sender, supplyDisplayAmount * 1e18); return address(newToken); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"initialSupply","type":"uint256"}],"name":"TokenCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"supplyDisplayAmount","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"name":"createToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040525f80546001600160a01b031916738500d84b203775fc8b418148223872b35c43b0501790553480156033575f5ffd5b50611998806100415f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063b1037e781461002d575b5f5ffd5b61004061003b366004610316565b610069565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b5f80546040517f70a08231000000000000000000000000000000000000000000000000000000008152336004820152600a9173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156100d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100fa9190610383565b11610165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f796f75206e6565642074656e206465727073206c6974746c6520627564647900604482015260640160405180910390fd5b5f3361017986670de0b6b3a764000061039a565b858560405161018790610214565b6101949493929190610428565b604051809103905ff0801580156101ad573d5f5f3e3d5ffd5b5090503373ffffffffffffffffffffffffffffffffffffffff82167ffde888083b38fe6deac8498d5daebda0d38d0d3e6167e434b633f955152766fa6101fb88670de0b6b3a764000061039a565b60405190815260200160405180910390a3949350505050565b6114e98061047a83390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f83011261025d575f5ffd5b813567ffffffffffffffff81111561027757610277610221565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156102e3576102e3610221565b6040528181528382016020018510156102fa575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610328575f5ffd5b83359250602084013567ffffffffffffffff811115610345575f5ffd5b6103518682870161024e565b925050604084013567ffffffffffffffff81111561036d575f5ffd5b6103798682870161024e565b9150509250925092565b5f60208284031215610393575f5ffd5b5051919050565b80820281158282048414176103d6577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152608060408201525f61045c60808301856103dc565b828103606084015261046e81856103dc565b97965050505050505056fe6080604052600580546001600160a01b03199081167368705637c16bf32a28a82914f7aadefb3abe31cd1790915560068054909116738500d84b203775fc8b418148223872b35c43b050179055348015610057575f5ffd5b506040516114e93803806114e9833981016040819052610076916101b0565b8181600361008483826102c0565b50600461009182826102c0565b50505060078390556100a460038461037a565b6008556100b260038461037a565b6009556007546100c49060039061037a565b60036007546100d3919061037a565b6100dd9085610399565b6100e79190610399565b600a555050600b80546001600160a01b0319166001600160a01b039390931692909217909155506103be565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610136575f5ffd5b81516001600160401b0381111561014f5761014f610113565b604051601f8201601f19908116603f011681016001600160401b038111828210171561017d5761017d610113565b604052818152838201602001851015610194575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f608085870312156101c3575f5ffd5b84516001600160a01b03811681146101d9575f5ffd5b6020860151604087015191955093506001600160401b038111156101fb575f5ffd5b61020787828801610127565b606087015190935090506001600160401b03811115610224575f5ffd5b61023087828801610127565b91505092959194509250565b600181811c9082168061025057607f821691505b60208210810361026e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102bb57805f5260205f20601f840160051c810160208510156102995750805b601f840160051c820191505b818110156102b8575f81556001016102a5565b50505b505050565b81516001600160401b038111156102d9576102d9610113565b6102ed816102e7845461023c565b84610274565b6020601f82116001811461031f575f83156103085750848201515b5f19600385901b1c1916600184901b1784556102b8565b5f84815260208120601f198516915b8281101561034e578785015182556020948501946001909201910161032e565b508482101561036b57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f8261039457634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103b857634e487b7160e01b5f52601160045260245ffd5b92915050565b61111e806103cb5f395ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c8063837af7351161009357806397dc4a131161006357806397dc4a13146101f1578063a457c2d714610204578063a9059cbb14610217578063dd62ed3e1461022a575f5ffd5b8063837af735146101c657806384400585146101d95780639380b1cf146101e157806395d89b41146101e9575f5ffd5b8063313ce567116100ce578063313ce5671461016557806339509351146101745780635475a7be1461018757806370a0823114610191575f5ffd5b806306fdde03146100ff578063095ea7b31461011d57806318160ddd1461014057806323b872dd14610152575b5f5ffd5b61010761026f565b6040516101149190610ea0565b60405180910390f35b61013061012b366004610f14565b6102ff565b6040519015158152602001610114565b6002545b604051908152602001610114565b610130610160366004610f3e565b610315565b60405160128152602001610114565b610130610182366004610f14565b6103fe565b61018f610446565b005b61014461019f366004610f7c565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b61018f6101d4366004610f9e565b610556565b61018f610580565b61018f6105a1565b6101076106d5565b61018f6101ff366004610fbe565b6106e4565b610130610212366004610f14565b61083c565b610130610225366004610f14565b610913565b610144610238366004610fd5565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b60606003805461027e9061100c565b80601f01602080910402602001604051908101604052809291908181526020018280546102aa9061100c565b80156102f55780601f106102cc576101008083540402835291602001916102f5565b820191905f5260205f20905b8154815290600101906020018083116102d857829003601f168201915b5050505050905090565b5f61030b33848461091f565b5060015b92915050565b5f610321848484610ad1565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160209081526040808320338452909152902054828110156103e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103f3853385840361091f565b506001949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161030b91859061044190869061105d565b61091f565b600a5460025410156104b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f63616c6c2061697264726f70206669727374000000000000000000000000000060448201526064016103dd565b600954600a546104c4919061105d565b6002541061052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f747265617375727920636c61696d65640000000000000000000000000000000060448201526064016103dd565b6005546009546105549173ffffffffffffffffffffffffffffffffffffffff1690610d83565b565b815b61056382600161105d565b81101561057b57610573816106e4565b600101610558565b505050565b60015b6107d181101561059e57610596816106e4565b600101610583565b50565b600954600a546105b1919061105d565b6002541015610641576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f63616c6c2061697264726f7020616e64207472656173757279436c61696d206660448201527f697273740000000000000000000000000000000000000000000000000000000060648201526084016103dd565b60075460025411156106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6d6178537570706c79207265616368656400000000000000000000000000000060448201526064016103dd565b600b546008546105549173ffffffffffffffffffffffffffffffffffffffff1690610d83565b60606004805461027e9061100c565b5f818152600c602052604090205460ff161561075c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f616c726561647920636c61696d6564000000000000000000000000000000000060448201526064016103dd565b6006546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526108049173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156107cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ef9190611095565b6107d0600a546107ff91906110b0565b610d83565b5f908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b335f90815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103dd565b610909338585840361091f565b5060019392505050565b5f61030b338484610ad1565b73ffffffffffffffffffffffffffffffffffffffff83166109c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8216610a64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8216610c17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020819052604090205481811015610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260208190526040808220858503905591851681529081208054849290610d0f90849061105d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d7591815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610e00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103dd565b8060025f828254610e11919061105d565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604081208054839290610e4a90849061105d565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461059e575f5ffd5b5f5f60408385031215610f25575f5ffd5b8235610f3081610ef3565b946020939093013593505050565b5f5f5f60608486031215610f50575f5ffd5b8335610f5b81610ef3565b92506020840135610f6b81610ef3565b929592945050506040919091013590565b5f60208284031215610f8c575f5ffd5b8135610f9781610ef3565b9392505050565b5f5f60408385031215610faf575f5ffd5b50508035926020909101359150565b5f60208284031215610fce575f5ffd5b5035919050565b5f5f60408385031215610fe6575f5ffd5b8235610ff181610ef3565b9150602083013561100181610ef3565b809150509250929050565b600181811c9082168061102057607f821691505b602082108103611057577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b8082018082111561030f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f602082840312156110a5575f5ffd5b8151610f9781610ef3565b5f826110e3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122014a2a719859936a626c91762993e75bf851a899fadcf07dfed85eb49fedee01e64736f6c634300081c0033a2646970667358221220cb4df6fb31da15e39566bcb9de8939f20f42227eeac63e21ff6d1c7a2688b31764736f6c634300081c0033
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063b1037e781461002d575b5f5ffd5b61004061003b366004610316565b610069565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b5f80546040517f70a08231000000000000000000000000000000000000000000000000000000008152336004820152600a9173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156100d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100fa9190610383565b11610165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f796f75206e6565642074656e206465727073206c6974746c6520627564647900604482015260640160405180910390fd5b5f3361017986670de0b6b3a764000061039a565b858560405161018790610214565b6101949493929190610428565b604051809103905ff0801580156101ad573d5f5f3e3d5ffd5b5090503373ffffffffffffffffffffffffffffffffffffffff82167ffde888083b38fe6deac8498d5daebda0d38d0d3e6167e434b633f955152766fa6101fb88670de0b6b3a764000061039a565b60405190815260200160405180910390a3949350505050565b6114e98061047a83390190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f83011261025d575f5ffd5b813567ffffffffffffffff81111561027757610277610221565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156102e3576102e3610221565b6040528181528382016020018510156102fa575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f60608486031215610328575f5ffd5b83359250602084013567ffffffffffffffff811115610345575f5ffd5b6103518682870161024e565b925050604084013567ffffffffffffffff81111561036d575f5ffd5b6103798682870161024e565b9150509250925092565b5f60208284031215610393575f5ffd5b5051919050565b80820281158282048414176103d6577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152608060408201525f61045c60808301856103dc565b828103606084015261046e81856103dc565b97965050505050505056fe6080604052600580546001600160a01b03199081167368705637c16bf32a28a82914f7aadefb3abe31cd1790915560068054909116738500d84b203775fc8b418148223872b35c43b050179055348015610057575f5ffd5b506040516114e93803806114e9833981016040819052610076916101b0565b8181600361008483826102c0565b50600461009182826102c0565b50505060078390556100a460038461037a565b6008556100b260038461037a565b6009556007546100c49060039061037a565b60036007546100d3919061037a565b6100dd9085610399565b6100e79190610399565b600a555050600b80546001600160a01b0319166001600160a01b039390931692909217909155506103be565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610136575f5ffd5b81516001600160401b0381111561014f5761014f610113565b604051601f8201601f19908116603f011681016001600160401b038111828210171561017d5761017d610113565b604052818152838201602001851015610194575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f608085870312156101c3575f5ffd5b84516001600160a01b03811681146101d9575f5ffd5b6020860151604087015191955093506001600160401b038111156101fb575f5ffd5b61020787828801610127565b606087015190935090506001600160401b03811115610224575f5ffd5b61023087828801610127565b91505092959194509250565b600181811c9082168061025057607f821691505b60208210810361026e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102bb57805f5260205f20601f840160051c810160208510156102995750805b601f840160051c820191505b818110156102b8575f81556001016102a5565b50505b505050565b81516001600160401b038111156102d9576102d9610113565b6102ed816102e7845461023c565b84610274565b6020601f82116001811461031f575f83156103085750848201515b5f19600385901b1c1916600184901b1784556102b8565b5f84815260208120601f198516915b8281101561034e578785015182556020948501946001909201910161032e565b508482101561036b57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f8261039457634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103b857634e487b7160e01b5f52601160045260245ffd5b92915050565b61111e806103cb5f395ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c8063837af7351161009357806397dc4a131161006357806397dc4a13146101f1578063a457c2d714610204578063a9059cbb14610217578063dd62ed3e1461022a575f5ffd5b8063837af735146101c657806384400585146101d95780639380b1cf146101e157806395d89b41146101e9575f5ffd5b8063313ce567116100ce578063313ce5671461016557806339509351146101745780635475a7be1461018757806370a0823114610191575f5ffd5b806306fdde03146100ff578063095ea7b31461011d57806318160ddd1461014057806323b872dd14610152575b5f5ffd5b61010761026f565b6040516101149190610ea0565b60405180910390f35b61013061012b366004610f14565b6102ff565b6040519015158152602001610114565b6002545b604051908152602001610114565b610130610160366004610f3e565b610315565b60405160128152602001610114565b610130610182366004610f14565b6103fe565b61018f610446565b005b61014461019f366004610f7c565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b61018f6101d4366004610f9e565b610556565b61018f610580565b61018f6105a1565b6101076106d5565b61018f6101ff366004610fbe565b6106e4565b610130610212366004610f14565b61083c565b610130610225366004610f14565b610913565b610144610238366004610fd5565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b60606003805461027e9061100c565b80601f01602080910402602001604051908101604052809291908181526020018280546102aa9061100c565b80156102f55780601f106102cc576101008083540402835291602001916102f5565b820191905f5260205f20905b8154815290600101906020018083116102d857829003601f168201915b5050505050905090565b5f61030b33848461091f565b5060015b92915050565b5f610321848484610ad1565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160209081526040808320338452909152902054828110156103e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103f3853385840361091f565b506001949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161030b91859061044190869061105d565b61091f565b600a5460025410156104b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f63616c6c2061697264726f70206669727374000000000000000000000000000060448201526064016103dd565b600954600a546104c4919061105d565b6002541061052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f747265617375727920636c61696d65640000000000000000000000000000000060448201526064016103dd565b6005546009546105549173ffffffffffffffffffffffffffffffffffffffff1690610d83565b565b815b61056382600161105d565b81101561057b57610573816106e4565b600101610558565b505050565b60015b6107d181101561059e57610596816106e4565b600101610583565b50565b600954600a546105b1919061105d565b6002541015610641576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f63616c6c2061697264726f7020616e64207472656173757279436c61696d206660448201527f697273740000000000000000000000000000000000000000000000000000000060648201526084016103dd565b60075460025411156106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6d6178537570706c79207265616368656400000000000000000000000000000060448201526064016103dd565b600b546008546105549173ffffffffffffffffffffffffffffffffffffffff1690610d83565b60606004805461027e9061100c565b5f818152600c602052604090205460ff161561075c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f616c726561647920636c61696d6564000000000000000000000000000000000060448201526064016103dd565b6006546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526108049173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156107cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ef9190611095565b6107d0600a546107ff91906110b0565b610d83565b5f908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b335f90815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103dd565b610909338585840361091f565b5060019392505050565b5f61030b338484610ad1565b73ffffffffffffffffffffffffffffffffffffffff83166109c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8216610a64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8216610c17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020819052604090205481811015610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103dd565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260208190526040808220858503905591851681529081208054849290610d0f90849061105d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d7591815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610e00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103dd565b8060025f828254610e11919061105d565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604081208054839290610e4a90849061105d565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461059e575f5ffd5b5f5f60408385031215610f25575f5ffd5b8235610f3081610ef3565b946020939093013593505050565b5f5f5f60608486031215610f50575f5ffd5b8335610f5b81610ef3565b92506020840135610f6b81610ef3565b929592945050506040919091013590565b5f60208284031215610f8c575f5ffd5b8135610f9781610ef3565b9392505050565b5f5f60408385031215610faf575f5ffd5b50508035926020909101359150565b5f60208284031215610fce575f5ffd5b5035919050565b5f5f60408385031215610fe6575f5ffd5b8235610ff181610ef3565b9150602083013561100181610ef3565b809150509250929050565b600181811c9082168061102057607f821691505b602082108103611057577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b8082018082111561030f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f602082840312156110a5575f5ffd5b8151610f9781610ef3565b5f826110e3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122014a2a719859936a626c91762993e75bf851a899fadcf07dfed85eb49fedee01e64736f6c634300081c0033a2646970667358221220cb4df6fb31da15e39566bcb9de8939f20f42227eeac63e21ff6d1c7a2688b31764736f6c634300081c0033
Deployed Bytecode Sourcemap
13198:702:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13401:496;;;;;;:::i;:::-;;:::i;:::-;;;1839:42:1;1827:55;;;1809:74;;1797:2;1782:18;13401:496:0;;;;;;;;13540:7;13578:4;;13570:35;;;;;13594:10;13570:35;;;1809:74:1;13608:2:0;;13578:4;;;13570:23;;1782:18:1;;13570:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;13562:84;;;;;;;2285:2:1;13562:84:0;;;2267:21:1;2324:2;2304:18;;;2297:30;2363:33;2343:18;;;2336:61;2414:18;;13562:84:0;;;;;;;;13659:23;13704:10;13716:26;:19;13738:4;13716:26;:::i;:::-;13744:4;13750:6;13685:72;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13659:98:0;-1:-1:-1;13805:10:0;13773:71;;;;13817:26;:19;13839:4;13817:26;:::i;:::-;13773:71;;3850:25:1;;;3838:2;3823:18;13773:71:0;;;;;;;13870:8;13401:496;-1:-1:-1;;;;13401:496:0:o;-1:-1:-1:-;;;;;;;;:::o;14:184:1:-;66:77;63:1;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:844;246:5;299:3;292:4;284:6;280:17;276:27;266:55;;317:1;314;307:12;266:55;357:6;344:20;387:18;379:6;376:30;373:56;;;409:18;;:::i;:::-;458:2;452:9;605:66;600:2;531:66;524:4;516:6;512:17;508:90;504:99;500:172;492:6;488:185;739:6;727:10;724:22;703:18;691:10;688:34;685:62;682:88;;;750:18;;:::i;:::-;786:2;779:22;810;;;851:19;;;872:4;847:30;844:39;-1:-1:-1;841:59:1;;;896:1;893;886:12;841:59;960:6;953:4;945:6;941:17;934:4;926:6;922:17;909:58;1015:1;987:19;;;1008:4;983:30;976:41;;;;991:6;203:844;-1:-1:-1;;;203:844:1:o;1052:606::-;1149:6;1157;1165;1218:2;1206:9;1197:7;1193:23;1189:32;1186:52;;;1234:1;1231;1224:12;1186:52;1270:9;1257:23;1247:33;;1331:2;1320:9;1316:18;1303:32;1358:18;1350:6;1347:30;1344:50;;;1390:1;1387;1380:12;1344:50;1413;1455:7;1446:6;1435:9;1431:22;1413:50;:::i;:::-;1403:60;;;1516:2;1505:9;1501:18;1488:32;1545:18;1535:8;1532:32;1529:52;;;1577:1;1574;1567:12;1529:52;1600;1644:7;1633:8;1622:9;1618:24;1600:52;:::i;:::-;1590:62;;;1052:606;;;;;:::o;1894:184::-;1964:6;2017:2;2005:9;1996:7;1992:23;1988:32;1985:52;;;2033:1;2030;2023:12;1985:52;-1:-1:-1;2056:16:1;;1894:184;-1:-1:-1;1894:184:1:o;2443:322::-;2516:9;;;2547;;2564:15;;;2558:22;;2544:37;2534:225;;2615:77;2612:1;2605:88;2716:4;2713:1;2706:15;2744:4;2741:1;2734:15;2534:225;2443:322;;;;:::o;2770:348::-;2812:3;2850:5;2844:12;2877:6;2872:3;2865:19;2933:6;2926:4;2919:5;2915:16;2908:4;2903:3;2899:14;2893:47;2985:1;2978:4;2969:6;2964:3;2960:16;2956:27;2949:38;3107:4;3037:66;3032:2;3024:6;3020:15;3016:88;3011:3;3007:98;3003:109;2996:116;;;2770:348;;;;:::o;3123:576::-;3388:42;3380:6;3376:55;3365:9;3358:74;3468:6;3463:2;3452:9;3448:18;3441:34;3511:3;3506:2;3495:9;3491:18;3484:31;3339:4;3538:46;3579:3;3568:9;3564:19;3556:6;3538:46;:::i;:::-;3632:9;3624:6;3620:22;3615:2;3604:9;3600:18;3593:50;3660:33;3686:6;3678;3660:33;:::i;:::-;3652:41;3123:576;-1:-1:-1;;;;;;;3123:576:1:o
Swarm Source
ipfs://cb4df6fb31da15e39566bcb9de8939f20f42227eeac63e21ff6d1c7a2688b317
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.