<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>skidrow</title>
        <link>https://paragraph.com/@octogamex-2</link>
        <description>$$$</description>
        <lastBuildDate>Sun, 05 Apr 2026 13:11:01 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>skidrow</title>
            <url>https://storage.googleapis.com/papyrus_images/051e08ddd4f2eac84f369e6b9f44da33ea057df5f738b4c99e73808a483dd82c.png</url>
            <link>https://paragraph.com/@octogamex-2</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Introducing Omni Overdrive]]></title>
            <link>https://paragraph.com/@octogamex-2/introducing-omni-overdrive</link>
            <guid>ubj6Xd47AY1vQBJ3MKBO</guid>
            <pubDate>Fri, 01 Sep 2023 16:16:56 GMT</pubDate>
            <description><![CDATA[Omni Overdrive - What&apos;s New?Omni Overdrive brings groundbreaking changes, including not just Ethereum Virtual Machine (EVM) functionality but also introducing a major new infrastructure layer that allows for communication between rollups. In essence, Omni Network is now capable of fulfilling its core promise: connecting all rollups to create a seamless development and user experience.Key Features:Broaden Your Horizons: Now, developers are no longer limited to a single rollup. Omni Overdr...]]></description>
            <content:encoded><![CDATA[<h2 id="h-omni-overdrive-whats-new" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Omni Overdrive - What&apos;s New?</strong></h2><p>Omni Overdrive brings groundbreaking changes, including not just Ethereum Virtual Machine (EVM) functionality but also introducing a major new infrastructure layer that allows for communication between rollups. In essence, Omni Network is now capable of fulfilling its core promise: connecting all rollups to create a seamless development and user experience.</p><h3 id="h-key-features" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>Key Features:</strong></h3><ul><li><p><strong>Broaden Your Horizons</strong>: Now, developers are no longer limited to a single rollup. Omni Overdrive enables DApps to function across multiple rollups, starting with Linea, Arbitrum and Scroll.</p></li><li><p><strong>Enhanced Liquidity</strong>: Say goodbye to fragmented liquidity. DApps can now tap into a larger liquidity network with a more diversified user base across rollups.</p></li></ul><h2 id="h-walkthrough" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Walkthrough</strong></h2><p>Here&apos;s a quick guide on how to get started on Omni Overdrive Testnet:</p><ol><li><p><strong>Add Omni Overdrive as a New Network:</strong> Follow the guide shared below.</p></li><li><p><strong>Minting OATs</strong>: Start by minting your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://galxe.com/OmniNetwork/campaign/GCRjEUuBTt?ref=blog.omni.network">Omni Overdrive Launch Supporter OAT from Galxe</a>.</p></li><li><p><strong>Getting Funds from Faucet</strong>: Once you&apos;ve minted your OAT, you can claim testnet funds from our faucet <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.omni.network/?ref=blog.omni.network">here</a>. You’ll claim testnet $OMNI, $USDT, $USDC, &amp; $ETH on all integrated rollups from the faucet.</p></li></ol><h3 id="h-how-to-add-omni-overdrive-as-a-new-network" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>How to Add Omni Overdrive as a New Network</strong></h3><p>You <strong>MUST</strong> <strong>add Omni Overdrive as a new network in your MetaMask wallet</strong>. Our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.omni.network/?ref=blog.omni.network">faucet</a> will prompt you to easily add this new network when you&apos;re claiming testnet funds. By following these guidelines, you&apos;re setting yourself up for a seamless journey on Omni Overdrive!</p><p>If you prefer to add the network manually, <strong>do not simply edit</strong> the old RPC details in your MetaMask to the new Omni Overdrive RPC. This is crucial; otherwise, you&apos;ll be tangled in nonce inconsistencies that MetaMask won&apos;t easily reconcile. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://support.metamask.io/hc/en-us/articles/360043227612-How-to-add-a-custom-network-RPC?ref=blog.omni.network">Here is a step-by-step guide </a>to add a custom network to your Metamask wallet.</p><p>Below are the network details:</p><ul><li><p><strong>Network name</strong>: Omni Overdrive Testnet</p></li><li><p><strong>RPC URL</strong>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.omni.network/?ref=blog.omni.network">https://testnet.omni.network/</a></p></li><li><p><strong>Chain ID</strong>: 165</p></li><li><p><strong>Currency symbol</strong>: OMNI</p></li><li><p><strong>Block explorer URL</strong>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://testnet.explorer.omni.network/?ref=blog.omni.network">https://testnet.explorer.omni.network</a></p></li></ul><p>If you still face any issues, here’s how you can rectify it:</p><ol><li><p>Select Omni as your network in your Metamask Wallet.</p></li><li><p>Click on the 3 dots on the top right and click “Settings”.</p></li><li><p>Click on “Advance” Settings and then on the “Clear Activity Tab Data” button.</p></li><li><p>Finally, click on “Clear” and you are done.</p></li></ol><p>If you need additional support, join our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/bKNXmaX9VD?ref=blog.omni.network">discord</a> server; we’ll help you!</p><h2 id="h-using-the-first-dapps-on-omni-overdrive-welcoming-collar-protocol" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Using the First DApps on Omni Overdrive: Welcoming Collar Protocol</strong></h2><p>We&apos;re excited about all the developers building on Omni Overdrive. Today, we are highlighting the first team&apos;s deployment: Collar Protocol.</p><p>Collar Protocol, built by an experienced team from Harvard and Goldman Sachs, offers high LTV (Loan-to-Value) loans without liquidations. Collar aims to redefine capital efficiency and user experience in the decentralized finance ecosystem through this innovative mechanism.</p><p>Omni Network is thrilled to empower Collar Protocol with its robust omnichain development platform, enabling it to operate across rollups and tap into broad-based liquidity pools.</p><p>You can access the Collar Protocol App <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://collarrollupportal.vercel.app/?ref=blog.omni.network">here</a>.</p><h3 id="h-heres-how-you-can-try-it-out" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>Here’s how you can try it out:</strong></h3><p><strong>Step 1</strong> - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://galxe.com/OmniNetwork/campaign/GCRjEUuBTt?ref=blog.omni.network">Mint Your Omni Overdrive Launch Supporter OAT from Galxe</a></p><p><strong>Step 2</strong> - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://faucet.omni.network/?ref=blog.omni.network">Claim Testnet Funds from Faucet</a></p><p><strong>Step 3</strong> - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://collarrollupportal.vercel.app/?ref=blog.omni.network">Connect Your Wallet on Collar Protocol</a></p><p><strong>Step 4</strong> - Request Price</p><p><strong>Step 5</strong> - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://collaralpha.vercel.app/?ref=blog.omni.network">Head over to Collar Alpha on Omni</a></p><p><strong>Step 6</strong> - Check and Finalise Your Deal</p><p><strong>Step 7</strong> - Check Your Vault</p><p><strong>Step 8</strong> - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://galxe.com/OmniNetwork/campaign/GCtL5UB2AM?ref=blog.omni.network">Mint Your Collar Protocol Mission OAT</a></p><p>By navigating through these steps, you&apos;re not just executing transactions; you&apos;re participating in a revolution. Collar Protocol leverages Omni’s infrastructure to bring its innovative DeFi functionality across all rollups. Your financial world just got more inclusive, efficient, and secure.</p><p>For a detailed guide on how to engage with Collar Protocol, check out the step-by-step guide <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.omni.network/collar-protocol-deployment-on-omni-overdrive-a-step-by-step-guide-to-your-first-mission/">here</a>.</p><h2 id="h-mission-control" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Mission Control</strong></h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://missions.omni.network/?ref=blog.omni.network">Mission Control</a> will be your go-to for all available missions. This is where you&apos;ll find tasks that contribute to the Omni ecosystem and allow you to earn XP rewards. Learn more about Mission Control <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.omni.network/omni-mission-control-center/">here</a>.</p><h2 id="h-final-thoughts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Final Thoughts</strong></h2><p>Omni Overdrive Testnet V2 marks a significant milestone for us and the broader blockchain community. We invite you to be an early adopter in this exciting journey. Together, let&apos;s set new standards for what&apos;s possible in crypto’s future.</p><h2 id="h-about-omni" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>About Omni</strong></h2><p>The Omni Network is a layer 1 blockchain built to connect all rollups. Using Omni, developers can build global applications that are available across all rollups. Secured through restaking $ETH, Omni is a next-generation blockchain leading the frontier in both security and functionality.</p><p>Omni is backed by $18M from prominent investors such as Pantera Capital, Two Sigma Ventures and Jump Crypto.</p>]]></content:encoded>
            <author>octogamex-2@newsletter.paragraph.com (skidrow)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a8392bf5e6a10e9abbea1e6f39c7c78682cb26f501444b7830f195c833206551.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[HorizonDEX Testnet]]></title>
            <link>https://paragraph.com/@octogamex-2/horizondex-testnet</link>
            <guid>w4shhm1GdYrjMzXCCMVp</guid>
            <pubDate>Mon, 10 Jul 2023 14:42:48 GMT</pubDate>
            <description><![CDATA[HorizonDEX is the first Concentrated Liquidity DEX built on ConsenSys’ Linea Layer 2. Unlike traditional Automated Market Makers, HorizonDEX liquidity pools utilize invested capital with greater efficiency — resulting in greater returns for liquidity providers. HorizonDEX is driven to deliver an unrivalled trading experience with superior DeFi liquidity efficiency — achieving this via its concentrated liquidity protocol and series of affiliate interoperable functional modules. HorizonDEX is p...]]></description>
            <content:encoded><![CDATA[<p>HorizonDEX is the first Concentrated Liquidity DEX built on ConsenSys’ Linea Layer 2. Unlike traditional Automated Market Makers, HorizonDEX liquidity pools utilize invested capital with greater efficiency — resulting in greater returns for liquidity providers.</p><p>HorizonDEX is driven to deliver an unrivalled trading experience with superior DeFi liquidity efficiency — achieving this via its concentrated liquidity protocol and series of affiliate interoperable functional modules.</p><p>HorizonDEX is poised to become a pioneering DeFi project on the revolutionary Layer 2 network, Linea Chain.</p><p>Prior to the official launch, we want to ensure everything operates smoothly and users enjoy the best possible experience on our decentralized exchange (DEX). To accomplish this, we will be conducting a testnet period. In this article, we will guide you through the necessary steps to utilize HorizonDEX on the Linea Chain Testnet.</p><p>HorizonDEX has an easy-to-navigate website and our Swap tool is highly user-friendly with its basic design. Users can easily swap and exchange their cryptocurrencies on the swap tool.</p><p>You need to connect your wallet to the protocol by clicking the <strong>Connect Wallet</strong> button on the top right side of the screen. HorizonDEX offers its users a rich selection of popular wallets, including Metamask, WalletConnect, Coin98, LEDGER, Brave Wallet, and Coinbase Wallet.</p><p>Now you are connected and ready to use the swap. You can select the tokens from the dropdown menu on the right side of the swap box.</p><p>HorizonDEX allows you to set your slippage tolerance for the trade, HorizonDEX will offer 0.5 % as default.</p><p>Once you submit the order and get approved, the transaction should be confirmed quickly.</p><p>Pools section is the place where you can see the full list of the liquidity pools, add liquidity to existing pools and create your own liquidity pool. There are currently ETH/Dai Mock ETH/USDC and ETH/USDT Mock pools. You can swap your Testnet Ethereum to Dai Mock, USDC mock or USDT Mock on the swap tool and then add them into the pools.</p><p>You can simply click on the Add Liquidity button on the right side of the pools. Then you will be prompted to select your preferred price range for concentration. We made it easy and provided you with pre-made settings and custom settings.</p><p>Active and Passive options are pre-made settings. So users doesn’t have to adjust price range and it will be automatically be adjusted. The difference between Active and Passive options is the yield/risk ratio. Active options offers higher yield and higher risk while Passive offers lower yield and lower risk. If you prefer to make your own setting, you can Select Custom to enter the price range.</p><p>Before adding liquidity, firstly you will need to approve the tokens to be spent. If you have ETH and would like to add liquidity to zk.USDT-ETH pair, you will need to wrap it for WETH from Swap page first.</p><p>The fee tier defaults at 0.3%. For the testnet we only have 1 fee tiers, but we will have much more for the mainnet.</p>]]></content:encoded>
            <author>octogamex-2@newsletter.paragraph.com (skidrow)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/9e5797b7b6a232dce2e7422b502789e505101282294b9d55ffa3dc14fcd126ef.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Deploy smart contract on Scroll]]></title>
            <link>https://paragraph.com/@octogamex-2/deploy-smart-contract-on-scroll</link>
            <guid>9aSxGTb1eoFCq9HVReDP</guid>
            <pubDate>Wed, 12 Apr 2023 11:13:12 GMT</pubDate>
            <description><![CDATA[1- go to this siteRemix - Ethereum IDE remix.ethereum.org2- click “create new file” ex: arzbama_scroll.sol3- copy this code and paste in right panel// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256...]]></description>
            <content:encoded><![CDATA[<h3 id="h-1-go-to-this-site" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1- go to this site</h3><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"></h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://remix.ethereum.org/">Remix - Ethereum IDE</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://remix.ethereum.org/">remix.ethereum.org</a></p><h3 id="h-2-click-create-new-file-ex-arzbamascrollsol3-copy-this-code-and-paste-in-right-panel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2- click “create new file” ex: arzbama_scroll.sol3- copy this code and paste in right panel</h3><pre data-type="codeBlock" text="// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

interface IERC20 {
 
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

     function transfer(address to, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

contract ERC20 is IERC20 {

    mapping(address =&gt; uint256) public override balanceOf;

    mapping(address =&gt; mapping(address =&gt; uint256)) public override allowance;

    uint256 public override totalSupply; 

    string public name;   
    string public symbol;  
    
    uint8 public decimals = 18; 
    address public owner;

    constructor(string memory name_, string memory symbol_){
        name = name_;
        symbol = symbol_;
        owner = msg.sender;
    }

    function transfer(address recipient, uint amount) external override returns (bool) {
        balanceOf[msg.sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    function approve(address spender, uint amount) external override returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) external override returns (bool) {
        allowance[sender][msg.sender] -= amount;
        balanceOf[sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function mint(uint amount) external {
        require(owner == msg.sender);
        balanceOf[msg.sender] += amount;
        totalSupply += amount;
        emit Transfer(address(0), msg.sender, amount);
    }

    function burn(uint amount) external {
        balanceOf[msg.sender] -= amount;
        totalSupply -= amount;
        emit Transfer(msg.sender, address(0), amount);
    }

}
"><code><span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.4;</span>

<span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">IERC20</span> </span>{
 
    <span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">Transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> <span class="hljs-keyword">from</span>, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> to, <span class="hljs-keyword">uint256</span> value</span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">Approval</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> owner, <span class="hljs-keyword">address</span> <span class="hljs-keyword">indexed</span> spender, <span class="hljs-keyword">uint256</span> value</span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">totalSupply</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">balanceOf</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> account</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)</span>;

     <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> to, <span class="hljs-keyword">uint256</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">allowance</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> owner, <span class="hljs-keyword">address</span> spender</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint256</span></span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">approve</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> spender, <span class="hljs-keyword">uint256</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>)</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params">
        <span class="hljs-keyword">address</span> <span class="hljs-keyword">from</span>,
        <span class="hljs-keyword">address</span> to,
        <span class="hljs-keyword">uint256</span> amount
    </span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>)</span>;
}

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">ERC20</span> <span class="hljs-keyword">is</span> <span class="hljs-title">IERC20</span> </span>{

    <span class="hljs-keyword">mapping</span>(<span class="hljs-keyword">address</span> <span class="hljs-operator">=</span><span class="hljs-operator">></span> <span class="hljs-keyword">uint256</span>) <span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> balanceOf;

    <span class="hljs-keyword">mapping</span>(<span class="hljs-keyword">address</span> <span class="hljs-operator">=</span><span class="hljs-operator">></span> <span class="hljs-keyword">mapping</span>(<span class="hljs-keyword">address</span> <span class="hljs-operator">=</span><span class="hljs-operator">></span> <span class="hljs-keyword">uint256</span>)) <span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> allowance;

    <span class="hljs-keyword">uint256</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> totalSupply; 

    <span class="hljs-keyword">string</span> <span class="hljs-keyword">public</span> name;   
    <span class="hljs-keyword">string</span> <span class="hljs-keyword">public</span> symbol;  
    
    <span class="hljs-keyword">uint8</span> <span class="hljs-keyword">public</span> decimals <span class="hljs-operator">=</span> <span class="hljs-number">18</span>; 
    <span class="hljs-keyword">address</span> <span class="hljs-keyword">public</span> owner;

    <span class="hljs-function"><span class="hljs-keyword">constructor</span>(<span class="hljs-params"><span class="hljs-keyword">string</span> <span class="hljs-keyword">memory</span> name_, <span class="hljs-keyword">string</span> <span class="hljs-keyword">memory</span> symbol_</span>)</span>{
        name <span class="hljs-operator">=</span> name_;
        symbol <span class="hljs-operator">=</span> symbol_;
        owner <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> recipient, <span class="hljs-keyword">uint</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">override</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>) </span>{
        balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">-</span><span class="hljs-operator">=</span> amount;
        balanceOf[recipient] <span class="hljs-operator">+</span><span class="hljs-operator">=</span> amount;
        <span class="hljs-keyword">emit</span> Transfer(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, recipient, amount);
        <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">approve</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> spender, <span class="hljs-keyword">uint</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">override</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>) </span>{
        allowance[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>][spender] <span class="hljs-operator">=</span> amount;
        <span class="hljs-keyword">emit</span> Approval(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, spender, amount);
        <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">transferFrom</span>(<span class="hljs-params">
        <span class="hljs-keyword">address</span> sender,
        <span class="hljs-keyword">address</span> recipient,
        <span class="hljs-keyword">uint</span> amount
    </span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">override</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">bool</span></span>) </span>{
        allowance[sender][<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">-</span><span class="hljs-operator">=</span> amount;
        balanceOf[sender] <span class="hljs-operator">-</span><span class="hljs-operator">=</span> amount;
        balanceOf[recipient] <span class="hljs-operator">+</span><span class="hljs-operator">=</span> amount;
        <span class="hljs-keyword">emit</span> Transfer(sender, recipient, amount);
        <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">mint</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        <span class="hljs-built_in">require</span>(owner <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>);
        balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">+</span><span class="hljs-operator">=</span> amount;
        totalSupply <span class="hljs-operator">+</span><span class="hljs-operator">=</span> amount;
        <span class="hljs-keyword">emit</span> Transfer(<span class="hljs-keyword">address</span>(<span class="hljs-number">0</span>), <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, amount);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">burn</span>(<span class="hljs-params"><span class="hljs-keyword">uint</span> amount</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">-</span><span class="hljs-operator">=</span> amount;
        totalSupply <span class="hljs-operator">-</span><span class="hljs-operator">=</span> amount;
        <span class="hljs-keyword">emit</span> Transfer(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, <span class="hljs-keyword">address</span>(<span class="hljs-number">0</span>), amount);
    }

}
</code></pre><h3 id="h-3-click-compile" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3- click compile</h3><h3 id="h-3-click-compile" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3- click compile</h3><h3 id="h-4-choose-injected-provider-metamask" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4-choose injected provider - metamask</h3><p>5- type name_ and symbol_ with strings, such as tobber, tob.</p><h3 id="h-click-the-transact" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">click the “transact”</h3><h3 id="h-6-type-18000000000000000000000000-to-mint-function-and-click-transact" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">6- type 18000000000000000000000000 to “mint” function and click “transact”</h3><h3 id="h-copy-the-address-of-our-token-address" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">copy the address of our token address</h3><p>free collect entry</p><h3 id="h-7-go-to-this-site-and-create-liquidity" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">7- go to this site and create liquidity</h3><p>&lt;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://uniswap-v3.scroll.io/">https://uniswap-v3.scroll.io/</a> &gt;</p><div data-type="subscribeButton" class="center-contents"><a class="email-subscribe-button" href="null">Subscribe</a></div>]]></content:encoded>
            <author>octogamex-2@newsletter.paragraph.com (skidrow)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/7eb103f02f0db0c28ce1b2b97a3dc569a68e3b7e6fdbb11857e3fc7097d1236d.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>