More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,319 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Emergency Withdr... | 20428299 | 63 days ago | IN | 0 ETH | 0.00063363 | ||||
Emergency Withdr... | 20428292 | 63 days ago | IN | 0 ETH | 0.00068747 | ||||
Swap | 20020447 | 120 days ago | IN | 0 ETH | 0.00211747 | ||||
Swap | 20004940 | 122 days ago | IN | 0 ETH | 0.0013423 | ||||
Swap | 20004072 | 122 days ago | IN | 0 ETH | 0.00100054 | ||||
Swap | 20001242 | 123 days ago | IN | 0 ETH | 0.00052621 | ||||
Swap | 20000932 | 123 days ago | IN | 0 ETH | 0.00061226 | ||||
Swap | 19998449 | 123 days ago | IN | 0 ETH | 0.00155251 | ||||
Swap | 19997931 | 123 days ago | IN | 0 ETH | 0.00135275 | ||||
Swap | 19991097 | 124 days ago | IN | 0 ETH | 0.00317519 | ||||
Swap | 19989590 | 124 days ago | IN | 0 ETH | 0.00115387 | ||||
Swap | 19989578 | 124 days ago | IN | 0 ETH | 0.00136716 | ||||
Swap | 19988678 | 124 days ago | IN | 0 ETH | 0.00108705 | ||||
Swap | 19939278 | 131 days ago | IN | 0 ETH | 0.00080089 | ||||
Swap | 19939274 | 131 days ago | IN | 0 ETH | 0.00080055 | ||||
Swap | 19938954 | 131 days ago | IN | 0 ETH | 0.0011297 | ||||
Swap | 19922405 | 134 days ago | IN | 0 ETH | 0.00127235 | ||||
Swap | 19920724 | 134 days ago | IN | 0 ETH | 0.00158326 | ||||
Swap | 19915153 | 135 days ago | IN | 0 ETH | 0.00162801 | ||||
Swap | 19913904 | 135 days ago | IN | 0 ETH | 0.00527223 | ||||
Swap | 19912429 | 135 days ago | IN | 0 ETH | 0.00080297 | ||||
Swap | 19912407 | 135 days ago | IN | 0 ETH | 0.00268604 | ||||
Swap | 19908386 | 136 days ago | IN | 0 ETH | 0.00040522 | ||||
Swap | 19901119 | 137 days ago | IN | 0 ETH | 0.00041304 | ||||
Swap | 19898062 | 137 days ago | IN | 0 ETH | 0.00073325 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
RVFMigration
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-14 */ /** *Submitted for verification at Etherscan.io on 2024-03-01 */ // File: @openzeppelin/contracts/security/ReentrancyGuard.sol pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor () { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // File: @openzeppelin/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) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: @openzeppelin/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: @openzeppelin/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 { 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 defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All three 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 value {ERC20} uses, unless this function is * overloaded; * * 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 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"); _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"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is 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"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(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: * * - `to` 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); } /** * @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"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(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 to 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 { } } // File: @openzeppelin/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"); _approve(account, _msgSender(), currentAllowance - amount); _burn(account, amount); } } // File: contracts/RVFMigration.sol pragma solidity ^0.8.20; /** * @title RVFMigration * @dev Contract for swapping RVF tokens to RVFv2 tokens with added functionalities for liquidity management. */ contract RVFMigration is Ownable, ReentrancyGuard { address public rvfToken; address public rvfV2Token; uint256 public swapFee; address public feeCollector; // Address to collect swap fees address public tokenCollector; // Address to collect swapped tokens // Mapping to keep track of liquidity added by each address mapping(address => uint256) public liquidity; event TokensSwapped(address indexed user, uint256 amount); event LiquidityAdded(address indexed user, uint256 amount); event EmergencyWithdrawal(address indexed user, uint256 amount); event FeeCollectorChanged(address indexed newFeeCollector); event TokenCollectorChanged(address indexed newTokenCollector); /** * @dev Sets the initial addresses for RVF and RVFv2 tokens, swap fee, and fee collector upon contract deployment. * @param _rvfToken Address of the RVF token contract. * @param _rvfV2Token Address of the RVFv2 token contract. * @param _feeCollector Address where collected fees will be sent. * @param _swapFee Initial swap fee in RVFv2 tokens (fee is configured in 10000). * @param _tokenCollector Address to collect swapped tokens. */ constructor( address _rvfToken, address _rvfV2Token, address _feeCollector, uint256 _swapFee, address _tokenCollector ) { rvfToken = _rvfToken; rvfV2Token = _rvfV2Token; feeCollector = _feeCollector; swapFee = _swapFee; tokenCollector = _tokenCollector; } /** * @dev Sets the swap fee. * @param _fee New swap fee in RVFv2 tokens (fee is configured in 10000). */ function setSwapFee(uint256 _fee) external onlyOwner { swapFee = _fee; } /** * @dev Sets the fee collector address. * @param _feeCollector New address to collect swap fees. */ function setFeeCollector(address _feeCollector) external onlyOwner { require(_feeCollector != address(0), "Invalid address"); feeCollector = _feeCollector; emit FeeCollectorChanged(_feeCollector); } /** * @dev Sets the token collector address. * @param _tokenCollector New address to collect swapped tokens. */ function setTokenCollector(address _tokenCollector) external onlyOwner { require(_tokenCollector != address(0), "Invalid address"); tokenCollector = _tokenCollector; emit TokenCollectorChanged(_tokenCollector); } function swap(uint256 amount) external nonReentrant { require(amount > 0, "Amount must be greater than zero"); uint256 feeAmount = (amount * swapFee) / 10000; // Calculate fee amount in RVFv2 tokens require(feeAmount > 0, "Fee amount must be greater than zero"); require(amount > feeAmount, "Amount must be greater than fee"); require( IERC20(rvfToken).balanceOf(msg.sender) >= amount, "Insufficient RVF balance" ); require( IERC20(rvfToken).allowance(msg.sender, address(this)) >= amount, "Allowance not enough" ); // Check contract liquidity require( IERC20(rvfV2Token).balanceOf(address(this)) >= amount, "Contract out of liquidity" ); // Transfer RVF tokens to token collector IERC20(rvfToken).transferFrom(msg.sender, tokenCollector, amount); // Transfer swap fee to fee collector IERC20(rvfV2Token).transfer(feeCollector, feeAmount); // Transfer RVFv2 tokens to user IERC20(rvfV2Token).transfer(msg.sender, amount - feeAmount); emit TokensSwapped(msg.sender, amount); } /** * @dev Allows users to add liquidity by transferring RVFv2 tokens to the contract. * @param amount Amount of RVFv2 tokens to add as liquidity. */ function addLiquidity(uint256 amount) external nonReentrant { require(amount > 0, "Amount must be greater than zero"); // Transfer RVFv2 tokens from user to contract for liquidity IERC20(rvfV2Token).transferFrom(msg.sender, address(this), amount); liquidity[msg.sender] += amount; emit LiquidityAdded(msg.sender, amount); } /** * @dev Allows the owner to withdraw RVFv2 tokens from the contract in case of emergency. * @param amount Amount of RVFv2 tokens to withdraw. */ function emergencyWithdrawal(uint256 amount) external onlyOwner nonReentrant { require(amount > 0, "Amount must be greater than zero"); // Transfer RVF tokens to owner IERC20(rvfV2Token).transfer(owner(), amount); emit EmergencyWithdrawal(msg.sender, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_rvfToken","type":"address"},{"internalType":"address","name":"_rvfV2Token","type":"address"},{"internalType":"address","name":"_feeCollector","type":"address"},{"internalType":"uint256","name":"_swapFee","type":"uint256"},{"internalType":"address","name":"_tokenCollector","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newFeeCollector","type":"address"}],"name":"FeeCollectorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LiquidityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTokenCollector","type":"address"}],"name":"TokenCollectorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensSwapped","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeCollector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rvfToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rvfV2Token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_feeCollector","type":"address"}],"name":"setFeeCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setSwapFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenCollector","type":"address"}],"name":"setTokenCollector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenCollector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801562000010575f80fd5b5060405162001f4738038062001f478339818101604052810190620000369190620002a0565b5f62000047620001fc60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600180819055508460025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816004819055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000324565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620002328262000207565b9050919050565b620002448162000226565b81146200024f575f80fd5b50565b5f81519050620002628162000239565b92915050565b5f819050919050565b6200027c8162000268565b811462000287575f80fd5b50565b5f815190506200029a8162000271565b92915050565b5f805f805f60a08688031215620002bc57620002bb62000203565b5b5f620002cb8882890162000252565b9550506020620002de8882890162000252565b9450506040620002f18882890162000252565b935050606062000304888289016200028a565b9250506080620003178882890162000252565b9150509295509295909350565b611c1580620003325f395ff3fe608060405234801561000f575f80fd5b50600436106100f2575f3560e01c8063715018a611610095578063a9b0335a11610064578063a9b0335a14610222578063b8c876b11461023e578063c415b95c1461026e578063f2fde38b1461028c576100f2565b8063715018a6146101c25780638da5cb5b146101cc57806394b918de146101ea578063a42dce8014610206576100f2565b806334e19907116100d157806334e199071461014e57806348ba4e491461016a57806351c6590a1461018857806354cf2aeb146101a4576100f2565b806239522c146100f65780630b353fc214610112578063271af8c114610130575b5f80fd5b610110600480360381019061010b9190611420565b6102a8565b005b61011a6104af565b604051610127919061148a565b60405180910390f35b6101386104d4565b604051610145919061148a565b60405180910390f35b61016860048036038101906101639190611420565b6104f9565b005b61017261057f565b60405161017f919061148a565b60405180910390f35b6101a2600480360381019061019d9190611420565b6105a4565b005b6101ac61077d565b6040516101b991906114b2565b60405180910390f35b6101ca610783565b005b6101d46108b9565b6040516101e1919061148a565b60405180910390f35b61020460048036038101906101ff9190611420565b6108e0565b005b610220600480360381019061021b91906114f5565b610f23565b005b61023c600480360381019061023791906114f5565b611093565b005b610258600480360381019061025391906114f5565b611203565b60405161026591906114b2565b60405180910390f35b610276611218565b604051610283919061148a565b60405180910390f35b6102a660048036038101906102a191906114f5565b61123d565b005b6102b06113e2565b73ffffffffffffffffffffffffffffffffffffffff166102ce6108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610324576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031b9061157a565b60405180910390fd5b600260015403610369576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610360906115e2565b60405180910390fd5b60026001819055505f81116103b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa9061164a565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6103f86108b9565b836040518363ffffffff1660e01b8152600401610416929190611668565b6020604051808303815f875af1158015610432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045691906116c4565b503373ffffffffffffffffffffffffffffffffffffffff167f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f208260405161049d91906114b2565b60405180910390a26001808190555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105016113e2565b73ffffffffffffffffffffffffffffffffffffffff1661051f6108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056c9061157a565b60405180910390fd5b8060048190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002600154036105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e0906115e2565b60405180910390fd5b60026001819055505f8111610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062a9061164a565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610691939291906116ef565b6020604051808303815f875af11580156106ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d191906116c4565b508060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461071e9190611751565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fc17cea59c2955cb181b03393209566960365771dbba9dc3d510180e7cb3120888260405161076b91906114b2565b60405180910390a26001808190555050565b60045481565b61078b6113e2565b73ffffffffffffffffffffffffffffffffffffffff166107a96108b9565b73ffffffffffffffffffffffffffffffffffffffff16146107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f69061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260015403610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091c906115e2565b60405180910390fd5b60026001819055505f811161096f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109669061164a565b60405180910390fd5b5f612710600454836109819190611784565b61098b91906117f2565b90505f81116109cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c690611892565b60405180910390fd5b808211610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a08906118fa565b60405180910390fd5b8160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a6c919061148a565b602060405180830381865afa158015610a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aab919061192c565b1015610aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae3906119a1565b60405180910390fd5b8160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610b499291906119bf565b602060405180830381865afa158015610b64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b88919061192c565b1015610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc090611a30565b60405180910390fd5b8160035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c24919061148a565b602060405180830381865afa158015610c3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c63919061192c565b1015610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611a98565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610d23939291906116ef565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6391906116c4565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610de1929190611668565b6020604051808303815f875af1158015610dfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2191906116c4565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338385610e6c9190611ab6565b6040518363ffffffff1660e01b8152600401610e89929190611668565b6020604051808303815f875af1158015610ea5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec991906116c4565b503373ffffffffffffffffffffffffffffffffffffffff167f560c2d01b390b6779e2d10c443fb354f5ce2ec169ef6617c3bb2208938f82dc983604051610f1091906114b2565b60405180910390a2506001808190555050565b610f2b6113e2565b73ffffffffffffffffffffffffffffffffffffffff16610f496108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f969061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361100d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100490611b33565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f9c1996a14d26c3ecd833c10222d012447ef07b09b15000f3a34318ff039c0bdc60405160405180910390a250565b61109b6113e2565b73ffffffffffffffffffffffffffffffffffffffff166110b96108b9565b73ffffffffffffffffffffffffffffffffffffffff161461110f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111069061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490611b33565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f6fd0acfc6ab484232ec6afc7d9e6bcb81f69264c9c3cd62f899e3ba3121844a560405160405180910390a250565b6007602052805f5260405f205f915090505481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112456113e2565b73ffffffffffffffffffffffffffffffffffffffff166112636108b9565b73ffffffffffffffffffffffffffffffffffffffff16146112b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b09061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131e90611bc1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f80fd5b5f819050919050565b6113ff816113ed565b8114611409575f80fd5b50565b5f8135905061141a816113f6565b92915050565b5f60208284031215611435576114346113e9565b5b5f6114428482850161140c565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114748261144b565b9050919050565b6114848161146a565b82525050565b5f60208201905061149d5f83018461147b565b92915050565b6114ac816113ed565b82525050565b5f6020820190506114c55f8301846114a3565b92915050565b6114d48161146a565b81146114de575f80fd5b50565b5f813590506114ef816114cb565b92915050565b5f6020828403121561150a576115096113e9565b5b5f611517848285016114e1565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611564602083611520565b915061156f82611530565b602082019050919050565b5f6020820190508181035f83015261159181611558565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6115cc601f83611520565b91506115d782611598565b602082019050919050565b5f6020820190508181035f8301526115f9816115c0565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f611634602083611520565b915061163f82611600565b602082019050919050565b5f6020820190508181035f83015261166181611628565b9050919050565b5f60408201905061167b5f83018561147b565b61168860208301846114a3565b9392505050565b5f8115159050919050565b6116a38161168f565b81146116ad575f80fd5b50565b5f815190506116be8161169a565b92915050565b5f602082840312156116d9576116d86113e9565b5b5f6116e6848285016116b0565b91505092915050565b5f6060820190506117025f83018661147b565b61170f602083018561147b565b61171c60408301846114a3565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61175b826113ed565b9150611766836113ed565b925082820190508082111561177e5761177d611724565b5b92915050565b5f61178e826113ed565b9150611799836113ed565b92508282026117a7816113ed565b915082820484148315176117be576117bd611724565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6117fc826113ed565b9150611807836113ed565b925082611817576118166117c5565b5b828204905092915050565b7f46656520616d6f756e74206d7573742062652067726561746572207468616e205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f61187c602483611520565b915061188782611822565b604082019050919050565b5f6020820190508181035f8301526118a981611870565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20666565005f82015250565b5f6118e4601f83611520565b91506118ef826118b0565b602082019050919050565b5f6020820190508181035f830152611911816118d8565b9050919050565b5f81519050611926816113f6565b92915050565b5f60208284031215611941576119406113e9565b5b5f61194e84828501611918565b91505092915050565b7f496e73756666696369656e74205256462062616c616e636500000000000000005f82015250565b5f61198b601883611520565b915061199682611957565b602082019050919050565b5f6020820190508181035f8301526119b88161197f565b9050919050565b5f6040820190506119d25f83018561147b565b6119df602083018461147b565b9392505050565b7f416c6c6f77616e6365206e6f7420656e6f7567680000000000000000000000005f82015250565b5f611a1a601483611520565b9150611a25826119e6565b602082019050919050565b5f6020820190508181035f830152611a4781611a0e565b9050919050565b7f436f6e7472616374206f7574206f66206c6971756964697479000000000000005f82015250565b5f611a82601983611520565b9150611a8d82611a4e565b602082019050919050565b5f6020820190508181035f830152611aaf81611a76565b9050919050565b5f611ac0826113ed565b9150611acb836113ed565b9250828203905081811115611ae357611ae2611724565b5b92915050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611b1d600f83611520565b9150611b2882611ae9565b602082019050919050565b5f6020820190508181035f830152611b4a81611b11565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611bab602683611520565b9150611bb682611b51565b604082019050919050565b5f6020820190508181035f830152611bd881611b9f565b905091905056fea264697066735822122061d48aa84f3ed87014dcd9db6e67495e77355d1c6fb89a2d9d76d782d5c81ee664736f6c63430008180033000000000000000000000000dc8af07a7861bedd104b8093ae3e9376fc8596d20000000000000000000000002fb652314c3d850e9049057bbe9813f1eee882d3000000000000000000000000ff7caa0795e88383a91a4c11d542de09f8a493c300000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000521a83bb77a6b6b04817c999d0b8e811396247f9
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100f2575f3560e01c8063715018a611610095578063a9b0335a11610064578063a9b0335a14610222578063b8c876b11461023e578063c415b95c1461026e578063f2fde38b1461028c576100f2565b8063715018a6146101c25780638da5cb5b146101cc57806394b918de146101ea578063a42dce8014610206576100f2565b806334e19907116100d157806334e199071461014e57806348ba4e491461016a57806351c6590a1461018857806354cf2aeb146101a4576100f2565b806239522c146100f65780630b353fc214610112578063271af8c114610130575b5f80fd5b610110600480360381019061010b9190611420565b6102a8565b005b61011a6104af565b604051610127919061148a565b60405180910390f35b6101386104d4565b604051610145919061148a565b60405180910390f35b61016860048036038101906101639190611420565b6104f9565b005b61017261057f565b60405161017f919061148a565b60405180910390f35b6101a2600480360381019061019d9190611420565b6105a4565b005b6101ac61077d565b6040516101b991906114b2565b60405180910390f35b6101ca610783565b005b6101d46108b9565b6040516101e1919061148a565b60405180910390f35b61020460048036038101906101ff9190611420565b6108e0565b005b610220600480360381019061021b91906114f5565b610f23565b005b61023c600480360381019061023791906114f5565b611093565b005b610258600480360381019061025391906114f5565b611203565b60405161026591906114b2565b60405180910390f35b610276611218565b604051610283919061148a565b60405180910390f35b6102a660048036038101906102a191906114f5565b61123d565b005b6102b06113e2565b73ffffffffffffffffffffffffffffffffffffffff166102ce6108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610324576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031b9061157a565b60405180910390fd5b600260015403610369576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610360906115e2565b60405180910390fd5b60026001819055505f81116103b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa9061164a565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6103f86108b9565b836040518363ffffffff1660e01b8152600401610416929190611668565b6020604051808303815f875af1158015610432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045691906116c4565b503373ffffffffffffffffffffffffffffffffffffffff167f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f208260405161049d91906114b2565b60405180910390a26001808190555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105016113e2565b73ffffffffffffffffffffffffffffffffffffffff1661051f6108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056c9061157a565b60405180910390fd5b8060048190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002600154036105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e0906115e2565b60405180910390fd5b60026001819055505f8111610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062a9061164a565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610691939291906116ef565b6020604051808303815f875af11580156106ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d191906116c4565b508060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461071e9190611751565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fc17cea59c2955cb181b03393209566960365771dbba9dc3d510180e7cb3120888260405161076b91906114b2565b60405180910390a26001808190555050565b60045481565b61078b6113e2565b73ffffffffffffffffffffffffffffffffffffffff166107a96108b9565b73ffffffffffffffffffffffffffffffffffffffff16146107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f69061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260015403610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091c906115e2565b60405180910390fd5b60026001819055505f811161096f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109669061164a565b60405180910390fd5b5f612710600454836109819190611784565b61098b91906117f2565b90505f81116109cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c690611892565b60405180910390fd5b808211610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a08906118fa565b60405180910390fd5b8160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a6c919061148a565b602060405180830381865afa158015610a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aab919061192c565b1015610aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae3906119a1565b60405180910390fd5b8160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610b499291906119bf565b602060405180830381865afa158015610b64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b88919061192c565b1015610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc090611a30565b60405180910390fd5b8160035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c24919061148a565b602060405180830381865afa158015610c3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c63919061192c565b1015610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b90611a98565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610d23939291906116ef565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6391906116c4565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610de1929190611668565b6020604051808303815f875af1158015610dfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2191906116c4565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338385610e6c9190611ab6565b6040518363ffffffff1660e01b8152600401610e89929190611668565b6020604051808303815f875af1158015610ea5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec991906116c4565b503373ffffffffffffffffffffffffffffffffffffffff167f560c2d01b390b6779e2d10c443fb354f5ce2ec169ef6617c3bb2208938f82dc983604051610f1091906114b2565b60405180910390a2506001808190555050565b610f2b6113e2565b73ffffffffffffffffffffffffffffffffffffffff16610f496108b9565b73ffffffffffffffffffffffffffffffffffffffff1614610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f969061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361100d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100490611b33565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f9c1996a14d26c3ecd833c10222d012447ef07b09b15000f3a34318ff039c0bdc60405160405180910390a250565b61109b6113e2565b73ffffffffffffffffffffffffffffffffffffffff166110b96108b9565b73ffffffffffffffffffffffffffffffffffffffff161461110f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111069061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490611b33565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f6fd0acfc6ab484232ec6afc7d9e6bcb81f69264c9c3cd62f899e3ba3121844a560405160405180910390a250565b6007602052805f5260405f205f915090505481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112456113e2565b73ffffffffffffffffffffffffffffffffffffffff166112636108b9565b73ffffffffffffffffffffffffffffffffffffffff16146112b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b09061157a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131e90611bc1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f80fd5b5f819050919050565b6113ff816113ed565b8114611409575f80fd5b50565b5f8135905061141a816113f6565b92915050565b5f60208284031215611435576114346113e9565b5b5f6114428482850161140c565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114748261144b565b9050919050565b6114848161146a565b82525050565b5f60208201905061149d5f83018461147b565b92915050565b6114ac816113ed565b82525050565b5f6020820190506114c55f8301846114a3565b92915050565b6114d48161146a565b81146114de575f80fd5b50565b5f813590506114ef816114cb565b92915050565b5f6020828403121561150a576115096113e9565b5b5f611517848285016114e1565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611564602083611520565b915061156f82611530565b602082019050919050565b5f6020820190508181035f83015261159181611558565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6115cc601f83611520565b91506115d782611598565b602082019050919050565b5f6020820190508181035f8301526115f9816115c0565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f611634602083611520565b915061163f82611600565b602082019050919050565b5f6020820190508181035f83015261166181611628565b9050919050565b5f60408201905061167b5f83018561147b565b61168860208301846114a3565b9392505050565b5f8115159050919050565b6116a38161168f565b81146116ad575f80fd5b50565b5f815190506116be8161169a565b92915050565b5f602082840312156116d9576116d86113e9565b5b5f6116e6848285016116b0565b91505092915050565b5f6060820190506117025f83018661147b565b61170f602083018561147b565b61171c60408301846114a3565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61175b826113ed565b9150611766836113ed565b925082820190508082111561177e5761177d611724565b5b92915050565b5f61178e826113ed565b9150611799836113ed565b92508282026117a7816113ed565b915082820484148315176117be576117bd611724565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6117fc826113ed565b9150611807836113ed565b925082611817576118166117c5565b5b828204905092915050565b7f46656520616d6f756e74206d7573742062652067726561746572207468616e205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f61187c602483611520565b915061188782611822565b604082019050919050565b5f6020820190508181035f8301526118a981611870565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e20666565005f82015250565b5f6118e4601f83611520565b91506118ef826118b0565b602082019050919050565b5f6020820190508181035f830152611911816118d8565b9050919050565b5f81519050611926816113f6565b92915050565b5f60208284031215611941576119406113e9565b5b5f61194e84828501611918565b91505092915050565b7f496e73756666696369656e74205256462062616c616e636500000000000000005f82015250565b5f61198b601883611520565b915061199682611957565b602082019050919050565b5f6020820190508181035f8301526119b88161197f565b9050919050565b5f6040820190506119d25f83018561147b565b6119df602083018461147b565b9392505050565b7f416c6c6f77616e6365206e6f7420656e6f7567680000000000000000000000005f82015250565b5f611a1a601483611520565b9150611a25826119e6565b602082019050919050565b5f6020820190508181035f830152611a4781611a0e565b9050919050565b7f436f6e7472616374206f7574206f66206c6971756964697479000000000000005f82015250565b5f611a82601983611520565b9150611a8d82611a4e565b602082019050919050565b5f6020820190508181035f830152611aaf81611a76565b9050919050565b5f611ac0826113ed565b9150611acb836113ed565b9250828203905081811115611ae357611ae2611724565b5b92915050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611b1d600f83611520565b9150611b2882611ae9565b602082019050919050565b5f6020820190508181035f830152611b4a81611b11565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611bab602683611520565b9150611bb682611b51565b604082019050919050565b5f6020820190508181035f830152611bd881611b9f565b905091905056fea264697066735822122061d48aa84f3ed87014dcd9db6e67495e77355d1c6fb89a2d9d76d782d5c81ee664736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000dc8af07a7861bedd104b8093ae3e9376fc8596d20000000000000000000000002fb652314c3d850e9049057bbe9813f1eee882d3000000000000000000000000ff7caa0795e88383a91a4c11d542de09f8a493c300000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000521a83bb77a6b6b04817c999d0b8e811396247f9
-----Decoded View---------------
Arg [0] : _rvfToken (address): 0xdc8aF07A7861bedD104B8093Ae3e9376fc8596D2
Arg [1] : _rvfV2Token (address): 0x2fb652314C3d850E9049057bBE9813F1eEe882d3
Arg [2] : _feeCollector (address): 0xfF7CAA0795e88383a91a4C11d542dE09f8a493C3
Arg [3] : _swapFee (uint256): 200
Arg [4] : _tokenCollector (address): 0x521A83bb77a6B6B04817C999d0b8e811396247f9
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000dc8af07a7861bedd104b8093ae3e9376fc8596d2
Arg [1] : 0000000000000000000000002fb652314c3d850e9049057bbe9813f1eee882d3
Arg [2] : 000000000000000000000000ff7caa0795e88383a91a4c11d542de09f8a493c3
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [4] : 000000000000000000000000521a83bb77a6b6b04817c999d0b8e811396247f9
Deployed Bytecode Sourcemap
21093:4878:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25630:338;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21150:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21307:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22814:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21180:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25074:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21212:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5481:148;;;:::i;:::-;;4830:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23659:1234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23034:230;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23407:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21447:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21241:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5784:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25630:338;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1818:1:::1;2415:7;;:19:::0;2407:63:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1818:1;2548:7;:18;;;;25767:1:::2;25758:6;:10;25750:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;25866:10;;;;;;;;;;;25859:27;;;25887:7;:5;:7::i;:::-;25896:6;25859:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25941:10;25921:39;;;25953:6;25921:39;;;;;;:::i;:::-;;;;;;;;1774:1:::1;2727:7:::0;:22:::1;;;;25630:338:::0;:::o;21150:23::-;;;;;;;;;;;;;:::o;21307:29::-;;;;;;;;;;;;;:::o;22814:86::-;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22888:4:::1;22878:7;:14;;;;22814:86:::0;:::o;21180:25::-;;;;;;;;;;;;;:::o;25074:377::-;1818:1;2415:7;;:19;2407:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1818:1;2548:7;:18;;;;25162:1:::1;25153:6;:10;25145:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;25290:10;;;;;;;;;;;25283:31;;;25315:10;25335:4;25342:6;25283:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25385:6;25360:9;:21;25370:10;25360:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;25424:10;25409:34;;;25436:6;25409:34;;;;;;:::i;:::-;;;;;;;;1774:1:::0;2727:7;:22;;;;25074:377;:::o;21212:22::-;;;;:::o;5481:148::-;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5588:1:::1;5551:40;;5572:6;::::0;::::1;;;;;;;;5551:40;;;;;;;;;;;;5619:1;5602:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5481:148::o:0;4830:87::-;4876:7;4903:6;;;;;;;;;;;4896:13;;4830:87;:::o;23659:1234::-;1818:1;2415:7;;:19;2407:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1818:1;2548:7;:18;;;;23739:1:::1;23730:6;:10;23722:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;23790:17;23831:5;23820:7;;23811:6;:16;;;;:::i;:::-;23810:26;;;;:::i;:::-;23790:46;;23907:1;23895:9;:13;23887:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;23977:9;23968:6;:18;23960:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;24099:6;24064:8;;;;;;;;;;;24057:26;;;24084:10;24057:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;24035:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;24247:6;24197:8;;;;;;;;;;;24190:26;;;24217:10;24237:4;24190:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;24168:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;24420:6;24380:10;;;;;;;;;;;24373:28;;;24410:4;24373:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;24351:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;24550:8;;;;;;;;;;;24543:29;;;24573:10;24585:14;;;;;;;;;;;24601:6;24543:65;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24675:10;;;;;;;;;;;24668:27;;;24696:12;;;;;;;;;;;24710:9;24668:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24782:10;;;;;;;;;;;24775:27;;;24803:10;24824:9;24815:6;:18;;;;:::i;:::-;24775:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24866:10;24852:33;;;24878:6;24852:33;;;;;;:::i;:::-;;;;;;;;23711:1182;1774:1:::0;2727:7;:22;;;;23659:1234;:::o;23034:230::-;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23145:1:::1;23120:27;;:13;:27;;::::0;23112:55:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23193:13;23178:12;;:28;;;;;;;;;;;;;;;;;;23242:13;23222:34;;;;;;;;;;;;23034:230:::0;:::o;23407:244::-;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23524:1:::1;23497:29;;:15;:29;;::::0;23489:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23574:15;23557:14;;:32;;;;;;;;;;;;;;;;;;23627:15;23605:38;;;;;;;;;;;;23407:244:::0;:::o;21447:44::-;;;;;;;;;;;;;;;;;:::o;21241:27::-;;;;;;;;;;;;;:::o;5784:244::-;5061:12;:10;:12::i;:::-;5050:23;;:7;:5;:7::i;:::-;:23;;;5042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5893:1:::1;5873:22;;:8;:22;;::::0;5865:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5983:8;5954:38;;5975:6;::::0;::::1;;;;;;;;5954:38;;;;;;;;;;;;6012:8;6003:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5784:244:::0;:::o;3388:98::-;3441:7;3468:10;3461:17;;3388:98;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:222::-;1828:4;1866:2;1855:9;1851:18;1843:26;;1879:71;1947:1;1936:9;1932:17;1923:6;1879:71;:::i;:::-;1735:222;;;;:::o;1963:122::-;2036:24;2054:5;2036:24;:::i;:::-;2029:5;2026:35;2016:63;;2075:1;2072;2065:12;2016:63;1963:122;:::o;2091:139::-;2137:5;2175:6;2162:20;2153:29;;2191:33;2218:5;2191:33;:::i;:::-;2091:139;;;;:::o;2236:329::-;2295:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:119;;;2350:79;;:::i;:::-;2312:119;2470:1;2495:53;2540:7;2531:6;2520:9;2516:22;2495:53;:::i;:::-;2485:63;;2441:117;2236:329;;;;:::o;2571:169::-;2655:11;2689:6;2684:3;2677:19;2729:4;2724:3;2720:14;2705:29;;2571:169;;;;:::o;2746:182::-;2886:34;2882:1;2874:6;2870:14;2863:58;2746:182;:::o;2934:366::-;3076:3;3097:67;3161:2;3156:3;3097:67;:::i;:::-;3090:74;;3173:93;3262:3;3173:93;:::i;:::-;3291:2;3286:3;3282:12;3275:19;;2934:366;;;:::o;3306:419::-;3472:4;3510:2;3499:9;3495:18;3487:26;;3559:9;3553:4;3549:20;3545:1;3534:9;3530:17;3523:47;3587:131;3713:4;3587:131;:::i;:::-;3579:139;;3306:419;;;:::o;3731:181::-;3871:33;3867:1;3859:6;3855:14;3848:57;3731:181;:::o;3918:366::-;4060:3;4081:67;4145:2;4140:3;4081:67;:::i;:::-;4074:74;;4157:93;4246:3;4157:93;:::i;:::-;4275:2;4270:3;4266:12;4259:19;;3918:366;;;:::o;4290:419::-;4456:4;4494:2;4483:9;4479:18;4471:26;;4543:9;4537:4;4533:20;4529:1;4518:9;4514:17;4507:47;4571:131;4697:4;4571:131;:::i;:::-;4563:139;;4290:419;;;:::o;4715:182::-;4855:34;4851:1;4843:6;4839:14;4832:58;4715:182;:::o;4903:366::-;5045:3;5066:67;5130:2;5125:3;5066:67;:::i;:::-;5059:74;;5142:93;5231:3;5142:93;:::i;:::-;5260:2;5255:3;5251:12;5244:19;;4903:366;;;:::o;5275:419::-;5441:4;5479:2;5468:9;5464:18;5456:26;;5528:9;5522:4;5518:20;5514:1;5503:9;5499:17;5492:47;5556:131;5682:4;5556:131;:::i;:::-;5548:139;;5275:419;;;:::o;5700:332::-;5821:4;5859:2;5848:9;5844:18;5836:26;;5872:71;5940:1;5929:9;5925:17;5916:6;5872:71;:::i;:::-;5953:72;6021:2;6010:9;6006:18;5997:6;5953:72;:::i;:::-;5700:332;;;;;:::o;6038:90::-;6072:7;6115:5;6108:13;6101:21;6090:32;;6038:90;;;:::o;6134:116::-;6204:21;6219:5;6204:21;:::i;:::-;6197:5;6194:32;6184:60;;6240:1;6237;6230:12;6184:60;6134:116;:::o;6256:137::-;6310:5;6341:6;6335:13;6326:22;;6357:30;6381:5;6357:30;:::i;:::-;6256:137;;;;:::o;6399:345::-;6466:6;6515:2;6503:9;6494:7;6490:23;6486:32;6483:119;;;6521:79;;:::i;:::-;6483:119;6641:1;6666:61;6719:7;6710:6;6699:9;6695:22;6666:61;:::i;:::-;6656:71;;6612:125;6399:345;;;;:::o;6750:442::-;6899:4;6937:2;6926:9;6922:18;6914:26;;6950:71;7018:1;7007:9;7003:17;6994:6;6950:71;:::i;:::-;7031:72;7099:2;7088:9;7084:18;7075:6;7031:72;:::i;:::-;7113;7181:2;7170:9;7166:18;7157:6;7113:72;:::i;:::-;6750:442;;;;;;:::o;7198:180::-;7246:77;7243:1;7236:88;7343:4;7340:1;7333:15;7367:4;7364:1;7357:15;7384:191;7424:3;7443:20;7461:1;7443:20;:::i;:::-;7438:25;;7477:20;7495:1;7477:20;:::i;:::-;7472:25;;7520:1;7517;7513:9;7506:16;;7541:3;7538:1;7535:10;7532:36;;;7548:18;;:::i;:::-;7532:36;7384:191;;;;:::o;7581:410::-;7621:7;7644:20;7662:1;7644:20;:::i;:::-;7639:25;;7678:20;7696:1;7678:20;:::i;:::-;7673:25;;7733:1;7730;7726:9;7755:30;7773:11;7755:30;:::i;:::-;7744:41;;7934:1;7925:7;7921:15;7918:1;7915:22;7895:1;7888:9;7868:83;7845:139;;7964:18;;:::i;:::-;7845:139;7629:362;7581:410;;;;:::o;7997:180::-;8045:77;8042:1;8035:88;8142:4;8139:1;8132:15;8166:4;8163:1;8156:15;8183:185;8223:1;8240:20;8258:1;8240:20;:::i;:::-;8235:25;;8274:20;8292:1;8274:20;:::i;:::-;8269:25;;8313:1;8303:35;;8318:18;;:::i;:::-;8303:35;8360:1;8357;8353:9;8348:14;;8183:185;;;;:::o;8374:223::-;8514:34;8510:1;8502:6;8498:14;8491:58;8583:6;8578:2;8570:6;8566:15;8559:31;8374:223;:::o;8603:366::-;8745:3;8766:67;8830:2;8825:3;8766:67;:::i;:::-;8759:74;;8842:93;8931:3;8842:93;:::i;:::-;8960:2;8955:3;8951:12;8944:19;;8603:366;;;:::o;8975:419::-;9141:4;9179:2;9168:9;9164:18;9156:26;;9228:9;9222:4;9218:20;9214:1;9203:9;9199:17;9192:47;9256:131;9382:4;9256:131;:::i;:::-;9248:139;;8975:419;;;:::o;9400:181::-;9540:33;9536:1;9528:6;9524:14;9517:57;9400:181;:::o;9587:366::-;9729:3;9750:67;9814:2;9809:3;9750:67;:::i;:::-;9743:74;;9826:93;9915:3;9826:93;:::i;:::-;9944:2;9939:3;9935:12;9928:19;;9587:366;;;:::o;9959:419::-;10125:4;10163:2;10152:9;10148:18;10140:26;;10212:9;10206:4;10202:20;10198:1;10187:9;10183:17;10176:47;10240:131;10366:4;10240:131;:::i;:::-;10232:139;;9959:419;;;:::o;10384:143::-;10441:5;10472:6;10466:13;10457:22;;10488:33;10515:5;10488:33;:::i;:::-;10384:143;;;;:::o;10533:351::-;10603:6;10652:2;10640:9;10631:7;10627:23;10623:32;10620:119;;;10658:79;;:::i;:::-;10620:119;10778:1;10803:64;10859:7;10850:6;10839:9;10835:22;10803:64;:::i;:::-;10793:74;;10749:128;10533:351;;;;:::o;10890:174::-;11030:26;11026:1;11018:6;11014:14;11007:50;10890:174;:::o;11070:366::-;11212:3;11233:67;11297:2;11292:3;11233:67;:::i;:::-;11226:74;;11309:93;11398:3;11309:93;:::i;:::-;11427:2;11422:3;11418:12;11411:19;;11070:366;;;:::o;11442:419::-;11608:4;11646:2;11635:9;11631:18;11623:26;;11695:9;11689:4;11685:20;11681:1;11670:9;11666:17;11659:47;11723:131;11849:4;11723:131;:::i;:::-;11715:139;;11442:419;;;:::o;11867:332::-;11988:4;12026:2;12015:9;12011:18;12003:26;;12039:71;12107:1;12096:9;12092:17;12083:6;12039:71;:::i;:::-;12120:72;12188:2;12177:9;12173:18;12164:6;12120:72;:::i;:::-;11867:332;;;;;:::o;12205:170::-;12345:22;12341:1;12333:6;12329:14;12322:46;12205:170;:::o;12381:366::-;12523:3;12544:67;12608:2;12603:3;12544:67;:::i;:::-;12537:74;;12620:93;12709:3;12620:93;:::i;:::-;12738:2;12733:3;12729:12;12722:19;;12381:366;;;:::o;12753:419::-;12919:4;12957:2;12946:9;12942:18;12934:26;;13006:9;13000:4;12996:20;12992:1;12981:9;12977:17;12970:47;13034:131;13160:4;13034:131;:::i;:::-;13026:139;;12753:419;;;:::o;13178:175::-;13318:27;13314:1;13306:6;13302:14;13295:51;13178:175;:::o;13359:366::-;13501:3;13522:67;13586:2;13581:3;13522:67;:::i;:::-;13515:74;;13598:93;13687:3;13598:93;:::i;:::-;13716:2;13711:3;13707:12;13700:19;;13359:366;;;:::o;13731:419::-;13897:4;13935:2;13924:9;13920:18;13912:26;;13984:9;13978:4;13974:20;13970:1;13959:9;13955:17;13948:47;14012:131;14138:4;14012:131;:::i;:::-;14004:139;;13731:419;;;:::o;14156:194::-;14196:4;14216:20;14234:1;14216:20;:::i;:::-;14211:25;;14250:20;14268:1;14250:20;:::i;:::-;14245:25;;14294:1;14291;14287:9;14279:17;;14318:1;14312:4;14309:11;14306:37;;;14323:18;;:::i;:::-;14306:37;14156:194;;;;:::o;14356:165::-;14496:17;14492:1;14484:6;14480:14;14473:41;14356:165;:::o;14527:366::-;14669:3;14690:67;14754:2;14749:3;14690:67;:::i;:::-;14683:74;;14766:93;14855:3;14766:93;:::i;:::-;14884:2;14879:3;14875:12;14868:19;;14527:366;;;:::o;14899:419::-;15065:4;15103:2;15092:9;15088:18;15080:26;;15152:9;15146:4;15142:20;15138:1;15127:9;15123:17;15116:47;15180:131;15306:4;15180:131;:::i;:::-;15172:139;;14899:419;;;:::o;15324:225::-;15464:34;15460:1;15452:6;15448:14;15441:58;15533:8;15528:2;15520:6;15516:15;15509:33;15324:225;:::o;15555:366::-;15697:3;15718:67;15782:2;15777:3;15718:67;:::i;:::-;15711:74;;15794:93;15883:3;15794:93;:::i;:::-;15912:2;15907:3;15903:12;15896:19;;15555:366;;;:::o;15927:419::-;16093:4;16131:2;16120:9;16116:18;16108:26;;16180:9;16174:4;16170:20;16166:1;16155:9;16151:17;16144:47;16208:131;16334:4;16208:131;:::i;:::-;16200:139;;15927:419;;;:::o
Swarm Source
ipfs://61d48aa84f3ed87014dcd9db6e67495e77355d1c6fb89a2d9d76d782d5c81ee6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.