Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 13402397 | 1173 days ago | IN | 0 ETH | 0.00328315 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-02 */ // File: https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/release-v4.2/contracts/utils/Context.sol pragma solidity ^0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/release-v4.2/contracts/token/ERC20/IERC20.sol pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) 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 `amount` 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 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @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); } // File: https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/release-v4.2/contracts/token/ERC20/extensions/IERC20Metadata.sol pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ 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: https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/release-v4.2/contracts/token/ERC20/ERC20.sol pragma solidity ^0.8.0; /** * @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}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ 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; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * 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 override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override 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 value {ERC20} uses, unless this function is * 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 override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ 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; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ 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; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * 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. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ 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); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ 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); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ 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); } /** * @dev Sets `amount` 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. */ 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); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/release-v4.2/contracts/token/ERC20/extensions/ERC20Burnable.sol pragma solidity ^0.8.0; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { uint256 currentAllowance = allowance(account, _msgSender()); require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); unchecked { _approve(account, _msgSender(), currentAllowance - amount); } _burn(account, amount); } } // File: contracts/SimpleToken.sol pragma solidity ^0.8.0; /** * @dev {ERC20} token, including: * * - Preminted initial supply * - Ability for holders to burn (destroy) their tokens * - No access control mechanism (for minting/pausing) and hence no governance * * This contract uses {ERC20Burnable} to include burn capabilities - head to * its documentation for details. * * _Available since v3.4._ */ contract Token is ERC20Burnable { /** * @dev Mints `initialSupply` amount of token and transfers them to `owner`. * * See {ERC20-constructor}. */ constructor( string memory name, string memory symbol, uint256 initialSupply, address owner ) ERC20(name, symbol) { _mint(owner, initialSupply * (10 ** uint256(decimals()))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"amount","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200221c3803806200221c83398181016040528101906200003791906200039e565b838381600390805190602001906200005192919062000242565b5080600490805190602001906200006a92919062000242565b505050620000ac8162000082620000b660201b60201c565b60ff16600a620000939190620005ed565b84620000a091906200072a565b620000bf60201b60201c565b5050505062000987565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000132576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001299062000486565b60405180910390fd5b62000146600083836200023860201b60201c565b80600260008282546200015a919062000535565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001b1919062000535565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002189190620004a8565b60405180910390a362000234600083836200023d60201b60201c565b5050565b505050565b505050565b8280546200025090620007ff565b90600052602060002090601f016020900481019282620002745760008555620002c0565b82601f106200028f57805160ff1916838001178555620002c0565b82800160010185558215620002c0579182015b82811115620002bf578251825591602001919060010190620002a2565b5b509050620002cf9190620002d3565b5090565b5b80821115620002ee576000816000905550600101620002d4565b5090565b6000620003096200030384620004ee565b620004c5565b905082815260208101848484011115620003285762000327620008fd565b5b62000335848285620007c9565b509392505050565b6000815190506200034e8162000953565b92915050565b600082601f8301126200036c576200036b620008f8565b5b81516200037e848260208601620002f2565b91505092915050565b60008151905062000398816200096d565b92915050565b60008060008060808587031215620003bb57620003ba62000907565b5b600085015167ffffffffffffffff811115620003dc57620003db62000902565b5b620003ea8782880162000354565b945050602085015167ffffffffffffffff8111156200040e576200040d62000902565b5b6200041c8782880162000354565b93505060406200042f8782880162000387565b925050606062000442878288016200033d565b91505092959194509250565b60006200045d601f8362000524565b91506200046a826200092a565b602082019050919050565b6200048081620007bf565b82525050565b60006020820190508181036000830152620004a1816200044e565b9050919050565b6000602082019050620004bf600083018462000475565b92915050565b6000620004d1620004e4565b9050620004df828262000835565b919050565b6000604051905090565b600067ffffffffffffffff8211156200050c576200050b620008c9565b5b62000517826200090c565b9050602081019050919050565b600082825260208201905092915050565b60006200054282620007bf565b91506200054f83620007bf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200058757620005866200086b565b5b828201905092915050565b6000808291508390505b6001851115620005e457808604811115620005bc57620005bb6200086b565b5b6001851615620005cc5780820291505b8081029050620005dc856200091d565b94506200059c565b94509492505050565b6000620005fa82620007bf565b91506200060783620007bf565b9250620006367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200063e565b905092915050565b60008262000650576001905062000723565b8162000660576000905062000723565b81600181146200067957600281146200068457620006ba565b600191505062000723565b60ff8411156200069957620006986200086b565b5b8360020a915084821115620006b357620006b26200086b565b5b5062000723565b5060208310610133831016604e8410600b8410161715620006f45782820a905083811115620006ee57620006ed6200086b565b5b62000723565b62000703848484600162000592565b925090508184048111156200071d576200071c6200086b565b5b81810290505b9392505050565b60006200073782620007bf565b91506200074483620007bf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000780576200077f6200086b565b5b828202905092915050565b600062000798826200079f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015620007e9578082015181840152602081019050620007cc565b83811115620007f9576000848401525b50505050565b600060028204905060018216806200081857607f821691505b602082108114156200082f576200082e6200089a565b5b50919050565b62000840826200090c565b810181811067ffffffffffffffff82111715620008625762000861620008c9565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200095e816200078b565b81146200096a57600080fd5b50565b6200097881620007bf565b81146200098457600080fd5b50565b61188580620009976000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e9919061119f565b60405180910390f35b61010c60048036038101906101079190610f53565b610366565b6040516101199190611184565b60405180910390f35b61012a610384565b6040516101379190611301565b60405180910390f35b61015a60048036038101906101559190610f00565b61038e565b6040516101679190611184565b60405180910390f35b610178610486565b604051610185919061131c565b60405180910390f35b6101a860048036038101906101a39190610f53565b61048f565b6040516101b59190611184565b60405180910390f35b6101d860048036038101906101d39190610f93565b61053b565b005b6101f460048036038101906101ef9190610e93565b61054f565b6040516102019190611301565b60405180910390f35b610224600480360381019061021f9190610f53565b610597565b005b61022e610612565b60405161023b919061119f565b60405180910390f35b61025e60048036038101906102599190610f53565b6106a4565b60405161026b9190611184565b60405180910390f35b61028e60048036038101906102899190610f53565b61078f565b60405161029b9190611184565b60405180910390f35b6102be60048036038101906102b99190610ec0565b6107ad565b6040516102cb9190611301565b60405180910390f35b6060600380546102e390611465565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611465565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a610373610834565b848461083c565b6001905092915050565b6000600254905090565b600061039b848484610a07565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e6610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611241565b60405180910390fd5b61047a85610472610834565b85840361083c565b60019150509392505050565b60006012905090565b600061053161049c610834565b8484600160006104aa610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052c9190611353565b61083c565b6001905092915050565b61054c610546610834565b82610c88565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105aa836105a5610834565b6107ad565b9050818110156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e690611261565b60405180910390fd5b610603836105fb610834565b84840361083c565b61060d8383610c88565b505050565b60606004805461062190611465565b80601f016020809104026020016040519081016040528092919081815260200182805461064d90611465565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050905090565b600080600160006106b3610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610770576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610767906112e1565b60405180910390fd5b61078461077b610834565b8585840361083c565b600191505092915050565b60006107a361079c610834565b8484610a07565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a3906112c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390611201565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109fa9190611301565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e906112a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ade906111c1565b60405180910390fd5b610af2838383610e5f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611221565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c0b9190611353565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f9190611301565b60405180910390a3610c82848484610e64565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90611281565b60405180910390fd5b610d0482600083610e5f565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d81906111e1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610de191906113a9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e469190611301565b60405180910390a3610e5a83600084610e64565b505050565b505050565b505050565b600081359050610e7881611821565b92915050565b600081359050610e8d81611838565b92915050565b600060208284031215610ea957610ea86114f5565b5b6000610eb784828501610e69565b91505092915050565b60008060408385031215610ed757610ed66114f5565b5b6000610ee585828601610e69565b9250506020610ef685828601610e69565b9150509250929050565b600080600060608486031215610f1957610f186114f5565b5b6000610f2786828701610e69565b9350506020610f3886828701610e69565b9250506040610f4986828701610e7e565b9150509250925092565b60008060408385031215610f6a57610f696114f5565b5b6000610f7885828601610e69565b9250506020610f8985828601610e7e565b9150509250929050565b600060208284031215610fa957610fa86114f5565b5b6000610fb784828501610e7e565b91505092915050565b610fc9816113ef565b82525050565b6000610fda82611337565b610fe48185611342565b9350610ff4818560208601611432565b610ffd816114fa565b840191505092915050565b6000611015602383611342565b91506110208261150b565b604082019050919050565b6000611038602283611342565b91506110438261155a565b604082019050919050565b600061105b602283611342565b9150611066826115a9565b604082019050919050565b600061107e602683611342565b9150611089826115f8565b604082019050919050565b60006110a1602883611342565b91506110ac82611647565b604082019050919050565b60006110c4602483611342565b91506110cf82611696565b604082019050919050565b60006110e7602183611342565b91506110f2826116e5565b604082019050919050565b600061110a602583611342565b915061111582611734565b604082019050919050565b600061112d602483611342565b915061113882611783565b604082019050919050565b6000611150602583611342565b915061115b826117d2565b604082019050919050565b61116f8161141b565b82525050565b61117e81611425565b82525050565b60006020820190506111996000830184610fc0565b92915050565b600060208201905081810360008301526111b98184610fcf565b905092915050565b600060208201905081810360008301526111da81611008565b9050919050565b600060208201905081810360008301526111fa8161102b565b9050919050565b6000602082019050818103600083015261121a8161104e565b9050919050565b6000602082019050818103600083015261123a81611071565b9050919050565b6000602082019050818103600083015261125a81611094565b9050919050565b6000602082019050818103600083015261127a816110b7565b9050919050565b6000602082019050818103600083015261129a816110da565b9050919050565b600060208201905081810360008301526112ba816110fd565b9050919050565b600060208201905081810360008301526112da81611120565b9050919050565b600060208201905081810360008301526112fa81611143565b9050919050565b60006020820190506113166000830184611166565b92915050565b60006020820190506113316000830184611175565b92915050565b600081519050919050565b600082825260208201905092915050565b600061135e8261141b565b91506113698361141b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561139e5761139d611497565b5b828201905092915050565b60006113b48261141b565b91506113bf8361141b565b9250828210156113d2576113d1611497565b5b828203905092915050565b60006113e8826113fb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611450578082015181840152602081019050611435565b8381111561145f576000848401525b50505050565b6000600282049050600182168061147d57607f821691505b60208210811415611491576114906114c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61182a816113dd565b811461183557600080fd5b50565b6118418161141b565b811461184c57600080fd5b5056fea2646970667358221220783c58ff164c87e1509beb80da258c651ad3455c457865b1362a3f5857e0f36d64736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000e57eefdd1edb66e4984c3e3026a48189f4b064c000000000000000000000000000000000000000000000000000000000000000e506572696f6e204372656469747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055045524353000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e9919061119f565b60405180910390f35b61010c60048036038101906101079190610f53565b610366565b6040516101199190611184565b60405180910390f35b61012a610384565b6040516101379190611301565b60405180910390f35b61015a60048036038101906101559190610f00565b61038e565b6040516101679190611184565b60405180910390f35b610178610486565b604051610185919061131c565b60405180910390f35b6101a860048036038101906101a39190610f53565b61048f565b6040516101b59190611184565b60405180910390f35b6101d860048036038101906101d39190610f93565b61053b565b005b6101f460048036038101906101ef9190610e93565b61054f565b6040516102019190611301565b60405180910390f35b610224600480360381019061021f9190610f53565b610597565b005b61022e610612565b60405161023b919061119f565b60405180910390f35b61025e60048036038101906102599190610f53565b6106a4565b60405161026b9190611184565b60405180910390f35b61028e60048036038101906102899190610f53565b61078f565b60405161029b9190611184565b60405180910390f35b6102be60048036038101906102b99190610ec0565b6107ad565b6040516102cb9190611301565b60405180910390f35b6060600380546102e390611465565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611465565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a610373610834565b848461083c565b6001905092915050565b6000600254905090565b600061039b848484610a07565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e6610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611241565b60405180910390fd5b61047a85610472610834565b85840361083c565b60019150509392505050565b60006012905090565b600061053161049c610834565b8484600160006104aa610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052c9190611353565b61083c565b6001905092915050565b61054c610546610834565b82610c88565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105aa836105a5610834565b6107ad565b9050818110156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e690611261565b60405180910390fd5b610603836105fb610834565b84840361083c565b61060d8383610c88565b505050565b60606004805461062190611465565b80601f016020809104026020016040519081016040528092919081815260200182805461064d90611465565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050905090565b600080600160006106b3610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610770576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610767906112e1565b60405180910390fd5b61078461077b610834565b8585840361083c565b600191505092915050565b60006107a361079c610834565b8484610a07565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a3906112c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390611201565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109fa9190611301565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e906112a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ade906111c1565b60405180910390fd5b610af2838383610e5f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611221565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c0b9190611353565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f9190611301565b60405180910390a3610c82848484610e64565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90611281565b60405180910390fd5b610d0482600083610e5f565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d81906111e1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610de191906113a9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e469190611301565b60405180910390a3610e5a83600084610e64565b505050565b505050565b505050565b600081359050610e7881611821565b92915050565b600081359050610e8d81611838565b92915050565b600060208284031215610ea957610ea86114f5565b5b6000610eb784828501610e69565b91505092915050565b60008060408385031215610ed757610ed66114f5565b5b6000610ee585828601610e69565b9250506020610ef685828601610e69565b9150509250929050565b600080600060608486031215610f1957610f186114f5565b5b6000610f2786828701610e69565b9350506020610f3886828701610e69565b9250506040610f4986828701610e7e565b9150509250925092565b60008060408385031215610f6a57610f696114f5565b5b6000610f7885828601610e69565b9250506020610f8985828601610e7e565b9150509250929050565b600060208284031215610fa957610fa86114f5565b5b6000610fb784828501610e7e565b91505092915050565b610fc9816113ef565b82525050565b6000610fda82611337565b610fe48185611342565b9350610ff4818560208601611432565b610ffd816114fa565b840191505092915050565b6000611015602383611342565b91506110208261150b565b604082019050919050565b6000611038602283611342565b91506110438261155a565b604082019050919050565b600061105b602283611342565b9150611066826115a9565b604082019050919050565b600061107e602683611342565b9150611089826115f8565b604082019050919050565b60006110a1602883611342565b91506110ac82611647565b604082019050919050565b60006110c4602483611342565b91506110cf82611696565b604082019050919050565b60006110e7602183611342565b91506110f2826116e5565b604082019050919050565b600061110a602583611342565b915061111582611734565b604082019050919050565b600061112d602483611342565b915061113882611783565b604082019050919050565b6000611150602583611342565b915061115b826117d2565b604082019050919050565b61116f8161141b565b82525050565b61117e81611425565b82525050565b60006020820190506111996000830184610fc0565b92915050565b600060208201905081810360008301526111b98184610fcf565b905092915050565b600060208201905081810360008301526111da81611008565b9050919050565b600060208201905081810360008301526111fa8161102b565b9050919050565b6000602082019050818103600083015261121a8161104e565b9050919050565b6000602082019050818103600083015261123a81611071565b9050919050565b6000602082019050818103600083015261125a81611094565b9050919050565b6000602082019050818103600083015261127a816110b7565b9050919050565b6000602082019050818103600083015261129a816110da565b9050919050565b600060208201905081810360008301526112ba816110fd565b9050919050565b600060208201905081810360008301526112da81611120565b9050919050565b600060208201905081810360008301526112fa81611143565b9050919050565b60006020820190506113166000830184611166565b92915050565b60006020820190506113316000830184611175565b92915050565b600081519050919050565b600082825260208201905092915050565b600061135e8261141b565b91506113698361141b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561139e5761139d611497565b5b828201905092915050565b60006113b48261141b565b91506113bf8361141b565b9250828210156113d2576113d1611497565b5b828203905092915050565b60006113e8826113fb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611450578082015181840152602081019050611435565b8381111561145f576000848401525b50505050565b6000600282049050600182168061147d57607f821691505b60208210811415611491576114906114c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61182a816113dd565b811461183557600080fd5b50565b6118418161141b565b811461184c57600080fd5b5056fea2646970667358221220783c58ff164c87e1509beb80da258c651ad3455c457865b1362a3f5857e0f36d64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000e57eefdd1edb66e4984c3e3026a48189f4b064c000000000000000000000000000000000000000000000000000000000000000e506572696f6e204372656469747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055045524353000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Perion Credits
Arg [1] : symbol (string): PERCS
Arg [2] : initialSupply (uint256): 100000000
Arg [3] : owner (address): 0x0E57EefdD1eDb66e4984c3E3026A48189F4B064C
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000000e57eefdd1edb66e4984c3e3026a48189f4b064c
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [5] : 506572696f6e2043726564697473000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 5045524353000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
18414:414:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6670:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8837:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7790:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9488:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7632:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10389:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17191:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7961:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17601:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6889:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11107:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8301:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8539:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6670:100;6724:13;6757:5;6750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6670:100;:::o;8837:169::-;8920:4;8937:39;8946:12;:10;:12::i;:::-;8960:7;8969:6;8937:8;:39::i;:::-;8994:4;8987:11;;8837:169;;;;:::o;7790:108::-;7851:7;7878:12;;7871:19;;7790:108;:::o;9488:492::-;9628:4;9645:36;9655:6;9663:9;9674:6;9645:9;:36::i;:::-;9694:24;9721:11;:19;9733:6;9721:19;;;;;;;;;;;;;;;:33;9741:12;:10;:12::i;:::-;9721:33;;;;;;;;;;;;;;;;9694:60;;9793:6;9773:16;:26;;9765:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9880:57;9889:6;9897:12;:10;:12::i;:::-;9930:6;9911:16;:25;9880:8;:57::i;:::-;9968:4;9961:11;;;9488:492;;;;;:::o;7632:93::-;7690:5;7715:2;7708:9;;7632:93;:::o;10389:215::-;10477:4;10494:80;10503:12;:10;:12::i;:::-;10517:7;10563:10;10526:11;:25;10538:12;:10;:12::i;:::-;10526:25;;;;;;;;;;;;;;;:34;10552:7;10526:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10494:8;:80::i;:::-;10592:4;10585:11;;10389:215;;;;:::o;17191:91::-;17247:27;17253:12;:10;:12::i;:::-;17267:6;17247:5;:27::i;:::-;17191:91;:::o;7961:127::-;8035:7;8062:9;:18;8072:7;8062:18;;;;;;;;;;;;;;;;8055:25;;7961:127;;;:::o;17601:368::-;17678:24;17705:32;17715:7;17724:12;:10;:12::i;:::-;17705:9;:32::i;:::-;17678:59;;17776:6;17756:16;:26;;17748:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17859:58;17868:7;17877:12;:10;:12::i;:::-;17910:6;17891:16;:25;17859:8;:58::i;:::-;17939:22;17945:7;17954:6;17939:5;:22::i;:::-;17667:302;17601:368;;:::o;6889:104::-;6945:13;6978:7;6971:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6889:104;:::o;11107:413::-;11200:4;11217:24;11244:11;:25;11256:12;:10;:12::i;:::-;11244:25;;;;;;;;;;;;;;;:34;11270:7;11244:34;;;;;;;;;;;;;;;;11217:61;;11317:15;11297:16;:35;;11289:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11410:67;11419:12;:10;:12::i;:::-;11433:7;11461:15;11442:16;:34;11410:8;:67::i;:::-;11508:4;11501:11;;;11107:413;;;;:::o;8301:175::-;8387:4;8404:42;8414:12;:10;:12::i;:::-;8428:9;8439:6;8404:9;:42::i;:::-;8464:4;8457:11;;8301:175;;;;:::o;8539:151::-;8628:7;8655:11;:18;8667:5;8655:18;;;;;;;;;;;;;;;:27;8674:7;8655:27;;;;;;;;;;;;;;;;8648:34;;8539:151;;;;:::o;693:98::-;746:7;773:10;766:17;;693:98;:::o;14791:380::-;14944:1;14927:19;;:5;:19;;;;14919:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15025:1;15006:21;;:7;:21;;;;14998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15109:6;15079:11;:18;15091:5;15079:18;;;;;;;;;;;;;;;:27;15098:7;15079:27;;;;;;;;;;;;;;;:36;;;;15147:7;15131:32;;15140:5;15131:32;;;15156:6;15131:32;;;;;;:::i;:::-;;;;;;;;14791:380;;;:::o;12010:733::-;12168:1;12150:20;;:6;:20;;;;12142:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12252:1;12231:23;;:9;:23;;;;12223:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12307:47;12328:6;12336:9;12347:6;12307:20;:47::i;:::-;12367:21;12391:9;:17;12401:6;12391:17;;;;;;;;;;;;;;;;12367:41;;12444:6;12427:13;:23;;12419:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12565:6;12549:13;:22;12529:9;:17;12539:6;12529:17;;;;;;;;;;;;;;;:42;;;;12617:6;12593:9;:20;12603:9;12593:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12658:9;12641:35;;12650:6;12641:35;;;12669:6;12641:35;;;;;;:::i;:::-;;;;;;;;12689:46;12709:6;12717:9;12728:6;12689:19;:46::i;:::-;12131:612;12010:733;;;:::o;13762:591::-;13865:1;13846:21;;:7;:21;;;;13838:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13918:49;13939:7;13956:1;13960:6;13918:20;:49::i;:::-;13980:22;14005:9;:18;14015:7;14005:18;;;;;;;;;;;;;;;;13980:43;;14060:6;14042:14;:24;;14034:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14179:6;14162:14;:23;14141:9;:18;14151:7;14141:18;;;;;;;;;;;;;;;:44;;;;14223:6;14207:12;;:22;;;;;;;:::i;:::-;;;;;;;;14273:1;14247:37;;14256:7;14247:37;;;14277:6;14247:37;;;;;;:::i;:::-;;;;;;;;14297:48;14317:7;14334:1;14338:6;14297:19;:48::i;:::-;13827:526;13762:591;;:::o;15771:125::-;;;;:::o;16500:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:119;;;2331:79;;:::i;:::-;2293:119;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2217:329;;;;:::o;2552:109::-;2633:21;2648:5;2633:21;:::i;:::-;2628:3;2621:34;2552:109;;:::o;2667:364::-;2755:3;2783:39;2816:5;2783:39;:::i;:::-;2838:71;2902:6;2897:3;2838:71;:::i;:::-;2831:78;;2918:52;2963:6;2958:3;2951:4;2944:5;2940:16;2918:52;:::i;:::-;2995:29;3017:6;2995:29;:::i;:::-;2990:3;2986:39;2979:46;;2759:272;2667:364;;;;:::o;3037:366::-;3179:3;3200:67;3264:2;3259:3;3200:67;:::i;:::-;3193:74;;3276:93;3365:3;3276:93;:::i;:::-;3394:2;3389:3;3385:12;3378:19;;3037:366;;;:::o;3409:::-;3551:3;3572:67;3636:2;3631:3;3572:67;:::i;:::-;3565:74;;3648:93;3737:3;3648:93;:::i;:::-;3766:2;3761:3;3757:12;3750:19;;3409:366;;;:::o;3781:::-;3923:3;3944:67;4008:2;4003:3;3944:67;:::i;:::-;3937:74;;4020:93;4109:3;4020:93;:::i;:::-;4138:2;4133:3;4129:12;4122:19;;3781:366;;;:::o;4153:::-;4295:3;4316:67;4380:2;4375:3;4316:67;:::i;:::-;4309:74;;4392:93;4481:3;4392:93;:::i;:::-;4510:2;4505:3;4501:12;4494:19;;4153:366;;;:::o;4525:::-;4667:3;4688:67;4752:2;4747:3;4688:67;:::i;:::-;4681:74;;4764:93;4853:3;4764:93;:::i;:::-;4882:2;4877:3;4873:12;4866:19;;4525:366;;;:::o;4897:::-;5039:3;5060:67;5124:2;5119:3;5060:67;:::i;:::-;5053:74;;5136:93;5225:3;5136:93;:::i;:::-;5254:2;5249:3;5245:12;5238:19;;4897:366;;;:::o;5269:::-;5411:3;5432:67;5496:2;5491:3;5432:67;:::i;:::-;5425:74;;5508:93;5597:3;5508:93;:::i;:::-;5626:2;5621:3;5617:12;5610:19;;5269:366;;;:::o;5641:::-;5783:3;5804:67;5868:2;5863:3;5804:67;:::i;:::-;5797:74;;5880:93;5969:3;5880:93;:::i;:::-;5998:2;5993:3;5989:12;5982:19;;5641:366;;;:::o;6013:::-;6155:3;6176:67;6240:2;6235:3;6176:67;:::i;:::-;6169:74;;6252:93;6341:3;6252:93;:::i;:::-;6370:2;6365:3;6361:12;6354:19;;6013:366;;;:::o;6385:::-;6527:3;6548:67;6612:2;6607:3;6548:67;:::i;:::-;6541:74;;6624:93;6713:3;6624:93;:::i;:::-;6742:2;6737:3;6733:12;6726:19;;6385:366;;;:::o;6757:118::-;6844:24;6862:5;6844:24;:::i;:::-;6839:3;6832:37;6757:118;;:::o;6881:112::-;6964:22;6980:5;6964:22;:::i;:::-;6959:3;6952:35;6881:112;;:::o;6999:210::-;7086:4;7124:2;7113:9;7109:18;7101:26;;7137:65;7199:1;7188:9;7184:17;7175:6;7137:65;:::i;:::-;6999:210;;;;:::o;7215:313::-;7328:4;7366:2;7355:9;7351:18;7343:26;;7415:9;7409:4;7405:20;7401:1;7390:9;7386:17;7379:47;7443:78;7516:4;7507:6;7443:78;:::i;:::-;7435:86;;7215:313;;;;:::o;7534:419::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7787:9;7781:4;7777:20;7773:1;7762:9;7758:17;7751:47;7815:131;7941:4;7815:131;:::i;:::-;7807:139;;7534:419;;;:::o;7959:::-;8125:4;8163:2;8152:9;8148:18;8140:26;;8212:9;8206:4;8202:20;8198:1;8187:9;8183:17;8176:47;8240:131;8366:4;8240:131;:::i;:::-;8232:139;;7959:419;;;:::o;8384:::-;8550:4;8588:2;8577:9;8573:18;8565:26;;8637:9;8631:4;8627:20;8623:1;8612:9;8608:17;8601:47;8665:131;8791:4;8665:131;:::i;:::-;8657:139;;8384:419;;;:::o;8809:::-;8975:4;9013:2;9002:9;8998:18;8990:26;;9062:9;9056:4;9052:20;9048:1;9037:9;9033:17;9026:47;9090:131;9216:4;9090:131;:::i;:::-;9082:139;;8809:419;;;:::o;9234:::-;9400:4;9438:2;9427:9;9423:18;9415:26;;9487:9;9481:4;9477:20;9473:1;9462:9;9458:17;9451:47;9515:131;9641:4;9515:131;:::i;:::-;9507:139;;9234:419;;;:::o;9659:::-;9825:4;9863:2;9852:9;9848:18;9840:26;;9912:9;9906:4;9902:20;9898:1;9887:9;9883:17;9876:47;9940:131;10066:4;9940:131;:::i;:::-;9932:139;;9659:419;;;:::o;10084:::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10337:9;10331:4;10327:20;10323:1;10312:9;10308:17;10301:47;10365:131;10491:4;10365:131;:::i;:::-;10357:139;;10084:419;;;:::o;10509:::-;10675:4;10713:2;10702:9;10698:18;10690:26;;10762:9;10756:4;10752:20;10748:1;10737:9;10733:17;10726:47;10790:131;10916:4;10790:131;:::i;:::-;10782:139;;10509:419;;;:::o;10934:::-;11100:4;11138:2;11127:9;11123:18;11115:26;;11187:9;11181:4;11177:20;11173:1;11162:9;11158:17;11151:47;11215:131;11341:4;11215:131;:::i;:::-;11207:139;;10934:419;;;:::o;11359:::-;11525:4;11563:2;11552:9;11548:18;11540:26;;11612:9;11606:4;11602:20;11598:1;11587:9;11583:17;11576:47;11640:131;11766:4;11640:131;:::i;:::-;11632:139;;11359:419;;;:::o;11784:222::-;11877:4;11915:2;11904:9;11900:18;11892:26;;11928:71;11996:1;11985:9;11981:17;11972:6;11928:71;:::i;:::-;11784:222;;;;:::o;12012:214::-;12101:4;12139:2;12128:9;12124:18;12116:26;;12152:67;12216:1;12205:9;12201:17;12192:6;12152:67;:::i;:::-;12012:214;;;;:::o;12313:99::-;12365:6;12399:5;12393:12;12383:22;;12313:99;;;:::o;12418:169::-;12502:11;12536:6;12531:3;12524:19;12576:4;12571:3;12567:14;12552:29;;12418:169;;;;:::o;12593:305::-;12633:3;12652:20;12670:1;12652:20;:::i;:::-;12647:25;;12686:20;12704:1;12686:20;:::i;:::-;12681:25;;12840:1;12772:66;12768:74;12765:1;12762:81;12759:107;;;12846:18;;:::i;:::-;12759:107;12890:1;12887;12883:9;12876:16;;12593:305;;;;:::o;12904:191::-;12944:4;12964:20;12982:1;12964:20;:::i;:::-;12959:25;;12998:20;13016:1;12998:20;:::i;:::-;12993:25;;13037:1;13034;13031:8;13028:34;;;13042:18;;:::i;:::-;13028:34;13087:1;13084;13080:9;13072:17;;12904:191;;;;:::o;13101:96::-;13138:7;13167:24;13185:5;13167:24;:::i;:::-;13156:35;;13101:96;;;:::o;13203:90::-;13237:7;13280:5;13273:13;13266:21;13255:32;;13203:90;;;:::o;13299:126::-;13336:7;13376:42;13369:5;13365:54;13354:65;;13299:126;;;:::o;13431:77::-;13468:7;13497:5;13486:16;;13431:77;;;:::o;13514:86::-;13549:7;13589:4;13582:5;13578:16;13567:27;;13514:86;;;:::o;13606:307::-;13674:1;13684:113;13698:6;13695:1;13692:13;13684:113;;;13783:1;13778:3;13774:11;13768:18;13764:1;13759:3;13755:11;13748:39;13720:2;13717:1;13713:10;13708:15;;13684:113;;;13815:6;13812:1;13809:13;13806:101;;;13895:1;13886:6;13881:3;13877:16;13870:27;13806:101;13655:258;13606:307;;;:::o;13919:320::-;13963:6;14000:1;13994:4;13990:12;13980:22;;14047:1;14041:4;14037:12;14068:18;14058:81;;14124:4;14116:6;14112:17;14102:27;;14058:81;14186:2;14178:6;14175:14;14155:18;14152:38;14149:84;;;14205:18;;:::i;:::-;14149:84;13970:269;13919:320;;;:::o;14245:180::-;14293:77;14290:1;14283:88;14390:4;14387:1;14380:15;14414:4;14411:1;14404:15;14431:180;14479:77;14476:1;14469:88;14576:4;14573:1;14566:15;14600:4;14597:1;14590:15;14740:117;14849:1;14846;14839:12;14863:102;14904:6;14955:2;14951:7;14946:2;14939:5;14935:14;14931:28;14921:38;;14863:102;;;:::o;14971:222::-;15111:34;15107:1;15099:6;15095:14;15088:58;15180:5;15175:2;15167:6;15163:15;15156:30;14971:222;:::o;15199:221::-;15339:34;15335:1;15327:6;15323:14;15316:58;15408:4;15403:2;15395:6;15391:15;15384:29;15199:221;:::o;15426:::-;15566:34;15562:1;15554:6;15550:14;15543:58;15635:4;15630:2;15622:6;15618:15;15611:29;15426:221;:::o;15653:225::-;15793:34;15789:1;15781:6;15777:14;15770:58;15862:8;15857:2;15849:6;15845:15;15838:33;15653:225;:::o;15884:227::-;16024:34;16020:1;16012:6;16008:14;16001:58;16093:10;16088:2;16080:6;16076:15;16069:35;15884:227;:::o;16117:223::-;16257:34;16253:1;16245:6;16241:14;16234:58;16326:6;16321:2;16313:6;16309:15;16302:31;16117:223;:::o;16346:220::-;16486:34;16482:1;16474:6;16470:14;16463:58;16555:3;16550:2;16542:6;16538:15;16531:28;16346:220;:::o;16572:224::-;16712:34;16708:1;16700:6;16696:14;16689:58;16781:7;16776:2;16768:6;16764:15;16757:32;16572:224;:::o;16802:223::-;16942:34;16938:1;16930:6;16926:14;16919:58;17011:6;17006:2;16998:6;16994:15;16987:31;16802:223;:::o;17031:224::-;17171:34;17167:1;17159:6;17155:14;17148:58;17240:7;17235:2;17227:6;17223:15;17216:32;17031:224;:::o;17261:122::-;17334:24;17352:5;17334:24;:::i;:::-;17327:5;17324:35;17314:63;;17373:1;17370;17363:12;17314:63;17261:122;:::o;17389:::-;17462:24;17480:5;17462:24;:::i;:::-;17455:5;17452:35;17442:63;;17501:1;17498;17491:12;17442:63;17389:122;:::o
Swarm Source
ipfs://783c58ff164c87e1509beb80da258c651ad3455c457865b1362a3f5857e0f36d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.