Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 6 from a total of 6 transactions
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 29307853 | 266 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AdsProject
Compiler Version
v0.8.29+commit.ab55807c
Contract Source Code (Solidity)
/** *Submitted for verification at basescan.org on 2025-04-23 */ // Sources flattened with hardhat v2.22.19 https://hardhat.org // SPDX-License-Identifier: MIT // File @openzeppelin/contracts/interfaces/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol) pragma solidity ^0.8.20; /** * @dev Standard ERC-20 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens. */ interface IERC20Errors { /** * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. * @param balance Current balance for the interacting account. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC20InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC20InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers. * @param spender Address that may be allowed to operate on tokens without being their owner. * @param allowance Amount of tokens a `spender` is allowed to operate with. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC20InvalidApprover(address approver); /** * @dev Indicates a failure with the `spender` to be approved. Used in approvals. * @param spender Address that may be allowed to operate on tokens without being their owner. */ error ERC20InvalidSpender(address spender); } /** * @dev Standard ERC-721 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens. */ interface IERC721Errors { /** * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. * Used in balance queries. * @param owner Address of the current owner of a token. */ error ERC721InvalidOwner(address owner); /** * @dev Indicates a `tokenId` whose `owner` is the zero address. * @param tokenId Identifier number of a token. */ error ERC721NonexistentToken(uint256 tokenId); /** * @dev Indicates an error related to the ownership over a particular token. Used in transfers. * @param sender Address whose tokens are being transferred. * @param tokenId Identifier number of a token. * @param owner Address of the current owner of a token. */ error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC721InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC721InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `operator`’s approval. Used in transfers. * @param operator Address that may be allowed to operate on tokens without being their owner. * @param tokenId Identifier number of a token. */ error ERC721InsufficientApproval(address operator, uint256 tokenId); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC721InvalidApprover(address approver); /** * @dev Indicates a failure with the `operator` to be approved. Used in approvals. * @param operator Address that may be allowed to operate on tokens without being their owner. */ error ERC721InvalidOperator(address operator); } /** * @dev Standard ERC-1155 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens. */ interface IERC1155Errors { /** * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. * @param balance Current balance for the interacting account. * @param needed Minimum amount required to perform a transfer. * @param tokenId Identifier number of a token. */ error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC1155InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC1155InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `operator`’s approval. Used in transfers. * @param operator Address that may be allowed to operate on tokens without being their owner. * @param owner Address of the current owner of a token. */ error ERC1155MissingApprovalForAll(address operator, address owner); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC1155InvalidApprover(address approver); /** * @dev Indicates a failure with the `operator` to be approved. Used in approvals. * @param operator Address that may be allowed to operate on tokens without being their owner. */ error ERC1155InvalidOperator(address operator); /** * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. * Used in batch transfers. * @param idsLength Length of the array of token identifiers * @param valuesLength Length of the array of token amounts */ error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength); } // File @openzeppelin/contracts/token/ERC20/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC-20 standard as defined in the ERC. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.20; /** * @dev Interface for the optional metadata functions from the ERC-20 standard. */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File @openzeppelin/contracts/utils/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File @openzeppelin/contracts/token/ERC20/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.2.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.20; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * The default value of {decimals} is 18. To change this, you should override * this function so it returns a different value. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC-20 * applications. */ abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors { mapping(address account => uint256) private _balances; mapping(address account => mapping(address spender => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the default value returned by this function, unless * it's overridden. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `value`. */ function transfer(address to, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _transfer(owner, to, value); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, value); return true; } /** * @dev See {IERC20-transferFrom}. * * Skips emitting an {Approval} event indicating an allowance update. This is not * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `value`. * - the caller must have allowance for ``from``'s tokens of at least * `value`. */ function transferFrom(address from, address to, uint256 value) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, value); _transfer(from, to, value); return true; } /** * @dev Moves a `value` amount of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _transfer(address from, address to, uint256 value) internal { if (from == address(0)) { revert ERC20InvalidSender(address(0)); } if (to == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(from, to, value); } /** * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding * this function. * * Emits a {Transfer} event. */ function _update(address from, address to, uint256 value) internal virtual { if (from == address(0)) { // Overflow check required: The rest of the code assumes that totalSupply never overflows _totalSupply += value; } else { uint256 fromBalance = _balances[from]; if (fromBalance < value) { revert ERC20InsufficientBalance(from, fromBalance, value); } unchecked { // Overflow not possible: value <= fromBalance <= totalSupply. _balances[from] = fromBalance - value; } } if (to == address(0)) { unchecked { // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. _totalSupply -= value; } } else { unchecked { // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. _balances[to] += value; } } emit Transfer(from, to, value); } /** * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0). * Relies on the `_update` mechanism * * Emits a {Transfer} event with `from` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _mint(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(address(0), account, value); } /** * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply. * Relies on the `_update` mechanism. * * Emits a {Transfer} event with `to` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead */ function _burn(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidSender(address(0)); } _update(account, address(0), value); } /** * @dev Sets `value` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. * * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument. */ function _approve(address owner, address spender, uint256 value) internal { _approve(owner, spender, value, true); } /** * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event. * * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any * `Approval` event during `transferFrom` operations. * * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to * true using the following override: * * ```solidity * function _approve(address owner, address spender, uint256 value, bool) internal virtual override { * super._approve(owner, spender, value, true); * } * ``` * * Requirements are the same as {_approve}. */ function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual { if (owner == address(0)) { revert ERC20InvalidApprover(address(0)); } if (spender == address(0)) { revert ERC20InvalidSpender(address(0)); } _allowances[owner][spender] = value; if (emitEvent) { emit Approval(owner, spender, value); } } /** * @dev Updates `owner` s allowance for `spender` based on spent `value`. * * Does not update the allowance value in case of infinite allowance. * Revert if not enough allowance is available. * * Does not emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 value) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance < type(uint256).max) { if (currentAllowance < value) { revert ERC20InsufficientAllowance(spender, currentAllowance, value); } unchecked { _approve(owner, spender, currentAllowance - value, false); } } } } // File contracts/AdsProject.sol // Original license: SPDX_License_Identifier: MIT pragma solidity ^0.8.0; contract AdsProject is ERC20 { uint256 private constant INITIAL_SUPPLY = 1_000_000_000; // 1 billion tokens uint256 private constant DECIMALS = 6; string public repository; constructor( string memory _repository, string memory _symbol, address deployer ) ERC20( string.concat(_symbol, " ", _repository), _symbol ) { repository = _repository; _mint(deployer, INITIAL_SUPPLY * (10 ** DECIMALS)); } function decimals() public pure override returns (uint8) { return uint8(DECIMALS); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_repository","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"repository","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051610f96380380610f9683398101604081905261002e916102a8565b8183604051602001610041929190610344565b60408051601f1981840301815291905282600361005e83826103f0565b50600461006b82826103f0565b506005915061007c905084826103f0565b506100a08161008d6006600a6105a3565b61009b90633b9aca006105b5565b6100a8565b5050506105df565b6001600160a01b0382166100d65760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b6100e15f83836100e5565b5050565b6001600160a01b03831661010f578060025f82825461010491906105cc565b9091555061017f9050565b6001600160a01b0383165f90815260208190526040902054818110156101615760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100cd565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661019b576002805482900390556101b9565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101fe91815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261022e575f5ffd5b81516001600160401b038111156102475761024761020b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102755761027561020b565b60405281815283820160200185101561028c575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f606084860312156102ba575f5ffd5b83516001600160401b038111156102cf575f5ffd5b6102db8682870161021f565b602086015190945090506001600160401b038111156102f8575f5ffd5b6103048682870161021f565b604086015190935090506001600160a01b0381168114610322575f5ffd5b809150509250925092565b5f81518060208401855e5f93019283525090919050565b5f61034f828561032d565b600160fd1b8152610363600182018561032d565b95945050505050565b600181811c9082168061038057607f821691505b60208210810361039e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103eb57805f5260205f20601f840160051c810160208510156103c95750805b601f840160051c820191505b818110156103e8575f81556001016103d5565b50505b505050565b81516001600160401b038111156104095761040961020b565b61041d81610417845461036c565b846103a4565b6020601f82116001811461044f575f83156104385750848201515b5f19600385901b1c1916600184901b1784556103e8565b5f84815260208120601f198516915b8281101561047e578785015182556020948501946001909201910161045e565b508482101561049b57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104f9578085048111156104dd576104dd6104aa565b60018416156104eb57908102905b60019390931c9280026104c2565b935093915050565b5f8261050f5750600161059d565b8161051b57505f61059d565b8160018114610531576002811461053b57610557565b600191505061059d565b60ff84111561054c5761054c6104aa565b50506001821b61059d565b5060208310610133831016604e8410600b841016171561057a575081810a61059d565b6105865f1984846104be565b805f1904821115610599576105996104aa565b0290505b92915050565b5f6105ae8383610501565b9392505050565b808202811582820484141761059d5761059d6104aa565b8082018082111561059d5761059d6104aa565b6109aa806105ec5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806370a0823111610072578063a9059cbb11610058578063a9059cbb1461016f578063dd62ed3e14610182578063e9176c60146101c7575f5ffd5b806370a082311461013257806395d89b4114610167575f5ffd5b806318160ddd116100a257806318160ddd146100fe57806323b872dd14610110578063313ce56714610123575f5ffd5b806306fdde03146100bd578063095ea7b3146100db575b5f5ffd5b6100c56101cf565b6040516100d291906107bd565b60405180910390f35b6100ee6100e9366004610838565b61025f565b60405190151581526020016100d2565b6002545b6040519081526020016100d2565b6100ee61011e366004610860565b610278565b604051600681526020016100d2565b61010261014036600461089a565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6100c561029b565b6100ee61017d366004610838565b6102aa565b6101026101903660046108ba565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b6100c56102b7565b6060600380546101de906108eb565b80601f016020809104026020016040519081016040528092919081815260200182805461020a906108eb565b80156102555780601f1061022c57610100808354040283529160200191610255565b820191905f5260205f20905b81548152906001019060200180831161023857829003601f168201915b5050505050905090565b5f3361026c818585610343565b60019150505b92915050565b5f33610285858285610355565b610290858585610428565b506001949350505050565b6060600480546101de906108eb565b5f3361026c818585610428565b600580546102c4906108eb565b80601f01602080910402602001604051908101604052809291908181526020018280546102f0906108eb565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b505050505081565b61035083838360016104d1565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156104225781811015610414576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064015b60405180910390fd5b61042284848484035f6104d1565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610477576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff82166104c6576040517fec442f050000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b610350838383610616565b73ffffffffffffffffffffffffffffffffffffffff8416610520576040517fe602df050000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff831661056f576040517f94280d620000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff8085165f9081526001602090815260408083209387168352929052208290558015610422578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161060891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff831661064d578060025f828254610642919061093c565b909155506106fd9050565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260208190526040902054818110156106d2576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810183905260640161040b565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff821661072657600280548290039055610751565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107b091815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610833575f5ffd5b919050565b5f5f60408385031215610849575f5ffd5b61085283610810565b946020939093013593505050565b5f5f5f60608486031215610872575f5ffd5b61087b84610810565b925061088960208501610810565b929592945050506040919091013590565b5f602082840312156108aa575f5ffd5b6108b382610810565b9392505050565b5f5f604083850312156108cb575f5ffd5b6108d483610810565b91506108e260208401610810565b90509250929050565b600181811c908216806108ff57607f821691505b602082108103610936577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b80820180821115610272577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfea26469706673582212207cb256cc8986c9171c0f54a76f606a67c20bf26563fd7b562b6a421dcfac0d7a64736f6c634300081d0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ff45e99d0de1946d428592b43a0c7f85e9aec1d00000000000000000000000000000000000000000000000000000000000000146769746875622e636f6d2f746573742f5445535400000000000000000000000000000000000000000000000000000000000000000000000000000000000000045445535400000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806370a0823111610072578063a9059cbb11610058578063a9059cbb1461016f578063dd62ed3e14610182578063e9176c60146101c7575f5ffd5b806370a082311461013257806395d89b4114610167575f5ffd5b806318160ddd116100a257806318160ddd146100fe57806323b872dd14610110578063313ce56714610123575f5ffd5b806306fdde03146100bd578063095ea7b3146100db575b5f5ffd5b6100c56101cf565b6040516100d291906107bd565b60405180910390f35b6100ee6100e9366004610838565b61025f565b60405190151581526020016100d2565b6002545b6040519081526020016100d2565b6100ee61011e366004610860565b610278565b604051600681526020016100d2565b61010261014036600461089a565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6100c561029b565b6100ee61017d366004610838565b6102aa565b6101026101903660046108ba565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b6100c56102b7565b6060600380546101de906108eb565b80601f016020809104026020016040519081016040528092919081815260200182805461020a906108eb565b80156102555780601f1061022c57610100808354040283529160200191610255565b820191905f5260205f20905b81548152906001019060200180831161023857829003601f168201915b5050505050905090565b5f3361026c818585610343565b60019150505b92915050565b5f33610285858285610355565b610290858585610428565b506001949350505050565b6060600480546101de906108eb565b5f3361026c818585610428565b600580546102c4906108eb565b80601f01602080910402602001604051908101604052809291908181526020018280546102f0906108eb565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b505050505081565b61035083838360016104d1565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156104225781811015610414576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064015b60405180910390fd5b61042284848484035f6104d1565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610477576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff82166104c6576040517fec442f050000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b610350838383610616565b73ffffffffffffffffffffffffffffffffffffffff8416610520576040517fe602df050000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff831661056f576040517f94280d620000000000000000000000000000000000000000000000000000000081525f600482015260240161040b565b73ffffffffffffffffffffffffffffffffffffffff8085165f9081526001602090815260408083209387168352929052208290558015610422578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161060891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff831661064d578060025f828254610642919061093c565b909155506106fd9050565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260208190526040902054818110156106d2576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810183905260640161040b565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff821661072657600280548290039055610751565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107b091815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610833575f5ffd5b919050565b5f5f60408385031215610849575f5ffd5b61085283610810565b946020939093013593505050565b5f5f5f60608486031215610872575f5ffd5b61087b84610810565b925061088960208501610810565b929592945050506040919091013590565b5f602082840312156108aa575f5ffd5b6108b382610810565b9392505050565b5f5f604083850312156108cb575f5ffd5b6108d483610810565b91506108e260208401610810565b90509250929050565b600181811c908216806108ff57607f821691505b602082108103610936577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b80820180821115610272577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfea26469706673582212207cb256cc8986c9171c0f54a76f606a67c20bf26563fd7b562b6a421dcfac0d7a64736f6c634300081d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006ff45e99d0de1946d428592b43a0c7f85e9aec1d00000000000000000000000000000000000000000000000000000000000000146769746875622e636f6d2f746573742f5445535400000000000000000000000000000000000000000000000000000000000000000000000000000000000000045445535400000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _repository (string): github.com/test/TEST
Arg [1] : _symbol (string): TEST
Arg [2] : deployer (address): 0x6FF45e99d0de1946d428592b43A0c7f85e9Aec1D
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000006ff45e99d0de1946d428592b43a0c7f85e9aec1d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [4] : 6769746875622e636f6d2f746573742f54455354000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 5445535400000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
22878:604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13385:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15678:190;;;;;;:::i;:::-;;:::i;:::-;;;1167:14:1;;1160:22;1142:41;;1130:2;1115:18;15678:190:0;1002:187:1;14487:99:0;14566:12;;14487:99;;;1340:25:1;;;1328:2;1313:18;14487:99:0;1194:177:1;16478:249:0;;;;;;:::i;:::-;;:::i;23381:98::-;;;23032:1;1897:36:1;;1885:2;1870:18;23381:98:0;1755:184:1;14649:118:0;;;;;;:::i;:::-;14741:18;;14714:7;14741:18;;;;;;;;;;;;14649:118;13595:95;;;:::i;14972:182::-;;;;;;:::i;:::-;;:::i;15217:142::-;;;;;;:::i;:::-;15324:18;;;;15297:7;15324:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15217:142;23040:24;;;:::i;13385:91::-;13430:13;13463:5;13456:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13385:91;:::o;15678:190::-;15751:4;11445:10;15807:31;11445:10;15823:7;15832:5;15807:8;:31::i;:::-;15856:4;15849:11;;;15678:190;;;;;:::o;16478:249::-;16565:4;11445:10;16623:37;16639:4;11445:10;16654:5;16623:15;:37::i;:::-;16671:26;16681:4;16687:2;16691:5;16671:9;:26::i;:::-;-1:-1:-1;16715:4:0;;16478:249;-1:-1:-1;;;;16478:249:0:o;13595:95::-;13642:13;13675:7;13668:14;;;;;:::i;14972:182::-;15041:4;11445:10;15097:27;11445:10;15114:2;15118:5;15097:9;:27::i;23040:24::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20537:130::-;20622:37;20631:5;20638:7;20647:5;20654:4;20622:8;:37::i;:::-;20537:130;;;:::o;22269:486::-;15324:18;;;;22369:24;15324:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;22455:17;22436:36;;22432:316;;;22512:5;22493:16;:24;22489:132;;;22545:60;;;;;3074:42:1;3062:55;;22545:60:0;;;3044:74:1;3134:18;;;3127:34;;;3177:18;;;3170:34;;;3017:18;;22545:60:0;;;;;;;;22489:132;22664:57;22673:5;22680:7;22708:5;22689:16;:24;22715:5;22664:8;:57::i;:::-;22358:397;22269:486;;;:::o;17112:308::-;17196:18;;;17192:88;;17238:30;;;;;17265:1;17238:30;;;3361:74:1;3334:18;;17238:30:0;3215:226:1;17192:88:0;17294:16;;;17290:88;;17334:32;;;;;17363:1;17334:32;;;3361:74:1;3334:18;;17334:32:0;3215:226:1;17290:88:0;17388:24;17396:4;17402:2;17406:5;17388:7;:24::i;21534:443::-;21647:19;;;21643:91;;21690:32;;;;;21719:1;21690:32;;;3361:74:1;3334:18;;21690:32:0;3215:226:1;21643:91:0;21748:21;;;21744:92;;21793:31;;;;;21821:1;21793:31;;;3361:74:1;3334:18;;21793:31:0;3215:226:1;21744:92:0;21846:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;21892:78;;;;21943:7;21927:31;;21936:5;21927:31;;;21952:5;21927:31;;;;1340:25:1;;1328:2;1313:18;;1194:177;21927:31:0;;;;;;;;21534:443;;;;:::o;17744:1135::-;17834:18;;;17830:552;;17988:5;17972:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;17830:552:0;;-1:-1:-1;17830:552:0;;18048:15;;;18026:19;18048:15;;;;;;;;;;;18082:19;;;18078:117;;;18129:50;;;;;3074:42:1;3062:55;;18129:50:0;;;3044:74:1;3134:18;;;3127:34;;;3177:18;;;3170:34;;;3017:18;;18129:50:0;2842:368:1;18078:117:0;18318:15;;;:9;:15;;;;;;;;;;18336:19;;;;18318:37;;17830:552;18398:16;;;18394:435;;18564:12;:21;;;;;;;18394:435;;;18780:13;;;:9;:13;;;;;;;;;;:22;;;;;;18394:435;18861:2;18846:25;;18855:4;18846:25;;;18865:5;18846:25;;;;1340::1;;1328:2;1313:18;;1194:177;18846:25:0;;;;;;;;17744:1135;;;:::o;14:477:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;482:2;412:66;407:2;399:6;395:15;391:88;380:9;376:104;372:113;364:121;;;14:477;;;;:::o;496:196::-;564:20;;624:42;613:54;;603:65;;593:93;;682:1;679;672:12;593:93;496:196;;;:::o;697:300::-;765:6;773;826:2;814:9;805:7;801:23;797:32;794:52;;;842:1;839;832:12;794:52;865:29;884:9;865:29;:::i;:::-;855:39;963:2;948:18;;;;935:32;;-1:-1:-1;;;697:300:1:o;1376:374::-;1453:6;1461;1469;1522:2;1510:9;1501:7;1497:23;1493:32;1490:52;;;1538:1;1535;1528:12;1490:52;1561:29;1580:9;1561:29;:::i;:::-;1551:39;;1609:38;1643:2;1632:9;1628:18;1609:38;:::i;:::-;1376:374;;1599:48;;-1:-1:-1;;;1716:2:1;1701:18;;;;1688:32;;1376:374::o;1944:186::-;2003:6;2056:2;2044:9;2035:7;2031:23;2027:32;2024:52;;;2072:1;2069;2062:12;2024:52;2095:29;2114:9;2095:29;:::i;:::-;2085:39;1944:186;-1:-1:-1;;;1944:186:1:o;2135:260::-;2203:6;2211;2264:2;2252:9;2243:7;2239:23;2235:32;2232:52;;;2280:1;2277;2270:12;2232:52;2303:29;2322:9;2303:29;:::i;:::-;2293:39;;2351:38;2385:2;2374:9;2370:18;2351:38;:::i;:::-;2341:48;;2135:260;;;;;:::o;2400:437::-;2479:1;2475:12;;;;2522;;;2543:61;;2597:4;2589:6;2585:17;2575:27;;2543:61;2650:2;2642:6;2639:14;2619:18;2616:38;2613:218;;2687:77;2684:1;2677:88;2788:4;2785:1;2778:15;2816:4;2813:1;2806:15;2613:218;;2400:437;;;:::o;3446:279::-;3511:9;;;3532:10;;;3529:190;;;3575:77;3572:1;3565:88;3676:4;3673:1;3666:15;3704:4;3701:1;3694:15
Swarm Source
ipfs://7cb256cc8986c9171c0f54a76f606a67c20bf26563fd7b562b6a421dcfac0d7a
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
[ 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.