<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ethereum on Bitsy Wiki</title>
    <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/</link>
    <description>Recent content in Ethereum on Bitsy Wiki</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>EIP and ERC</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip/</guid>
      <description>&lt;p&gt;An &lt;strong&gt;Ethereum Improvement Proposal (EIP)&lt;/strong&gt; is the design document through which&#xA;every change to &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt; is proposed,&#xA;argued over, and ratified. An &lt;strong&gt;Ethereum Request for Comments (ERC)&lt;/strong&gt; is one&#xA;category of EIP — the category covering application-level conventions such as&#xA;token interfaces.&lt;/p&gt;&#xA;&lt;p&gt;The two names get used interchangeably in casual writing. They are not two&#xA;processes: ERC is a &lt;em&gt;subset&lt;/em&gt; of EIP, and both draw from the same number&#xA;sequence, so the standard filed as EIP-20 is called&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; everywhere else.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blobs</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/blobs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/blobs/</guid>
      <description>&lt;p&gt;A blob is 128 KiB of data that an &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt;&#xA;block commits to and then forgets. It rides alongside a transaction rather than&#xA;inside it: the &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum#the-ethereum-virtual-machine-evm&#34;&gt;EVM&lt;/a&gt;&#xA;cannot read it, no contract can store it, and consensus clients delete it after&#xA;about 18 days. EIP-4844, an &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;Ethereum Improvement Proposal&lt;/a&gt;&#xA;shipped in the Dencun upgrade on 13 March 2024, added them to give&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum#scalability-and-layer-2&#34;&gt;rollups&lt;/a&gt; somewhere&#xA;to publish transaction data other than calldata, which every node stores forever&#xA;and which costs 16 gas per non-zero byte.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-20</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20/</guid>
      <description>&lt;p&gt;ERC-20 — the twentieth &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;Ethereum Request for Comment&lt;/a&gt; — is the standard interface for fungible tokens on &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt;. Proposed by Fabian Vogelsteller in 2015 (&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;EIP&lt;/a&gt;-20), it defines six functions and two events that every compliant token must implement. Wallets, &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/dex&#34;&gt;DEXs&lt;/a&gt;, lending protocols, and aggregators all speak ERC-20, so a token that implements the interface is tradeable and usable as collateral on the day it deploys, without asking any of them to add support for it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-8004: Trustless Agents</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-8004/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-8004/</guid>
      <description>&lt;p&gt;ERC-8004 is a &lt;strong&gt;Draft&lt;/strong&gt; &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;ERC&lt;/a&gt; defining three on-chain registries — identity, reputation, and validation — that give AI agents a shared trust layer across organisational boundaries, with no bilateral agreement arranged in advance. It is protocol-agnostic: an agent speaking &lt;a href=&#34;https://wiki.bitsy.services/wiki/ai/mcp&#34;&gt;MCP&lt;/a&gt;, &lt;a href=&#34;https://google.github.io/A2A/&#34;&gt;A2A&lt;/a&gt; (agent-to-agent), or anything else uses the same registries.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-three-questions&#34;&gt;The three questions&lt;a class=&#34;anchor&#34; href=&#34;#the-three-questions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Agents from different companies that need to work together have no standard way to settle three things, and one registry answers each:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-667</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-667/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-667/</guid>
      <description>&lt;p&gt;ERC-667 was an early proposal to add &lt;code&gt;transferAndCall&lt;/code&gt; functionality to &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; tokens on &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt;. It predates the similar and much more widely known &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-677&#34;&gt;ERC-677&lt;/a&gt;, and the two are frequently confused.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-it-proposed&#34;&gt;What it proposed&lt;a class=&#34;anchor&#34; href=&#34;#what-it-proposed&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Like ERC-677, ERC-667 aimed to solve the two-step &lt;code&gt;approve&lt;/code&gt; + &lt;code&gt;transferFrom&lt;/code&gt; pattern by combining a token transfer with a &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/smart-contract&#34;&gt;smart contract&lt;/a&gt; callback in a single transaction. The core idea was identical: call a function on the receiving contract immediately after transferring tokens, so the recipient can react atomically.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-677</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-677/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-677/</guid>
      <description>&lt;p&gt;ERC-677 is an &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; extension that adds a single function &amp;ndash; &lt;code&gt;transferAndCall&lt;/code&gt; &amp;ndash; enabling a token transfer and a callback to the recipient in one transaction. It was proposed in 2017 and is best known as the standard behind Chainlink&amp;rsquo;s LINK token.&lt;/p&gt;&#xA;&lt;p&gt;Like &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-1363&#34;&gt;ERC-1363&lt;/a&gt;, ERC-677 exists to solve the two-step &lt;code&gt;approve&lt;/code&gt; + &lt;code&gt;transferFrom&lt;/code&gt; problem inherent in ERC-20. Where they differ is scope: ERC-677 is a minimal extension (one function, one receiver interface), while ERC-1363 adds approval callbacks and uses the magic-value return pattern for safer recipient validation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-721</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-721/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-721/</guid>
      <description>&lt;p&gt;ERC-721 is the standard interface for&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/nft&#34;&gt;non-fungible tokens&lt;/a&gt; on&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt;. Where&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; tracks a balance per&#xA;address, ERC-721 tracks an owner per token ID — so a transfer names a specific&#xA;token rather than an amount.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-interface&#34;&gt;The interface&lt;a class=&#34;anchor&#34; href=&#34;#the-interface&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;17&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;18&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;19&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;20&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;21&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;22&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;23&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-solidity&#34; data-lang=&#34;solidity&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// SPDX-License-Identifier: MIT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;pragma solidity&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;^&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; {IERC165} &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;@openzeppelin/contracts/utils/introspection/IERC165.sol&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// IERC165 supplies supportsInterface(bytes4) -&amp;gt; bool.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;interface&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;IERC721&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;is&lt;/span&gt; IERC165 {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;balanceOf&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; owner) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;view&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;returns&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ownerOf&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;view&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;returns&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;safeTransferFrom&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; to, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;safeTransferFrom&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; to, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId, &lt;span style=&#34;color:#66d9ef&#34;&gt;bytes&lt;/span&gt; calldata data) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;transferFrom&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; to, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;approve&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; to, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setApprovalForAll&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; operator, &lt;span style=&#34;color:#66d9ef&#34;&gt;bool&lt;/span&gt; approved) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getApproved&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; tokenId) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;view&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;returns&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isApprovedForAll&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; owner, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; operator) &lt;span style=&#34;color:#66d9ef&#34;&gt;external&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;view&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;returns&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;bool&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;event&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Transfer&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; to, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; tokenId);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;event&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Approval&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; owner, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; approved, &lt;span style=&#34;color:#66d9ef&#34;&gt;uint256&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; tokenId);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;event&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ApprovalForAll&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; owner, &lt;span style=&#34;color:#66d9ef&#34;&gt;address&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;indexed&lt;/span&gt; operator, &lt;span style=&#34;color:#66d9ef&#34;&gt;bool&lt;/span&gt; approved);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;is IERC165&lt;/code&gt; is not decoration. &lt;code&gt;supportsInterface(0x80ac58cd)&lt;/code&gt; returning&#xA;true is how a marketplace, a receiver contract, or a router decides it is&#xA;looking at an ERC-721 at all, and the spec makes it mandatory. Note also that&#xA;the declarations above follow OpenZeppelin&amp;rsquo;s &lt;code&gt;IERC721&lt;/code&gt;; the&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;EIP&lt;/a&gt; itself marks the transfer and&#xA;&lt;code&gt;approve&lt;/code&gt; functions &lt;code&gt;payable&lt;/code&gt;. Payability is not part of the&#xA;selector, so this makes no difference at the call site — but it will look like&#xA;a typo if you diff against the spec.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-1155</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-1155/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-1155/</guid>
      <description>&lt;p&gt;ERC-1155 is a multi-token standard: one contract holds many token IDs, and each&#xA;ID carries its own supply. An ID with a supply of one behaves like an&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-721&#34;&gt;ERC-721&lt;/a&gt; token; an ID with a&#xA;supply of a million behaves like an&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt;. The standard does not&#xA;require choosing between the two up front.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-it-buys&#34;&gt;What it buys&lt;a class=&#34;anchor&#34; href=&#34;#what-it-buys&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;One deployment for a whole catalogue.&lt;/strong&gt; A game with a thousand item types&#xA;deploys one contract rather than a thousand.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Batch operations.&lt;/strong&gt; &lt;code&gt;safeBatchTransferFrom&lt;/code&gt; moves several IDs in a single&#xA;call, which is the main gas argument for the standard.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Both token shapes at once.&lt;/strong&gt; Fungible currency and&#xA;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/nft&#34;&gt;non-fungible&lt;/a&gt; items can live in the same&#xA;contract and be transferred together.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The balance mapping is two-dimensional — &lt;code&gt;balanceOf(account, id)&lt;/code&gt; — which is&#xA;the structural difference from both of the standards it merges.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-1363</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-1363/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-1363/</guid>
      <description>&lt;p&gt;ERC-1363 is an &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; extension that adds callback hooks to token transfers and approvals. It removes ERC-20&amp;rsquo;s two-step problem: &lt;code&gt;approve&lt;/code&gt; + &lt;code&gt;transferFrom&lt;/code&gt; costs two transactions and leaves an allowance standing between them, while a plain &lt;code&gt;transfer&lt;/code&gt; to a contract that was not expecting it leaves the tokens sitting there with nothing to trigger the deposit.&lt;/p&gt;&#xA;&lt;p&gt;With ERC-1363, a token holder can transfer tokens &lt;em&gt;and&lt;/em&gt; notify the recipient in a single transaction. The standard was formalized as &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;EIP&lt;/a&gt;-1363 and has an &lt;a href=&#34;https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC1363&#34;&gt;OpenZeppelin implementation&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ERC-4626</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-4626/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-4626/</guid>
      <description>&lt;p&gt;ERC-4626 is the &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/&#34;&gt;Ethereum&lt;/a&gt; standard for tokenized vaults. It extends &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt; with a uniform interface for depositing assets, receiving shares, and redeeming those shares for the underlying asset plus any yield the vault has earned. Before this standard, every protocol invented its own vault API and every integrator wrote separate accounting code per protocol.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-shareasset-model&#34;&gt;The share/asset model&lt;a class=&#34;anchor&#34; href=&#34;#the-shareasset-model&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A vault holds a pool of a single ERC-20 asset (e.g. DAI, USDC, WETH). Users deposit that asset and receive &lt;strong&gt;vault shares&lt;/strong&gt; in return. The shares are themselves ERC-20 tokens, so they can be transferred, traded on a &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/dex&#34;&gt;DEX&lt;/a&gt;, or used as collateral in other protocols.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
