From 9e14704122a3a62b75e5d53023161d0dcf7a250a Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 20 Mar 2023 16:16:37 -0700 Subject: [PATCH 01/27] Initial submission for EVM-based L2 address aliasing --- EIPS/eip-xxxx.md | 213 ++++++++++++++++++ .../address-aliasing-root-leaf-design.png | Bin 0 -> 33113 bytes ...Highlight-Path-Red-evm-based-aliasing..png | Bin 0 -> 36398 bytes 3 files changed, 213 insertions(+) create mode 100644 EIPS/eip-xxxx.md create mode 100644 assets/eip-xxxx/address-aliasing-root-leaf-design.png create mode 100644 assets/eip-xxxx/visual-Highlight-Path-Red-evm-based-aliasing..png diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md new file mode 100644 index 0000000000000..9c3946f73f554 --- /dev/null +++ b/EIPS/eip-xxxx.md @@ -0,0 +1,213 @@ +--- +eip: XXXX +title: L2 Aliasing of EVM based Addresses +description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains +author: AKelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) on behalf of the EEA Communities Project [L2 Working Group](https://github.com/eea-oasis/L2) +discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 +status: Draft +type: Standards Track +category: ERC +created: 2022-03-14 +requires: 55 +--- + +## Abstract + +The document describes the minimal set of business and technical prerequisites, functional and non-functional requirements for Aliasing of EVM based Addresses that when implemented ensures that two or more Layer 1, Layer 2, or Sidechains can identify and translate EVM based addresses from different Layer 1, Layer 2, or Sidechains. + +## Motivation + +The L2 WG is an open-source initiative with a scope to +- Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains +- Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains +- For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. +- Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. + +The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: +- It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. +- It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. + +The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. + +Hence, this document establishes an unambiguous and deterministic standard for EVM based address aliasing based on the concept of root → leaf where an address alias is derived based on the address on the origin chain and an offset which is an immutable characteristic of the origin chain. + +See Figure 1 for the conceptual root → leaf design with offset. + +![Fig1](../assets/eip-xxxx/address-aliasing-root-leaf-design.png) + +
+
+ The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. +
Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back
+
+
+ +To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. + +
+
+ The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red. +
Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2
+
+
+ +Note, that address aliasing between non-EVM and EVM-based L1s, L2s, and Sidechains, and between non-EVM-based L1s, L2s, and Sidechains is out of scope of this document. + +## Specification + +### Typographical Convention: Requirement Ids + +A requirement is uniquely identified by a unique ID composed of its requirement level followed by a requirement number, as per convention **[RequirementLevelRequirementNumber]**. +There are four requirement levels that are coded in requirement ids as per below convention: + +**[R]** - The requirement level for requirements which IDs start with the letter _R_ is to be interpreted as **MUST** as described in [RFC2119](#rfc2119). \ +**[D]** - The requirement level for requirements which IDs start with the letter _D_ is to be interpreted as **SHOULD** as described in [RFC2119](#rfc2119). \ +**[O]** - The requirement level for requirements which IDs start with the letter _O_ is to be interpreted as **MAY** as described in [RFC2119](#rfc2119). + +Note that requirements are uniquely numbered in ascending order within each requirement level. + +Example : It should be read that [R1] is an absolute requirement of the specification whereas [D1] is a recommendation and [O1] is truly optional. + +----- + +The requirements below are only valid for EVM based L1s, L2, or Sidechains. Address aliasing for non-EVM systems is out of scope of this document. + +#### **[R1]** +An address alias -- `addressAlias` -- to be used between Chain A and Chain B MUST be constructed as follows: +`addressAlias (Chain A) = offsetAlias (for Chain A) relativeAddress (on Chain A) offsetAlias (for Chain A)` + +[[R1]](#r1) testability: `addressAlias` can be parsed and split using existing open source packages and the result compared to known `addressAlias` and `relativeAddress` used in the construction. + +#### **[R2]** +The `offsetAlias` of a chain MUST be `0xchainId00000000000000000000000000000000chainId` + +[[R2]](#r2) testability: `offsetAlias` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. + +#### **[R3]** +The `chainId` used in the `offsetAlias` MUST NOT be zero (0) + +[[R3]](#r3) testability: A `chainId` is a numerical value and can be compared to `0`. + +#### **[R4]** +The `chainId` used in the `offsetAlias` MUST be 8 bytes. + +[[R4]](#r4) testability: The length of the `chainId` string can be converted to bytes and then compared to `8`. + +#### **[R5]** +In case the `chainId` has less than 16 digits the `chainId` MUST be padded with zeros to 16 digits. + +For example the `chainId` of Polygon PoS is `137`, with the current list of EVM based `chainId`s to be found [here](https://chainlist.org/), and its `offsetAlias` is `0x0000000000000137000000000000000000000000000000000000000000000137`. + +[[R5]](#r5) testability: `chainId` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. Subsequently the number of zeros used in the padding can be computed and compared to the expected number of zeros for the padding. + +#### **[R6]** +The `offsetAlias`for Ethereum Mainnet as the primary anchor of EVM based chains MUST be `0x1111000000000000000000000000000000001111` due to current adoption of this offset by existing L2 solutions. + +An example of address alias for the USDC asset would be `addressAlias = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111` + +[[R6]](#r6) testability: This requirement is a special case of [[R1]](#r1). Hence, it is testable. + +#### **[R7]** + +The `relativeAddress` of an Externally Owned Account (EOA) or Smart Contract on a chain MUST either be the smart contract or EOA address of the origin chain or a `relativeAddress` of an EOA or Smart Contract from another chain. + +An example of the former instance would be the relative address of wrapped USDC, `relativeAddress = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111`, and an example of the latter would be the relative address of wrapped USDC on Polygon, `relativeAddress = 0x00000000000001371111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000000137`. + +Finally, an example of an address alias for a message to another L1, L2, or Sidechain for wrapped USDC from Ethereum on Arbitrum would be: +``` +addressAlias = 0x00000000000421611111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000042161 +``` +[[R7]](#r7) testability: Since this document is dealing with EVM-based systems with multiple live implementations, there are multiple known methods of how to verify if an address belongs to an EOA or a smart contract. + +#### **[R8]** + +The order of the `offsetAlias`es in an `addressAlias` MUST be ordered from the `offSetAlias` of the root chain bracketing the `relativeAddress` on the root chain through the ordered sequence of `offsetAlias`es of the chains on which the digital asset exists. + +For example, a valid `addressAlias` of an asset on chain A bridged to chain B and subsequently to chain C and that is to be bridged to yet another chain from chain C would be: +``` +addressAlias = chainId(C) chainId(B) chainId(A) relativeAddress chainId(A) chainId(B) chainId(C) +``` +However, the reverse order is invalid: +``` +addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chainId(B) chainId(A) +``` +[[R8]](#r8) testability: Since [[R1]](#r1) is testable and since [[R8]](#r8) is an order rule for the construction in [[R1]](#r1), which can be tested by applying logic operations on the output of [[R1]](#r1) tests, [[R8]](#r8) is testable. + +Note, that a proof that a given order is provably correct is beyond the scope of this document. + +--- + +### Conformance + +This section describes the conformance clauses and tests required to achieve an implementation that is provably conformant with the requirements in this document. + +#### Conformance Targets + +This document does not yet define a standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements. + +A standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements is intended to be published with the next version of the standard. + +#### Conformance Levels + +This section specifies the conformance levels of this standard. The conformance levels offer implementers several levels of conformance. These can be used to establish competitive differentiation. + +This document defines the conformance levels of EVM based Address Aliasing as follows: +* **Level 1:** All MUST requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. +* **Level 2:** All MUST and SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. +* **Level 3:** All MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. + +#### **[D1]** +A claim that a canonical token list implementation conforms to this specification SHOULD describe a testing procedure carried out for each requirement to which conformance is claimed, that justifies the claim with respect to that requirement. + +[[D1]](#d1) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, and can be described as required in [[D1]](#d1). + +#### **[R9]** +A claim that a canonical token list implementation conforms to this specification at **Level 2** or higher MUST describe the testing procedure carried out for each requirement at **Level 2** or higher, that justifies the claim to that requirement. + +[[R9]](#r9) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, be described, be built and implemented and results can be recorded as required in [[R9]](#r9). + +## Security Considerations + +### Data Privacy + +The standard does not set any requirements for compliance to jurisdiction legislation/regulations. It is the responsibility of the implementer to comply with applicable data privacy laws. + +### Production Readiness + +The standard does not set any requirements for the use of specific applications/tools/libraries etc. The implementer should perform due diligence when selecting specific applications/tools/libraries. + +There are security considerations as to the Ethereum-type addresses used in the construction of the `relativeAddress`. + +If the Ethereum-type address used in the `relativeAddress` is supposed to be an EOA, the target system/recipient should validate that the `codehash` of the source account is `NULL` such that no malicious code can be executed surreptitiously in an asset transfer. + +If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. + +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[EIP-55](#eip55)]. + +### Internationalization and Localization + +Given the non-language specific features of EVM-based address aliasing, there are no internationalization/localization considerations. + +---- + +### Appendix A - Normative References + +The following documents are referenced in such a way that some or all of their content constitute requirements of this document. + +#### **[RFC2119]** + S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997. + + +### Appendix B - Non-Normative References + +#### **[EIP55]** +Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", +https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md, EIP Repository, January 2016 + +... \ No newline at end of file diff --git a/assets/eip-xxxx/address-aliasing-root-leaf-design.png b/assets/eip-xxxx/address-aliasing-root-leaf-design.png new file mode 100644 index 0000000000000000000000000000000000000000..f88e978ce3400c4a17051d38e3fdbf53ad24fcaf GIT binary patch literal 33113 zcmd?RXIN89`!5VJDr_kM!~)UMUWS#mX3gAlm)~7xCNX+C>ePQR{Y6GbMtw~K zX+TDHj7UaC{+Z$gxD%0M@)`Ug_cl;hAuE1&;RhMn$umAE6CYQ9dq)=>8MnCV(G|Ct z2;SY>hg%%UEhc8|;UQ$_Xzk!-?dmP$hVucpz;jo3J4bs*oZV3yF%dB_K@nL&Q86R% zR9sn10(^+e3Q0&yV2|2cJK)^@?od)l1axr8*wM|--On3b>KK6!Q4w%kTm@W#2U6gD z=+a+G;xhQ7?BU^pGsf9yI)c&FB*mqL#HGOPOPU%++FIOVs^Hqi(HRH+sN-y%-Jw@h z@m}t(;EtN82pA9g2W}c#+gp1%{#O^!OmIHd4o9=l#_6bdY2YzP?`s-{s%TpiZ=CHB z^}aYSZ%22xezj@?Nu+x>&Q?WEq zww4xCwf1z>4fwkgH)}xYA+PlSn*ErO4%7t+RE z1E;I!qbZ?kDB~9>rD-f-qCk>tJo@hq{NnI4d$N=RaV(8#%=K?h9a5gG-e#)voC{t6M zlMc?qH$c-K@2=@-E$XF0K&cs^u6gJYB(V-onkclIyS@k>DTVXGB9+~hF;Xh(y4JoD zVu2d&o{}=21~?fv7keEyRTK39ZFhHjA8mIXS8-_>2`yiOv#zcLAj=Q@CrD{H7)Wbi z#56G&f4rW*shSNQFBT|k`hHQWPIELF&?(6HX3?*QjP}d0f90u0s206A~wz<%Gw%6{wRAHB+|nvP)75b zI{}5ldH6}20*3osSJgF@K^c39sH5Cn1Dsra4P9jLE}kd@2`57WR@(sO=jUOJRx{Nh zh^cGKXv+8#9Ng^mRMl*Kv~&#}^wk0aOtjnsRZZLt?8IHKIl0SRzvk#+tsf|=?1lGm z(nl%VN;uf7JGg6@YUvq!cw@AkY)zf~48(j1NX_daT51voMvmSDDM^f}p^=uUlc%vS zn5qO$%o^+Ki$a5IO}v(&Em~4aU0>xIp5UynhjDS#cE>vzNNGWq;p8VHs*g1_5hsXv zY8crEID=QN`TB!Tte>sFqqMZ6sGf(GtUI`)rjHhpFp$(X76YcL;tI42Sf`o~!N|`V zYhn^8V+4#!#n^#h;AAYNX6Iz&W$ouGuJ47GaIvxT7Ps}%(U*ke;DM1e(vk_VmR3Vc zgRg!*l12ao9CWOGFpi!kVki$=HEUzEo4BU7hp(8X2|-U(RoY)yIzZplP}>*p>THcO zHkNf!)iW`4a_~1&k@WU8A|~3V&U#psgOtv716fmDM?()gpjbF{ zO+9N7OMfzN^0Apy+yHF+G1$Dv5dNlC!p?{ zkEo2EwZ4PzH7!$FSzTpMJ5@g~dpue*(9pop+RH%`r!T7J?w~K~FO70=w?oO;;*CwQ zcprOfEk}KVfdkY9(1Aclq`rm`pa`dYP0h_!JWyZ5(OT6h&`#D(121MLg~h0f`fIvq zdjxtpY1#&e;v~U~zUtSt34!jSVjgO);49YJK-~U%0A9yfI^a-11gwg^8hD_CayPIC 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 literal 0 HcmV?d00001 diff --git a/assets/eip-xxxx/visual-Highlight-Path-Red-evm-based-aliasing..png b/assets/eip-xxxx/visual-Highlight-Path-Red-evm-based-aliasing..png new file mode 100644 index 0000000000000000000000000000000000000000..6a54b111bed4f7515610d146c4046cced6c28c77 GIT binary patch literal 36398 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 DrBqiT literal 0 HcmV?d00001 From 964c0385aa5cf1caee315fdd032ddb8262056ee1 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 20 Mar 2023 16:22:06 -0700 Subject: [PATCH 02/27] minor edits --- EIPS/eip-xxxx.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md index 9c3946f73f554..457ba68aa2d0c 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-xxxx.md @@ -1,13 +1,13 @@ --- eip: XXXX -title: L2 Aliasing of EVM based Addresses +title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: AKelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) on behalf of the EEA Communities Project [L2 Working Group](https://github.com/eea-oasis/L2) discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 status: Draft type: Standards Track category: ERC -created: 2022-03-14 +created: 2022-03-20 requires: 55 --- @@ -33,8 +33,6 @@ Hence, this document establishes an unambiguous and deterministic standard for E See Figure 1 for the conceptual root → leaf design with offset. -![Fig1](../assets/eip-xxxx/address-aliasing-root-leaf-design.png) -
Date: Mon, 20 Mar 2023 16:32:25 -0700 Subject: [PATCH 03/27] Changed eip file name capitalization --- EIPS/eip-xxxx.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md index 457ba68aa2d0c..dd327e92e6304 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-xxxx.md @@ -36,7 +36,7 @@ See Figure 1 for the conceptual root → leaf design with offset.
The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C.
Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back
@@ -48,7 +48,7 @@ To further clarify the connections between the different possible paths an asset
The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red.
Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2
From 338f0d17ab770e96368c9b57fcbc63d9b61695e8 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Mon, 20 Mar 2023 19:48:41 -0700 Subject: [PATCH 04/27] Update EIPS/eip-xxxx.md Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com> --- EIPS/eip-xxxx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md index dd327e92e6304..2624c2ee499b2 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-xxxx.md @@ -2,7 +2,7 @@ eip: XXXX title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains -author: AKelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) on behalf of the EEA Communities Project [L2 Working Group](https://github.com/eea-oasis/L2) +author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) on behalf of the EEA Communities Project [L2 Working Group](https://github.com/eea-oasis/L2) discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 status: Draft type: Standards Track From 78aecc12ee223eee897a1dea9d2fb8dbe249e126 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 22 Mar 2023 13:14:36 -0400 Subject: [PATCH 05/27] Fix some issues --- EIPS/eip-xxxx.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md index 2624c2ee499b2..8e577ce036999 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-xxxx.md @@ -1,8 +1,7 @@ --- -eip: XXXX title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains -author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) on behalf of the EEA Communities Project [L2 Working Group](https://github.com/eea-oasis/L2) +author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969), The EEA Communities Project L2 Working Group discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 status: Draft type: Standards Track @@ -208,4 +207,4 @@ The following documents are referenced in such a way that some or all of their c Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md, EIP Repository, January 2016 -... \ No newline at end of file +... From d96f2e023bd22581173e1c234100d5a9c094feea Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 22 Mar 2023 10:55:32 -0700 Subject: [PATCH 06/27] added copyright and rationale sections and updated eip # in files and file and folder names --- EIPS/{eip-xxxx.md => eip-6735.md} | 10 +++++++++- .../address-aliasing-root-leaf-design.png | Bin ...isual-Highlight-Path-Red-evm-based-aliasing..png | Bin 3 files changed, 9 insertions(+), 1 deletion(-) rename EIPS/{eip-xxxx.md => eip-6735.md} (97%) rename assets/{eip-xxxx => eip-6735}/address-aliasing-root-leaf-design.png (100%) rename assets/{eip-xxxx => eip-6735}/visual-Highlight-Path-Red-evm-based-aliasing..png (100%) diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-6735.md similarity index 97% rename from EIPS/eip-xxxx.md rename to EIPS/eip-6735.md index 8e577ce036999..13b0c584610a3 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-6735.md @@ -1,4 +1,5 @@ --- +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969), The EEA Communities Project L2 Working Group @@ -169,6 +170,10 @@ A claim that a canonical token list implementation conforms to this specificatio [[R9]](#r9) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, be described, be built and implemented and results can be recorded as required in [[R9]](#r9). +## Rationale + +The standard follows an already existing approach for address aliasing from Ethereum (L1) to EVM-based L2s such as Arbitrum and Optimism and between L2s, and extends and generalizes it to allow aliasing across any type of EVM-based network irrespective of the network type -- L1, L2 or higher layer networks. + ## Security Considerations ### Data Privacy @@ -207,4 +212,7 @@ The following documents are referenced in such a way that some or all of their c Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md, EIP Repository, January 2016 -... +--- + +## Copyright +Copyright and related rights waived via [CC0](../LICENSE.md). diff --git a/assets/eip-xxxx/address-aliasing-root-leaf-design.png b/assets/eip-6735/address-aliasing-root-leaf-design.png similarity index 100% rename from assets/eip-xxxx/address-aliasing-root-leaf-design.png rename to assets/eip-6735/address-aliasing-root-leaf-design.png diff --git a/assets/eip-xxxx/visual-Highlight-Path-Red-evm-based-aliasing..png b/assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png similarity index 100% rename from assets/eip-xxxx/visual-Highlight-Path-Red-evm-based-aliasing..png rename to assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png From 11d5a8779d9998cce81f03025a2b83d2ab057fce Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 22 Mar 2023 14:48:53 -0700 Subject: [PATCH 07/27] fixing cli errors --- EIPS/{eip-6735.md => eip-000000.md} | 81 ++++++++---------- .../address-aliasing-root-leaf-design.png | Bin ...Highlight-Path-Red-evm-based-aliasing..png | Bin 3 files changed, 35 insertions(+), 46 deletions(-) rename EIPS/{eip-6735.md => eip-000000.md} (78%) rename assets/{eip-6735 => eip-000000}/address-aliasing-root-leaf-design.png (100%) rename assets/{eip-6735 => eip-000000}/visual-Highlight-Path-Red-evm-based-aliasing..png (100%) diff --git a/EIPS/eip-6735.md b/EIPS/eip-000000.md similarity index 78% rename from EIPS/eip-6735.md rename to EIPS/eip-000000.md index 13b0c584610a3..430ca358978cb 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-000000.md @@ -1,8 +1,8 @@ --- -eip: 6735 +eip: 000000 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains -author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969), The EEA Communities Project L2 Working Group +author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 status: Draft type: Standards Track @@ -17,15 +17,15 @@ The document describes the minimal set of business and technical prerequisites, ## Motivation -The L2 WG is an open-source initiative with a scope to -- Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains -- Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains -- For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. -- Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. +The L2 WG of the EEA Communities Project managed by OASIS is an open-source initiative with a scope to + * Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains + * Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains + * For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. + * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: -- It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. -- It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. + * It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. + * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. @@ -33,27 +33,19 @@ Hence, this document establishes an unambiguous and deterministic standard for E See Figure 1 for the conceptual root → leaf design with offset. -
-
- The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. -
Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back
-
-
+![Fig1]("../assets/eip-000000/address-aliasing-root-leaf-design.png") + +Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back. + +Alternative Figure 1 Description: The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. -
-
- The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red. -
Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2
-
-
+![Fig2]("../assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png") + +Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. + +Alternative Figure 1 Description: The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red. Note, that address aliasing between non-EVM and EVM-based L1s, L2s, and Sidechains, and between non-EVM-based L1s, L2s, and Sidechains is out of scope of this document. @@ -76,43 +68,42 @@ Example : It should be read that [R1] is an absolute requirement of the specific The requirements below are only valid for EVM based L1s, L2, or Sidechains. Address aliasing for non-EVM systems is out of scope of this document. -#### **[R1]** +
**[R1]** An address alias -- `addressAlias` -- to be used between Chain A and Chain B MUST be constructed as follows: `addressAlias (Chain A) = offsetAlias (for Chain A) relativeAddress (on Chain A) offsetAlias (for Chain A)` [[R1]](#r1) testability: `addressAlias` can be parsed and split using existing open source packages and the result compared to known `addressAlias` and `relativeAddress` used in the construction. -#### **[R2]** + **[R2]** The `offsetAlias` of a chain MUST be `0xchainId00000000000000000000000000000000chainId` [[R2]](#r2) testability: `offsetAlias` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. -#### **[R3]** + **[R3]** The `chainId` used in the `offsetAlias` MUST NOT be zero (0) [[R3]](#r3) testability: A `chainId` is a numerical value and can be compared to `0`. -#### **[R4]** + **[R4]** The `chainId` used in the `offsetAlias` MUST be 8 bytes. [[R4]](#r4) testability: The length of the `chainId` string can be converted to bytes and then compared to `8`. -#### **[R5]** + **[R5]** In case the `chainId` has less than 16 digits the `chainId` MUST be padded with zeros to 16 digits. -For example the `chainId` of Polygon PoS is `137`, with the current list of EVM based `chainId`s to be found [here](https://chainlist.org/), and its `offsetAlias` is `0x0000000000000137000000000000000000000000000000000000000000000137`. +For example the `chainId` of Polygon PoS is `137`, with the current list of EVM based `chainId`s to be found at chainlist.org, and its `offsetAlias` is `0x0000000000000137000000000000000000000000000000000000000000000137`. [[R5]](#r5) testability: `chainId` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. Subsequently the number of zeros used in the padding can be computed and compared to the expected number of zeros for the padding. -#### **[R6]** + **[R6]** The `offsetAlias`for Ethereum Mainnet as the primary anchor of EVM based chains MUST be `0x1111000000000000000000000000000000001111` due to current adoption of this offset by existing L2 solutions. An example of address alias for the USDC asset would be `addressAlias = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111` [[R6]](#r6) testability: This requirement is a special case of [[R1]](#r1). Hence, it is testable. -#### **[R7]** - + **[R7]** The `relativeAddress` of an Externally Owned Account (EOA) or Smart Contract on a chain MUST either be the smart contract or EOA address of the origin chain or a `relativeAddress` of an EOA or Smart Contract from another chain. An example of the former instance would be the relative address of wrapped USDC, `relativeAddress = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111`, and an example of the latter would be the relative address of wrapped USDC on Polygon, `relativeAddress = 0x00000000000001371111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000000137`. @@ -123,8 +114,7 @@ addressAlias = 0x00000000000421611111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48111 ``` [[R7]](#r7) testability: Since this document is dealing with EVM-based systems with multiple live implementations, there are multiple known methods of how to verify if an address belongs to an EOA or a smart contract. -#### **[R8]** - + **[R8]** The order of the `offsetAlias`es in an `addressAlias` MUST be ordered from the `offSetAlias` of the root chain bracketing the `relativeAddress` on the root chain through the ordered sequence of `offsetAlias`es of the chains on which the digital asset exists. For example, a valid `addressAlias` of an asset on chain A bridged to chain B and subsequently to chain C and that is to be bridged to yet another chain from chain C would be: @@ -160,12 +150,12 @@ This document defines the conformance levels of EVM based Address Aliasing as fo * **Level 2:** All MUST and SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. * **Level 3:** All MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. -#### **[D1]** + **[D1]** A claim that a canonical token list implementation conforms to this specification SHOULD describe a testing procedure carried out for each requirement to which conformance is claimed, that justifies the claim with respect to that requirement. [[D1]](#d1) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, and can be described as required in [[D1]](#d1). -#### **[R9]** + **[R9]** A claim that a canonical token list implementation conforms to this specification at **Level 2** or higher MUST describe the testing procedure carried out for each requirement at **Level 2** or higher, that justifies the claim to that requirement. [[R9]](#r9) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, be described, be built and implemented and results can be recorded as required in [[R9]](#r9). @@ -190,7 +180,7 @@ If the Ethereum-type address used in the `relativeAddress` is supposed to be an If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[EIP-55](#eip55)]. +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[EIP-55](#eip-55)]. ### Internationalization and Localization @@ -202,15 +192,14 @@ Given the non-language specific features of EVM-based address aliasing, there ar The following documents are referenced in such a way that some or all of their content constitute requirements of this document. -#### **[RFC2119]** - S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997. + **[RFC2119]** + S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997. ### Appendix B - Non-Normative References -#### **[EIP55]** -Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", -https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md, EIP Repository, January 2016 + **[EIP-55]** +Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", EIP-55, EIP Repository, January 2016 --- diff --git a/assets/eip-6735/address-aliasing-root-leaf-design.png b/assets/eip-000000/address-aliasing-root-leaf-design.png similarity index 100% rename from assets/eip-6735/address-aliasing-root-leaf-design.png rename to assets/eip-000000/address-aliasing-root-leaf-design.png diff --git a/assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png b/assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png similarity index 100% rename from assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png rename to assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png From 4d83dd96ac959fe1493a38ef2601269c46097ab4 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 22 Mar 2023 14:51:36 -0700 Subject: [PATCH 08/27] fix cli error --- EIPS/eip-000000.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-000000.md b/EIPS/eip-000000.md index 430ca358978cb..5dacd5df04bce 100644 --- a/EIPS/eip-000000.md +++ b/EIPS/eip-000000.md @@ -180,7 +180,7 @@ If the Ethereum-type address used in the `relativeAddress` is supposed to be an If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[EIP-55](#eip-55)]. +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[ERC-55](#erc-55)]. ### Internationalization and Localization @@ -198,8 +198,8 @@ The following documents are referenced in such a way that some or all of their c ### Appendix B - Non-Normative References - **[EIP-55]** -Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", EIP-55, EIP Repository, January 2016 + **[ERC-55]** +Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC-55, EIP Repository, January 2016 --- From ec2baff1358ee675b03e799702649e930704aaac Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 22 Mar 2023 15:02:08 -0700 Subject: [PATCH 09/27] fixing cli errors --- EIPS/eip-000000.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-000000.md b/EIPS/eip-000000.md index 5dacd5df04bce..02fcbcfddebef 100644 --- a/EIPS/eip-000000.md +++ b/EIPS/eip-000000.md @@ -33,7 +33,7 @@ Hence, this document establishes an unambiguous and deterministic standard for E See Figure 1 for the conceptual root → leaf design with offset. -![Fig1]("../assets/eip-000000/address-aliasing-root-leaf-design.png") +![Fig1](../assets/eip-000000/address-aliasing-root-leaf-design.png) Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back. @@ -41,7 +41,7 @@ Alternative Figure 1 Description: The figure describes conceptually how (interop To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. -![Fig2]("../assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png") +![Fig2](../assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png) Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. @@ -192,7 +192,7 @@ Given the non-language specific features of EVM-based address aliasing, there ar The following documents are referenced in such a way that some or all of their content constitute requirements of this document. - **[RFC2119]** + **[RFC2119]** S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997. From db187e98b53505efe1d5d85bab9d8e0bc84a4595 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Sun, 26 Mar 2023 12:39:26 -0700 Subject: [PATCH 10/27] Update EIPS/eip-000000.md Co-authored-by: delaaxe <1091900+delaaxe@users.noreply.github.com> --- EIPS/eip-000000.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-000000.md b/EIPS/eip-000000.md index 02fcbcfddebef..364a02d5a41f6 100644 --- a/EIPS/eip-000000.md +++ b/EIPS/eip-000000.md @@ -24,7 +24,7 @@ The L2 WG of the EEA Communities Project managed by OASIS is an open-source init * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: - * It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. + * It allows messages from chain X (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. From b5a4380e1bb5f1d8d2bc9a1232acc959601b0f55 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Sun, 26 Mar 2023 12:39:42 -0700 Subject: [PATCH 11/27] Update EIPS/eip-000000.md Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com> --- EIPS/eip-000000.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-000000.md b/EIPS/eip-000000.md index 364a02d5a41f6..ef1bd21f5a3cb 100644 --- a/EIPS/eip-000000.md +++ b/EIPS/eip-000000.md @@ -1,5 +1,5 @@ --- -eip: 000000 +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From 7c948e5e263bdfd8af44bfbc4591538d31dfba70 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Sun, 26 Mar 2023 12:44:21 -0700 Subject: [PATCH 12/27] Filename, paths and folder name updates to PR number --- EIPS/eip-6735.md | 207 ++++++++++++++++++ .../address-aliasing-root-leaf-design.png | Bin ...Highlight-Path-Red-evm-based-aliasing..png | Bin 3 files changed, 207 insertions(+) create mode 100644 EIPS/eip-6735.md rename assets/{eip-000000 => eip-6735}/address-aliasing-root-leaf-design.png (100%) rename assets/{eip-000000 => eip-6735}/visual-Highlight-Path-Red-evm-based-aliasing..png (100%) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md new file mode 100644 index 0000000000000..5349b63541e49 --- /dev/null +++ b/EIPS/eip-6735.md @@ -0,0 +1,207 @@ +--- +eip: 000000 +title: L2 Aliasing of EVM-based Addresses +description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains +author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) +discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 +status: Draft +type: Standards Track +category: ERC +created: 2022-03-20 +requires: 55 +--- + +## Abstract + +The document describes the minimal set of business and technical prerequisites, functional and non-functional requirements for Aliasing of EVM based Addresses that when implemented ensures that two or more Layer 1, Layer 2, or Sidechains can identify and translate EVM based addresses from different Layer 1, Layer 2, or Sidechains. + +## Motivation + +The L2 WG of the EEA Communities Project managed by OASIS is an open-source initiative with a scope to + * Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains + * Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains + * For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. + * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. + +The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: + * It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. + * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. + +The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. + +Hence, this document establishes an unambiguous and deterministic standard for EVM based address aliasing based on the concept of root → leaf where an address alias is derived based on the address on the origin chain and an offset which is an immutable characteristic of the origin chain. + +See Figure 1 for the conceptual root → leaf design with offset. + +![Fig1](../assets/eip-6735/address-aliasing-root-leaf-design.png) + +Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back. + +Alternative Figure 1 Description: The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. + +To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. + +![Fig2](../assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png) + +Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. + +Alternative Figure 1 Description: The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red. + +Note, that address aliasing between non-EVM and EVM-based L1s, L2s, and Sidechains, and between non-EVM-based L1s, L2s, and Sidechains is out of scope of this document. + +## Specification + +### Typographical Convention: Requirement Ids + +A requirement is uniquely identified by a unique ID composed of its requirement level followed by a requirement number, as per convention **[RequirementLevelRequirementNumber]**. +There are four requirement levels that are coded in requirement ids as per below convention: + +**[R]** - The requirement level for requirements which IDs start with the letter _R_ is to be interpreted as **MUST** as described in [RFC2119](#rfc2119). \ +**[D]** - The requirement level for requirements which IDs start with the letter _D_ is to be interpreted as **SHOULD** as described in [RFC2119](#rfc2119). \ +**[O]** - The requirement level for requirements which IDs start with the letter _O_ is to be interpreted as **MAY** as described in [RFC2119](#rfc2119). + +Note that requirements are uniquely numbered in ascending order within each requirement level. + +Example : It should be read that [R1] is an absolute requirement of the specification whereas [D1] is a recommendation and [O1] is truly optional. + +----- + +The requirements below are only valid for EVM based L1s, L2, or Sidechains. Address aliasing for non-EVM systems is out of scope of this document. + + **[R1]** +An address alias -- `addressAlias` -- to be used between Chain A and Chain B MUST be constructed as follows: +`addressAlias (Chain A) = offsetAlias (for Chain A) relativeAddress (on Chain A) offsetAlias (for Chain A)` + +[[R1]](#r1) testability: `addressAlias` can be parsed and split using existing open source packages and the result compared to known `addressAlias` and `relativeAddress` used in the construction. + + **[R2]** +The `offsetAlias` of a chain MUST be `0xchainId00000000000000000000000000000000chainId` + +[[R2]](#r2) testability: `offsetAlias` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. + + **[R3]** +The `chainId` used in the `offsetAlias` MUST NOT be zero (0) + +[[R3]](#r3) testability: A `chainId` is a numerical value and can be compared to `0`. + + **[R4]** +The `chainId` used in the `offsetAlias` MUST be 8 bytes. + +[[R4]](#r4) testability: The length of the `chainId` string can be converted to bytes and then compared to `8`. + + **[R5]** +In case the `chainId` has less than 16 digits the `chainId` MUST be padded with zeros to 16 digits. + +For example the `chainId` of Polygon PoS is `137`, with the current list of EVM based `chainId`s to be found at chainlist.org, and its `offsetAlias` is `0x0000000000000137000000000000000000000000000000000000000000000137`. + +[[R5]](#r5) testability: `chainId` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. Subsequently the number of zeros used in the padding can be computed and compared to the expected number of zeros for the padding. + + **[R6]** +The `offsetAlias`for Ethereum Mainnet as the primary anchor of EVM based chains MUST be `0x1111000000000000000000000000000000001111` due to current adoption of this offset by existing L2 solutions. + +An example of address alias for the USDC asset would be `addressAlias = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111` + +[[R6]](#r6) testability: This requirement is a special case of [[R1]](#r1). Hence, it is testable. + + **[R7]** +The `relativeAddress` of an Externally Owned Account (EOA) or Smart Contract on a chain MUST either be the smart contract or EOA address of the origin chain or a `relativeAddress` of an EOA or Smart Contract from another chain. + +An example of the former instance would be the relative address of wrapped USDC, `relativeAddress = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111`, and an example of the latter would be the relative address of wrapped USDC on Polygon, `relativeAddress = 0x00000000000001371111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000000137`. + +Finally, an example of an address alias for a message to another L1, L2, or Sidechain for wrapped USDC from Ethereum on Arbitrum would be: +``` +addressAlias = 0x00000000000421611111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000042161 +``` +[[R7]](#r7) testability: Since this document is dealing with EVM-based systems with multiple live implementations, there are multiple known methods of how to verify if an address belongs to an EOA or a smart contract. + + **[R8]** +The order of the `offsetAlias`es in an `addressAlias` MUST be ordered from the `offSetAlias` of the root chain bracketing the `relativeAddress` on the root chain through the ordered sequence of `offsetAlias`es of the chains on which the digital asset exists. + +For example, a valid `addressAlias` of an asset on chain A bridged to chain B and subsequently to chain C and that is to be bridged to yet another chain from chain C would be: +``` +addressAlias = chainId(C) chainId(B) chainId(A) relativeAddress chainId(A) chainId(B) chainId(C) +``` +However, the reverse order is invalid: +``` +addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chainId(B) chainId(A) +``` +[[R8]](#r8) testability: Since [[R1]](#r1) is testable and since [[R8]](#r8) is an order rule for the construction in [[R1]](#r1), which can be tested by applying logic operations on the output of [[R1]](#r1) tests, [[R8]](#r8) is testable. + +Note, that a proof that a given order is provably correct is beyond the scope of this document. + +--- + +### Conformance + +This section describes the conformance clauses and tests required to achieve an implementation that is provably conformant with the requirements in this document. + +#### Conformance Targets + +This document does not yet define a standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements. + +A standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements is intended to be published with the next version of the standard. + +#### Conformance Levels + +This section specifies the conformance levels of this standard. The conformance levels offer implementers several levels of conformance. These can be used to establish competitive differentiation. + +This document defines the conformance levels of EVM based Address Aliasing as follows: +* **Level 1:** All MUST requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. +* **Level 2:** All MUST and SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. +* **Level 3:** All MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. + + **[D1]** +A claim that a canonical token list implementation conforms to this specification SHOULD describe a testing procedure carried out for each requirement to which conformance is claimed, that justifies the claim with respect to that requirement. + +[[D1]](#d1) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, and can be described as required in [[D1]](#d1). + + **[R9]** +A claim that a canonical token list implementation conforms to this specification at **Level 2** or higher MUST describe the testing procedure carried out for each requirement at **Level 2** or higher, that justifies the claim to that requirement. + +[[R9]](#r9) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, be described, be built and implemented and results can be recorded as required in [[R9]](#r9). + +## Rationale + +The standard follows an already existing approach for address aliasing from Ethereum (L1) to EVM-based L2s such as Arbitrum and Optimism and between L2s, and extends and generalizes it to allow aliasing across any type of EVM-based network irrespective of the network type -- L1, L2 or higher layer networks. + +## Security Considerations + +### Data Privacy + +The standard does not set any requirements for compliance to jurisdiction legislation/regulations. It is the responsibility of the implementer to comply with applicable data privacy laws. + +### Production Readiness + +The standard does not set any requirements for the use of specific applications/tools/libraries etc. The implementer should perform due diligence when selecting specific applications/tools/libraries. + +There are security considerations as to the Ethereum-type addresses used in the construction of the `relativeAddress`. + +If the Ethereum-type address used in the `relativeAddress` is supposed to be an EOA, the target system/recipient should validate that the `codehash` of the source account is `NULL` such that no malicious code can be executed surreptitiously in an asset transfer. + +If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. + +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[ERC-55](#erc-55)]. + +### Internationalization and Localization + +Given the non-language specific features of EVM-based address aliasing, there are no internationalization/localization considerations. + +---- + +### Appendix A - Normative References + +The following documents are referenced in such a way that some or all of their content constitute requirements of this document. + + **[RFC2119]** + S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997. + + +### Appendix B - Non-Normative References + + **[ERC-55]** +Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC-55, EIP Repository, January 2016 + +--- + +## Copyright +Copyright and related rights waived via [CC0](../LICENSE.md). diff --git a/assets/eip-000000/address-aliasing-root-leaf-design.png b/assets/eip-6735/address-aliasing-root-leaf-design.png similarity index 100% rename from assets/eip-000000/address-aliasing-root-leaf-design.png rename to assets/eip-6735/address-aliasing-root-leaf-design.png diff --git a/assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png b/assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png similarity index 100% rename from assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png rename to assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png From ba39b1c9ddc78ad2090256a02ae65d02bb436766 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Sun, 26 Mar 2023 12:50:14 -0700 Subject: [PATCH 13/27] fixing cli error --- EIPS/eip-000000.md | 207 --------------------------------------------- EIPS/eip-6735.md | 2 +- 2 files changed, 1 insertion(+), 208 deletions(-) delete mode 100644 EIPS/eip-000000.md diff --git a/EIPS/eip-000000.md b/EIPS/eip-000000.md deleted file mode 100644 index ef1bd21f5a3cb..0000000000000 --- a/EIPS/eip-000000.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -eip: 6735 -title: L2 Aliasing of EVM-based Addresses -description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains -author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) -discussions-to: https://ethereum-magicians.org/t/l2-aliasing-of-evm-based-addresses-from-the-eea-oasis-community-projects-l2-standards-working-group/13093 -status: Draft -type: Standards Track -category: ERC -created: 2022-03-20 -requires: 55 ---- - -## Abstract - -The document describes the minimal set of business and technical prerequisites, functional and non-functional requirements for Aliasing of EVM based Addresses that when implemented ensures that two or more Layer 1, Layer 2, or Sidechains can identify and translate EVM based addresses from different Layer 1, Layer 2, or Sidechains. - -## Motivation - -The L2 WG of the EEA Communities Project managed by OASIS is an open-source initiative with a scope to - * Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains - * Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains - * For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. - * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. - -The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: - * It allows messages from chain X (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. - * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. - -The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. - -Hence, this document establishes an unambiguous and deterministic standard for EVM based address aliasing based on the concept of root → leaf where an address alias is derived based on the address on the origin chain and an offset which is an immutable characteristic of the origin chain. - -See Figure 1 for the conceptual root → leaf design with offset. - -![Fig1](../assets/eip-000000/address-aliasing-root-leaf-design.png) - -Figure 1: Root → Leaf address aliasing concept using an chain immanent characteristics from L1 to L2 and L3 and back. - -Alternative Figure 1 Description: The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. - -To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. - -![Fig2](../assets/eip-000000/visual-Highlight-Path-Red-evm-based-aliasing..png) - -Figure 2: Visually highlighted path in red from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. - -Alternative Figure 1 Description: The figure is the same as Figure 1. However, the uni-directional connections between the EVM based L1 to the L2 B, to the L3 D, and finally to the L2 C are highlighted in red. - -Note, that address aliasing between non-EVM and EVM-based L1s, L2s, and Sidechains, and between non-EVM-based L1s, L2s, and Sidechains is out of scope of this document. - -## Specification - -### Typographical Convention: Requirement Ids - -A requirement is uniquely identified by a unique ID composed of its requirement level followed by a requirement number, as per convention **[RequirementLevelRequirementNumber]**. -There are four requirement levels that are coded in requirement ids as per below convention: - -**[R]** - The requirement level for requirements which IDs start with the letter _R_ is to be interpreted as **MUST** as described in [RFC2119](#rfc2119). \ -**[D]** - The requirement level for requirements which IDs start with the letter _D_ is to be interpreted as **SHOULD** as described in [RFC2119](#rfc2119). \ -**[O]** - The requirement level for requirements which IDs start with the letter _O_ is to be interpreted as **MAY** as described in [RFC2119](#rfc2119). - -Note that requirements are uniquely numbered in ascending order within each requirement level. - -Example : It should be read that [R1] is an absolute requirement of the specification whereas [D1] is a recommendation and [O1] is truly optional. - ------ - -The requirements below are only valid for EVM based L1s, L2, or Sidechains. Address aliasing for non-EVM systems is out of scope of this document. - - **[R1]** -An address alias -- `addressAlias` -- to be used between Chain A and Chain B MUST be constructed as follows: -`addressAlias (Chain A) = offsetAlias (for Chain A) relativeAddress (on Chain A) offsetAlias (for Chain A)` - -[[R1]](#r1) testability: `addressAlias` can be parsed and split using existing open source packages and the result compared to known `addressAlias` and `relativeAddress` used in the construction. - - **[R2]** -The `offsetAlias` of a chain MUST be `0xchainId00000000000000000000000000000000chainId` - -[[R2]](#r2) testability: `offsetAlias` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. - - **[R3]** -The `chainId` used in the `offsetAlias` MUST NOT be zero (0) - -[[R3]](#r3) testability: A `chainId` is a numerical value and can be compared to `0`. - - **[R4]** -The `chainId` used in the `offsetAlias` MUST be 8 bytes. - -[[R4]](#r4) testability: The length of the `chainId` string can be converted to bytes and then compared to `8`. - - **[R5]** -In case the `chainId` has less than 16 digits the `chainId` MUST be padded with zeros to 16 digits. - -For example the `chainId` of Polygon PoS is `137`, with the current list of EVM based `chainId`s to be found at chainlist.org, and its `offsetAlias` is `0x0000000000000137000000000000000000000000000000000000000000000137`. - -[[R5]](#r5) testability: `chainId` can be parsed and split using existing open source packages and the result compared to known `chainId` used in the construction. Subsequently the number of zeros used in the padding can be computed and compared to the expected number of zeros for the padding. - - **[R6]** -The `offsetAlias`for Ethereum Mainnet as the primary anchor of EVM based chains MUST be `0x1111000000000000000000000000000000001111` due to current adoption of this offset by existing L2 solutions. - -An example of address alias for the USDC asset would be `addressAlias = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111` - -[[R6]](#r6) testability: This requirement is a special case of [[R1]](#r1). Hence, it is testable. - - **[R7]** -The `relativeAddress` of an Externally Owned Account (EOA) or Smart Contract on a chain MUST either be the smart contract or EOA address of the origin chain or a `relativeAddress` of an EOA or Smart Contract from another chain. - -An example of the former instance would be the relative address of wrapped USDC, `relativeAddress = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111`, and an example of the latter would be the relative address of wrapped USDC on Polygon, `relativeAddress = 0x00000000000001371111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000000137`. - -Finally, an example of an address alias for a message to another L1, L2, or Sidechain for wrapped USDC from Ethereum on Arbitrum would be: -``` -addressAlias = 0x00000000000421611111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000042161 -``` -[[R7]](#r7) testability: Since this document is dealing with EVM-based systems with multiple live implementations, there are multiple known methods of how to verify if an address belongs to an EOA or a smart contract. - - **[R8]** -The order of the `offsetAlias`es in an `addressAlias` MUST be ordered from the `offSetAlias` of the root chain bracketing the `relativeAddress` on the root chain through the ordered sequence of `offsetAlias`es of the chains on which the digital asset exists. - -For example, a valid `addressAlias` of an asset on chain A bridged to chain B and subsequently to chain C and that is to be bridged to yet another chain from chain C would be: -``` -addressAlias = chainId(C) chainId(B) chainId(A) relativeAddress chainId(A) chainId(B) chainId(C) -``` -However, the reverse order is invalid: -``` -addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chainId(B) chainId(A) -``` -[[R8]](#r8) testability: Since [[R1]](#r1) is testable and since [[R8]](#r8) is an order rule for the construction in [[R1]](#r1), which can be tested by applying logic operations on the output of [[R1]](#r1) tests, [[R8]](#r8) is testable. - -Note, that a proof that a given order is provably correct is beyond the scope of this document. - ---- - -### Conformance - -This section describes the conformance clauses and tests required to achieve an implementation that is provably conformant with the requirements in this document. - -#### Conformance Targets - -This document does not yet define a standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements. - -A standardized set of test-fixtures with test inputs for all MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements is intended to be published with the next version of the standard. - -#### Conformance Levels - -This section specifies the conformance levels of this standard. The conformance levels offer implementers several levels of conformance. These can be used to establish competitive differentiation. - -This document defines the conformance levels of EVM based Address Aliasing as follows: -* **Level 1:** All MUST requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. -* **Level 2:** All MUST and SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. -* **Level 3:** All MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. - - **[D1]** -A claim that a canonical token list implementation conforms to this specification SHOULD describe a testing procedure carried out for each requirement to which conformance is claimed, that justifies the claim with respect to that requirement. - -[[D1]](#d1) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, and can be described as required in [[D1]](#d1). - - **[R9]** -A claim that a canonical token list implementation conforms to this specification at **Level 2** or higher MUST describe the testing procedure carried out for each requirement at **Level 2** or higher, that justifies the claim to that requirement. - -[[R9]](#r9) testability: Since each of the non-conformance-target requirements in this documents is testable, so must be the totality of the requirements in this document. Therefore, conformance tests for all requirements can exist, be described, be built and implemented and results can be recorded as required in [[R9]](#r9). - -## Rationale - -The standard follows an already existing approach for address aliasing from Ethereum (L1) to EVM-based L2s such as Arbitrum and Optimism and between L2s, and extends and generalizes it to allow aliasing across any type of EVM-based network irrespective of the network type -- L1, L2 or higher layer networks. - -## Security Considerations - -### Data Privacy - -The standard does not set any requirements for compliance to jurisdiction legislation/regulations. It is the responsibility of the implementer to comply with applicable data privacy laws. - -### Production Readiness - -The standard does not set any requirements for the use of specific applications/tools/libraries etc. The implementer should perform due diligence when selecting specific applications/tools/libraries. - -There are security considerations as to the Ethereum-type addresses used in the construction of the `relativeAddress`. - -If the Ethereum-type address used in the `relativeAddress` is supposed to be an EOA, the target system/recipient should validate that the `codehash` of the source account is `NULL` such that no malicious code can be executed surreptitiously in an asset transfer. - -If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. - -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[ERC-55](#erc-55)]. - -### Internationalization and Localization - -Given the non-language specific features of EVM-based address aliasing, there are no internationalization/localization considerations. - ----- - -### Appendix A - Normative References - -The following documents are referenced in such a way that some or all of their content constitute requirements of this document. - - **[RFC2119]** - S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997. - - -### Appendix B - Non-Normative References - - **[ERC-55]** -Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC-55, EIP Repository, January 2016 - ---- - -## Copyright -Copyright and related rights waived via [CC0](../LICENSE.md). diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index 5349b63541e49..92ff7e01c1b00 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -1,5 +1,5 @@ --- -eip: 000000 +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From ec65b4953ddcfc3a469d9b6ace188e94569255ac Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 18 Apr 2023 08:50:07 -0700 Subject: [PATCH 14/27] fixing markdown linter errors @Pandapip1 -- the issue is now the same with inline HTM as with #6843. Please, approve if this is ok. I had asked @lightclient for an alternative to make individual requirements referenceable through a URL, apart from inline or using ##### which is not allowed either. --- EIPS/eip-6735.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index 92ff7e01c1b00..5da3c86a3fb16 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -18,12 +18,14 @@ The document describes the minimal set of business and technical prerequisites, ## Motivation The L2 WG of the EEA Communities Project managed by OASIS is an open-source initiative with a scope to + * Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains * Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains * For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: + * It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. @@ -109,22 +111,28 @@ The `relativeAddress` of an Externally Owned Account (EOA) or Smart Contract on An example of the former instance would be the relative address of wrapped USDC, `relativeAddress = 0x1111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481111`, and an example of the latter would be the relative address of wrapped USDC on Polygon, `relativeAddress = 0x00000000000001371111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000000137`. Finally, an example of an address alias for a message to another L1, L2, or Sidechain for wrapped USDC from Ethereum on Arbitrum would be: + ``` addressAlias = 0x00000000000421611111A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB4811110000000000042161 ``` + [[R7]](#r7) testability: Since this document is dealing with EVM-based systems with multiple live implementations, there are multiple known methods of how to verify if an address belongs to an EOA or a smart contract. **[R8]** The order of the `offsetAlias`es in an `addressAlias` MUST be ordered from the `offSetAlias` of the root chain bracketing the `relativeAddress` on the root chain through the ordered sequence of `offsetAlias`es of the chains on which the digital asset exists. For example, a valid `addressAlias` of an asset on chain A bridged to chain B and subsequently to chain C and that is to be bridged to yet another chain from chain C would be: + ``` addressAlias = chainId(C) chainId(B) chainId(A) relativeAddress chainId(A) chainId(B) chainId(C) ``` + However, the reverse order is invalid: + ``` addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chainId(B) chainId(A) ``` + [[R8]](#r8) testability: Since [[R1]](#r1) is testable and since [[R8]](#r8) is an order rule for the construction in [[R1]](#r1), which can be tested by applying logic operations on the output of [[R1]](#r1) tests, [[R8]](#r8) is testable. Note, that a proof that a given order is provably correct is beyond the scope of this document. @@ -146,6 +154,7 @@ A standardized set of test-fixtures with test inputs for all MUST, SHOULD, and M This section specifies the conformance levels of this standard. The conformance levels offer implementers several levels of conformance. These can be used to establish competitive differentiation. This document defines the conformance levels of EVM based Address Aliasing as follows: + * **Level 1:** All MUST requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. * **Level 2:** All MUST and SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. * **Level 3:** All MUST, SHOULD, and MAY requirements with conditional MUST or SHOULD requirements are fulfilled by a specific implementation as proven by a test report that proves in an easily understandable manner the implementation's conformance with each requirement based on implementation-specific test-fixtures with implementation-specific test-fixture inputs. @@ -204,4 +213,5 @@ Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC --- ## Copyright + Copyright and related rights waived via [CC0](../LICENSE.md). From 6b8547351080e7cf114a660aad2bb19fab8c89b5 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 18 Apr 2023 08:58:28 -0700 Subject: [PATCH 15/27] fixing 3 markdown linter errors --- EIPS/eip-6735.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index 5da3c86a3fb16..08ef0e4fbcc1a 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -137,7 +137,7 @@ addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chain Note, that a proof that a given order is provably correct is beyond the scope of this document. ---- +----- ### Conformance @@ -195,7 +195,7 @@ Lastly, it is recommended that as part of the `relativeAddress` validation the t Given the non-language specific features of EVM-based address aliasing, there are no internationalization/localization considerations. ----- +----- ### Appendix A - Normative References @@ -210,7 +210,7 @@ The following documents are referenced in such a way that some or all of their c **[ERC-55]** Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC-55, EIP Repository, January 2016 ---- +----- ## Copyright From 70d0702471cfa744145b9a5f6a077729f578e486 Mon Sep 17 00:00:00 2001 From: eth-bot <85952233+eth-bot@users.noreply.github.com> Date: Tue, 2 May 2023 08:43:18 -0700 Subject: [PATCH 16/27] Commit from EIP-Bot --- .github/renovate.json | 3 +- .github/workflows/ci.yml | 2 +- EIPS/eip-1185.md | 224 ++++++- EIPS/eip-2677.md | 3 +- EIPS/eip-3651.md | 3 +- EIPS/eip-3855.md | 3 +- EIPS/eip-3860.md | 3 +- EIPS/eip-4895.md | 3 +- EIPS/eip-5007.md | 48 +- EIPS/eip-5507.md | 3 +- EIPS/eip-5564.md | 68 +- EIPS/eip-5570.md | 9 +- EIPS/eip-5615.md | 5 +- EIPS/eip-5639.md | 4 +- EIPS/eip-5656.md | 20 +- EIPS/eip-5725.md | 8 +- EIPS/eip-6065.md | 450 ++++--------- EIPS/eip-6120.md | 633 +++++------------- EIPS/eip-6404.md | 8 +- EIPS/eip-6454.md | 54 +- EIPS/eip-6475.md | 17 +- EIPS/eip-6493.md | 4 +- EIPS/eip-6551.md | 165 +---- EIPS/eip-6672.md | 5 +- EIPS/eip-6913.md | 96 +++ ...p-draft_l2_aliasing_of_evm_based_addre.md} | 2 +- assets/eip-5007/README.md | 1 + .../eip-5007/contracts/ERC5007Composable.sol | 91 +-- .../contracts/ERC5007ComposableTest.sol | 8 +- .../eip-5007/contracts/IERC5007Composable.sol | 33 +- assets/eip-5007/test/test.js | 66 +- assets/eip-5219/IDecentralizedApp.sol | 2 +- assets/eip-5725/README.md | 2 +- assets/eip-5725/contracts/IERC5725.sol | 2 +- assets/eip-6065/ERC6065.sol | 255 +++++++ assets/eip-6065/corporate-structure.png | Bin 371934 -> 846219 bytes .../eip-6404/tests/normalized/ssz_tx_types.py | 5 +- assets/eip-6454/contracts/IERC6454.sol | 26 + .../eip-6454/contracts/INonTransferable.sol | 13 - ...bleMock.sol => ERC721TransferableMock.sol} | 29 +- assets/eip-6454/package.json | 2 +- .../{nonTransferable.ts => transferable.ts} | 19 +- assets/eip-6466/helpers/ssz_receipt_types.py | 5 +- assets/eip-6475/optional.py | 38 +- assets/eip-6475/tests.py | 17 +- assets/eip-6672/contracts/ERC6672.sol | 86 ++- .../contracts/interfaces/IERC6672.sol | 41 +- .../address-aliasing-root-leaf-design.png | Bin 33113 -> 56317 bytes ...Highlight-Path-Red-evm-based-aliasing..png | Bin 36398 -> 61108 bytes 49 files changed, 1338 insertions(+), 1246 deletions(-) create mode 100644 EIPS/eip-6913.md rename EIPS/{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} (99%) create mode 100644 assets/eip-6065/ERC6065.sol create mode 100644 assets/eip-6454/contracts/IERC6454.sol delete mode 100644 assets/eip-6454/contracts/INonTransferable.sol rename assets/eip-6454/contracts/mocks/{ERC721NonTransferableMock.sol => ERC721TransferableMock.sol} (65%) rename assets/eip-6454/test/{nonTransferable.ts => transferable.ts} (70%) diff --git a/.github/renovate.json b/.github/renovate.json index ecedacdb2c948..e7f2cbe5ff35e 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -9,6 +9,7 @@ ], "ignoreDeps": [ "Pandapip1/jekyll-label-action", - "ethereum/eipw-action" + "ethereum/eipw-action", + "ethereum/eip-review-bot" ] } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f70087f7a6274..152e4860b0b7c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: - name: Checkout EIP Repository uses: actions/checkout@47fbe2df0ad0e27efb67a70beac3555f192b062f - - uses: ethereum/eipw-action@46f859303960fa252a9a8aa453f84020c19bf5ee + - uses: ethereum/eipw-action@59cdee4fc5d37c9391f3a0b52857fd5b021a39c2 id: eipw with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/EIPS/eip-1185.md b/EIPS/eip-1185.md index eab7b2bd54ff6..f46d8fcec7fed 100644 --- a/EIPS/eip-1185.md +++ b/EIPS/eip-1185.md @@ -1,26 +1,29 @@ --- eip: 1185 title: Storage of DNS Records in ENS +description: A system to store and retrieve DNS records within the ENS contract. author: Jim McDonald (@mcdee) -status: Stagnant +discussions-to: https://ethereum-magicians.org/t/eip1185-dns-resolver-profile-for-ens/1589 +status: Draft type: Standards Track category: ERC created: 2018-06-26 requires: 137 -discussions-to: https://ethereum-magicians.org/t/eip1185-dns-resolver-profile-for-ens/1589 --- ## Abstract + This EIP defines a resolver profile for ENS that provides features for storage and lookup of DNS records. This allows ENS to be used as a store of authoritative DNS information. ## Motivation + ENS is a highly desirable store for DNS information. It provides the distributed authority of DNS without conflating ownership and authoritative serving of information. With ENS, the owner of a domain has full control over their own DNS records. Also, ENS has the ability (through smart contracts) for a domain's subdomains to be irrevocably assigned to another entity. ## Specification -The resolver profile to support DNS on ENS follows the resolver specification as defined in #137. +The resolver profile to support DNS on ENS follows the resolver specification as defined in [ERC-137](./eip-137.md). -Traditionally, DNS is a zone-based system in that all of the records for a zone are kept together in the same file. This has the benefit of simplicity and atomicity of zone updates, but when transposed to ENS can result in significant gas costs for simple changes. As a result, the resolver works on the basis of record sets. A record set is uniquely defined by the tuple (domain, name, resource record type), for example the tuple (example.com, www.example.com, A) defines the record set of A records for the name www.example.com in the domain example.com. A record set can contain 0 or more values, for example if www.example.com has A records 1.2.3.4 and 5.6.7.8 then the aforementioned tuple will have two values. +Traditionally, DNS is a zone-based system in that all of the records for a zone are kept together in the same file. This has the benefit of simplicity and atomicity of zone updates, but when transposed to ENS can result in significant gas costs for simple changes. As a result, the resolver works on the basis of record sets. A record set is uniquely defined by the tuple `(domain, name, resource record type)`, for example the tuple `(example.com, www.example.com, A)` defines the record set of `A` records for the name `www.example.com` in the domain `example.com`. A record set can contain 0 or more values, for example if `www.example.com` has `A` records `1.2.3.4` and `5.6.7.8` then the aforementioned tuple will have two values. The choice to work at the level of record sets rather than zones means that this specification cannot completely support some features of DNS, such as zone transfers and DNSSEC. It would be possible to build a different resolver profile that works at the zone level, however it would be very expensive to carry out updates and so is not considered further for this EIP. @@ -31,9 +34,11 @@ The DNS resolver interface consists of two functions to set DNS information and `setDNSRecords()` sets, updates or clears 1 or more DNS records for a given node. It has function signature `0x0af179d7`. The arguments for the function are as follows: - - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in #137 + + - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in [ERC-137](./eip-137.md) - data: 1 or more DNS records in DNS wire format. Any record that is supplied without a value will be cleared. Note that all records in the same RRset should be contiguous within the data; if not then the later RRsets will overwrite the earlier one(s) + ### clearDNSZone(bytes32 node) `clearDNSZone()` removes all DNS records for the domain. It has function signature `0xad5780af`. @@ -41,16 +46,18 @@ The arguments for the function are as follows: Although it is possible to clear records individually with `setDNSRecords()` as described above this requires the owner to know all of the records that have been set (as the resolver has no methods to iterate over the records for a given domain), and might require multiple transactions. `clearDNSZone()` removes all zone information in a single operation. The arguments for the function is as follows: - - node: the namehash of the fully-qualified domain in ENS for which to clear the records. Namehashes are defined in #137 + + - node: the namehash of the fully-qualified domain in ENS for which to clear the records. Namehashes are defined in [ERC-137](./eip-137.md) ### dnsRecords(bytes32 node, bytes32 name, uint16 resource) view returns (bytes) `dnsRecords()` obtains the DNS records for a given node, name and resource. It has function signature `0x2461e851`. The arguments for the function are as follows: - - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in #137 + + - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in [ERC-137](./eip-137.md) - name: the `keccak256()` hash of the name of the record in DNS wire format. - - resource: the resource record ID. Resource record IDs are defined in https://en.wikipedia.org/wiki/List\_of\_DNS\_record\_types + - resource: the resource record ID. Resource record IDs are defined in RFC1035 and subsequent RFCs. The function returns all matching records in DNS wire format. If there are no records present the function will return nothing. @@ -58,23 +65,208 @@ The function returns all matching records in DNS wire format. If there are no r `hasDNSRecords()` reports if there are any records for the provided name in the domain. It has function signature `0x4cbf6ba4`. -This function is needed by DNS resolvers when working with wildcard resources as defined in https://tools.ietf.org/html/rfc4592 +This function is needed by DNS resolvers when working with wildcard resources as defined in RFC4592. The arguments for the function are as follows: - - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in #137 + + - node: the namehash of the fully-qualified domain in ENS for which to set the records. Namehashes are defined in [ERC-137](./eip-137.md) - name: the `keccak256()` hash of the name of the record in DNS wire format. The function returns `true` if there are any records for the provided node and name, otherwise `false`. -## Backwards compatibility +## Rationale + +DNS is a federated system of naming, and the higher-level entities control availability of everything beneath them (_e.g._ `.org` controls the availability of `ethereum.org`). A decentralized version of DNS would not have this constraint, and allow lookups directly for any domain with relevant records within ENS. + +## Backwards Compatibility + Not applicable. -## Implementation -The reference implementation of the DNS resolver is at https://github.com/wealdtech/wealdtech-solidity/blob/master/contracts/ens/DNSResolver.sol +## Reference Implementation + +The reference implementation of the DNS resolver is as follows: + +```solidity +pragma solidity ^0.7.4; +import "../ResolverBase.sol"; +import "@ensdomains/dnssec-oracle/contracts/RRUtils.sol"; + +abstract contract DNSResolver is ResolverBase { + using RRUtils for *; + using BytesUtils for bytes; + + bytes4 constant private DNS_RECORD_INTERFACE_ID = 0xa8fa5682; + bytes4 constant private DNS_ZONE_INTERFACE_ID = 0x5c47637c; -https://github.com/wealdtech/ethereal.git can be used to test the functionality of the resolver with the "dns set", "dns get" and "dns clear" commands. -## Test Cases -Test cases for the DNS resolver are at https://github.com/wealdtech/wealdtech-solidity/blob/master/test/ens/DNSResolver.js + // DNSRecordChanged is emitted whenever a given node/name/resource's RRSET is updated. + event DNSRecordChanged(bytes32 indexed node, bytes name, uint16 resource, bytes record); + // DNSRecordDeleted is emitted whenever a given node/name/resource's RRSET is deleted. + event DNSRecordDeleted(bytes32 indexed node, bytes name, uint16 resource); + // DNSZoneCleared is emitted whenever a given node's zone information is cleared. + event DNSZoneCleared(bytes32 indexed node); + + // DNSZonehashChanged is emitted whenever a given node's zone hash is updated. + event DNSZonehashChanged(bytes32 indexed node, bytes lastzonehash, bytes zonehash); + + // Zone hashes for the domains. + // A zone hash is an ERC-1577 content hash in binary format that should point to a + // resource containing a single zonefile. + // node => contenthash + mapping(bytes32=>bytes) private zonehashes; + + // Version the mapping for each zone. This allows users who have lost + // track of their entries to effectively delete an entire zone by bumping + // the version number. + // node => version + mapping(bytes32=>uint256) private versions; + + // The records themselves. Stored as binary RRSETs + // node => version => name => resource => data + mapping(bytes32=>mapping(uint256=>mapping(bytes32=>mapping(uint16=>bytes)))) private records; + + // Count of number of entries for a given name. Required for DNS resolvers + // when resolving wildcards. + // node => version => name => number of records + mapping(bytes32=>mapping(uint256=>mapping(bytes32=>uint16))) private nameEntriesCount; + + /** + * Set one or more DNS records. Records are supplied in wire-format. + * Records with the same node/name/resource must be supplied one after the + * other to ensure the data is updated correctly. For example, if the data + * was supplied: + * a.example.com IN A 1.2.3.4 + * a.example.com IN A 5.6.7.8 + * www.example.com IN CNAME a.example.com. + * then this would store the two A records for a.example.com correctly as a + * single RRSET, however if the data was supplied: + * a.example.com IN A 1.2.3.4 + * www.example.com IN CNAME a.example.com. + * a.example.com IN A 5.6.7.8 + * then this would store the first A record, the CNAME, then the second A + * record which would overwrite the first. + * + * @param node the namehash of the node for which to set the records + * @param data the DNS wire format records to set + */ + function setDNSRecords(bytes32 node, bytes calldata data) external authorised(node) { + uint16 resource = 0; + uint256 offset = 0; + bytes memory name; + bytes memory value; + bytes32 nameHash; + // Iterate over the data to add the resource records + for (RRUtils.RRIterator memory iter = data.iterateRRs(0); !iter.done(); iter.next()) { + if (resource == 0) { + resource = iter.dnstype; + name = iter.name(); + nameHash = keccak256(abi.encodePacked(name)); + value = bytes(iter.rdata()); + } else { + bytes memory newName = iter.name(); + if (resource != iter.dnstype || !name.equals(newName)) { + setDNSRRSet(node, name, resource, data, offset, iter.offset - offset, value.length == 0); + resource = iter.dnstype; + offset = iter.offset; + name = newName; + nameHash = keccak256(name); + value = bytes(iter.rdata()); + } + } + } + if (name.length > 0) { + setDNSRRSet(node, name, resource, data, offset, data.length - offset, value.length == 0); + } + } + + /** + * Obtain a DNS record. + * @param node the namehash of the node for which to fetch the record + * @param name the keccak-256 hash of the fully-qualified name for which to fetch the record + * @param resource the ID of the resource as per https://en.wikipedia.org/wiki/List_of_DNS_record_types + * @return the DNS record in wire format if present, otherwise empty + */ + function dnsRecord(bytes32 node, bytes32 name, uint16 resource) public view returns (bytes memory) { + return records[node][versions[node]][name][resource]; + } + + /** + * Check if a given node has records. + * @param node the namehash of the node for which to check the records + * @param name the namehash of the node for which to check the records + */ + function hasDNSRecords(bytes32 node, bytes32 name) public view returns (bool) { + return (nameEntriesCount[node][versions[node]][name] != 0); + } + + /** + * Clear all information for a DNS zone. + * @param node the namehash of the node for which to clear the zone + */ + function clearDNSZone(bytes32 node) public authorised(node) { + versions[node]++; + emit DNSZoneCleared(node); + } + + /** + * setZonehash sets the hash for the zone. + * May only be called by the owner of that node in the ENS registry. + * @param node The node to update. + * @param hash The zonehash to set + */ + function setZonehash(bytes32 node, bytes calldata hash) external authorised(node) { + bytes memory oldhash = zonehashes[node]; + zonehashes[node] = hash; + emit DNSZonehashChanged(node, oldhash, hash); + } + + /** + * zonehash obtains the hash for the zone. + * @param node The ENS node to query. + * @return The associated contenthash. + */ + function zonehash(bytes32 node) external view returns (bytes memory) { + return zonehashes[node]; + } + + function supportsInterface(bytes4 interfaceID) virtual override public pure returns(bool) { + return interfaceID == DNS_RECORD_INTERFACE_ID || + interfaceID == DNS_ZONE_INTERFACE_ID || + super.supportsInterface(interfaceID); + } + + function setDNSRRSet( + bytes32 node, + bytes memory name, + uint16 resource, + bytes memory data, + uint256 offset, + uint256 size, + bool deleteRecord) private + { + uint256 version = versions[node]; + bytes32 nameHash = keccak256(name); + bytes memory rrData = data.substring(offset, size); + if (deleteRecord) { + if (records[node][version][nameHash][resource].length != 0) { + nameEntriesCount[node][version][nameHash]--; + } + delete(records[node][version][nameHash][resource]); + emit DNSRecordDeleted(node, name, resource); + } else { + if (records[node][version][nameHash][resource].length == 0) { + nameEntriesCount[node][version][nameHash]++; + } + records[node][version][nameHash][resource] = rrData; + emit DNSRecordChanged(node, name, resource, rrData); + } + } +} +``` + +## Security Considerations + +Security of this solution would be dependent on security of the records within the ENS domain. This degenenrates to the security of the key(s) which have authority over that domain. ## Copyright + Copyright and related rights waived via [CC0](../LICENSE.md). diff --git a/EIPS/eip-2677.md b/EIPS/eip-2677.md index e0d136ca58290..7bf2473d7766a 100644 --- a/EIPS/eip-2677.md +++ b/EIPS/eip-2677.md @@ -3,10 +3,11 @@ eip: 2677 title: Limit size of `initcode` author: Martin Holst Swende (@holiman), Paweł Bylica (@chfast), Alex Beregszaszi (@axic) discussions-to: https://ethereum-magicians.org/t/eip-2677-limit-size-of-initcode/4550 -status: Stagnant +status: Withdrawn type: Standards Track category: Core created: 2020-05-18 +withdrawal-reason: Replaced by EIP-3860. --- ## Simple Summary diff --git a/EIPS/eip-3651.md b/EIPS/eip-3651.md index cd7d6a465c03d..d94c694c6f122 100644 --- a/EIPS/eip-3651.md +++ b/EIPS/eip-3651.md @@ -4,8 +4,7 @@ title: Warm COINBASE description: Starts the `COINBASE` address warm author: William Morriss (@wjmelements) discussions-to: https://ethereum-magicians.org/t/eip-3651-warm-coinbase/6640 -status: Last Call -last-call-deadline: 2023-03-28 +status: Final type: Standards Track category: Core created: 2021-07-12 diff --git a/EIPS/eip-3855.md b/EIPS/eip-3855.md index c17a941d5f4cf..42034250ae8dd 100644 --- a/EIPS/eip-3855.md +++ b/EIPS/eip-3855.md @@ -4,8 +4,7 @@ title: PUSH0 instruction description: Introduce a new instruction which pushes the constant value 0 onto the stack author: Alex Beregszaszi (@axic), Hugo De la cruz (@hugo-dc), Paweł Bylica (@chfast) discussions-to: https://ethereum-magicians.org/t/eip-3855-push0-instruction/7014 -status: Last Call -last-call-deadline: 2023-04-12 +status: Final type: Standards Track category: Core created: 2021-02-19 diff --git a/EIPS/eip-3860.md b/EIPS/eip-3860.md index fb0550ecd4deb..5f8151e19ad1c 100644 --- a/EIPS/eip-3860.md +++ b/EIPS/eip-3860.md @@ -4,8 +4,7 @@ title: Limit and meter initcode description: Limit the maximum size of initcode to 49152 and apply extra gas cost of 2 for every 32-byte chunk of initcode author: Martin Holst Swende (@holiman), Paweł Bylica (@chfast), Alex Beregszaszi (@axic), Andrei Maiboroda (@gumb0) discussions-to: https://ethereum-magicians.org/t/eip-3860-limit-and-meter-initcode/7018 -status: Last Call -last-call-deadline: 2023-04-12 +status: Final type: Standards Track category: Core created: 2021-07-16 diff --git a/EIPS/eip-4895.md b/EIPS/eip-4895.md index c6f33aeec7751..81af3b60b632b 100644 --- a/EIPS/eip-4895.md +++ b/EIPS/eip-4895.md @@ -4,8 +4,7 @@ title: Beacon chain push withdrawals as operations description: Support validator withdrawals from the beacon chain to the EVM via a new "system-level" operation type. author: Alex Stokes (@ralexstokes), Danny Ryan (@djrtwo) discussions-to: https://ethereum-magicians.org/t/eip-4895-beacon-chain-withdrawals-as-system-level-operations/8568 -status: Last Call -last-call-deadline: 2023-04-12 +status: Final type: Standards Track category: Core created: 2022-03-10 diff --git a/EIPS/eip-5007.md b/EIPS/eip-5007.md index 007d2a65e756c..10de156ccbfd2 100755 --- a/EIPS/eip-5007.md +++ b/EIPS/eip-5007.md @@ -1,11 +1,11 @@ --- eip: 5007 -title: Time NFT, EIP-721 Time Extension -description: Add start time and end time to EIP-721 tokens. +title: Time NFT, ERC-721 Time Extension +description: Add start time and end time to ERC-721 tokens. author: Anders (@0xanders), Lance (@LanceSnow), Shrug discussions-to: https://ethereum-magicians.org/t/eip-5007-eip-721-time-extension/8924 status: Last Call -last-call-deadline: 2022-09-25 +last-call-deadline: 2023-05-15 type: Standards Track category: ERC created: 2022-04-13 @@ -14,7 +14,7 @@ requires: 165, 721 ## Abstract -This standard is an extension of [EIP-721](./eip-721.md). It proposes some additional functions (`startTime`, `endTime`) to help with on-chain time management. +This standard is an extension of [ERC-721](./eip-721.md). It proposes some additional functions (`startTime`, `endTime`) to help with on-chain time management. ## Motivation @@ -30,7 +30,7 @@ The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SH ```solidity /** - * @dev the EIP-165 identifier for this interface is 0x7a0cdf92. + * @dev the ERC-165 identifier for this interface is 0xf140be0d. */ interface IERC5007 /* is IERC721 */ { /** @@ -58,43 +58,50 @@ The **composable extension** is OPTIONAL for this standard. This allows your NFT ```solidity /** - * @dev the EIP-165 identifier for this interface is 0x620063db. + * @dev the ERC-165 identifier for this interface is 0x32060e69. */ interface IERC5007Composable /* is IERC5007 */ { /** - * @dev Returns the ancestor token id of the NFT. - * + * @dev Returns the asset id of the time NFT. + * Only NFTs with same asset id can be merged. + * * Requirements: * * - `tokenId` must exist. */ - function rootTokenId(uint256 tokenId) external view returns (uint256); + function assetId(uint256 tokenId) external view returns (uint256); /** - * @dev Mint a new token from an old token. - * The rootTokenId of the new token is the same as the rootTokenId of the old token + * @dev Split an old token to two new tokens. + * The assetId of the new token is the same as the assetId of the old token * * Requirements: * * - `oldTokenId` must exist. - * - `newTokenId` must not exist. - * - `newTokenOwner` cannot be the zero address. - * - `newTokenStartTime` require(oldTokenStartTime < newTokenStartTime && newTokenStartTime <= oldTokenEndTime) + * - `newToken1Id` must not exist. + * - `newToken1Owner` cannot be the zero address. + * - `newToken2Id` must not exist. + * - `newToken2Owner` cannot be the zero address. + * - `splitTime` require(oldToken.startTime <= splitTime && splitTime < oldToken.EndTime) */ function split( uint256 oldTokenId, - uint256 newTokenId, - address newTokenOwner, - int64 newTokenStartTime + uint256 newToken1Id, + address newToken1Owner, + uint256 newToken2Id, + address newToken2Owner, + int64 splitTime ) external; /** - * @dev Merge the first token and second token into the new token. + * @dev Merge the first token and second token into the new token. * * Requirements: * * - `firstTokenId` must exist. - * - `secondTokenId` must exist. require((firstToken.endTime + 1) == secondToken.startTime) + * - `secondTokenId` must exist. + * - require((firstToken.endTime + 1) == secondToken.startTime) + * - require((firstToken.assetId()) == secondToken.assetId()) * - `newTokenOwner` cannot be the zero address. * - `newTokenId` must not exist. */ @@ -115,7 +122,7 @@ The max value of `int64` is 9,223,372,036,854,775,807. As a timestamp, 9,223,372 ## Backwards Compatibility -This standard is fully EIP-721 compatible. +This standard is fully ERC-721 compatible. ## Test Cases @@ -125,6 +132,7 @@ Run in terminal: ```shell cd ../assets/eip-5007 +npm install truffle -g npm install truffle test ``` diff --git a/EIPS/eip-5507.md b/EIPS/eip-5507.md index 444b48682fb22..d1f09b117d4eb 100644 --- a/EIPS/eip-5507.md +++ b/EIPS/eip-5507.md @@ -4,7 +4,8 @@ title: Refundable Tokens description: Adds refund functionality to ERC-20, ERC-721, and ERC-1155 tokens author: elie222 (@elie222), Gavin John (@Pandapip1) discussions-to: https://ethereum-magicians.org/t/eip-5507-refundable-nfts/10451 -status: Review +status: Last Call +last-call-deadline: 2023-05-02 type: Standards Track category: ERC created: 2022-08-19 diff --git a/EIPS/eip-5564.md b/EIPS/eip-5564.md index 2ce1a3f5e19c7..eb9b4781a0695 100644 --- a/EIPS/eip-5564.md +++ b/EIPS/eip-5564.md @@ -12,11 +12,12 @@ created: 2022-08-13 ## Abstract -This specification defines a standardized way of creating stealth addresses. This EIP enables senders of transactions/transfers to non-interactively generate private stealth addresses for their recipients that only the recipients can unlock. +This specification establishes a standardized method for interacting with stealth addresses, which allow senders of transactions or transfers to non-interactively generate private accounts exclusively accessible by their recipients. Moreover, this specification enables developers to create stealth address protocols based on the foundational implementation outlined in this EIP, utilizing a singleton contract to emit the necessary information for recipients. In addition to the base implementation, this ERC also outlines the first implementation of a cryptographic scheme, specifically the SECP256k1 curve. + ## Motivation -The standardization of non-interactive stealth address generation holds the potential to greatly enhance the privacy capabilities of Ethereum by enabling the recipient of a transfer to remain anonymous when receiving an asset. This is achieved through the generation of a stealth address by the sender, using a shared secret between the sender and recipient. Only the recipient is able to unlock the funds at the stealth address, as they are the only ones with access to the private key required for this purpose. As a result, observers are unable to link the recipient's stealth address to their identity, preserving the privacy of the recipient and leaving only the sender with this information. +The standardization of non-interactive stealth address generation presents the potential to significantly improve the privacy capabilities of the Ethereum network and other EVM-compatible chains by allowing recipients to remain private when receiving assets. This is accomplished through the sender generating a stealth address based on a shared secret known exclusively to the sender and recipient. The recipients alone can access the funds stored at their stealth addresses, as they are the sole possessors of the necessary private key. As a result, observers are unable to associate the recipient's stealth address with their identity, thereby preserving the recipient's privacy and leaving the sender as the only party privy to this information. By offering a foundational implementation in the form of a single contract that is compatible with multiple cryptographic schemes, recipients are granted a centralized location to monitor, ensuring they do not overlook any incoming transactions. ## Specification @@ -84,7 +85,7 @@ function computeStealthKey( The implementation of these methods is scheme-specific. The specification of a new stealth address scheme MUST specify the implementation for each of these methods. Additionally, although these function interfaces are specified in Solidity, they do not necessarily ever need to be implemented in Solidity, but any library or SDK conforming to this specification MUST implement these methods with compatible function interfaces. -A one byte integer (`schemeId`) is used to identify stealth address schemes. The `schemeId` represents an incrementing integer beginning at 0. A mapping from the `schemeId` to it's specification MUST be declared in the EIP that proposes to standardize a new stealth address scheme. Furthermore, the schemeId MUST be added to [this overview](../assets/eip-5564/scheme_ids.md). These EIP extensions MUST specify: +A one byte integer (`schemeId`) is used to identify stealth address schemes. The `schemeId` represents an incrementing integer beginning at 0. A mapping from the `schemeId` to its specification MUST be declared in the EIP that proposes to standardize a new stealth address scheme. Furthermore, the schemeId MUST be added to [this overview](../assets/eip-5564/scheme_ids.md). These EIP extensions MUST specify: - The integer identifier for the scheme. @@ -118,21 +119,20 @@ contract IERC5564Messenger is StakeManager{ /// Besides the view tag, the metadata can be used by the senders however they like, /// but the below guidelines are recommended: /// The first byte of the metadata MUST be the view tag. - /// - When sending ERC-20 tokens, the metadata SHOULD be structured as follows: + /// - When sending/interacting with the native token of the blockchain (cf. ETH), the metadata SHOULD be structured as follows: + /// - Byte 1 MUST be the view tag, as specified above. + /// - Bytes 2-5 are `0xeeeeeeee` + /// - Bytes 6-25 are the address 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. + /// - Bytes 26-57 are the amount of ETH being sent. + /// - When interacting with ERC-20/ERC-721/etc. tokens, the metadata SHOULD be structured as follows: /// - Byte 1 MUST be the view tag, as specified above. - /// - Bytes 2-5 are the method Id, which the hash of the canonical representation of the function to call. + /// - Bytes 2-5 are a function identifier. When a function selector (e.g. + /// the first (left, high-order in big-endian) four bytes of the Keccak-256 + /// hash of the signature of the function, like Solidity and Vyper use) is + /// available, it MUST be used. /// - Bytes 6-25 are the token contract address. - /// - Bytes 26-57 are the amount of tokens being sent. - /// - When approving a stealth address to spend ERC-20 tokens, the metadata SHOULD be structured as follows: - /// - Byte 1 MUST be the view tag, as specified above. - /// - Bytes 2-5 are 0xe1f21c67, which the signature for the ERC-20 approve method. - /// - Bytes 6-25 are the token address. - /// - Bytes 26-57 are the approval amount. - /// - When sending ERC-721 tokens, the metadata SHOULD be structured as follows: - /// - Byte 1 MUST be the view tag, as specified above. - /// - Bytes 2-5 are the method Id. - /// - Bytes 6-25 are the token address. - /// - Bytes 26-57 are the token ID of the token being sent. + /// - Bytes 26-57 are the amount of tokens being sent/interacted with for fungible tokens, or + /// the token ID for non-fungible tokens. function announce ( uint256 schemeId, address stealthAddress, @@ -146,7 +146,7 @@ contract IERC5564Messenger is StakeManager{ } ``` -The `ERC5564Messenger` contract inherits the `StakeManager` contract allowing users to stake ETH that is uses as an anti-DoS measure. More details in the ... section. +The `ERC5564Messenger` contract inherits the `StakeManager` contract allowing users to stake ETH that is used as an anti-DoS measure. More details in the [DoS Countermeasures](#dos-countermeasures) section. ```solidity /// @notice Interface for the Stake Manager contract. @@ -195,20 +195,20 @@ contract StakeManager{ ### Stealth meta-address format -The new address format for the stealth meta-addresses is based on [ERC-3770](./eip-3770.md) and extends it by adding a `st:` (*stealth*) as prefix. -Thus, stealth meta-addresses on Ethereum come with the following format: +The new address format for the stealth meta-address is based on [ERC-3770](./eip-3770.md) and extends it by adding a `st:` (*stealth*) prefix. +Thus, a stealth meta-address on Ethereum has the following format: ``` st:eth:0x ``` -*Notably, the address-format is only used to differentiate stealth addresses from standard addresses, as the prefix is sliced away before doing any computations on the stealth meta-address.* +*Notably, the address format is used only to differentiate stealth addresses from standard addresses, as the prefix is removed before performing any computations on the stealth meta-address.* --- ### Initial Implementation of SECP256k1 with View Tags -This improvement proposal provides a foundation that is not tied to any specific cryptographic system through the `IERC5564Messenger` contract. In addition, it introduces the first implementation of a [stealth address scheme](../assets/eip-5564/scheme_ids.md) that utilizes the SECP256k1 elliptic curve and `view tags`. The SECP256k1 elliptic curve is defined with the equation $y^2 = x^3 + 7 \pmod{p}$, where $p = 2^{256} - 2^{32} - 977$. +This EIP provides a foundation that is not tied to any specific cryptographic system through the `IERC5564Messenger` contract. In addition, it introduces the first implementation of a [stealth address scheme](../assets/eip-5564/scheme_ids.md) that utilizes the SECP256k1 elliptic curve and view tags. The SECP256k1 elliptic curve is defined with the equation $y^2 = x^3 + 7 \pmod{p}$, where $p = 2^{256} - 2^{32} - 977$. The following reference is divided into three sections: @@ -245,7 +245,7 @@ The following reference is divided into three sections: #### Parsing - Locate one's own stealth address(es): -- User has access to the viewing private key $p_{view}$ and the public spending key $P_{spend}$. +- User has access to the viewing private key $p_{view}$ and the spending public key $P_{spend}$. - User has access to a set of `Announcement` events and applies the `checkStealthAddress` function to each of them. @@ -273,7 +273,7 @@ The following reference is divided into three sections: ### Parsing considerations -Usually, the recipient of a stealth address transaction has to perform the following operations to check weather he was the recipient of a certain transaction: +Usually, the recipient of a stealth address transaction has to perform the following operations to check whether he was the recipient of a certain transaction: - 2x ecMUL, @@ -281,19 +281,19 @@ Usually, the recipient of a stealth address transaction has to perform the follo - 1x ecADD, -The view tags approach is introduced to reduce the parsing time by around 6x. Users only need to perform 1x ecMUL and 1x HASH (skipping 1x ecMUL, 1x ecADD and 1x HASH) for every parsed announcement. The 1 bytes length was is based on the maximum required space to reliably filter not matching announcement. With 1 bytes as `viewTag` the probability for users to skip the remaining computations after hashing the shared secret $h(s)$ is $1/256$. This means that users can almost certainly skip the above three operations for any announcements that to do not involve them. Since the view tag reveals one byte of the shared secret, the security margin is reduced from 128 bits to 124 bits. Notably, this only affects the privacy and not the secure generation of a stealth address. +The view tags approach is introduced to reduce the parsing time by around 6x. Users only need to perform 1x ecMUL and 1x HASH (skipping 1x ecMUL, 1x ecADD and 1x HASH) for every parsed announcement. The 1-byte view tag length is based on the maximum required space to reliably filter non-matching announcements. With a 1-byte `viewTag`, the probability for users to skip the remaining computations after hashing the shared secret $h(s)$ is $1/256$. This means that users can almost certainly skip the above three operations for any announcements that do not involve them. Since the view tag reveals one byte of the shared secret, the security margin is reduced from 128 bits to 124 bits. Notably, this only affects the privacy and not the secure generation of a stealth address. --- ## Rationale -This EIP emerged from the need of having privacy-preserving ways to transfer ownership without revealing the recipient's identity. Tokens can reveal sensitive private information about the owner. While users might want to donate money to a specific organization/country but they might not want to reveal personal account-related information at the same time. The standardization of stealth address generation represents a significant effort for privacy: privacy-preserving solutions require standards to gain adoption, therefore it is critical to focus on generalizable ways of implementing related solutions. +This EIP emerged from the need of having privacy-preserving ways to transfer ownership without disclosing any information about the recipients' identities. Token ownership can expose sensitive personal information. While individuals may wish to donate to a specific organization or country, they might prefer not to disclose a link between themselves and the recipient at the same time. Standardizing stealth address generation represents a significant step towards unlinkable interactions, since such privacy-enhancing solutions require standards to achieve widespread adoption. Consequently, it is crucial to concentrate on developing generalizable approaches for implementing related solutions. -The stealth address extension standardizes a protocol for generating and locating stealth addresses, enabling the transfer of assets without the need for prior interaction with the recipient and allowing recipients to verify the receipt of a transfer without interacting with the blockchain. Importantly, stealth addresses allow the recipient of a token transfer to verify receipt while maintaining their privacy, as only the recipient is able to see that they have been the recipient of the transfer. +The stealth address specification standardizes a protocol for generating and locating stealth addresses, facilitating the transfer of assets without requiring prior interaction with the recipient. This enables recipients to verify the receipt of a transfer without the need to interact with the blockchain and query account balances. Importantly, stealth addresses enable token transfer recipients to verify receipt while maintaining their privacy, as only the recipient can recognize themselves as the recipient of the transfer. -The authors identify the trade-off between on- and off-chain efficiency: Although, including a Monero-like `view tags` mechanism helps recipients to parse announcements more quickly, it adds complexity to the announcement event. +The authors recognize the trade-off between on- and off-chain efficiency. Although incorporating a Monero-like view tags mechanism enables recipients to parse announcements more efficiently, it adds complexity to the announcement event. -The address of the recipient and the `viewTag` MUST be included in the announcement event, allowing users to quickly verify ownership without having to query the chain for positive account balances. +The address of the recipient and the `viewTag` MUST be included in the announcement event, allowing users to quickly verify ownership without querying the chain for positive account balances. ## Backwards Compatibility @@ -305,14 +305,14 @@ You can find an implementation of this standard in TBD. ## Security Considerations -### DoS Measures +### DoS Countermeasures -There are potential DoS attack vectors that are not mitigated by network transaction fees. Stealth transfer senders cause an externality for recipients, as parsing announcement events consumes computational resources that are not compensated with gas. Therefore, spamming announcement events *can* be a detriment to the user experience, as it *can* lead to longer parsing times. -We consider the incentives to carry out such an attack as low because **no monetary benefit can be obtained** and, in theory, nothing prevents parsing providers to ignore the spamming when serving announcements to users. -However, sophisticated spamming (*sybil attacks*), which are not considered worth the associated costs, could make it difficult for paprsing providers to develop filters for such announcement events. -Therefore, to counter spamming directly, a staking mechanism is introduced in the EIP that allows users to stake an unslashable amount of ETH. Staking allows parsing providers to better tackle potential spam through *sybil attacks*, enabling them to filter spam more effectively filter. +There are potential denial of service (DoS) attack vectors that are not mitigated by network transaction fees. Stealth transfer senders cause an externality for recipients, as parsing announcement events consumes computational resources that are not compensated with gas. Therefore, spamming announcement events *can* be a detriment to the user experience, as it *can* lead to longer parsing times. +We consider the incentives to carry out such an attack to be low because **no monetary benefit can be obtained** and, in theory, nothing prevents parsing providers from ignoring the spamming when serving announcements to users. +However, sophisticated spamming (*sybil attacks*), which are not considered worth the associated costs, could make it difficult for parsing providers to develop filters for such announcement events. +Therefore, to counter spamming directly, a staking mechanism is introduced in the EIP that allows users to stake an unslashable amount of ETH. Staking allows parsing providers to better tackle potential spam through *sybil attacks*, enabling them to filter spam more effectively. -Similar to [ERC-4337](./eip-4337), parsing providers agree on a `MINIMUM_STAKE`, such that the minimum required stake is not enforce on-chain. Users *can* withdraw their stake at any time without any delay. Parsing providers can de-prioritized senders who have not staked a certain minimum amount or withdrew their stake immediatly. +Similarly to [ERC-4337](./eip-4337), parsing providers agree on a `MINIMUM_STAKE`, such that the minimum required stake is not enforced on-chain. Users *can* withdraw their stake at any time without any delay. Parsing providers can de-prioritize senders who have not staked a certain minimum amount or withdrew their stake immediately. ### Recipients' transaction costs diff --git a/EIPS/eip-5570.md b/EIPS/eip-5570.md index 007079116f7ae..65218c966c2e2 100644 --- a/EIPS/eip-5570.md +++ b/EIPS/eip-5570.md @@ -4,7 +4,8 @@ title: Digital Receipt Non-Fungible Tokens description: Non-Fungible Tokens as digital receipts for physical purchases, where the metadata represents a JSON receipt author: Sean Darcy (@darcys22) discussions-to: https://ethereum-magicians.org/t/idea-standard-digital-receipts-using-erc-721/9908 -status: Review +status: Last Call +last-call-deadline: 2023-05-16 type: Standards Track category: ERC created: 2022-09-01 @@ -279,7 +280,11 @@ This standard is an extension of ERC-721. It is compatible with both optional ex ## Security Considerations -The data stored in the receipt contains personally identifying information. This information should be encrypted to ensure privacy for the customer. +The data stored in the digital receipt includes various types of personally identifying information (PII), such as the vendor's name, contact details, and the items purchased. PII is sensitive information that can be used to identify, locate, or contact an individual. Protecting the privacy of the customer is of utmost importance, as unauthorized access to PII can lead to identity theft, fraud, or other malicious activities. + +To ensure the privacy of the customer, it is crucial to encrypt the PII contained within the digital receipt. By encrypting the PII, only authorized parties with the appropriate decryption keys can access and read the information stored in the digital receipt. This ensures that the customer's privacy is maintained, and their data is protected from potential misuse. + +While encrypting PII is essential, it is important to note that defining a specific encryption standard is beyond the scope of this ERC. ## Copyright diff --git a/EIPS/eip-5615.md b/EIPS/eip-5615.md index c10b454faa870..4dd5d55c6883f 100644 --- a/EIPS/eip-5615.md +++ b/EIPS/eip-5615.md @@ -4,10 +4,11 @@ title: ERC-1155 Supply Extension description: A simple mechanism to fetch token supply data from ERC-1155 tokens author: Gavin John (@Pandapip1) discussions-to: https://ethereum-magicians.org/t/eip-5615-eip-1155-supply-extension/10732 -status: Review +status: Last Call +last-call-deadline: 2023-03-08 type: Standards Track category: ERC -created: 2022-09-07 +created: 2023-05-25 requires: 1155 --- diff --git a/EIPS/eip-5639.md b/EIPS/eip-5639.md index fb4e10428dfc9..71892d0cb2909 100644 --- a/EIPS/eip-5639.md +++ b/EIPS/eip-5639.md @@ -2,7 +2,7 @@ eip: 5639 title: Delegation Registry description: Delegation of permissions for safer and more convenient signing operations. -author: foobar (@0xfoobar), Wilkins Chung (@wwhchung), ryley-o (@ryley-o), Jake Rockland (@jakerockland), andy8052 (@andy8052) +author: foobar (@0xfoobar), Wilkins Chung (@wwhchung) , ryley-o (@ryley-o), Jake Rockland (@jakerockland), andy8052 (@andy8052) discussions-to: https://ethereum-magicians.org/t/eip-5639-delegation-registry/10949 status: Review type: Standards Track @@ -77,7 +77,7 @@ Let: **A Delegation Registry must implement IDelegationRegistry** ```solidity -** +/** * @title An immutable registry contract to be deployed as a standalone primitive * @dev New project launches can read previous cold wallet -> hot wallet delegations * from here and integrate those permissions into their flow diff --git a/EIPS/eip-5656.md b/EIPS/eip-5656.md index f9abca0a7e1a9..f6b949802e6f5 100644 --- a/EIPS/eip-5656.md +++ b/EIPS/eip-5656.md @@ -4,7 +4,7 @@ title: Memory copying instruction description: An efficient EVM instruction for copying memory areas author: Alex Beregszaszi (@axic), Paul Dworzanski (@poemm), Jared Wasinger (@jwasinger), Casey Detrio (@cdetrio), Pawel Bylica (@chfast), Charles Cooper (@charles-cooper) discussions-to: https://ethereum-magicians.org/t/eip-5656-mcopy-instruction/10890 -status: Draft +status: Review type: Standards Track category: Core created: 2021-02-01 @@ -33,6 +33,7 @@ masked, or'd, and stored again. This overhead is significant. One edge case is i it can be efficiently stored using `MSTORE8`. As example use case, copying 256 bytes costs: + - at least 757 gas pre-EIP-2929 using the identity precompile - at least 157 gas post-EIP-2929 using the identity precompile - at least 96 gas using unrolled `MLOAD`/`MSTORE` instructions @@ -67,14 +68,25 @@ The instruction `MCOPY` is introduced at `0x5c`. This ordering matches the other copying instructions, i.e. `CALLDATACOPY`, `RETURNDATACOPY`. +### Gas costs + +Per yellow paper terminology, it should be considered part of the `W_copy` group of opcodes, and follow the gas calculation for `W_copy` in the yellow paper. While the calculation in the yellow paper should be considered the final word, for reference, as of time of this writing, that currently means its gas cost is: + +``` +words_copied = (length + 31) // 32 +g_verylow = 3 +g_copy = 3 * words_copied + memory_expansion_cost +gas_cost = g_verylow + g_copy +``` + ### Output stack -This instructions returns no stack items. +This instruction returns no stack items. ### Semantics It copies `length` bytes from the offset pointed at `src` to the offset pointed at `dst` in memory. -Copying takes place as if an intermediate buffer were used, allowing the destination and source to overlap. +Copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap. If `length > 0` and (`src + length` or `dst + length`) is beyond the current memory length, the memory is extended with respective gas cost applied. @@ -89,7 +101,7 @@ This is still prohibitive for making the precompile a reasonable alternative aga ## Backwards Compatibility -This EIP introduces a new instruction which did not exists previously. Already deployed contracts using this instruction could change their behaviour after this EIP. +This EIP introduces a new instruction which did not exist previously. Already deployed contracts using this instruction could change their behaviour after this EIP. ## Test Cases diff --git a/EIPS/eip-5725.md b/EIPS/eip-5725.md index 75427b33d57f3..7a21e21ca0bd5 100644 --- a/EIPS/eip-5725.md +++ b/EIPS/eip-5725.md @@ -4,7 +4,7 @@ title: Transferable Vesting NFT description: An interface for transferable vesting NFTs which release underlying tokens over time. author: Apeguru (@Apegurus), Marco De Vries , Mario , DeFiFoFum (@DeFiFoFum) discussions-to: https://ethereum-magicians.org/t/eip-5725-transferable-vesting-nft/11099 -status: Draft +status: Review type: Standards Track category: ERC created: 2022-09-08 @@ -13,9 +13,9 @@ requires: 721 ## Abstract -A **Non-Fungible Token** (NFT) standard used to vest tokens ([ERC-20](./eip-20.md) or otherwise) over a vesting release curve. +A **Non-Fungible Token** (NFT) standard used to vest [ERC-20](./eip-20.md) tokens over a vesting release curve. -The following standard allows for the implementation of a standard API for NFT based contracts that hold and represent the vested and locked properties of any underlying token ([ERC-20](./eip-20.md) or otherwise) that is emitted to the NFT holder. This standard is an extension of the [ERC-721](./eip-721.md) token that provides basic functionality for creating vesting NFTs, claiming the tokens and reading vesting curve properties. +The following standard allows for the implementation of a standard API for NFT based contracts which represent the vested and locked properties of underlying [ERC-20](./eip-20.md) tokens that are emitted to respective NFT owners. This standard is an extension of the [ERC-721](./eip-721.md) token which provides basic functionality for creating vesting NFTs, claiming underlying tokens and reading vesting curve properties. ## Motivation @@ -61,7 +61,7 @@ import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; /** * @title Non-Fungible Vesting Token Standard - * @notice A non-fungible token standard used to vest tokens (ERC-20 or otherwise) over a vesting release curve + * @notice A non-fungible token standard used to vest ERC-20 tokens over a vesting release curve * scheduled using timestamps. * @dev Because this standard relies on timestamps for the vesting schedule, it's important to keep track of the * tokens claimed per Vesting NFT so that a user cannot withdraw more tokens than alloted for a specific Vesting NFT. diff --git a/EIPS/eip-6065.md b/EIPS/eip-6065.md index 52373c3f8ad78..fcb237a52c204 100644 --- a/EIPS/eip-6065.md +++ b/EIPS/eip-6065.md @@ -1,9 +1,9 @@ --- eip: 6065 title: Real Estate Token -description: An interface for real estate NFTs that extends EIP-721 +description: An interface for real estate NFTs that extends ERC-721 author: Alex (@Alex-Klasma), Ben Fusek (@bfusek), Daniel Fallon-Cyr (@dfalloncyr) -discussions-to: https://ethereum-magicians.org/t/eip-6065-real-estate-token/11936 +discussions-to: https://ethereum-magicians.org/t/updated-eip-6065-real-estate-token/11936 status: Draft type: Standards Track category: ERC @@ -13,13 +13,13 @@ requires: 721 ## Abstract -This proposal introduces an open structure for physical real estate and property to exist on the blockchain. This standard builds off of [EIP-721](./eip-721.md), adding important functionality necessary for representing real world assets such as real estate. The three objectives this standard aims to meet are: universal transferability of the NFT, private property rights attached to the NFT, and atomic transfer of property rights with the transfer of the NFT. The token contains a hashed operating agreement component, the ability to transfer legal ownership of the property, a payment function, and a repossession function. In addition to the token component, there are legal requirements that have to be met, which are discussed in the specification. +This proposal introduces an open structure for physical real estate and property to exist on the blockchain. This standard builds off of [ERC-721](./eip-721.md), adding important functionality necessary for representing real world assets such as real estate. The three objectives this standard aims to meet are: universal transferability of the NFT, private property rights attached to the NFT, and atomic transfer of property rights with the transfer of the NFT. The token contains a hash of the operating agreement detailing the NFT holder’s legal right to the property, unique identifiers for the property, a debt value and foreclosure status, and a manager address. ## Motivation -Real estate is the largest asset class in the world. By tokenizing real estate, barriers to entry are lowered, transaction costs are minimized, information asymmetry is reduced, ownership structures become more malleable, and a new building block for innovation is formed. However, in order to tokenize this asset class, a common standard is needed that accounts for its real world particularities while remaining flexible enough to adapt to various jurisdictions and regulatory environments. +Real estate is the largest asset class in the world. By tokenizing real estate, barriers to entry are lowered, transaction costs are minimized, information asymmetry is reduced, ownership structures become more malleable, and a new building block for innovation is formed. However, in order to tokenize this asset class, a common standard is needed that accounts for its real world particularities while remaining flexible enough to adapt to various jurisdictions and regulatory environments. -Ethereum tokens involving real world assets are notoriously tricky. This is because Ethereum tokens exist on-chain, while real estate exists off-chain. As such, the two are subject to entirely different consensus environments. For Ethereum tokens, consensus is reached through a formalized process of distributed validators. When a purely-digital NFT is transferred, the new owner has a cryptographic guarantee of ownership. For real estate, consensus is supported by legal contracts, property law, and enforced by the court system. With existing asset-backed EIP-721 tokens, a transfer of the token to another individual does not necessarily have any impact on the legal ownership of the physical asset. +Ethereum tokens involving real world assets are notoriously tricky. This is because Ethereum tokens exist on-chain, while real estate exists off-chain. As such, the two are subject to entirely different consensus environments. For Ethereum tokens, consensus is reached through a formalized process of distributed validators. When a purely-digital NFT is transferred, the new owner has a cryptographic guarantee of ownership. For real estate, consensus is supported by legal contracts, property law, and enforced by the court system. With existing asset-backed ERC-721 tokens, a transfer of the token to another individual does not necessarily have any impact on the legal ownership of the physical asset. This standard attempts to solve the real world reconciliation issue, enabling real estate NFTs to function seamlessly on-chain, just like their purely-digital counterparts. @@ -27,288 +27,77 @@ This standard attempts to solve the real world reconciliation issue, enabling re The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 and RFC 8174. -In order to meet the above objectives and create an open standard for on-chain property ownership we have created a token structure that builds on the EIP-721 standard and coupled that with a set of legal requirements broad enough to adapt to various jurisdictions and regulatory environments. +In order to meet the above objectives and create an open standard for on-chain property ownership we have created a token structure that builds on the widely-used ERC-721 standard. ### Token Components: -1. Inherits EIP-721 - Allows for backwards compatibility with the most widely accepted NFT token standard. -2. Transferable Administrator of physical asset - Ability for NFT owner to initiate a transfer of the legal owner of the physical asset. -3. Hashed operating agreement - Immutable legal agreement between Administrator and NFT owner that requires both parties to accept any proposed changes before they are made. -4. Payment function - Ability for NFT Administrator to request payment for financing any payments made by the Administrator on behalf of the NFT owner (e.g. property taxes). -5. Repossession function - Ability for Administrator to repossess the asset to ensure legally required payments are made whole (e.g. unpaid property taxes). - -### Token Legal Requirements (Outlined in Hashed Operating Agreement): - -1. Property held by the Administrator is self-contained, transferable, and bankruptcy remote. -2. Transfer of property rights are atomic with the digital transfer of the NFT. -3. The NFT owner Ethereum address has the right to change the Administrator (i.e. legal owner) of the property. -4. The operating agreement for the legal entity which holds the property must be hashed to the NFT and cannot be changed without mutual approval from both the NFT owner and the Administrator. -5. The operating agreement must contain the right for the NFT owner to hold, occupy, rent, alter, resell, or transfer the property. -6. The Administrator has no usage right to the property and may not collateralize, use, or otherwise encumber the property attached to the NFT. -7. The Administrator is the sole legal owner of the property, and responsible for facilitating mandatory filings and payments for the property. -8. The Administrator is entitled to limited liability with regard to the property and has a right to require insurance on the property. -9. Failure of the NFT owner to make required payments for the property (e.g. property taxes) triggers the Administrator’s right to repossess the property in order to make required payments. +1. Inherits ERC-721 - Allows for backwards compatibility with the most widely accepted NFT token standard. +2. operatingAgreementHashOf - immutable hash of the legal agreement detailing the right to ownership and conditions of use with regard to the property +3. Property Unique Identifiers - legal description (from physical deed), street address, GIS coordinates, parcel/tax ID, legal owning entity (on deed) +4. debtOf - readable debt value, currency, and foreclosure status of the NFT +5. managerOf - readable Ethereum address with managing control of property ### Interfaces -We rely on the EIP-721 NFT token standard for all transfer and approval logic. All transfer and approval functions are inherited from this token standard without changes. This allows an NFT under this standard to become interoperable with preexisting NFT exchanges and services, however some care must be taken. Please refer to the `Backwards Compatibility` section. - -#### Administrator - -``` -/// @dev This event emits when a change of NFT Administrator is proposed. -/// Note that contracts can be init'ed with changes proposed without this event emitted. -event AdministratorChangeInit(uint256 indexed _tokenId, address indexed _owner, address indexed _from, address indexed _to, string _extradata); - -/// @dev This event emits when a change of NFT Administrator is canceled. -/// When an EIP-721 transfer event emits, any proposed Administrator changes should be nulled and this event should also emit -event AdministratorChangeCanceled(uint256 indexed _tokenId, address indexed _owner, address indexed _from, address indexed _to, string _extradata); - -/// @dev This event emits when a change of NFT Administrator is accepted. The new Administrator MUST accept this change for this event to emit. -/// This event MUST emit on any change, however, contracts can be init'ed with Administrators set and without emitting events. -event AdministratorChangeAccept(uint256 indexed _tokenId, address indexed _owner, address indexed _from, address indexed _to, string _extradata); - -/// @dev MUST emit if cancelAdministratorAccept is called successfully -event AdministratorChangeAcceptCanceled(uint256 indexed _tokenId, address indexed _owner, address indexed _from, address indexed _to, string _extradata); - -/// @dev MUST emit if finishAdministratorChange is called successfully -event AdministratorChangeFinish(uint256 indexed _tokenId, address indexed _owner, address indexed _from, address indexed _to, string _extradata); - -/// @notice query current Administrator of an NFT -/// @dev NFTs assigned to zero address are considered invalid, and queries about them do throw. -/// @param _tokenId The identifier for an NFT -/// @return The address of the Administrator of the NFT -function administratorOf(uint256 _tokenId) external view returns (address); - -// STEP 1: Owner propose Administrator change, possible to cancel - -/// @notice propose a change of an Administrator for an NFT, called by ownerOf(NFT) -/// @dev Throws unless msg.sender is the current ownerOf this NFT. -/// @param _tokenId The identifier for an NFT -/// @param _to The newly proposed Administrator of an NFT, if _to == address(0), -/// this can be interpreted as _to == msg.sender == ownerOf, and they want to self-custody. -/// @param _extradata An optional field for metadata -function initAdministratorChange(uint256 _tokenId, address _to, string calldata _extradata) external; - -/// @notice query current proposed Administrator of an NFT -/// @dev NFTs assigned to zero addresses are considered invalid, and queries -/// about them do throw. On a EIP-721 transfer event emit, any proposed Administrator should be set to address(0) -/// @param _tokenId The identifier for an NFT -function proposedAdministratorOf(uint256 _tokenId) external view returns (address); - -/// @notice ownerOf(NFT) can cancel Administrator change. After a period of time, you might allow anyone (or old administrator) -/// to cancel the change, as this blocks payment delinquency -> repossess logic. You can call this function as long as -/// Administrator change was not accepted/finalized by new Administrator -/// @dev throw if tokenId doesn't have an Administrator change. -/// also implement logic for who/when can Administrator change be canceled -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function cancelAdministratorChange(uint256 _tokenId, string calldata _extradata) external; - -// STEP 2: New Administrator, accept Administrator change, possible to cancel - -/// @notice new Administrator accept a change of Administrator of an NFT -/// @dev Throws unless msg.sender is proposedAdministratorOf this NFT. you may clear proposedAdministratorOf data -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function acceptAdministratorChange(uint256 _tokenId, string calldata _extradata) external; - -/// @notice once the Administrator change is accepted as a new Administrator, this function needs to return their address -/// @dev on an EIP-721 transfer, this address remains, as the transfer is in progress. -/// @param _tokenId The identifier for an NFT -function pendingAdministratorOf(uint256 _tokenId) external view returns(address); - -/// @notice allow a cancellation of the processing/pending Administrator change -/// @dev determine who is allowed to cancel this change, up to implementor, -/// msg.sender should be pendingAdministratorOf in most cases, but perhaps can be canceled by anyone after a period of time -/// throw if there's no pendingAdministratorOf -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function cancelAdministratorChangeAccept(uint256 _tokenId, string calldata _extradata) external; - -// STEP 3: Finalize Administrator change, cannot cancel. This occurs after the "real world legal steps" to change Administrator have taken place off-chain. - -/// @notice finalize the change in Administrator of the NFT -/// @dev throws if msg.sender is not pendingAdministratorOf. now administratorOf(NFT) will return the new Administrator address, you may clear pendingAdministratorOf() -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function finishAdministratorChange(uint256 _tokenId, string calldata _extradata) external; -``` - -#### Operating Agreement Updates +This EIP inherits the ERC-721 NFT token standard for all transfer and approval logic. All transfer and approval functions are inherited from this token standard without changes. Additionally, this EIP also inherits the ERC-721 Metadata standards for name, symbol, and metadata URI lookup. This allows an NFT under this EIP to become interoperable with preexisting NFT exchanges and services, however, some care must be taken. Please refer to [Backwards Compatibility](#backwards-compatibility) and [Security Considerations](#security-considerations). -``` -/// @dev emit this event if there's a successful call of initOperatingAgreementChange -/// @param _proposer is the msg.sender of the init -event OperatingAgreementChangeInit(uint256 indexed _tokenId, address indexed _proposer, string _updatedAgreementHash, string _extradata); - -/// @dev emit this event if there's a successful call of cancelOperatingAgreementChange -/// also emit this if there is a owner proposed change but the owner transfers to new owner -/// also emit if there is a Administrator proposed change, but the Administrator transfers to a new owner -event OperatingAgreementChangeCancel(uint256 indexed _tokenId, address indexed _proposer, string _extradata); - -// @dev emit if there's a successful call of finishOperatingAgreementChange -// @param _proposer is the msg.sender of the init -// @param _agreer is the msg.sender of the finishOperatingAgreementChange -// @param _updatedAgreementHash must be == the _updatedAgreementHash from the OperatingAgreementChangeInit event -event OperatingAgreementChangeFinish(uint256 indexed _tokenId, address indexed _proposer, address indexed _agreer, string _updatedAgreementHash, string _extradata); - -/// @notice query the current operating agreement, this is recommended to be an IPFS link -/// or some other URL or reference. see best practices for NFT metadata. -/// @dev if tokenId doesn't exist, throw -/// @param _tokenId The identifier for an NFT -/// @returns some string, likely to an external resource as a legal document is very expensive to store on-chain -function operatingAgreementOf(uint256 _tokenId) external view returns(string); - -/// @notice propose a change to the operating agreement -/// @dev throw is msg.sender is not ownerOf(NFT) or is not administratorOf(NFT). update needs to be accepted by the other party -/// (owner if Administrator proposed, Administrator if owner proposed) -/// @param _tokenId The identifier for an NFT -/// @param _updatedAgreementHash Is the proposed new agreement -/// @param _extradata An optional field for metadata -function initOperatingAgreementChange(uint256 _tokenId, string calldata _updatedAgreementHash, string calldata _extradata) external; - -/// @notice view a pending change for _tokenId -/// @dev if _tokenId doesn't exist then throw, if there is not an update proposed then throw -/// also note that if the Administrator has made a proposal, but the Administrator is changed to a new Administrator (finished change) -/// then any update proposals should be nulled -/// also note that is the owner has made a proposal, but the owner changes (EIP-721 transfer), then any update proposals should be nulled as well -/// @param _tokenId The identifier for an NFT -/// @returns _proposer is either the Administrator or owner who proposed the update -/// @returns _updatedAgreementHash is the proposed agreement to be update -function pendingOperatingAgreementOf(uint256 _tokenId) external view returns(address _proposer, string _updatedAgreementHash); - -/// @notice allow proposer to cancel agreement -/// @dev throw if tokenId doesn't exist, or if there is no proposal for this agreement, or if msg.sender was not the proposer of the change -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function cancelOperatingAgreementChange(uint256 _tokenId, string calldata _extradata) external; - -/// @notice accept a change to the operating agreement -/// @dev msg.sender must be ownerOf(NFT) if AdministratorOf(NFT) proposed change, OR must be AdministratorOf(NFT) if ownerOf(NFT) proposed change, ELSE throw -/// also throw if _updatedAgreementHash does not match the originally proposed agreement -/// @param _tokenId The identifier for an NFT -/// @param _updatedAgreementHash hash that MUST match the prior submitted change suggestion hash to confirm the agreement -/// @param _extradata An optional field for metadata -function finishOperatingAgreementChange(uint256 _tokenId, string calldata _updatedAgreementHash, string calldata _extradata) external; -``` - -#### Payments - -``` -/// @dev emit this event when initPayment is called successfully -event PaymentInit(uint256 indexed _tokenId, address indexed _administrator, address indexed _paymentToken, uint256 _amount, bool _decreaseAmtOwed, uint256 _oldestTimestamp, string _extradata); - -/// @dev This event emits when a finishPayment is successful. The payment MUST be completed for this event to emit, and -/// this event MUST emit if the payment is completed and funds are transferred from msg.sender address -event PaymentFinish(uint256 indexed _tokenId, address indexed _administrator, address indexed _paymentToken, uint256 _amount, string _extradata); - -/// @notice Administrator assess payment on the NFT owner -/// @dev throw if msg.sender is not the current administratorOf(_tokenId), you may store payments by token to be paid, and you may sum the values of all other -/// prior unpaid payments. store the timestamp of the oldest unpaid payment for this payment type, if this is a new token with no prior payments -/// then store block.timestamp for this payment, this will be used for delinquent payments -/// if payments are _decreaseAmtOwed, the total amount owed can never be negative, if this will happen null payment storage for this _paymentToken -/// if a new Administrator is adding/decreasing a payment token outstanding by an old Administrator, overwrite the Administrator name in storage -/// you might want to change the timestamp of old Administrator payments to be a new/current timestamp -/// @param _tokenId The identifier for an NFT -/// @param _paymentToken the EIP-20 token address to define the payment -/// @param _amount the amount of EIP-20 token payment due -/// @param _decreaseAmtOwed this decreases any payment by the _amount, this can be used to revise or adjust down any payments, basically adding a negative sign to _amount -/// @param _extradata An optional field for metadata -function initPayment(uint256 _tokenId, address _paymentToken, uint256 _amount, bool _decreaseAmtOwed, string calldata _extradata) external; - -/// @notice query an existing unpaid payment -/// @dev queries about non-existent _tokenId, _token pairings are considered invalid, and queries -/// about them do throw. This can include already completed payments (where the blockchain reference is deleted) -/// @param _tokenId The identifier for an NFT -/// @param _paymentToken the EIP-20 token address to define the payment -/// @returns _amount the amount of _paymentToken that needs to be paid to fulfill payment -/// @returns _receiver is the Administrator of the specific tokenId, who will receive payment -/// @returns _timestamp of the oldest non-completed payment in this _paymentToken -function pendingPaymentOf(uint256 _tokenId, address _paymentToken) external view returns (uint256 _amount, address _receiver, uint256 _timestamp); - -/// @notice NFT owner make payment that was invoiced by Administrator -/// @dev do NOT throw if msg.sender isn't ownerOf(_tokenId), anyone can fulfill a payment if they desire -/// allow msg.sender to make a partial payment for an amount, if _amount > total payments outstanding, then pay their total, do not pay extra -/// also note the Administrator the payment is supposed to go to, we recommend ignoring payments to an old Administrator, or throwing -/// @param _tokenId The identifier for an NFT -/// @param _paymentToken The EIP-20 token address to define the payment -/// @param _amount The amount user desires to pay -/// @param _extradata An optional field for metadata -function finishPayment(uint256 _tokenId, address _paymentToken, uint256 _amount, string calldata _extradata) external; - -/// @notice query if a payment is delinquent, a payment considered to be delinquent is defined by implementor -/// it's recommended that a payment cannot be delinquent if there is a proposedAdministratorOf || pendingAdministratorOf -/// if payments are delinquent, then the underlying physical asset is liable to be repossessed -/// we recommend ignoring payments to an old Administrator in a delinquency determination -/// @dev queries about non-existent payments are considered invalid and queries about them do throw. -/// this can include already completed payments (where the blockchain reference is deleted) -/// @param _tokenId The identifier for an NFT -/// @param _paymentToken The EIP-20 token address to define the payment -/// @returns false if there is no delinquent payment for this payment id, EIP-20 payment token, true if there is -function paymentIsDelinquent(uint256 _tokenId, address _paymentToken) external view returns (bool); -``` -#### Repossess/Foreclosure +#### Solidity Interface ``` -/// @dev this event emits when a initRepossess is successful, only emit if initRepossess is successful -event RepossessInit(uint256 indexed _tokenId, address indexed _administrator, address _token, string _extradata); - -/// @dev this event emits when a cancelRepossess is successful, only emit if there is successful canceled repossess -event RepossessCancel(uint256 indexed _tokenId, address indexed _administrator, string _extradata); - -/// @dev this event emits when finishRepossess is successfully called, only emit if there is a successfully finished repossess -/// @param _amount is the amount of ETH paid back to user after a repossess is complete -event RepossessFinish(uint256 indexed _tokenId, address indexed _administrator, uint256 _amount, string _extradata); - -/// @dev this event emits when claimRepossess is called, only emit if it's successfully called -/// @param _amount is the amount of ETH sent to the user -event RepossessClaim(uint256 indexed _tokenId, address indexed _owner, uint256 _amount) - -/// @notice if this function returns true, then the underlying physical asset has been repossessed -/// due to the user not paying required fees for the asset. if true, then the asset only contains -/// the second return value in wei, and this amount of ETH can be withdrawn at any time by ownerOf NFT. -/// @param _tokenId The identifier for an NFT -/// @returns _repossessed true if the asset has finished repossessing, else false -/// @returns _amount, the amount of ETH that was returned after the repossess took place, zero if claimed (below) -function isRepossessed(uint256 _tokenId) external view returns(bool _repossessed, uint256 _amount); - -/// @notice initialize repossess underlying RWA asset that backs NFT if a payment is delinquent -/// @dev paymentIsDelinquent(_tokenId, _token) must return true, else this function reverts. -/// is msg.sender is not the Administrator, this function reverts. -/// if the Administrator is in transfer state, we recommend not letting a repossess happen as it could be malicious -/// (see paymentIsDelinquent logic) -/// however we also recommend forcing Administrator transfers to happen within a certain period of time to prevent griefing -/// and allowing a repossess after a certain time has elapsed without an Administrator accepting the proposed Administrator change -/// @param _tokenId The identifier for an NFT -/// @param _token The payment token that a payment was delinquent -/// @param _extradata An optional field for metadata -function initRepossess(uint256 _tokenId, address _token, string calldata _extradata) external; - -/// @notice view if a payment has a repossess pending on the asset, this will warn any prospective buyer that the asset is in question -/// @dev true if there is a pending repossess, false otherwise, if tokenId doesn't exist, then throw -/// @param _tokenId The identifier for an NFT -/// @returns true if there is a repossess pending, false if not -function pendingRepossess(uint256 _tokenID) external view returns(bool); - -/// @notice cancel a prior initialized repossess, Administrator can cancel for any reason -/// @dev tokenId must have an initialized repossess, and msg.sender must be administratorOf(tokenId) or function reverts -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function cancelRepossess(uint256 _tokenId, string calldata _extradata) external; - -/// @notice finish repossessing underlying physical asset that backs NFT, underlying asset sold/auctioned at fair value -/// and function is payable so that Administrator can send remaining auction proceeds to contract *in ETH* -/// @dev if msg.sender is not the Administrator, this function reverts -/// @param _tokenId The identifier for an NFT -/// @param _extradata An optional field for metadata -function finishRepossess(uint256 _tokenId, string calldata _extradata) external payable; - -/// @notice after an asset is repossessed, ownerOf(NFT) can claim the proceeds of the repossession -/// @dev throw is ownerOf(_tokenId) != msg.sender, otherwise send amount of ETH from finishRepossess() to caller -/// @param _tokenId The identifier for an NFT -function claimRepossess(uint256 _tokenId) external; +pragma solidity ^0.8.13; + +import "forge-std/interfaces/IERC721.sol"; + +interface IERC6065 is IERC721 { + + // This event MUST emit if the asset is ever foreclosed. + event Foreclosed(uint256 id); + + /* + Next getter functions return immutable data for NFT. You may implement in a struct like: + + struct EIP6065Immutable { + string legal_description_of_property; + string street_address; + string geo_json; + string parcel_id; + string legal_owner; + bytes32 operating_agreement_hash; + } + + and store that in a mapping, however this specific storage method is left to the implementor. + */ + function legalDescriptionOf(uint256 _id) external view returns (string memory); + function addressOf(uint256 _id) external view returns (string memory); + function geoJsonOf(uint256 _id) external view returns (string memory); + function parcelIdOf(uint256 _id) external view returns (string memory); + function legalOwnerOf(uint256 _id) external view returns (string memory); + function operatingAgreementHashOf(uint256 _id) external view returns (bytes32); + + /* + Next getter function returns the debt denomination token of the NFT, the amount of debt (negative debt == credit), and if the underlying + asset backing the NFT has been foreclosed on. This should be utilized specifically for off-chain debt and required payments on the RWA asset. + It's recommended that administrators only use a single token type to denominate the debt. It's unrealistic to require integrating smart + contracts to implement possibly unbounded tokens denominating the off-chain debt of an asset. + + If the foreclosed status == true, then the RWA asset can be seen as severed from the NFT. The NFT is now "unbacked" by the RWA. + + You may implement in a struct like: + + struct EIP6065Mutable { + address debt_token; + int256 debt_amt; + bool foreclosed; + } + + and store that in a mapping, however this specific storage method is left to the implementor. + */ + function debtOf(uint256 _id) external view returns (address debtToken, int256 debtAmt, bool foreclosed); + + // Get the managerOf an NFT. The manager can have additional rights to the NFT or RWA on or off-chain. + function managerOf(uint256 _id) external view returns (address); +} ``` ## Rationale @@ -317,9 +106,7 @@ function claimRepossess(uint256 _tokenId) external; Real world assets operate in messy, non-deterministic environments. Because of this, validating the true state of an asset can be murky, expensive, or time-consuming. For example, in the U.S., change of property ownership is usually recorded at the County Recorder’s office, sometimes using pen and paper. It would be infeasible to continuously update this manual record every time an NFT transaction occurs on the blockchain. Additionally, since real world property rights are enforced by the court of law, it is essential that property ownership be documented in such a way that courts are able to interpret and enforce ownership if necessary. -For these reasons, it is necessary to have a trusted party tasked with the responsibility of ensuring the state of the on-chain property accurately mirrors its physical counterpart. By having an Administrator for the property who issues a legally-binding digital representation of the physical property, we are able to solve for both the atomic transfer of the property rights with the transfer of the NFT, as well as institute a seamless process for making the necessary payments and filings associated with property ownership. - -There are various ways to meet the legal requirements of this standard, especially considering different property ownership laws and regulations between various jurisdictions. Therefore, we do not prescribe a specific legal structure. However, an example structure implemented by Klasma Inc. for property tokenization in the U.S. is provided in the [Reference Implementation](#reference-implementation). +For these reasons, it is necessary to have a trusted party tasked with the responsibility of ensuring the state of the on-chain property NFT accurately mirrors its physical counterpart. By having an Administrator for the property who issues a legally-binding digital representation of the physical property, we are able to solve for both the atomic transfer of the property rights with the transfer of the NFT, as well as institute a seamless process for making the necessary payments and filings associated with property ownership. This is made possible by eliminating the change in legal ownership each time the NFT changes hands. An example Administrator legal structure implemented by Klasma Inc. for property tokenization in the U.S. is provided in the [Reference Implementation](#reference-implementation). While a token that implements this standard must have a legal entity to conduct the off-chain dealings for the property, this implementation is not mandatory. ### Guiding Objectives @@ -329,94 +116,93 @@ We have designed this EIP to achieve three primary objectives necessary for crea A key aspect to private property is the right to transfer ownership to any legal person or entity that has the capacity to own that property. Therefore, an NFT representation of physical property should maintain that universal freedom of transfer. -#### 2. All rights associated with property ownership are maintained - -The rights associated with private property ownership are the right to hold, occupy, rent, alter, resell, or transfer the property. It is essential that these same rights are maintained in an NFT representation of real estate. +#### 2. All rights associated with property ownership are able to be maintained and guaranteed by the NFT -#### 3. Property rights are transferred atomically with the transfer of the NFT. +The rights associated with private property ownership are the right to hold, occupy, rent, alter, resell, or transfer the property. It is essential that these same rights are able to be maintained and enforced with an NFT representation of real estate. -Token ownership on any blockchain is atomic with the transfer of the digital token. To ensure the digital representation of a physical property is able to fully integrate the benefits of blockchain technology, it is essential the rights associated with the property are passed atomically with the transfer of the digital token representation. For this reason, the legal ownership of the property must be packaged in such a way that allows for the atomic transfer of rights with the transfer of the digital token. +#### 3. Property rights are transferred atomically with the transfer of the NFT -This EIP proposes a way to mesh the transfers of off-chain assets (in a legal sense) with on-chain Ethereum blockchain transfers and state-transitions. The following section specifies the technological and legal requirements needed to accomplish this. +Token ownership on any blockchain is atomic with the transfer of the digital token. To ensure the digital representation of a physical property is able to fully integrate the benefits of blockchain technology, it is essential the rights associated with the property are passed atomically with the transfer of the digital token. -### Administrator, Legal Entity, & Administrator Transferability +The following section specifies the technological components required to meet these three objectives. -The Administrator is the legal owner of a singular legal entity special purpose vehicle (SPV) which holds the title to an individual physical property and issues the corresponding NFT. It is the duty of the Administrator to make all necessary filings and payments for the legal entity and corresponding property (e.g. tax filings, property tax payments & required utility payments). In addition to ensuring the property is in good standing with the government, the Administrator is tasked with ensuring the rightful occupancy of the home, signing documents on behalf of the NFT owner when necessary, and posting up-to-date information regarding the condition of the property to the NFT. +### operatingAgreementHashOf -Within the token components exists a function to transfer the Administrator of the asset. Any owner of the physical property NFT can transfer legal ownership of the asset by calling this function. This action kicks off the pen and paper process whereby the Administrator changes ownership of the legal entity. This process also allows the NFT owner to bridge the asset off-chain by transferring ownership of the entity to themselves and taking legal ownership of the title to the property. +An immutable hash of the legal document issued by the legal entity that owns the property. The agreement is unique and contains the rights, terms, and conditions for the specific property represented by the NFT. The hash of the agreement attached to the NFT must be immutable to ensure the legitimacy and enforceability of these rights in the future for integrators or transferees. Upon transfer of the NFT, these legal rights are immediately enforceable by the new owner. For changes to the legal structure or rights and conditions with regard to the property the original token must be burned and a new token with the new hash must be minted. -Trusted roles are antithetical to crypto. Ideally, the Administrator role eventually becomes obsolete. However, currently, this function is essential to providing enforceable property rights to the NFT owner. There are various avenues to explore for making the role of Administrators trust-minimized, including reputation systems and financial/game theory incentives, but they are outside the scope of this standard. +### Property Unique Identifiers -### Hashed Operating Agreement +The following unique identifiers of the property are contained within the NFT and are immutable: -The hashed operating agreement is a legal document issued by the Administrator that contains the rights to the physical property, as well as terms and conditions. This document is hashed to the NFT to ensure the immutability of these rights. In order to make changes to this contract, either the Administrator or NFT owner must submit a change request via the legal entity and it must be approved by the corresponding side. Upon transfer of the NFT, these legal rights are transferred to the new owner. +`legalDescriptionOf`: written description of the property taken from the physical property deed +`addressOf`: street address of the property +`geoJsonOf`: the GeoJSON format of the property’s geospatial coordinates +`parcelIdOf`: ID number used to identify the property by the local authority +`legalOwnerOf`: the legal entity that is named on the verifiable physical deed -As this standard is adopted and developed further, we anticipate a collection of particular operating requirements to become common across different Administrators and asset types. These requirements will be componentized into referenceable hashes that can be easily understood and verified when interacting with a digital representation of a property. +These unique identifiers ensure the physical property in question is clear and identifiable. These strings must be immutable to make certain that the identity of the property can not be changed in the future. This is necessary to provide confidence in the NFT holder in the event a dispute about the property arises. -### Payment Function +These identifiers, especially `legalOwnerOf`, allow for individuals to verify off-chain ownership and legitimacy of the legal agreement. These verification checks could be integrated with something like Chainlink functions in the future to be simplified and automatic. -Payments are a necessary part of owning real estate. Owners must pay for property taxes, basic utilities, and other required costs. Because the Administrator is the legal owner of the entity that holds the title to the property, it is the Administrator’s responsibility to make any and all required payments. Administrators will issue all anticipated fees and payments to the NFT owner using the payment function. Owners are then able to make the necessary payments for the property directly through their NFT. Administrators are strongly encouraged to submit any bills or invoices in “paper form” using the `_extradata` field and attach a link to a PDF or other documentation, as well as group payments by time period to ensure simplicity for the owners. +### debtOf -### Repossession Function +A readable value of debt and denoted currency that is accrued to the property. A positive balance signifies a debt against the property, while a negative balance signifies a credit. -If the payments mentioned in the previous section go unpaid, the property is at risk of having silent liens placed against it or in extreme circumstances, being repossessed by the state. In order to ensure Administrators are able to provide reliable and clean transfers of a property, the Administrator must have the means to make payments without being subject to payment liability risk. If the Administrator makes payments for a property on behalf of a NFT owner and then needs to be reimbursed, the Administrator is exposed to risk of financial loss in the event the NFT owner sells the NFT without reimbursing the Administrator. For this reason all payments need to be funded directly from the NFT owner through the smart contract. +The `debtOf` function also returns the boolean foreclosure status of the asset represented by the NFT. A true result indicates the associated property is no longer backing the NFT, a false result indicates the associated property is still backing the NFT. -If the NFT owner fails to pay the invoice, the Administrator has the right to repossess the property, sell it in order to generate the required funds for payment, and then replace the physical asset backing the original NFT with the remaining funds from the sale in ETH. Any proceeds from the repossession/foreclosure sale must be converted to ETH in order to be returned to the original owner. It is up to the implementer to determine what criterion for payment delinquency triggers a repossession. +There are no standard requirements for how these values are updated as those details will be decided by the implementor. This EIP does however standardize how these values are indicated and read for simplicity of integration. -## Backwards Compatibility +### managerOf -Although this standard is backwards compatible with EIP-721, there are important security and implementation considerations to take into account before any smart contract integration. These considerations primarily surround the built-in payment function of the token. While treating NFTs under this standard as identical to EIP-721 NFTs is technically possible, we recommend considering additional logic to support fee payment and recognize any unpaid obligations. +A readable Ethereum address that can be granted a right to action on the property without being the underlying owner of the NFT. -Specific applications that incorporate these NFTs can suffer losses from incorrect implementation. See `Integration Checks and Considerations` for more details. +This function allows the token to be owned by one Ethereum address while granting particular rights to another. This enables protocols and smart contracts to own the underlying asset, such as a lending protocol, but still allow another Ethereum address, such as a depositor, to action on the NFT via other integrations, for example the Administrator management portal. The standard does not require a specific implementation of the manager role, only the value is required. In many instances the managerOf value will be the same as the owning address of the NFT. -## Reference Implementation +## Backwards Compatibility -This section details an implementation of the legal standard by Klasma Inc. specifically for property tokenization in the U.S. in the 2022 regulatory environment. +This EIP is backwards compatible with ERC-721. However, it is important to note that there are potential implementation considerations to take into account before any smart contract integration. See [Security Considerations](#security-considerations) for more details. -![Sample Corporate Structure Image](../assets/eip-6065/corporate-structure.png) +## Reference Implementation -The Klasma Inc. legal structure for U.S. real estate and property is as follows: +Klasma Labs offers a work in progress reference implementation (*see pull request above*). The technical implementation includes the following additional components for reference, this implementation is not required. -* Klasma Inc., a parent company and property Administrator, owns a bankruptcy remote LLC for each individual property they act as Administrator for. -* This LLC owns a DAO LLC, which issues the NFT for the property and holds the title and deed to the property. -* This structure enables the following three outcomes: - 1. Homeowners are shielded from any financial stress or bankruptcy their physical asset Administrator encounters. In the event of an Administrator bankruptcy or dissolution the owner of the NFT is entitled to transfer of the DAO LLC, or the sale and distribution of proceeds from the property. - 2. Transfer of the rights to the property are atomic with the transfer of the NFT. The rights to the property are issued and controlled by a DAO LLC, a legally recognized entity that can be algorithmically managed, (e.g. managed by smart contract). This enables the enforceable rights to the physical property to be passed digitally with the transfer of the NFT without having to update the legal owner of the property with each transfer. - 3. Each real estate NFT is universally transferable. The DAO LLC will be taxed as a corporation to limit any pass-through tax benefits that could put the token at risk of being deemed a security in the U.S. The DAO LLC will always operate in a tax neutral or negative status thus not requiring any tax payments to be made on behalf of the LLC. Additionally, it is important to note that the NFT associated with a particular property merely provides a means of digital transfer for the private ownership rights to the property. Therefore, there is no action by the Administrator that could increase the value of the asset, ensuring the NFT is deemed a commodity, the same as any other home or property. +Summary of Klasma Inc's implementation: -## Security Considerations +* NFT burn and mint function +* Immutable NFT data (unique identifiers and operating agreement hash) +* Simple debt tracking by Administrator +* Blocklist function to freeze asset held by fraudulent addresses (NOTE: to be implemented in the future) +* Simple foreclosure logic initiated by Administrator +* `managerOf` function implementation to chain this call to other supported smart contracts -This standard attempts to strike a balance between the crypto ethos of “code is law” and the understanding that a stolen home with no possibility of recourse for the owner is a non-starter for almost all users. On a risk-adjusted basis, the benefits of using a decentralized finance protocol are unlikely to offset the possibility of a catastrophic loss of the property via a protocol exploit. Losing your home in a DeFi hack is unacceptable. +### Legal Structure Implementation -On the other hand, granting the Administrator full control of the NFTs through backdoor access to the smart contracts is also unacceptable. Given the complex nature of many exploits, requiring Administrators to act as judge and jury in defining a hack and determining the rightful owner is sub-optimal. The following sections define how private key loss and protocol hacks are addressed, as well as provide important checks and considerations for smart contract integrations, particularly for lending protocols. +This section explains the legal structure and implementation Klasma Inc. employs as an Administrator of this token. The structure detailed below is specific to property tokenization in the U.S. in the 2023 regulatory environment. -### Private Key Loss and Theft +This section details an implementation of the legal standard by Klasma Inc. specifically for property tokenization in the U.S. in the 2022 regulatory environment. -While DeFi protocol hacks leave an immutable trail on-chain, private key hacks do not. A private key transferring an asset legitimately or maliciously looks identical in any blockchain analysis. As such, Administrators should not be tasked with arbitrating or remedying private key hacks or loss. +![corporate-structure|690x388](../assets/eip-6065/corporate-structure.png) -Secure private key storage is a fundamental requirement to be able to interact with the crypto ecosystem. Users unable to do so should either pay for an NFT custody solution, or refrain from owning digital assets altogether. -### Protocol Hacks and Exploits +The Klasma Inc. legal structure for U.S. this token is as follows: -A protocol hack or exploit occurs within the confines of a smart contract integration and thus is reviewable on-chain, via specific transaction hashes and block explorer level evidence. A respectable Administrator should lay out their process for classifying and addressing protocol exploits in the Operating Agreement. +* Klasma Inc., a parent company and property Administrator, owns a bankruptcy remote LLC for each individual property they act as Administrator for. +* The bankruptcy remote LLC is the owner and manager of a DAO LLC. The DAO LLC is on the title and deed and issues the corresponding NFT and operating agreement for the property. +* This structure enables the following three outcomes: -To remedy a hack, the Administrator may issue a charge against the NFT to the new owner of the NFT for the full market value of the underlying asset via the `initPayment()` function. If the new owner does nothing, the Administrator will repossess this asset and return it to the original owner or protocol. To contest the classification of a hack, the new owner may start the `initAdministratorChange()` workflow to change the Administrator or self-custody the asset. Since all Administrators must be legal entities, the original owner may now bring this case to the traditional legal system if they desire. + 1. Homeowners are shielded from any financial stress or bankruptcy their physical asset Administrator encounters. In the event of an Administrator bankruptcy or dissolution the owner of the NFT is entitled to transfer of the DAO LLC, or the sale and distribution of proceeds from the property. + 2. Transfer of the rights to the property are atomic with the transfer of the NFT. The NFT represents a right to claim the asset and have the title transferred to the NFT owner, as well as the right to use the asset. This ensures the rights to the physical property are passed digitally with the transfer of the NFT, without having to update the legal owner of the property after each transfer. -Through leveraging the existing payment and Administrator change flow, a safety mechanism against protocol exploits is provided without inserting a smart contract backdoor. In the event that an exploit is contestable (e.g. a hack, versus an economic exploit, versus a well timed trade), this system provides an avenue for the new asset owner to make her case through the jurisdictional legal system. +Security note: In the event of a private key hack Klasma will not be able to reissue a Home NFT. Klasma home NFT owners who are not confident in their ability to safely store their home NFT will have varying levels of security options (multi-sigs, custodians, etc.). For public, large protocol hacks, Klasma may freeze the assets using the Blocklist function and reissue the home NFTs to the original owners. -### Integration Checks and Considerations +## Security Considerations -The following are checks and recommendations for protocols integrating NFTs under this standard. These are of particular relevance to applications which lend against any asset utilizing this standard. +The following are checks and recommendations for protocols integrating NFTs under this standard. These are of particular relevance to applications which lend against any asset utilizing this standard. -* Lending protocol integrators are recommended to pay any payments on behalf of their NFT depositors by calling `finishPayment()` and adding this balance to their users outstanding debt position. This avoids repossession by the Administrator, which may lead to loans becoming undercollateralized or undefined behavior in the protocol. -* Before accepting NFT deposits, a protocol integrator should check any `pendingPaymentOf()` the asset. A protocol may decide not accept an asset until all payments are cleared, or mark down the fair market value of the asset. -* Protocol integrators should also check if the function `paymentIsDelinquent()` returns `true` for any payments. If so, they should reject the asset as it is at risk of being repossessed. -* Protocol integrators are recommended to implement a time-delay before performing irreversible actions. This is to protect against future to-be-assessed payments that may occur if a hacked NFT is deposited into the protocol. - * For example, a protocol should implement a waiting period before issuing stablecoins as part of a collateralized mortgage on the NFT. If another DeFi protocol can be hacked, and a hacker can immediately run to a different protocol to receive an 80% LTV loan on the asset, it is likely that this second protocol will take a loss when this hack is resolved by the Administrator billing the NFT via `initPayment()` for it’s entire market value. Now this second protocol is stuck with valueless collateral, but already issued a 80% LTV loan. - * Because there is no standardized waiting period, DeFi protocols should specifically whitelist Administrator addresses for deposit into their protocols. Administrators may have specialized descriptor smart contracts to give an upper bound on wait-time recommendations. For example, Administrator A could state that one should wait 7 days for any of their assets, and after 7 days it is guaranteed that there will be no `initPayments()` for any prior malicious activity or hacks of the asset, and the asset is now safe to accept as collateral as its value is simply value(asset) without any possible liabilities. -* It is recommended that protocol integrators expose `initAdministratorChange()` logic in their smart contracts in order to change the Administrator in the future, if necessary. -Protocol integrators may decide to only accept assets with certain operating agreement hashes, viewable by calling `operatingAgreementOf()`. This ensures that all legal clauses and terms in this off-chain contract have been reviewed prior. -* More advanced protocol integrators may decide to expose `initOperatingAgreementChange()` functionality, in case a better legal agreement standard is designed in order to upgrade their assets to the best possible protections. +* Protocol integrators are recommended to check that the unique identifiers for the property and the hash of the operating agreement are immutable for the specific NFTs they wish to integrate. For correct implementation of this standard these values must be immutable to ensure legitimacy for future transferees. +* Protocol integrators are recommended to check the debtOf value for an accurate representation of the value of this token. +* Protocol integrators are recommended to check the foreclose status to ensure this token is still backed by the asset it was originally tied to. +* For extra risk mitigation protocol integrators can implement a time-delay before performing irreversible actions. This is to protect against potential asset freezes if a hacked NFT is deposited into the protocol. Asset freezes are non-mandatory and subject to the implementation of the asset Administrator. ## Copyright diff --git a/EIPS/eip-6120.md b/EIPS/eip-6120.md index 913b8c113b870..d5b0d13c32f46 100644 --- a/EIPS/eip-6120.md +++ b/EIPS/eip-6120.md @@ -19,9 +19,9 @@ Application and router contracts have to use the approve-then-call pattern which The Universal Token Router (UTR) separates the token allowance from the application logic, allowing any token to be spent in a contract call the same way with ETH, without approving any other application contracts. -Tokens approved to the Universal Token Router can only be spent in transactions directly signed by their owner, and they have clearly visible token transfer behavior, including token types (ETH, [ERC-20](./eip-20.md), [ERC-721](./eip-721.md) or [ERC-1155](./eip-1155.md)), `amountInMax`, `amountOutMin`, and `recipient`. +Tokens approved to the Universal Token Router can only be spent in transactions directly signed by their owner, and they have clearly visible token transfer behavior, including token types (ETH, [ERC-20](./eip-20.md), [ERC-721](./eip-721.md) or [ERC-1155](./eip-1155.md)), `amountIn`, `amountOutMin`, and `recipient`. -The Universal Token Router contract is counter-factually deployed using [EIP-1014](./eip-1014.md) at `0x6120245B546F2F0ce439186cAae8181007366120` across all EVM-compatible networks, so new token contracts can pre-configure it as a trusted spender and no approval transaction is necessary. +The Universal Token Router contract is counter-factually deployed using [EIP-1014](./eip-1014.md) at a single address across all EVM-compatible networks, so new token contracts can pre-configure it as a trusted spender, and no approval transaction is necessary for their interactive usage. ## Motivation @@ -30,7 +30,7 @@ When users approve their tokens to a contract, they trust that: * it only spends the tokens with their permission (from `msg.sender` or `ecrecover`) * it does not use `delegatecall` (e.g. upgradable proxies) -By performing the same security conditions above, the Universal Token Router can be shared by all applications, saving `(n-1)*m*l` approval transactions for old tokens and **ALL** approval transactions for new tokens. +By ensuring the same security conditions above, the Universal Token Router can be shared by all applications, saving `(n-1)*m*l` approval transactions for old tokens and **ALL** approval transactions for new tokens. Before this EIP, when users sign transactions to spend their approved tokens, they trust the front-end code entirely to construct those transactions honestly and correctly. This puts them at great risk of phishing sites. @@ -38,8 +38,8 @@ The Universal Token Router function arguments can act as a manifest for users wh Most of the application contracts are already compatible with the Universal Token Router and can use it to have the following benefits: -* Safely share the user token allowance with all other applications. -* Freely update their helper contract logic. +* Securely share the user token allowance with all other applications. +* Update their peripheral contracts as often as they want. * Save development and security audit costs on router contracts. The Universal Token Router promotes the **security-by-result** model in decentralized applications instead of **security-by-process**. By directly querying token balance change for output verification, user transactions can be secured even when interacting with erroneous or malicious contracts. With non-token results, application helper contracts can provide additional result-checking functions for UTR's output verification. @@ -55,8 +55,16 @@ interface IUniversalTokenRouter { function exec( Output[] memory outputs, Action[] memory actions - ) external payable; - ... + ) payable; + + function pay( + address sender, + address recipient, + uint eip, + address token, + uint id, + uint amount + ); } ``` @@ -76,10 +84,10 @@ struct Output { Token balances of the `recipient` address are recorded at the beginning and the end of the `exec` function for each item in `outputs`. Transaction will revert with `INSUFFICIENT_OUTPUT_AMOUNT` if any of the balance changes are less than its `amountOutMin`. -A special id `ID_721_ALL` is reserved for ERC-721, which can be used in output actions to verify the total amount of all ids owned by the `recipient` address. +A special id `ERC_721_BALANCE` is reserved for ERC-721, which can be used in output actions to verify the total amount of all ids owned by the `recipient` address. ```solidity -ID_721_ALL = keccak256('UniversalTokenRouter.ID_721_ALL') +ERC_721_BALANCE = keccak256('UniversalTokenRouter.ERC_721_BALANCE') ``` ### Action @@ -89,18 +97,11 @@ ID_721_ALL = keccak256('UniversalTokenRouter.ID_721_ALL') ```solidity struct Action { Input[] inputs; - uint flags; address code; // contract code address bytes data; // contract input data } ``` -`flags` can take any number of the following bit flags: - -* `0x1 = ACTION_IGNORE_ERROR`: any contract call failure will be ignored. -* `0x2 = ACTION_RECORD_CALL_RESULT`: the contract call result will be recorded in a `bytes` for subsequent actions. -* `0x4 = ACTION_INJECT_CALL_RESULT`: the last call result `bytes` recorded will be injected to the last empty `bytes` param of the contract function `data`. - ### Input `Input` defines the input token to transfer or prepare before the action contract is executed. @@ -112,52 +113,26 @@ struct Input { uint eip; // token standard: 0 for ETH or EIP number address token; // token contract address uint id; // token id for ERC-721 and ERC-1155 - uint amountInMax; - uint amountSource; // where to get the actual amountIn + uint amountIn; } ``` -`mode` can takes one of the following values: - -* `0 = TRANSFER_FROM_SENDER`: the token will be transferred from `msg.sender` to `recipient`. -* `1 = TRANSFER_FROM_ROUTER`: the token will be transferred from `this` UTR contract to `recipient`. -* `2 = TRANSFER_CALL_VALUE`: the token amount will be passed to the action as the call `value`. -* `4 = IN_TX_PAYMENT`: the token will be allowed to be spent in this transaction by calling `UTR.pay`. -* `8 = ALLOWANCE_BRIDGE`: the token will be transferred from `msg.sender` to `this` UTR contract and is allowed to be spent in this transaction. - -`amountSource` defines how the actual token `amountIn` is acquired from: - -* `0 = AMOUNT_EXACT`: the `amountInMax` value is used. -* `1 = AMOUNT_ALL`: the entire balance of the sender (`msg.sender` or `this`) is used. -* otherwise, extracts the `uint256` value starting from the `amountSource`-th byte of the last recorded call result `bytes`. This value is unpredictable if there's no prior action with the `ACTION_RECORD_CALL_RESULT` flag. +`mode` takes one of the following values: -`amountIn` MUST NOT be greater than `amountInMax`, otherwise, the transaction will be reverted with `EXCESSIVE_INPUT_AMOUNT`. +* `PAYMENT = 0`: the token can be transferred from `msg.sender` to the `recipient` by calling `UTR.pay` from anywhere in the same transaction. +* `TRANSFER = 1`: the token is transferred directly from `msg.sender` to `recipient`. +* `CALL_VALUE = 2`: the `ETH` amount will be passed to the action as the call `value`. -#### Payment In Callback +#### Payment -`IN_TX_PAYMENT` is used for application contracts that use the transfer-in-callback pattern. (E.g. flashloan contracts, Uniswap/v3-core, etc.) - -```solidity -interface IUniversalTokenRouter { - ... - - function pay( - address sender, - address recipient, - uint eip, - address token, - uint id, - uint amount - ) external; -} -``` +`PAYMENT` is the recommended mode for application contracts that use the transfer-in-callback pattern. E.g., flashloan contracts, Uniswap/v3-core, etc. -For each `Input` with `IN_TX_PAYMENT` mode, at most `amountIn` of the token is allowed to be transferred from `msg.sender` to the `recipient` by calling `UTR.pay` from anywhere in the same transaction. +For each `Input` with `PAYMENT` mode, at most `amountIn` of the token can be transferred from `msg.sender` to the `recipient` by calling `UTR.pay` from anywhere in the same transaction. ``` UTR | - | IN_TX_PAYMENT + | PAYMENT | (payments pended for UTR.pay) | | Application Contracts @@ -172,23 +147,32 @@ UTR.pay <----------------------- (call) | END ``` -#### Allowance Bridge +Token's allowance and `PAYMENT` are essentially different as: -`ALLOWANCE_BRIDGE` is the compatibility mode for application contracts that require token approval directly from `msg.sender`. +* allowance: allow a specific `spender` to transfer the token to anyone at any time. +* `PAYMENT`: allow anyone to transfer the token to a specific `recipient` only in that transaction. -For each `Input` with `ALLOWANCE_BRIDGE` mode: +#### Discard Payment -* an `amountIn` of token is transferred from `msg.sender` to `this` UTR contract. -* the `recipient` address is allowed to spend the token from `this` UTR contract. +Sometimes, it's useful to discard the payment instead of performing the transfer, for example, when the application contract wants to burn its own token from `msg.sender`. The following function can be used to verify the payment to the caller's address and discard a portion of it. -Before the end of the `exec` function: +```solidity +interface IUniversalTokenRouter { + ... -* all allowances are revoked. -* all left-over tokens are transferred back to `msg.sender`. + function discard( + address sender, + uint eip, + address token, + uint id, + uint amount + ); +} +``` -### Usage Samples +### Usage Examples -#### `UniswapRouter.swapExactTokensForTokens` +#### Uniswap V2 Router Legacy function: @@ -215,15 +199,13 @@ UniversalTokenRouter.exec([{ amountOutMin, }], [{ inputs: [{ - mode: TRANSFER_FROM_SENDER, + mode: TRANSFER, recipient: UniswapV2Library.pairFor(factory, path[0], path[1]), eip: 20, token: path[0], id: 0, - amountInMax: amountIn, - amountSource: AMOUNT_EXACT, + amountIn: amountIn, }], - flags: 0, code: UniswapV2Helper01.address, data: encodeFunctionData("swapExactTokensForTokens", [ amountIn, @@ -235,130 +217,7 @@ UniversalTokenRouter.exec([{ }]) ``` -#### `UniswapRouter.swapTokensForExactTokens` - -Legacy function: - -```solidity -UniswapV2Router01.swapTokensForExactTokens( - uint amountOut, - uint amountInMax, - address[] calldata path, - address to, - uint deadline -) -``` - -This function accepts the `uint[] amounts` as the last `bytes` param, decode and pass to the internal function `_swap` of `UniswapV2Helper01`. - -```solidity -UniswapV2Helper01.swap( - address[] calldata path, - address to, - bytes calldata amountsBytes -) external { - uint[] memory amounts = abi.decode(amountsBytes, (uint[])); - _swap(amounts, path, to); -} -``` - -This transaction is signed by users to execute the swap instead of the legacy function: - -```javascript -UniversalTokenRouter.exec([{ - eip: 20, - token: path[path.length-1], - id: 0, - amountOutMin: amountOut, - recipient: to, -}], [{ - inputs: [], - flags: ACTION_RECORD_CALL_RESULT, - code: UniswapV2Helper01.address, - data: encodeFunctionData("getAmountIns", [amountOut, path]), -}, { - inputs: [{ - mode: TRANSFER_FROM_SENDER, - eip: 20, - token: path[0], - id: 0, - amountInMax, - amountSource: 32*3, // first item of getAmountIns result array - recipient: UniswapV2Library.pairFor(factory, path[0], path[1]), - }], - flags: ACTION_INJECT_CALL_RESULT, - code: UniswapV2Helper01.address, - data: encodeFunctionData("swap", [path, to, '0x']), -}]) -``` - -The result of `getAmountIns` is recorded and injected into the empty `bytes`, save the transaction from calculating twice with the same data. - -#### `UniswapRouter.addLiquidity` - -Legacy function: - -```solidity -UniswapV2Router01.addLiquidity( - address tokenA, - address tokenB, - uint amountADesired, - uint amountBDesired, - uint amountAMin, - uint amountBMin, - address to, - uint deadline -) -``` - -This transaction is signed by users instead of the legacy function: - -```javascript -UniversalTokenRouter.exec([{ - eip: 20, - token: UniswapV2Library.pairFor(factory, tokenA, tokenB), - id: 0, - amountOutMin: 1, // just enough to verify the correct recipient - recipient: to, -}], [{ - inputs: [], - flags: ACTION_RECORD_CALL_RESULT, - code: UniswapV2Helper01.address, - data: encodeFunctionData("_addLiquidity", [ - tokenA, - tokenB, - amountADesired, - amountBDesired, - amountAMin, - amountBMin, - ]), -}, { - inputs: [{ - mode: TRANSFER_FROM_SENDER, - eip: 20, - token: tokenA, - id: 0, - amountSource: 32, // first item of _addLiquidity results - amountInMax: amountADesired, - recipient: UniswapV2Library.pairFor(factory, tokenA, tokenB), - }, { - mode: TRANSFER_FROM_SENDER, - eip: 20, - token: tokenB, - id: 0, - amountSource: 64, // second item of _addLiquidity results - amountInMax: amountBDesired, - recipient: UniswapV2Library.pairFor(factory, tokenA, tokenB), - }], - flags: 0, - code: UniswapV2Library.pairFor(factory, tokenA, tokenB), - data: encodeFunctionData("mint", [to]), -}]) -``` - -The output token verification is not performed by Uniswap's legacy function and can be skipped. But it SHOULD always be done for the `UniversalTokenRouter` so user can see and review the token behavior instead of blindly trust the front-end code. - -#### Uniswap V3 `SwapRouter` +#### Uniswap V3 Router Legacy router contract: @@ -391,19 +250,12 @@ contract SwapHelper { ) internal { ... // pull payment - UTR.pay( - payer, - recipient, - 20, // EIP - token, - 0, // id - value - ); + UTR.pay(payer, recipient, 20, token, 0, value); } } ``` -This transaction is signed by users to execute the `exactInput` functionality using `IN_TX_PAYMENT` mode: +This transaction is signed by users to execute the `exactInput` functionality using `PAYMENT` mode: ```javascript UniversalTokenRouter.exec([{ @@ -414,56 +266,21 @@ UniversalTokenRouter.exec([{ recipient: to, }], [{ inputs: [{ - mode: IN_TX_PAYMENT, + mode: PAYMENT, eip: 20, token: tokenIn, id: 0, - amountSource: AMOUNT_EXACT, - amountInMax: amountIn, + amountIn: amountIn, recipient: pool.address, }], - flags: 0, code: SwapHelper.address, data: encodeFunctionData("exactInput", [...]), }]) ``` -This transaction is signed by users to execute the `mint` functionality using `ALLOWANCE_BRIDGE` mode: - -```javascript -UniversalTokenRouter.exec([{ - eip: 721, - token: PositionManager.address, - id: ID_721_ALL, - amountOutMin: 1, // expect one more liquidity NFT - recipient: to, -}], [{ - inputs: [{ - mode: ALLOWANCE_BRIDGE, - eip: 20, - token: tokenA, - id: 0, - amountSource: AMOUNT_EXACT, - amountInMax: amountADesired, - recipient: PositionManager.address, - }, { - mode: ALLOWANCE_BRIDGE, - eip: 20, - token: tokenB, - id: 0, - amountSource: AMOUNT_EXACT, - amountInMax: amountBDesired, - recipient: PositionManager.address, - }], - flags: 0, - code: PositionManager.address, - data: encodeFunctionData("mint", [...]), -}]) -``` - ## Rationale -The `Permit` type signature is not supported since the purpose of the Universal Token Router is to eliminate all `approve` signatures for new tokens, and *most* for old tokens. +The `Permit` type signature is not supported since the purpose of the Universal Token Router is to eliminate all interactive `approve` signatures for new tokens, and *most* for old tokens. ## Backwards Compatibility @@ -471,60 +288,19 @@ The `Permit` type signature is not supported since the purpose of the Universal Old token contracts (ERC-20, ERC-721 and ERC-1155) require approval for the Universal Token Router once for each account. -New token contracts can pre-configure the Universal Token Router as a trusted spender, and no approval transaction is required. +New token contracts can pre-configure the Universal Token Router as a trusted spender, and no approval transaction is required for interactive usage. -### Application Contracts +### Applications -Application contracts that use `msg.sender` as the beneficiary address in their internal storage without any function for ownership transfer are the only cases that are **INCOMPATIBLE** with the UTR. +The only application contracts **INCOMPATIBLE** with the UTR are contracts that use `msg.sender` as the beneficiary address in their internal storage without any function for ownership transfer. -All application contracts that accept `recipient` (or `to`) argument instead of using `msg.sender` as the beneficiary address are compatible with the UTR out of the box. +All application contracts that accept `recipient` (or `to`) argument as the beneficiary address are compatible with the UTR out of the box. -Application contracts that transfer tokens (ERC-20, ERC-721, and ERC-1155) to `msg.sender` can use the `TRANSFER_FROM_ROUTER` input mode to re-direct tokens to another `recipient` address. - -```javascript -// sample code to deposit WETH and transfer them out -UniversalTokenRouter.exec([{ - eip: 20, - token: WETH.address, - id: 0, - amountOutMin: 1, - recipient: SomeRecipient, -}], [{ - inputs: [{ - mode: TRANSFER_CALL_VALUE, - eip: 0, // ETH - token: AddressZero, - id: 0, - amountInMax: 123, - amountSource: AMOUNT_EXACT, - recipient: AddressZero, // pass it as the value for the next output action - }], - flags: 0, - code: WETH.address, - data: encodeFunctionData('deposit', []), // WETH.deposit returns WETH token to the UTR contract -}, { - inputs: [{ - mode: TRANSFER_FROM_ROUTER, // transfer token out from this UTR contract - eip: 20, - token: WETH.address, - id: 0, - amountInMax: 123, - amountSource: AMOUNT_ALL, // entire WETH balance of this UTR contract - recipient: SomeRecipient, - }], - // ... continue to use WETH in SomeRecipient - flags: 0, - code: AddressZero, - data: '0x', -}], {value: 123}) -``` - -Applications can also deploy additional adapter contracts to add a `recipient` to their functions. +Application contracts that transfer tokens (ERC-20, ERC-721, and ERC-1155) to `msg.sender` need additional adapters to add a `recipient` to their functions. ```solidity // sample adapter contract for WETH contract WethAdapter { - address immutable WETH = 0x....; function deposit(address recipient) external payable { IWETH(WETH).deposit(){value: msg.value}; TransferHelper.safeTransfer(WETH, recipient, msg.value); @@ -532,30 +308,22 @@ contract WethAdapter { } ``` +Additional helper and adapter contracts might be needed, but they're mostly peripheral and non-intrusive. They don't hold any tokens or allowances, so they can be frequently updated and have little to no security impact on the core application contracts. + ## Reference Implementation ```solidity contract UniversalTokenRouter is IUniversalTokenRouter { - // values with a single 1-bit are preferred - uint constant TRANSFER_FROM_SENDER = 0; - uint constant TRANSFER_FROM_ROUTER = 1; - uint constant TRANSFER_CALL_VALUE = 2; - uint constant IN_TX_PAYMENT = 4; - uint constant ALLOWANCE_BRIDGE = 8; - - uint constant AMOUNT_EXACT = 0; - uint constant AMOUNT_ALL = 1; + uint constant PAYMENT = 0; + uint constant TRANSFER = 1; + uint constant CALL_VALUE = 2; - uint constant EIP_ETH = 0; + uint constant EIP_ETH = 0; - uint constant ID_721_ALL = uint(keccak256('UniversalTokenRouter.ID_721_ALL')); - - uint constant ACTION_IGNORE_ERROR = 1; - uint constant ACTION_RECORD_CALL_RESULT = 2; - uint constant ACTION_INJECT_CALL_RESULT = 4; + uint constant ERC_721_BALANCE = uint(keccak256('UniversalTokenRouter.ERC_721_BALANCE')); // non-persistent in-transaction pending payments - mapping(bytes32 => uint) s_payments; + mapping(bytes32 => uint) t_payments; // accepting ETH for WETH.withdraw receive() external payable {} @@ -568,95 +336,45 @@ contract UniversalTokenRouter is IUniversalTokenRouter { // track the expected balances before any action is executed for (uint i = 0; i < outputs.length; ++i) { Output memory output = outputs[i]; - uint balance = _balanceOf(output.recipient, output.eip, output.token, output.id); + uint balance = _balanceOf(output); uint expected = output.amountOutMin + balance; - require(expected >= balance, 'UniversalTokenRouter: OVERFLOW'); + require(expected >= balance, 'UniversalTokenRouter: OUTPUT_BALANCE_OVERFLOW'); output.amountOutMin = expected; } - bool dirty = false; + address sender = msg.sender; - bytes memory callResult; for (uint i = 0; i < actions.length; ++i) { Action memory action = actions[i]; uint value; for (uint j = 0; j < action.inputs.length; ++j) { Input memory input = action.inputs[j]; uint mode = input.mode; - address sender = mode == TRANSFER_FROM_ROUTER ? address(this) : msg.sender; - uint amount; - if (input.amountSource == AMOUNT_EXACT) { - amount = input.amountInMax; - } else { - if (input.amountSource == AMOUNT_ALL) { - amount = _balanceOf(sender, input.eip, input.token, input.id); - } else { - amount = _sliceUint(callResult, input.amountSource); - } - require(amount <= input.amountInMax, "UniversalTokenRouter: EXCESSIVE_INPUT_AMOUNT"); - } - if (mode == TRANSFER_CALL_VALUE) { - value = amount; - continue; - } - if (mode == TRANSFER_FROM_SENDER || mode == TRANSFER_FROM_ROUTER) { - _transferToken(sender, input.recipient, input.eip, input.token, input.id, amount); - continue; - } - if (mode == IN_TX_PAYMENT) { - bytes32 key = keccak256(abi.encodePacked(msg.sender, input.recipient, input.eip, input.token, input.id)); - s_payments[key] += amount; // overflow: harmless - dirty = true; - continue; - } - if (mode == ALLOWANCE_BRIDGE) { - _approve(input.recipient, input.eip, input.token, type(uint).max); - _transferToken(msg.sender, address(this), input.eip, input.token, input.id, amount); - dirty = true; + if (mode == PAYMENT) { + bytes32 key = keccak256(abi.encodePacked(sender, input.recipient, input.eip, input.token, input.id)); + t_payments[key] = input.amountIn; + } else if (mode == TRANSFER) { + _transferToken(sender, input.recipient, input.eip, input.token, input.id, input.amountIn); + } else if (mode == CALL_VALUE) { + // require(input.eip == EIP_ETH && input.id == 0, "UniversalTokenRouter: ETH_ONLY"); + value = input.amountIn; } } if (action.data.length > 0) { - if (action.flags & ACTION_INJECT_CALL_RESULT != 0) { - action.data = _concat(action.data, action.data.length, callResult); - } (bool success, bytes memory result) = action.code.call{value: value}(action.data); - if (!success && action.flags & ACTION_IGNORE_ERROR == 0) { + if (!success) { assembly { revert(add(result,32),mload(result)) } } - // delete value; // clear the ETH value after call - if (action.flags & ACTION_RECORD_CALL_RESULT != 0) { - callResult = result; - } } - } - - // verify balance changes - for (uint i = 0; i < outputs.length; ++i) { - Output memory output = outputs[i]; - uint balance = _balanceOf(output.recipient, output.eip, output.token, output.id); - require(balance >= output.amountOutMin, 'UniversalTokenRouter: INSUFFICIENT_OUTPUT_AMOUNT'); - } - - // clear all in-transaction storages - if (dirty) { - for (uint i = 0; i < actions.length; ++i) { - Action memory action = actions[i]; - for (uint j = 0; j < action.inputs.length; ++j) { - Input memory input = action.inputs[j]; - if (input.mode == IN_TX_PAYMENT) { - bytes32 key = keccak256(abi.encodePacked(msg.sender, input.recipient, input.eip, input.token, input.id)); - delete s_payments[key]; - continue; - } - if (input.mode == ALLOWANCE_BRIDGE) { - _approve(input.recipient, input.eip, input.token, 0); - uint balance = _balanceOf(address(this), input.eip, input.token, input.id); - if (balance > 0) { - _transferToken(address(this), msg.sender, input.eip, input.token, input.id, balance); - } - } + // clear all in-transaction storages, allowances and left-overs + for (uint j = 0; j < action.inputs.length; ++j) { + Input memory input = action.inputs[j]; + if (input.mode == PAYMENT) { + // in-transaction storages + bytes32 key = keccak256(abi.encodePacked(sender, input.recipient, input.eip, input.token, input.id)); + delete t_payments[key]; } } } @@ -664,25 +382,54 @@ contract UniversalTokenRouter is IUniversalTokenRouter { // refund any left-over ETH uint leftOver = address(this).balance; if (leftOver > 0) { - TransferHelper.safeTransferETH(msg.sender, leftOver); + TransferHelper.safeTransferETH(sender, leftOver); + } + + // verify balance changes + for (uint i = 0; i < outputs.length; ++i) { + Output memory output = outputs[i]; + uint balance = _balanceOf(output); + // NOTE: output.amountOutMin is reused as `expected` + require(balance >= output.amountOutMin, 'UniversalTokenRouter: INSUFFICIENT_OUTPUT_AMOUNT'); } } } - function pay( + function _reducePayment( address sender, address recipient, uint eip, address token, uint id, uint amount - ) public { + ) internal { unchecked { bytes32 key = keccak256(abi.encodePacked(sender, recipient, eip, token, id)); - require(s_payments[key] >= amount, 'UniversalTokenRouter: INSUFFICIENT_ALLOWANCE'); - s_payments[key] -= amount; - _transferToken(sender, recipient, eip, token, id, amount); + require(t_payments[key] >= amount, 'UniversalTokenRouter: INSUFFICIENT_PAYMENT'); + t_payments[key] -= amount; } } + function pay( + address sender, + address recipient, + uint eip, + address token, + uint id, + uint amount + ) override external { + _reducePayment(sender, recipient, eip, token, id, amount); + _transferToken(sender, recipient, eip, token, id, amount); + } + + function discard( + address sender, + uint eip, + address token, + uint id, + uint amount + ) public override { + _reducePayment(sender, msg.sender, eip, token, id, amount); + } + function _transferToken( address sender, address recipient, @@ -709,135 +456,59 @@ contract UniversalTokenRouter is IUniversalTokenRouter { } } - function _approve( - address recipient, - uint eip, - address token, - uint amount - ) internal { - if (eip == 20) { - TransferHelper.safeApprove(token, recipient, amount); - } else if (eip == 1155) { - IERC1155(token).setApprovalForAll(recipient, amount > 0); - } else if (eip == 721) { - IERC721(token).setApprovalForAll(recipient, amount > 0); - } else { - revert("UniversalTokenRouter: INVALID_EIP"); - } - } - function _balanceOf( - address owner, - uint eip, - address token, - uint id + Output memory output ) internal view returns (uint balance) { + uint eip = output.eip; if (eip == 20) { - return IERC20(token).balanceOf(owner); + return IERC20(output.token).balanceOf(output.recipient); } if (eip == 1155) { - return IERC1155(token).balanceOf(owner, id); + return IERC1155(output.token).balanceOf(output.recipient, output.id); } if (eip == 721) { - if (id == ID_721_ALL) { - return IERC721(token).balanceOf(owner); + if (output.id == ERC_721_BALANCE) { + return IERC721(output.token).balanceOf(output.recipient); } - try IERC721(token).ownerOf(id) returns (address currentOwner) { - return currentOwner == owner ? 1 : 0; + try IERC721(output.token).ownerOf(output.id) returns (address currentOwner) { + return currentOwner == output.recipient ? 1 : 0; } catch { return 0; } } if (eip == EIP_ETH) { - return owner.balance; + return output.recipient.balance; } revert("UniversalTokenRouter: INVALID_EIP"); } - - function _sliceUint(bytes memory bs, uint start) internal pure returns (uint x) { - // require(bs.length >= start + 32, "slicing out of range"); - assembly { - x := mload(add(bs, start)) - } - } - - /// https://github.com/GNSPS/solidity-bytes-utils/blob/master/contracts/BytesLib.sol - /// @param length length of the first preBytes - function _concat( - bytes memory preBytes, - uint length, - bytes memory postBytes - ) internal pure returns (bytes memory bothBytes) { - assembly { - // Get a location of some free memory and store it in bothBytes as - // Solidity does for memory variables. - bothBytes := mload(0x40) - - // Store the length of the first bytes array at the beginning of - // the memory for bothBytes. - mstore(bothBytes, length) - - // Maintain a memory counter for the current write location in the - // temp bytes array by adding the 32 bytes for the array length to - // the starting location. - let mc := add(bothBytes, 0x20) - // Stop copying when the memory counter reaches the length of the - // first bytes array. - let end := add(mc, length) - - for { - // Initialize a copy counter to the start of the preBytes data, - // 32 bytes into its memory. - let cc := add(preBytes, 0x20) - } lt(mc, end) { - // Increase both counters by 32 bytes each iteration. - mc := add(mc, 0x20) - cc := add(cc, 0x20) - } { - // Write the preBytes data into the bothBytes memory 32 bytes - // at a time. - mstore(mc, mload(cc)) - } - - // Add the length of postBytes to the current length of bothBytes - // and store it as the new length in the first 32 bytes of the - // bothBytes memory. - length := mload(postBytes) - mstore(bothBytes, add(length, mload(bothBytes))) - - // Move the memory counter back from a multiple of 0x20 to the - // actual end of the preBytes data. - mc := sub(end, 0x20) - // Stop copying when the memory counter reaches the new combined - // length of the arrays. - end := add(end, length) - - for { - let cc := postBytes - } lt(mc, end) { - mc := add(mc, 0x20) - cc := add(cc, 0x20) - } { - mstore(mc, mload(cc)) - } - - // Update the free-memory pointer by padding our last write location - // to 32 bytes: add 31 bytes to the end of bothBytes to move to the - // next 32 byte block, then round down to the nearest multiple of - // 32. If the sum of the length of the two arrays is zero then add - // one before rounding down to leave a blank 32 bytes (the length block with 0). - // mstore(0x40, and( - // add(add(end, iszero(add(length, mload(preBytes)))), 31), - // not(31) // Round down to the nearest 32 bytes. - // )) - } - } } ``` ## Security Considerations -`ACTION_INJECT_CALL_RESULT` SHOULD only be used for gas optimization, not as trusted conditions. Application contract code MUST always expect arbitruary, malformed or mallicious data can be passed in where the call result `bytes` is injected. +Tokens transferred to the UTR contract will be lost forever, as there is no way to transfer them out. + +ETH must be transferred to the UTR contracts before the value is spent in an action call (using `CALL_VALUE`). This ETH value can be siphoned out of the UTR using a re-entrant call inside an action code or rogue token functions. This exploit will not be possible if users don't transfer more ETH than they will spend in that transaction. + +```solidity +// transfer 100 in, but spend only 60, +// so at most 40 wei can be exploited in this transaction +UniversalTokenRouter.exec([ + ... +], [{ + inputs: [{ + mode: CALL_VALUE, + eip: 20, + token: 0, + id: 0, + amountIn: 60, // spend 60 + recipient: AddressZero, + }], + ... +}], { + value: 100, // transfer 100 in +}) +``` ## Copyright diff --git a/EIPS/eip-6404.md b/EIPS/eip-6404.md index 152376cc9cb08..c989a7129753a 100644 --- a/EIPS/eip-6404.md +++ b/EIPS/eip-6404.md @@ -847,11 +847,11 @@ The following representations of the consensus `ExecutionPayload`'s `transaction | Transaction | Native | Baseline | SSZ Union | Normalized | Base + Snappy | Union + Snappy | Norm + Snappy | | - | :-: | :-: | :-: | :-: | :-: | :-: | :-: | -| Legacy | RLP | 106 bytes | 210 bytes | 272 bytes | 109 bytes | 138 bytes | 196 bytes | -| [EIP-155](./eip-155.md) | RLP | 108 bytes | 210 bytes | 272 bytes | 111 bytes | 139 bytes | 195 bytes | -| [EIP-2930](./eip-2930.md) | RLP | 111 bytes | 215 bytes | 272 bytes | 114 bytes | 145 bytes | 195 bytes | +| Legacy | RLP | 106 bytes | 210 bytes | 272 bytes | 109 bytes | 140 bytes | 196 bytes | +| [EIP-155](./eip-155.md) | RLP | 108 bytes | 210 bytes | 272 bytes | 111 bytes | 138 bytes | 195 bytes | +| [EIP-2930](./eip-2930.md) | RLP | 111 bytes | 215 bytes | 272 bytes | 114 bytes | 144 bytes | 195 bytes | | [EIP-1559](./eip-1559.md) | RLP | 117 bytes | 247 bytes | 272 bytes | 117 bytes | 148 bytes | 195 bytes | -| [EIP-4844](./eip-4844.md) | SSZ | 315 bytes | 315 bytes (\*) | 340 bytes | 186 bytes | 186 bytes | 235 bytes | +| [EIP-4844](./eip-4844.md) | SSZ | 315 bytes | 315 bytes (\*) | 341 bytes | 186 bytes | 186 bytes | 238 bytes | - [Baseline](../assets/eip-6404/tests/create_transactions.py) - [SSZ Union](../assets/eip-6404/tests/union/convert_transactions.py) diff --git a/EIPS/eip-6454.md b/EIPS/eip-6454.md index 24df3a0fc8b51..5819f176b3d06 100644 --- a/EIPS/eip-6454.md +++ b/EIPS/eip-6454.md @@ -1,7 +1,7 @@ --- eip: 6454 -title: Minimalistic Non-Transferable NFTs -description: An interface for Non-Transferable Non-Fungible Tokens extension allowing for tokens to be non-transferable. +title: Minimal Transferable NFT detection interface +description: A minimal extension to identify the transferability of Non-Fungible Tokens. author: Bruno Škvorc (@Swader), Francesco Sullo (@sullof), Steven Pineda (@steven2308), Stevan Bogosavljevic (@stevyhacker), Jan Turk (@ThunderDeliverer) discussions-to: https://ethereum-magicians.org/t/minimalistic-transferable-interface/12517 status: Last Call @@ -14,9 +14,9 @@ requires: 165, 721 ## Abstract -The Minimalistic Non-Transferable interface for Non-Fungible Tokens standard extends [ERC-721](./eip-721.md) by preventing NFTs from being transferred. +The Minimalistic Transferable interface for Non-Fungible Tokens standard extends [ERC-721](./eip-721.md) by introducing the ability to identify whether an NFT can be transferred or not. -This proposal introduces the ability to prevent a token from being transferred from their owner, making them bound to the externally owned account, smart contract or token that owns it. +This proposal introduces the ability to prevent a token from being transferred from their owner, making them bound to the externally owned account, abstracted account, smart contract or token that owns it. ## Motivation @@ -54,13 +54,24 @@ pragma solidity ^0.8.16; interface IERC6454 /* is IERC165 */ { /** - * @notice Used to check whether the given token is non-transferable or not. - * @dev If this function returns `true`, the transfer of the token MUST revert execution + * @notice Used to check whether the given token is transferable or not. + * @dev If this function returns `false`, the transfer of the token MUST revert execution * @dev If the tokenId does not exist, this method MUST revert execution * @param tokenId ID of the token being checked - * @return Boolean value indicating whether the given token is non-transferable + * @return Boolean value indicating whether the given token is transferable */ - function isNonTransferable(uint256 tokenId) external view returns (bool); + function isTransferable(uint256 tokenId) external view returns (bool); + + /** + * @notice Used to check whether the given token is transferable or not based on source and destination address. + * @dev If this function returns `false`, the transfer of the token MUST revert execution + * @dev If the tokenId does not exist, this method MUST revert execution + * @param tokenId ID of the token being checked + * @param from Address from which the token is being transferred + * @param to Address to which the token is being transferred + * @return Boolean value indicating whether the given token is transferable + */ + function isTransferable(uint256 tokenId, address from, address to) external view returns (bool); } ``` @@ -68,17 +79,20 @@ interface IERC6454 /* is IERC165 */ { Designing the proposal, we considered the following questions: -1. **Should we propose another Non-Transferable NFT proposal given the existence of existing ones, some even final, and how does this proposal compare to them?**\ +1. **Should we propose another (Non-)Transferable NFT proposal given the existence of existing ones, some even final, and how does this proposal compare to them?**\ This proposal aims to provide the minimum necessary specification for the implementation of non-transferable NFTs, we feel none of the existing proposals have presented the minimal required interface. Unlike other proposals that address the same issue, this proposal requires fewer methods in its specification, providing a more streamlined solution. 2. **Why is there no event marking the token as Non-Transferable in this interface?**\ The token can become non-transferable either at its creation, after being marked as non-transferable, or after a certain condition is met. This means that some cases of tokens becoming non-transferable cannot emit an event, such as if the token becoming non-transferable is determined by a block number. Requiring an event to be emitted upon the token becoming non-transferable is not feasible in such cases. -3. **Should the non-transferable state management function be included in this proposal?**\ - A function that marks a token as non-transferable or releases the binding is referred to as the non-transferable management function. To maintain the objective of designing an agnostic non-transferable proposal, we have decided not to specify the non-transferable management function. This allows for a variety of custom implementations that require the tokens to be non-transferable. -4. **Why should this be an EIP if it only contains one method?**\ - One could argue that since the core of this proposal is to only prevent ERC-721 tokens to be transferred, this could be done by overriding the transfer function. While this is true, the only way to assure that the token is non-transferable before the smart contract execution, is for it to have the non-transferable interface.\ - This also allows for smart contract to validate that the token is non-transferable and not attempt transferring it as this would result in failed transactions and wasted gas. -5. **Why does this proposal use `isNotTransferable` instead of `isTransferable`?**\ - ERC-721 tokens are usually transferable, but this interface focuses on the use case where NFTs may not be transferable. The method name was chosen to reflect this. +3. **Should the transferability state management function be included in this proposal?**\ + A function that marks a token as non-transferable or releases the binding is referred to as the transferability management function. To maintain the objective of designing an agnostic minimal transferable proposal, we have decided not to specify the transferability management function. This allows for a variety of custom implementations that require the tokens to be non-transferable. +4. **Why should this be an EIP if it only contains two methods?**\ + One could argue that since the core of this proposal is to only prevent ERC-721 tokens to be transferred, this could be done by overriding the transfer function. While this is true, the only way to assure that the token is non-transferable before the smart contract execution, is for it to have the transferable interface.\ + This also allows for smart contract to validate whether the token is not transferable and not attempt transferring it as this would result in failed transactions and wasted gas. +5. **Why does this proposal contain two methods with the same name?**\ + Both methods defined in this proposal address the same issue, but in different ways. The first method is used to check whether the token is transferable or not in general, while the second method is used to check whether the token is conditionally transferable or not based on the source and destination addresses. The second method is useful in cases where the transferability of the token is dependent on the source and destination addresses. +6. **What is the best user experience for frontend?**\ + The best user experience for the front end is having a single method that checks whether the token is transferable. This method should handle both cases of transferability, general and conditional. This is why the second method is defined as an overload of the first method.\ + The front end should also be able to handle the case where the token is not transferable and the transfer is attempted. This can be done by checking the return value of the transfer function, which will be false if the token is not transferable. If the token would just be set as non-transferable, without a standardized interface to check whether the token is transferable, the only way to validate transferability would be to attempt a gas calculation and check whether the transaction would revert. This is a bad user experience and should be avoided. ## Backwards Compatibility @@ -86,7 +100,7 @@ The Minimalistic Non-Transferable token standard is fully compatible with [ERC-7 ## Test Cases -Tests are included in [`nonTransferable.ts`](../assets/eip-6454/test/nonTransferable.ts). +Tests are included in [`transferable.ts`](../assets/eip-6454/test/transferable.ts). To run them in terminal, you can use the following commands: @@ -98,12 +112,16 @@ npx hardhat test ## Reference Implementation -See [`ERC721NonTransferableMock.sol`](../assets/eip-6454/contracts/mocks/ERC721NonTransferableMock.sol). +See [`ERC721TransferableMock.sol`](../assets/eip-6454/contracts/mocks/ERC721TransferableMock.sol). ## Security Considerations The same security considerations as with [ERC-721](./eip-721.md) apply: hidden logic may be present in any of the functions, including burn, add asset, accept asset, and more. +A smart contract can implement the proposal interface but returns fraudulent values, i.e., returning `false` for `isTransferable` when the token is transferable. Such a contract would trick other contracts into thinking that the token is non-transferable when it is transferable. If such a contract exists, we suggest not interacting with it. Much like fraudulent [ERC-20](./eip-20.md) or [ERC-721](./eip-721.md) smart contracts, it is not possible to prevent such contracts from existing. We suggest that you verify all of the external smart contracts you interact with and not interact with contracts you do not trust. + +Since the transferability state can change over time, verifying that the state of the token is transferable before interacting with it is essential. Therefore, a dApp, marketplace, or wallet implementing this interface should verify the state of the token every time the token is displayed. + Caution is advised when dealing with non-audited contracts. ## Copyright diff --git a/EIPS/eip-6475.md b/EIPS/eip-6475.md index adcbcbbca4cde..3871a4b29301a 100644 --- a/EIPS/eip-6475.md +++ b/EIPS/eip-6475.md @@ -4,7 +4,7 @@ title: SSZ Optional description: New SSZ type to represent optional values author: Etan Kissling (@etan-status), Zahary Karadjov (@zah) discussions-to: https://ethereum-magicians.org/t/eip-6475-ssz-optional/12891 -status: Draft +status: Review type: Standards Track category: Core created: 2023-02-09 @@ -37,20 +37,13 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S The default value of `Optional[T]` is `None`. -### Illegal types - -`Optional[T]` with `T` that might serialize to empty data `[]` are illegal: - -- `T` MUST NOT be `List[type, N]` -- `T` MUST NOT be a nested `Optional[type]` - ### Serialization ```python if value is None: return b"" else: - return serialize(value) + return b"\x01" + serialize(value) ``` ### Deserialization @@ -58,7 +51,7 @@ else: The deserialization of an `Optional[T]` depends on the input length: - If the input length is 0, the value is `None`. -- Otherwise, deserialize the input as if it represents a value of type `T`. +- Otherwise, the first byte of the deserialization scope must be checked to be `0x01`, the remainder of the scope is deserialized same as `T`. ### Merkleization @@ -71,11 +64,9 @@ An `Optional[T]` is merkleized as a `List[T, 1]`. ### Why not `Union[None, T]`? -SSZ Union types are currently not used in any final Ethereum specification and do not have a finalized design themselves. If the only use case is a workaround for `Optional[T]`, the simpler `Optional[T]` type is sufficient, and support for general unions could be delayed until really needed. - `Union[None, T]` leaves ambiguity about the intention whether the type may be extended in the future, i.e., `Union[None, T, U]`. -The serialization is less compact, due to the extra selector byte. +Furthermore, SSZ Union types are currently not used in any final Ethereum specification and do not have a finalized design themselves. If the only use case is a workaround for lack of `Optional[T]`, the simpler `Optional[T]` type is sufficient, and support for general unions could be delayed until really needed. Note that the design of `Optional[T]` could be used as basis for a more general `Union`. ### Why not `List[T, 1]`? diff --git a/EIPS/eip-6493.md b/EIPS/eip-6493.md index 0234cd35217e6..fe136db55e56f 100644 --- a/EIPS/eip-6493.md +++ b/EIPS/eip-6493.md @@ -4,7 +4,7 @@ title: SSZ Transaction Signature Scheme description: Signature scheme for SSZ transactions author: Etan Kissling (@etan-status), Matt Garnett (@lightclient), Vitalik Buterin (@vbuterin) discussions-to: https://ethereum-magicians.org/t/eip-6493-ssz-transaction-signature-scheme/13050 -status: Draft +status: Review type: Standards Track category: Core created: 2023-02-24 @@ -18,7 +18,7 @@ This EIP defines a signature scheme for [Simple Serialize (SSZ)](https://github. ## Motivation Existing [EIP-2718](./eip-2718.md) transaction types first encoded in the RLP format, and then hashed using keccak256 for signing and finally (post signing) to generate a unique transaction identifier as well. - + However for new transaction types that are encoded in the SSZ format (for e.g. [EIP-4844](./eip-4844.md) blob transactions), it is idiomatic to base their signature hash and their unique identifier on `hash_tree_root` instead. ## Specification diff --git a/EIPS/eip-6551.md b/EIPS/eip-6551.md index 4d90486cab035..dce1295b2c8ce 100644 --- a/EIPS/eip-6551.md +++ b/EIPS/eip-6551.md @@ -2,13 +2,13 @@ eip: 6551 title: Non-fungible Token Bound Accounts description: An interface and registry for smart contract accounts owned by ERC-721 tokens -author: Jayden Windle (@jaydenwindle), Benny Giang , Steve Jang, Druzy Downs (@druzydowns), Raymond Huynh (@huynhr), Alanah Lam , Wilkins Chung (@wwhchung), Paul Sullivan (@sullivph) +author: Jayden Windle (@jaydenwindle), Benny Giang , Steve Jang, Druzy Downs (@druzydowns), Raymond Huynh (@huynhr), Alanah Lam , Wilkins Chung (@wwhchung) , Paul Sullivan (@sullivph) discussions-to: https://ethereum-magicians.org/t/non-fungible-token-bound-accounts/13030 status: Draft type: Standards Track category: ERC created: 2023-02-23 -requires: 155, 165, 721, 1271, 1967 +requires: 155, 165, 721, 1167, 1271 --- ## Abstract @@ -57,19 +57,29 @@ The registry serves as a single entry point for projects wishing to utilize toke - `createAccount` - deploys a token bound account for an ERC-721 token given an `implementation` address - `account` - a read-only function that computes the token bound account address for an ERC-721 token given an `implementation` address -The registry SHALL deploy each token bound account as an [ERC-1967](./eip-1967.md) proxy. +The registry SHALL deploy each token bound account as an [ERC-1167](./eip-1167.md) minimal proxy with immutable constant data appended to the bytecode. -Each proxy deployed by the registry SHALL have the following interface: +The the deployed bytecode of each token bound account SHALL have the following structure: -```solidity -interface IERC6551AccountProxy { - function implementation() external view returns (address); -} +``` +ERC-1167 Header (10 bytes) + (20 bytes) +ERC-1167 Footer (15 bytes) + (32 bytes) + (32 bytes) + (32 bytes) + (32 bytes) +``` + +For example, the token bound account with implementation address `0xbebebebebebebebebebebebebebebebebebebebe`, salt `0`, chain ID `1`, token contract `0xcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf` and token ID `123` would have the following deployed bytecode: + +``` +363d3d373d3d3d363d73bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf000000000000000000000000000000000000000000000000000000000000007b ``` Each token bound account proxy SHALL delegate execution to a contract that implements the `IERC6551Account` interface. -The registry contract is permissionless, immutable, and has no owner. The complete source code for the registry can be found in the [Registry Implementation](#registry-implementation) section below. The registry SHALL be deployed at address `0x3DB6292002BEf4DF017F566a0D038755Bb2AdAE1` using Nick's Factory (`0x4e59b44847b379578588920cA78FbF26c0B4956C`) with salt `0x6551655165516551655165516551655165516551655165516551655165516551`. +The registry contract is permissionless, immutable, and has no owner. The complete source code for the registry can be found in the [Registry Implementation](#registry-implementation) section below. The registry SHALL be deployed at address `TBD` using Nick's Factory (`0x4e59b44847b379578588920cA78FbF26c0B4956C`) with salt `0x6551655165516551655165516551655165516551655165516551655165516551`. The registry SHALL deploy all token bound account contracts using the `create2` opcode so that the account address for every ERC-721 token is deterministic. The account address for each ERC-721 token SHALL be derived from the unique combination of implementation address, token contract address, token ID, [EIP-155](./eip-155.md) chain ID, and an optional salt. @@ -212,7 +222,7 @@ Finally, this proposal seeks to grant ERC-721 tokens the ability to act as agent ### Proxy Implementation -ERC-1967 minimal proxies are well supported by existing infrastructure and are a common smart contract pattern. This proposal deploys each token bound account using a custom ERC-1967 proxy implementation that stores the salt, implementation address, chain id, token contract address, and token ID as ABI-encoded constant data appended to the contract bytecode. This allows token bound account implementations to easily query this data while ensuring it remains constant. This approach was taken to maximize compatibility with existing infrastructure while also giving smart contract developers full flexibility when creating custom token bound account implementations. +ERC-1167 minimal proxies are well supported by existing infrastructure and are a common smart contract pattern. This proposal deploys each token bound account using a custom ERC-1167 proxy implementation that stores the salt, implementation address, chain id, token contract address, and token ID as ABI-encoded constant data appended to the contract bytecode. This allows token bound account implementations to easily query this data while ensuring it remains constant. This approach was taken to maximize compatibility with existing infrastructure while also giving smart contract developers full flexibility when creating custom token bound account implementations. ### EIP-155 Support @@ -220,7 +230,7 @@ This proposal uses EIP-155 chain IDs to identify ERC-721 tokens along with their ## Backwards Compatibility -This proposal seeks to me maximally backwards compatible with existing non-fungible token contracts. As such, it does not extend the ERC-721 standard. +This proposal seeks to be maximally backwards compatible with existing non-fungible token contracts. As such, it does not extend the ERC-721 standard. Additionally, this proposal does not require the registry to perform an ERC-165 interface check for ERC-721 compatibility prior to account creation. This is by design in order to maximize backwards compatibility with non-fungible token contracts that pre-date the ERC-721 standard, such as Cryptokitties. Smart contract authors implementing this proposal may optionally choose to enforce interface detection for ERC-721. @@ -321,9 +331,6 @@ import "openzeppelin-contracts/utils/Create2.sol"; contract ERC6551Registry is IERC6551Registry { error InitializationFailed(); - bytes constant creationCode = - hex"60208038033d393d517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560f78060343d393df3363d3d3760003560e01c635c60da1b1461004e573d3d363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e610049573d6000fd5b3d6000f35b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543d5260203df3"; - function createAccount( address implementation, uint256 chainId, @@ -332,10 +339,7 @@ contract ERC6551Registry is IERC6551Registry { uint256 salt, bytes calldata initData ) external returns (address) { - bytes memory code = abi.encodePacked( - creationCode, - abi.encode(salt, chainId, tokenContract, tokenId, implementation) - ); + bytes memory code = _creationCode(implementation, chainId, tokenContract, tokenId, salt) address _account = Create2.computeAddress( bytes32(salt), @@ -371,122 +375,27 @@ contract ERC6551Registry is IERC6551Registry { uint256 salt ) external view returns (address) { bytes32 bytecodeHash = keccak256( - abi.encodePacked( - creationCode, - abi.encode( - salt, - chainId, - tokenContract, - tokenId, - implementation - ) - ) + _creationCode(implementation, chainId, tokenContract, tokenId, salt) ); return Create2.computeAddress(bytes32(salt), bytecodeHash); } -} -``` - -### Account Proxy Implementation -```huff -// ERC6551AccountProxy -// modified from https://github.com/jtriley-eth/minimum-viable-proxy/blob/main/huff/UUPSProxy.huff - -// ------------------------------------------------------------------------------------------------- -// ABI - -#define function implementation() view returns (uint256) - -// ------------------------------------------------------------------------------------------------- -// CONSTANTS - -// uint256(keccak256("eip1967.proxy.implementation")) - 1 -#define constant PROXY_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc - -#define constant WORD_SIZE = 0x20 - -#define constant CONTRACT_SIZE = 0xf7 - -#define macro CONSTRUCTOR() = takes (0) returns (0) { - // STORE IMPLEMENTATION - [WORD_SIZE] // [word] - dup1 // [word, word] - codesize // [codesize, word, word] - sub // [impl_offset, word] - returndatasize // [zero, impl_offset, word] - codecopy // [] - returndatasize // [zero] - mload // [impl] - [PROXY_SLOT] // [proxy_slot] - sstore // [] - - // STORE BYTECODE + FOOTER - [CONTRACT_SIZE] // [size] - dup1 // [size, size] - __codesize(CONSTRUCTOR) // [constructor_size, size, size] - returndatasize // [zero, constructor_size, size, size] - codecopy // [size] - returndatasize // [zero, size] - return // [] -} - -#define macro MAIN() = takes (0) returns (0) { - // COPY CALLDATA TO MEMORY - calldatasize // [calldatasize] - returndatasize // [zero, calldatasize] - returndatasize // [zero, zero, calldatasize] - calldatacopy // [] - - // LOAD CALLDATA SIGNATURE - 0x00 calldataload // [calldata @ 0x00] - 0xE0 shr // [func_sig (calldata @ 0x00 >> 0xE0)] - __FUNC_SIG(implementation) // [func_sig(implementation), func_sig] - eq // [func_sig(implementation) == func_sig] - implementation - jumpi - - // DELEGATECALL - returndatasize // [retsize] - returndatasize // [retoffset, retsize] - calldatasize // [argsize, retoffset, retsize] - returndatasize // [argoffset, argsize, retoffset, retsize] - [PROXY_SLOT] // [proxy_slot, argoffset, argsize, retoffset, retsize] - sload // [impl, argoffset, argsize, retoffset, retsize] - gas // [gas, impl, argoffset, argsize, retoffset, retsize] - delegatecall // [success] - - // COPY RETURNDATA TO MEMORY - returndatasize // [retsize, success] - 0x00 // [retoffset, retsize, success] - dup1 // [memoffset, retoffset, retsize, success] - returndatacopy // [success] - - // RETURN IF SUCCESS, ELSE BUBBLE UP ERROR - call_success // [call_success, success] - jumpi // [] - - // FAILED - returndatasize // [retsize] - 0x00 // [zero, retsize] - revert // [] - - // SUCCESS - call_success: - returndatasize // [retsize] - 0x00 // [zero, retsize] - return // [] - - // IMPLEMENTATION - implementation: - [PROXY_SLOT] // [proxy_slot] - sload // [impl] - returndatasize // [0x00, impl] - mstore // [] - 0x20 // [0x20] - returndatasize // [0x00, 0x20] + function _creationCode( + address implementation_, + uint256 chainId_, + address tokenContract_, + uint256 tokenId_, + uint256 salt_ + ) internal pure returns (bytes memory) { return + abi.encodePacked( + hex"3d60ad80600a3d3981f3363d3d373d3d3d363d73", + implementation_, + hex"5af43d82803e903d91602b57fd5bf3", + abi.encode(salt_, chainId_, tokenContract_, tokenId_) + ); + } } ``` diff --git a/EIPS/eip-6672.md b/EIPS/eip-6672.md index e29f63e92b4d5..45b5245141e8d 100644 --- a/EIPS/eip-6672.md +++ b/EIPS/eip-6672.md @@ -2,9 +2,10 @@ eip: 6672 title: Multi-redeemable NFTs description: An extension of ERC-721 which enables an NFT to be redeemed in multiple scenarios for either a physical or digital object -author: RE:DREAMER Lab , Archie Chang (@ArchieR7) , Kai Yu (@chihkaiyu) , Yonathan Randyanto (@Randyanto) +author: RE:DREAMER Lab , Archie Chang (@ArchieR7) , Kai Yu (@chihkaiyu) , Yonathan Randyanto (@Randyanto) , Boyu Chu (@chuboyu) discussions-to: https://ethereum-magicians.org/t/eip-6672-multi-redeemable-nfts/13276 -status: Review +status: Last Call +last-call-deadline: 2023-05-16 type: Standards Track category: ERC created: 2023-02-21 diff --git a/EIPS/eip-6913.md b/EIPS/eip-6913.md new file mode 100644 index 0000000000000..e2309078e22e3 --- /dev/null +++ b/EIPS/eip-6913.md @@ -0,0 +1,96 @@ +--- +eip: 6913 +title: SETCODE instruction +description: replace code in-place +author: William Morriss (@wjmelements) +discussions-to: https://ethereum-magicians.org/t/eip-6913-setcode-instruction/13898 +status: Draft +type: Standards Track +category: Core +created: 2023-04-20 +--- + +## Abstract + +Introduce the `SETCODE` (`0x49`) instruction, which replaces the code of the current executing address from memory. +Future calls to the modified contract use the new code. + +## Motivation + +Many contracts are upgradeable in order to facilitate improvement or defer decisions without migrating to a new address. +Contracts presently do this in several ways: + +The oldest method uses `CALL`. +The limitation of this method is that owned state must be modifiable by all future implementations. + +Second, `DELEGATECALL` can proxy the implementation. +Some proxies are minimal while others branch to many separate implementation accounts. +This method can also bypass account code size limits. + +A third method uses `SELFDESTRUCT` and `CREATE2` to replace code in-place. +This method improves upon the prior methods by removing the need to call into external contracts. +One limitation of this method is that any internal state is removed by `SELFDESTRUCT`. +Another limitation is that `SELFDESTRUCT` does not remove code until the end of the transaction, sacrificing availability until `CREATE2` can complete the upgrade. + +Given the upcoming deprecation of `SELFDESTRUCT`, `SETCODE` introduces a better method for replacing code in-place. + +## Specification + +When inside of a `CREATE`-like execution scope that returns new code for the executing address (the account returned by `ADDRESS`), `SETCODE` causes an exceptional abort. +Otherwise, `SETCODE` consumes two words from the stack: offset and length. +These specify a range of memory containing the new code. +Any validations that would be performed on the result of `CREATE` or `CREATE2` occur immediately, potentially causing failure with exceptional abort. +Code replacement is deferred; the current execution scope and its children proceed before code replacement. +After the current execution scope exits successfully (neither reverting nor aborting), the code in the executing account is replaced. +Like `SSTORE`, this account modification will be reverted if a parent scope reverts or aborts. +Unlike `SELFDESTRUCT`, `SETCODE` does not clear account balance or storage. + +Multiple `SETCODE` operations inside the same execution scope are allowed and replace the pending replacement. + +A `SELFDESTRUCT` operation discards the pending code. + +### Gas + +The gas cost of this operation is the sum of Gselfdestruct and the product of Gcodedeposit and the number of bytes in the new code. + +## Rationale + +The gas cost of `SETCODE` is comparable to `CREATE` but excludes Gcreate because no execution context is created, nor any new account. +Other account modification costs are accounted for outside of execution gas. + +Unlike `SELFDESTRUCT`, execution proceeds normally after `SETCODE` in order to allow return data. + +## Backwards Compatibility + +The only prior operation changing code is `SELFDESTRUCT`. +`SELFDESTRUCT` remains compatible by discarding any pending replacement code. + +## Test Cases + +| CodeStart | CallData | CodeResult | Gas | +|----------------------|------------------|----------------------|------| +| 365f5f37365f4900 | 365f5f37365f4900 | 365f5f37365f4900 | 6613 | +| 365f5f37365f4900 | 00 | 00 | 5213 | +| 365f5f37365f4900 | | | 5013 | +| 365f5f37365f49595ffd | 365f5f37365f4900 | 365f5f37365f49595ffd | 6617 | +| 365f5f37365f49fe | 365f5f37365f4900 | 365f5f37365f49fe | all | + +## Security Considerations + +Risks related to SETCODE similarly apply to other upgrade patterns. + +Most contracts should never be replaced and should not be upgradeable. +Any upgrade mechanism can risk permanent failure. +The possibility of upgrade perpetuates such risk. + +Access to upgrade operations should be restricted. +Upgrades should never be performed in a hurry or when tired. +Upgrades should be tested under as similar conditions to production as possible; discrepancies are sources of unexpected results. +When possible, multiple engineers should preview and independently verify pending upgrade procedures. + +Block explorers, wallets, and other interfaces should flag upgradeable code. +Client software should warn against approving [ERC-20](./eip-20.md) or [ERC-721](./eip-721.md) tokens for upgradeable accounts. + +## Copyright + +Copyright and related rights waived via [CC0](../LICENSE.md). diff --git a/EIPS/eip-6735.md b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md similarity index 99% rename from EIPS/eip-6735.md rename to EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md index 08ef0e4fbcc1a..39934eb9480ff 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md @@ -1,5 +1,5 @@ --- -eip: 6735 +eip: draft_l2_aliasing_of_evm_based_addre title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) diff --git a/assets/eip-5007/README.md b/assets/eip-5007/README.md index 9bc3c31a7ba96..5e4da67d5811d 100644 --- a/assets/eip-5007/README.md +++ b/assets/eip-5007/README.md @@ -6,6 +6,7 @@ This standard is an extension of [ERC-721](../../EIPS/eip-721.md). It proposes s ## Install ``` +npm install truffle -g npm install ``` diff --git a/assets/eip-5007/contracts/ERC5007Composable.sol b/assets/eip-5007/contracts/ERC5007Composable.sol index e27defeafc293..63eb0906b802f 100644 --- a/assets/eip-5007/contracts/ERC5007Composable.sol +++ b/assets/eip-5007/contracts/ERC5007Composable.sol @@ -4,19 +4,15 @@ import "./ERC5007.sol"; import "./IERC5007Composable.sol"; abstract contract ERC5007Composable is ERC5007, IERC5007Composable { - mapping(uint256 => uint256) internal _rootIdMapping; + mapping(uint256 => uint256) internal _assetIdMapping; /** - * @dev See {IERC5007Composable-rootTokenId}. + * @dev See {IERC5007Composable-assetId}. */ - function rootTokenId(uint256 tokenId) - public - view - override - returns (uint256 rootId) + function assetId(uint256 tokenId) public view returns (uint256) { require(_exists(tokenId), "ERC5007: invalid tokenId"); - rootId = _rootIdMapping[tokenId]; + return _assetIdMapping[tokenId]; } /** @@ -24,33 +20,40 @@ abstract contract ERC5007Composable is ERC5007, IERC5007Composable { */ function split( uint256 oldTokenId, - uint256 newTokenId, - address newTokenOwner, - int64 newTokenStartTime + uint256 newToken1Id, + address newToken1Owner, + uint256 newToken2Id, + address newToken2Owner, + int64 splitTime ) public virtual override { - require( - _isApprovedOrOwner(_msgSender(), oldTokenId), - "ERC5007: caller is not owner nor approved" - ); + require(_isApprovedOrOwner(_msgSender(), oldTokenId), "ERC5007: caller is not owner nor approved"); int64 oldTokenStartTime = _timeNftMapping[oldTokenId].startTime; int64 oldTokenEndTime = _timeNftMapping[oldTokenId].endTime; require( - oldTokenStartTime < newTokenStartTime && - newTokenStartTime <= oldTokenEndTime, + oldTokenStartTime <= splitTime && + splitTime < oldTokenEndTime, "ERC5007: invalid newTokenStartTime" ); - _timeNftMapping[oldTokenId].endTime = newTokenStartTime - 1; - int64 newTokenEndTime = oldTokenEndTime; + uint256 assetId_ = _assetIdMapping[oldTokenId]; + _mintTimeNftWithAssetId( + newToken1Owner, + newToken1Id, + assetId_, + oldTokenStartTime, + splitTime + ); - _mintTimeNftWithRootId( - newTokenOwner, - newTokenId, - _rootIdMapping[oldTokenId], - newTokenStartTime, - newTokenEndTime + _mintTimeNftWithAssetId( + newToken2Owner, + newToken2Id, + assetId_, + splitTime + 1, + oldTokenEndTime ); + + _burn(oldTokenId); } /** @@ -71,18 +74,17 @@ abstract contract ERC5007Composable is ERC5007, IERC5007Composable { TimeNftInfo memory firstToken = _timeNftMapping[firstTokenId]; TimeNftInfo memory secondToken = _timeNftMapping[secondTokenId]; require( - _rootIdMapping[firstTokenId] == _rootIdMapping[secondTokenId] && + _assetIdMapping[firstTokenId] == _assetIdMapping[secondTokenId] && firstToken.startTime <= firstToken.endTime && (firstToken.endTime + 1) == secondToken.startTime && secondToken.startTime <= secondToken.endTime, - "ERC5007: invalid input data" + "ERC5007: invalid data" ); - - _mintTimeNftWithRootId( + _mintTimeNftWithAssetId( newTokenOwner, newTokenId, - _rootIdMapping[firstTokenId], + _assetIdMapping[firstTokenId], firstToken.startTime, secondToken.endTime ); @@ -101,36 +103,15 @@ abstract contract ERC5007Composable is ERC5007, IERC5007Composable { * - `rootId_` must exist. * - `endTime_` should be equal or greater than `startTime_` */ - function _mintTimeNftWithRootId( + function _mintTimeNftWithAssetId( address to_, uint256 tokenId_, - uint256 rootId_, + uint256 assetId_, int64 startTime_, int64 endTime_ ) internal virtual { - require(_exists(rootId_), "ERC5007: invalid rootId_"); super._mintTimeNft(to_, tokenId_, startTime_, endTime_); - _rootIdMapping[tokenId_] = rootId_; - } - - /** - * @dev mint a new common time NFT - * - * Requirements: - * - * - `to_` cannot be the zero address. - * - `tokenId_` must not exist. - * - `endTime_` should be equal or greater than `startTime_` - */ - function _mintTimeNft( - address to_, - uint256 tokenId_, - int64 startTime_, - int64 endTime_ - ) internal virtual override { - super._mintTimeNft(to_, tokenId_, startTime_, endTime_); - - _rootIdMapping[tokenId_] = tokenId_; + _assetIdMapping[tokenId_] = assetId_; } /** @@ -143,7 +124,7 @@ abstract contract ERC5007Composable is ERC5007, IERC5007Composable { */ function _burn(uint256 tokenId) internal virtual override { super._burn(tokenId); - delete _rootIdMapping[tokenId]; + delete _assetIdMapping[tokenId]; } /** diff --git a/assets/eip-5007/contracts/ERC5007ComposableTest.sol b/assets/eip-5007/contracts/ERC5007ComposableTest.sol index 7524ba209b9b6..01f4ebd75d549 100644 --- a/assets/eip-5007/contracts/ERC5007ComposableTest.sol +++ b/assets/eip-5007/contracts/ERC5007ComposableTest.sol @@ -9,16 +9,18 @@ contract ERC5007ComposableTest is ERC5007Composable { /// @notice mint a new root time NFT /// @param to_ The owner of the new token - /// @param id_ The id of the new token + /// @param tokenId_ The id of the new token + /// @param assetId_ The asset id of the new token /// @param startTime_ The start time of the new token /// @param endTime_ The end time of the new token function mint( address to_, - uint256 id_, + uint256 tokenId_, + uint256 assetId_, int64 startTime_, int64 endTime_ ) public { - super._mintTimeNft(to_, id_, startTime_, endTime_); + _mintTimeNftWithAssetId(to_, tokenId_, assetId_, startTime_, endTime_); } /** diff --git a/assets/eip-5007/contracts/IERC5007Composable.sol b/assets/eip-5007/contracts/IERC5007Composable.sol index f1c58c5630eb2..f7f1dc7bb9ec7 100644 --- a/assets/eip-5007/contracts/IERC5007Composable.sol +++ b/assets/eip-5007/contracts/IERC5007Composable.sol @@ -4,39 +4,46 @@ pragma solidity ^0.8.0; interface IERC5007Composable /* is IERC5007 */ { /** - * @dev Returns the ancestor token id of the NFT. - * + * @dev Returns the asset id of the time NFT. + * Only NFTs with same asset id can be merged. + * * Requirements: * * - `tokenId` must exist. */ - function rootTokenId(uint256 tokenId) external view returns (uint256); + function assetId(uint256 tokenId) external view returns (uint256); /** - * @dev Mint a new token from an old token. - * The rootTokenId of the new token is the same as the rootTokenId of the old token + * @dev Split an old token to two new tokens. + * The assetId of the new token is the same as the assetId of the old token * * Requirements: * * - `oldTokenId` must exist. - * - `newTokenId` must not exist. - * - `newTokenOwner` cannot be the zero address. - * - `newTokenStartTime` require(oldTokenStartTime < newTokenStartTime && newTokenStartTime <= oldTokenEndTime) + * - `newToken1Id` must not exist. + * - `newToken1Owner` cannot be the zero address. + * - `newToken2Id` must not exist. + * - `newToken2Owner` cannot be the zero address. + * - `splitTime` require(oldToken.startTime <= splitTime && splitTime < oldToken.EndTime) */ function split( uint256 oldTokenId, - uint256 newTokenId, - address newTokenOwner, - int64 newTokenStartTime + uint256 newToken1Id, + address newToken1Owner, + uint256 newToken2Id, + address newToken2Owner, + int64 splitTime ) external; /** - * @dev Merge the first token and second token into the new token. + * @dev Merge the first token and second token into the new token. * * Requirements: * * - `firstTokenId` must exist. - * - `secondTokenId` must exist. require((firstToken.endTime + 1) == secondToken.startTime) + * - `secondTokenId` must exist. + * - require((firstToken.endTime + 1) == secondToken.startTime) + * - require((firstToken.assetId()) == secondToken.assetId()) * - `newTokenOwner` cannot be the zero address. * - `newTokenId` must not exist. */ diff --git a/assets/eip-5007/test/test.js b/assets/eip-5007/test/test.js index ecb87af588289..4e576730a680b 100644 --- a/assets/eip-5007/test/test.js +++ b/assets/eip-5007/test/test.js @@ -44,51 +44,63 @@ contract("test ERC5007", async accounts => { let token1InputStartTime = new BigNumber(now - 10000); let token1InputEndTime = new BigNumber(now + 10000); let id1 = 1; + let assetId = 1000; - await demo.mint(Alice, id1, token1InputStartTime.toFixed(0), token1InputEndTime.toFixed(0)); + console.log("mint NFT:") + await demo.mint(Alice, id1, assetId, token1InputStartTime.toFixed(0), + token1InputEndTime.toFixed(0)); let token1OutputStartTime = new BigNumber( await demo.startTime(id1)); let token1OutputEndTime = new BigNumber( await demo.endTime(id1)); + let token1assetId = new BigNumber( await demo.assetId(id1)); assert.equal(token1InputStartTime.comparedTo(token1OutputStartTime) == 0 - && token1InputEndTime.comparedTo(token1OutputEndTime) == 0, true, "wrong data"); + && token1InputEndTime.comparedTo(token1OutputEndTime) == 0 + && token1assetId.comparedTo(assetId) == 0, + true, "wrong data"); let id2 = 2; - let token2InputStartTime = token1InputStartTime.plus(5000); - await demo.split(id1, id2, Bob, token2InputStartTime.toFixed(0)); - - token1OutputStartTime = new BigNumber( await demo.startTime(id1)); - token1OutputEndTime = new BigNumber( await demo.endTime(id1)); + let id3 = 3; + let splitTime = token1InputStartTime.plus(5000); + console.log("split NFT:") + await demo.split(id1, id2, Bob, id3, Carl, splitTime.toFixed(0)); - let token2OutputStartTime = new BigNumber( await demo.startTime(id2)); - let token2OutputEndTime = new BigNumber( await demo.endTime(id2)); + let token2StartTime = new BigNumber( await demo.startTime(id2)); + let token2EndTime = new BigNumber( await demo.endTime(id2)); - assert.equal(token1InputStartTime.comparedTo(token1OutputStartTime) == 0 - && token1OutputEndTime.comparedTo(token2InputStartTime.minus(1)) == 0, true, "wrong data"); + let token3StartTime = new BigNumber( await demo.startTime(id3)); + let token3EndTime = new BigNumber( await demo.endTime(id3)); - assert.equal(token2InputStartTime.comparedTo(token2OutputStartTime) == 0 - && token2OutputEndTime.comparedTo(token1InputEndTime) == 0, true, "wrong data"); + assert.equal(token1InputStartTime.comparedTo(token2StartTime) == 0 + && token2EndTime.comparedTo(splitTime) == 0, true, "wrong data"); - let token1RootId = await demo.rootTokenId(id1); - let token2RootId = await demo.rootTokenId(id2); - assert.equal(token1RootId == id1 && token2RootId == id1, true, 'wrong data'); + assert.equal(token3StartTime.comparedTo(splitTime.plus(1)) == 0 + && token3EndTime.comparedTo(token1InputEndTime) == 0, true, "wrong data"); - let id3 = 3; + let token2assetId = await demo.assetId(id2); + let token3assetId = await demo.assetId(id3); + assert.equal(token2assetId == assetId && token3assetId == assetId, true, 'wrong data'); + + + console.log("merge NFT:") + let id4 = 4; await demo.setApprovalForAll(Alice, true,{from: Bob}); - await demo.merge(id1, id2, Carl, id3); + await demo.setApprovalForAll(Alice, true,{from: Carl}); + await demo.merge(id2, id3, Alice, id4); - let token3OutputStartTime = new BigNumber( await demo.startTime(id3)); - let token3OutputEndTime = new BigNumber( await demo.endTime(id3)); - let token3RootId = await demo.rootTokenId(id3); - let token3Owner = await demo.ownerOf(id3); + let token4StartTime = new BigNumber( await demo.startTime(id4)); + let token4EndTime = new BigNumber( await demo.endTime(id4)); + let token4assetId = await demo.assetId(id4); + let token4Owner = await demo.ownerOf(id4); - assert.equal(token1InputStartTime.comparedTo(token3OutputStartTime) == 0 - && token3OutputEndTime.comparedTo(token1InputEndTime) == 0, true, "wrong start time or end time"); + assert.equal(token1InputStartTime.comparedTo(token4StartTime) == 0 + && token4EndTime.comparedTo(token1InputEndTime) == 0, true, "wrong start time or end time"); - assert.equal(token3RootId == id1, true, 'wrong rootId'); - assert.equal(token3Owner == Carl, true, 'wrong owner'); + assert.equal(token4assetId == assetId, true, 'wrong rootId'); + assert.equal(token4Owner == Alice, true, 'wrong owner'); + console.log("IERC5007Composable InterfaceId:", await demo.getInterfaceId()) - let isSupport = await demo.supportsInterface('0x620063db'); + let isSupport = await demo.supportsInterface('0xf140be0d'); assert.equal(isSupport, true , "supportsInterface error"); }); diff --git a/assets/eip-5219/IDecentralizedApp.sol b/assets/eip-5219/IDecentralizedApp.sol index c25dbae4c623c..80a21fcd7dcc6 100644 --- a/assets/eip-5219/IDecentralizedApp.sol +++ b/assets/eip-5219/IDecentralizedApp.sol @@ -13,5 +13,5 @@ interface IDecentralizedApp { /// @return statusCode The HTTP status code (e.g. 200) /// @return body The body of the response /// @return headers A list of header names (e.g. [{ key: "Content-Type", value: "application/json" }]) - function request(string[] memory resource, KeyValue[] memory params) external view returns (uint8 statusCode, string memory body, KeyValue[] headers); + function request(string[] memory resource, KeyValue[] memory params) external view returns (uint16 statusCode, string memory body, KeyValue[] headers); } diff --git a/assets/eip-5725/README.md b/assets/eip-5725/README.md index 65bfb822051af..c1d56bbb9af1f 100644 --- a/assets/eip-5725/README.md +++ b/assets/eip-5725/README.md @@ -1,5 +1,5 @@ # EIP-5725: Transferrable Vesting NFT - Reference Implementation -This repository serves as a reference implementation for **EIP-5725 Transferrable Vesting NFT Standard**. A Non-Fungible Token (NFT) standard used to vest tokens (ERC-20 or otherwise) over a vesting release curve. +This repository serves as a reference implementation for **EIP-5725 Transferrable Vesting NFT Standard**. A Non-Fungible Token (NFT) standard used to vest ERC-20 tokens over a vesting release curve. ## Contents - [EIP-5725 Specification](./contracts/IERC5725.sol): Interface and definitions for the EIP-5725 specification. diff --git a/assets/eip-5725/contracts/IERC5725.sol b/assets/eip-5725/contracts/IERC5725.sol index d7b0196bb492d..adbda0a66be26 100644 --- a/assets/eip-5725/contracts/IERC5725.sol +++ b/assets/eip-5725/contracts/IERC5725.sol @@ -4,7 +4,7 @@ import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; /** * @title Non-Fungible Vesting Token Standard - * @notice A non-fungible token standard used to vest tokens (ERC-20 or otherwise) over a vesting release curve + * @notice A non-fungible token standard used to vest ERC-20 tokens over a vesting release curve * scheduled using timestamps. * @dev Because this standard relies on timestamps for the vesting schedule, it's important to keep track of the * tokens claimed per Vesting NFT so that a user cannot withdraw more tokens than alloted for a specific Vesting NFT. diff --git a/assets/eip-6065/ERC6065.sol b/assets/eip-6065/ERC6065.sol new file mode 100644 index 0000000000000..1849d503e5c5d --- /dev/null +++ b/assets/eip-6065/ERC6065.sol @@ -0,0 +1,255 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +/* +NOTE: WORK IN PROGRESS, NOT READY FOR PRODUCTION + +This is a sample interface contract by Klasma Labs Inc. for demonstration purposes for EIP-6065. The technical implementation includes the +following additional components for reference, this implementation is not required. + +Summary of Klasma Inc. ERC-6065 implementation: +-- NFT burn and mint function +-- Immutable NFT data (unique identifiers and operating agreement hash) +-- Debt tracking by Administrator +-- Blocklist function to freeze asset held by fraudulent addresses (NOTE: to be implemented in the future) +-- Foreclosure logic initiated by Administrator +-- managerOf function implementation +*/ + +import "solmate/tokens/ERC721.sol"; +import "forge-std/interfaces/IERC20.sol"; +import "forge-std/interfaces/IERC165.sol"; +import "openzeppelin-contracts/utils/Strings.sol"; + +contract ERC6065 is ERC721 { + using Strings for uint256; + + address public ADMINISTRATOR; + uint256 public COUNTER; + string public URIBASE; + + struct EIP6065Immutable { + string legal_description_of_property; + string street_address; + string geo_json; + string parcel_id; + string legal_owner; + bytes32 operating_agreement_hash; + } + + struct EIP6065Mutable { + address debt_token; + int256 debt_amt; + bool foreclosed; + } + + mapping (uint256 => EIP6065Immutable) EIP6065ImmutableMetadata; + mapping (uint256 => EIP6065Mutable) EIP6065MutableMetadata; + + event DebtTokenChanged(uint256 id, address newToken); + event DebtBalanceChanged(uint256 id, int256 changedBy, int256 newAmt); + event DebtPaid(uint256 id, uint256 paidAmt, int256 remainingAmt); + event CreditClaimed(uint256 id, uint256 claimedAmt); + event Foreclosed(uint256 id); + + constructor(string memory _name, string memory _symbol, string memory _uriBase) ERC721(_name, _symbol) { + ADMINISTRATOR = msg.sender; + URIBASE = _uriBase; + } + + modifier onlyAdmin() { + require(msg.sender == ADMINISTRATOR, "NOT_ADMIN"); + _; + } + + modifier tokenExists(uint256 _id) { + require(ownerOf(_id) != address(0), "NOT_MINTED"); + _; + } + + ///// SETTERS ///// + + function setAdmin(address _new) external onlyAdmin { + ADMINISTRATOR = _new; + } + + function setUriBase(string calldata _new) external onlyAdmin { + URIBASE = _new; + } + + ///// GETTERS ///// + + function tokenURI(uint256 _id) public view override tokenExists(_id) returns (string memory){ + return string(abi.encodePacked(URIBASE, _id.toString())); + } + + function legalDescriptionOf(uint256 _id) external view tokenExists(_id) returns (string memory){ + return EIP6065ImmutableMetadata[_id].legal_description_of_property; + } + + function addressOf(uint256 _id) external view tokenExists(_id) returns (string memory){ + return EIP6065ImmutableMetadata[_id].street_address; + } + + function geoJsonOf(uint256 _id) external view tokenExists(_id) returns (string memory){ + return EIP6065ImmutableMetadata[_id].geo_json; + } + + function parcelIdOf(uint256 _id) external view tokenExists(_id) returns (string memory){ + return EIP6065ImmutableMetadata[_id].parcel_id; + } + + function legalOwnerOf(uint256 _id) external view tokenExists(_id) returns (string memory){ + return EIP6065ImmutableMetadata[_id].legal_owner; + } + + function operatingAgreementHashOf(uint256 _id) external view tokenExists(_id) returns (bytes32){ + return EIP6065ImmutableMetadata[_id].operating_agreement_hash; + } + + function debtOf(uint256 _id) external view tokenExists(_id) returns (address, int256, bool){ + EIP6065Mutable memory _data = EIP6065MutableMetadata[_id]; + return (_data.debt_token, _data.debt_amt, _data.foreclosed); + } + + // EIP6065 get manager of the NFT. Smart contracts can optionally implement managerOf() to chain this call to some underlying contract or EOA + // Otherwise, default to the ownerOf(NFT) being managerOf(NFT) + function managerOf(uint256 _id) external view returns (address){ // note: modifier removed, implement in code for efficiency tokenExists(_id) + address _owner = ownerOf(_id); + require(_owner != address(0), "NOT_MINTED"); + + uint256 _codeSize; + assembly { + _codeSize := extcodesize(_owner) + } + if (_codeSize == 0){ + return _owner; + } + else { + try IERC165(_owner).supportsInterface(0x01ffc9a7) returns (bool _check1) { // 0x01ffc9a7 is EIP165 interface + if (_check1){ + try IERC165(_owner).supportsInterface(0xffffffff) returns (bool _check2){ // 0xffffffff is required false check, see: https://eips.ethereum.org/EIPS/eip-165 + if (!_check2){ + bool _check3 = IERC165(_owner).supportsInterface(0x9325945c); // 0x9325945c is bytes4(keccak256(bytes("managerOf(address,uint256)"))) ie: IManager interface + if (_check3){ + return IManager(_owner).managerOf(address(this), _id); // chain managerOf(nftContract, id) call if smart contract supports this interface + } else { + return _owner; + } + } else { + return _owner; + } + } catch { + return _owner; + } + } else { + return _owner; + } + } catch { + return _owner; + } + } + } + + ///// MANAGEMENT OF NFT STATE / MUTABLE VARS ///// + + // change debt token, requires no existing debt or credit on the token + function changeDebtToken(uint256 _id, address _new) public onlyAdmin tokenExists(_id) { + require(EIP6065MutableMetadata[_id].debt_amt == 0, "DEBT_AMT_NOT_ZERO"); + EIP6065MutableMetadata[_id].debt_token = _new; + emit DebtTokenChanged(_id, _new); + } + + function balanceChange(uint256 _id, int256 _amt) public onlyAdmin tokenExists(_id) { + require(_amt != 0, "NO_AMT"); + EIP6065Mutable memory _data = EIP6065MutableMetadata[_id]; + int256 _oldAmt = _data.debt_amt; + _data.debt_amt += _amt; + + if (_amt > 0){ // debt added to token + if (_oldAmt < 0){ + if (_data.debt_amt < 0){ + IERC20(_data.debt_token).transfer(ADMINISTRATOR, uint256(_amt)); // return entire _amt as it's all prior credit + } + else { + IERC20(_data.debt_token).transfer(ADMINISTRATOR, uint256(-1 * _oldAmt)); // return _oldAmt, as this credit has been zeroed, and debt added + } + } + } + else { // (_amt < 0) ie: credit added to token + if (_data.debt_amt < 0){ + if (_oldAmt < 0){ + IERC20(_data.debt_token).transferFrom(ADMINISTRATOR, address(this), uint256(-1 * _amt)); // admin owes entire amt as credit + } + else { + IERC20(_data.debt_token).transferFrom(ADMINISTRATOR, address(this), uint256(-1 * _data.debt_amt)); + } + } + } + + EIP6065MutableMetadata[_id].debt_amt = _data.debt_amt; + emit DebtBalanceChanged(_id, _amt, _data.debt_amt); + } + + function payDebt(uint256 _id, uint256 _amt) public tokenExists(_id) { + EIP6065Mutable memory _data = EIP6065MutableMetadata[_id]; + require(_data.debt_amt > 0, "NO_DEBT"); + require(!_data.foreclosed, "FORECLOSED"); + if (_amt > uint256(_data.debt_amt)) _amt = uint256(_data.debt_amt); + + IERC20(_data.debt_token).transferFrom(msg.sender, ADMINISTRATOR, _amt); + + _data.debt_amt -= int256(_amt); + + EIP6065MutableMetadata[_id].debt_amt = _data.debt_amt; + emit DebtPaid(_id, _amt, _data.debt_amt); + } + + function claimCredit(uint256 _id) public { + require(msg.sender == ownerOf(_id), "NOT_OWNER"); + + EIP6065Mutable memory _data = EIP6065MutableMetadata[_id]; + require(_data.debt_amt < 0, "NO_CREDIT"); + + EIP6065MutableMetadata[_id].debt_amt = 0; + uint256 _transferAmt = uint256(-1 * _data.debt_amt); + IERC20(_data.debt_token).transfer(msg.sender, _transferAmt); + emit CreditClaimed(_id, _transferAmt); + } + + function foreclose(uint256 _id) public onlyAdmin tokenExists(_id) { + require(!EIP6065MutableMetadata[_id].foreclosed, "FORECLOSED"); + EIP6065MutableMetadata[_id].foreclosed = true; + emit Foreclosed(_id); + } + + ///// MINT & BURN LOGIC ///// + + function mint(address _to, EIP6065Immutable calldata _immutableData, EIP6065Mutable calldata _mutableData) public onlyAdmin { + uint256 _counter = COUNTER; + _mint(_to, _counter); + + EIP6065ImmutableMetadata[_counter] = _immutableData; + EIP6065MutableMetadata[_counter] = _mutableData; + + // not reasonable to overflow + unchecked { + COUNTER = _counter + 1; + } + } + + function burn(uint256 _id) public onlyAdmin { + require(ownerOf(_id) == ADMINISTRATOR, "ADMIN_NOT_OWNER"); + + // recommend to clear data and info about NFT here too + delete EIP6065ImmutableMetadata[_id]; + delete EIP6065MutableMetadata[_id]; + + _burn(_id); + } +} + +// simple manager interface to chain calls of the initial managerOf() function call +interface IManager is IERC165 { + function managerOf(address _nftContract, uint256 _id) external view returns (address); +} \ No newline at end of file diff --git a/assets/eip-6065/corporate-structure.png b/assets/eip-6065/corporate-structure.png index 0d22567fefc089c91d19d4c748263d4cde7aac9a..2fe581eafe4f7406d3dcea1773b0d4e857305943 100644 GIT binary patch literal 846219 zcmeEv_m^GOm1gCfbIwUBRZgm$bI$cD=PFgs`Bk}1HnuS~7%(;%ld}yb3d33w2m=Cv zB_t$)H12ljHq$W6^AF7T-F@o55_HeN{EXJO!`bJCb9TBq~1UQ(P znK@Tim9?0e*?#%PAI!|Gj@sG423=5!f%$SvWr;EcX-ApaFH{+p&CC)bN#+|c7Ovqy z!?Cumm9F}_oRRt2#G%po;jzSx*#%s}%q(vs2kPwD%23$G?9AM9&PINOc0>+znv){J zv_n>=^CP}64MitBMKbC!ou>FM#pnn$|}_980AMyuBgsT4QR!fI zVy%g!0n`hc1eFDFPzn}NnpS@H;T33tzdiOc&jwN(!6HVhWV9thcrHZt#2)!UGjyXq z{`)U^k^Ym<>z1>x4#Z+b?VF!@&21bk4$BqXzUBSR z?d$B#y>V{qQUv(7UA}f|zvVaG?KNwb1%o?)4$^*7I1_w@y)YHme)>mJUmfwrVqLeCHON8EA^cw+MKf*|zhy zb`|dCv0szW%RtWGrY~sgQ#Eb#tsVAVO@CL@->^)+tLbmkQNF9`@1E0W<-q@|yl}{O z&*^XRl#TlCIsI)P^L*L<-D~e}`kD^T`tG&&cdxzw-<@0jfAigI?{E8mp6~uY{cZnG z{{R2l`$%Rq`Wf(z|4S=}hc7_RioOhypVhZ1qh^S$wr(0T#KL#A@{}H_ciH3|?Z35^ zm^}Z}=x_2~0FJclT?F?&29^)vyM2Nzh(b}zMeuz*L8Y2_^U-S4+d?1SDwEx&x9HZs z`TwhNZmD`7B0;XhH@%iX3HkB8GhzbgYJ)**)Zf03E|Ry19H9Yx#|kilCbsy7AvM6# zWX~Vkhpb{zr(>tr3Fz|x^-M0MrR+Elc zwf-#K!p&~?>q965GH}{YISlJTwY0bJ4cqB{PjDT(>p7xZ>ZUktcPd!ZW{k!1Y~$Cm z6=r4w-}mKP$vTqqc!q#GWx*sYoqJGiUY{$>%ZJWnsRbE9Bc9DmJ|$2D+h=d^y=HHP zu#*73>l--NC4+boCEZ$`IL0*Yz`$Lmf{w@}cr$3QPamo)>Ej7#(Wban=3#uav5^aF zJ$qe<9M_yN1ZByzLySxpdgq1n_a(!kdW4*k55bE72Ygs!%9SLQd+aVT`{h`awf_cK zv%hIkav7CBOdh}&6elXUa#)1FST4K)*|!dsq48BQ3s2fzWJWN8JbW5AhcIwu>U3!F zDiM~U_pyio-jb^YF5GzGhHOZt05i#xtzn1RS7ouW$3T>Zf?a-5`6LqqAYmSi9tQ?Q z_@4b8l#rfH@Xw#Q*Tv-4ozbImi10%qcn>b!)DJP>wU$7@L_ylSPuL`GfBy7K4fE_D zfK9nMD7}*oe=K{{fKNuy z6a!KRL*wcNJ(&zVV7Umkp^_UaGexD>XU{?hR7Q0|4QBjJemg7&fX{^1T=`i8<4*?w zyexAliLT?)6P;WcdNs`i3Ij1Lr6C>#5P~_b-AL~gih<(neWEY6LvjgB5xyyW^$9S+ zCO^LmO0XTzADF17yXAKpu#J&r9oLa`6R*wc5g&XE11G)U^`y-pXwL+tV*$*bU+n zyJj%L9%AF)esm`Up!$3V%etv9U5vuteHAhZ)XO!N`}TR6qQFX^XFL0|-63>TXYsiz z;4%P}Xk0!Eb|N2)G2;fmg0;&JcZ#W91ecvEDr+Uy6g`ag)W|O?B?Lo0Apktu8E%35 zg?n|~7TQi-+@_&aOl%`{+_r7K7=(K;jev8H>ei$IKj>;7onQR=mK0|jC%;yGe$R!j zP_Z&hKv&C$mJd>01RB7m4snB&eu7WzZI>eOw_}N`>9b3@i`}HAjBM5o> z$53_?!GbqW-NB3%-~wtPUF|+F1?VjwgD6k^xTKLr=<>n+{8Cj!c8m=5PxL z6}R&*{pqK*iP?oYlkw_V6UpRcnc=>x%nDWAT~Mu}nu-~qE4L~4mMA||svu%6lGz;R zdF3Y%f}U=pD2^-uQxCdyGluFy+;&B^9H#Rg(LTFTqI)H&~56;!dqXP!i->~s--k`9%f6C71+PO_B6O)cZ5>`Aj%3* zwHp{iz7Q5kuO4JfL~_>Dxb!p-*(T3xt4+uhd6Sc!@5RPwane$4frZX;<#q z2=d5bLV7xsfD0=5sQ3z0FvZFS*8$>vfU!f2o1iAH*>K_}==BJ(meMO%xPCOohr2JZ2W` z&o|xxuCjQA$+ZmfDFXxOqI}RN58BxVL)x-|s<`dd+XkfYI8Ny0GSzI+ORVzLDG_N88syGADrK1CQV>K7en9 z(P|!y^&&`8X@*fi4-=)G`B|A+ug5Ve83v}5j@T>DqL;F=?A!vB$Fo8=j8~rHUX@dz zsa$GQO^!}rECi}i+ZO5;DC&$=NGJXslzeyJgOi1=A%$|w*r{%bVz%r_my8k4yb)VwdNzJ zr8c2`gFf6GS+a!40UbmX28*EJ5mpi-0C?~|YBy&d5nBPzG=g^QTGt_%dqB<~uj3_5 zcjX>bI!x0!$$nr!70B{v33#4q|1uRJ0=yuTg`Z(yP%`wxlI^W9W`zsfW-PWV1C-lJp{bSUJwZ5WqEqx&Mh=j(rBH$)t2k472-3G-6CJu=k| z!H5I4Ahi=Qs0%2;rS`R*d`0HK*$b`-(;f^ReW#E2%OUDo9Wvr1po%U>My4sIvY%Ap|s_p5;P+*RkYEV1~XozR~1Cn?obDfLHs8Ejd zb;c;FsM)7owYq$adAez*+*8nnA6je#{r$OH=6Lp@MjjEe{nZpuT?BKc&<)Ra?pAux z9Y)Y+FEL0A`H1n$S8w4!l_xYdk0VM#I2Zimu?Hbd*E;uX5>u*?YXl7R3E;r%0rIx0 z=nRObs+h~yb79OjKzjr1!~3AA?#90K`M)I!`f&3=vWSD+ zZ9}anwBN2Lg8Mlv(_B8lGWa@JBO@gr{&;nFJEDxQv)tJ<`7Gha=(g64esI7a#2^&Q za6dsYVk%c@=b244GV_6JR%lz+mn3H4riw0{Q4_qf4z+iTxr+UF6j>^m*l0nFX&+QVIJ3^9f+~)1v}j%R2;&Pu2YQVxJtqLvuT1?tFdg6f~v3T`$q=?KB7Gp~4efE%=* zSLf`%kqMhI&vqlRf#(6iBEWY{kHchb3q&M}P*>qD=+#EC zGRGGyMCa+DqS~t4jGFT}Ge5C1g2r<0>BRTNqM~u)IvEO&u;xjwpbTz(8N}tPV?Vv) z@4tE-Lm&y1>(`SEF&7aoHivwX7OKINrOR07)qK6f9r7kzKG4A?&Ku6l7~Hatp;>NF zmxb}JMBu|+kP@=YGde+iO?1gYuy{JvgU$$@ z-hB60bRSbb8g%|{u*E{Kr7*DYZu?mX9bBS!2N+49fd8My+xTT@8Hrgh;-= zY1rEYZ{sP!ptFytjD`;EZt+gxuEjC$zR<~Z<6?Y4Kr+1|U>J3T51T>fQ~EMD0dRXP zTt68K|JyI_8P6Bhl_{7FI(^H;<=;alkFzL!`GZMFE0BP9H?>e!>(ysurrR*>bIr=d zEZo%y$vBRI-u($92yB7aJv-gGjMg<5x`W2)elWli)RfP20EU8@#i*I9D?pv-0~7FY zz`c^)4Pf>PDwrqSiQtRlFF`4bIQPT6IQx(9665=9PNwTJD1ayE!{33$JNkDUl$(bz z9tY{jgjTWtLsRI>4TlO{9k#uDwzqvSEC6ZmZ}T|5`eKe8#ICY0#cv-piykY2MaUgC z$WZ5|GgJb~3>{m$ed$?_!Awffl!85W699S8%KDG!YS1^FspKo`7ozsT;3 zw~7*L1F3RbEJ>^udr%$I3RvLfTtIo*&SHs;VOl0_Mx1~0lLy4aV?KKtENptLn2zcL z@d6Cxh3ATvAlB0He~4c_$3yo&(@_syP{`2dI!1x3v|+l?7Xr2K_kJlugZ5sz?cbkz zTt5QJPP`+l@$1-KkB_fBbz@|p&&q5qrd0#Uy!=B9xCnMRK~oQ;JG)Ut$>ryVn&RVE zN_qGpneH*nxmX7!Vvs6^sdxsd9mErX6x$K-YYKKsW-dIj2Icbo&J`+p43Aoh15{=l zn+6*Icg|RLf`H6z22@~U4%w#<7kHIY8G5fnjxkxo<1hCo7n6Fhto0k{ zPN3PI4`-l31o-&L2eqHhmZST$X|F_o>R1;l;~923EXP3E1uaZZMVnM|^LhNw?0;AuIc z8V5pj8iTMCDuctM&sW=rngU8tC-?vJr*|=1QmVlYg8+KDG5fD~ zaATWd;+B{ss*dRF$ewKQ8m+|6u+8s3*sA!TENca`0=1aYgMdm!x)lfo(W6afk@Q=C za6$}MWaG$`2UMa$n@_P1iQ$sDPtRr-@YzU9?E?$7!Pd;$GRE%W@%2FnC(!c7sb~K9 z-0HU0_nmt)cbd#n!h>S=b00^vfes>&S8$4o4QIbGJ<>2}=RWd5F1&Jc18*Mz;zNu3 zJa2M*A%>|8>H6Fl+k*iF&`SVkqxt{eH6xfCNJo-rp(~apPITGDAFPA#>hq#-`F)v_ z%K^Di4rv=tSCyCOEr+n8df0(XwJa0C5R1|3sA?6E)m`RP8sox8z=B%ua$zNx+{q_} zF*|6Ht_MOknD{_U^uDDeynwBA%=P5&vVx1pp{l*gfuFp{3Io=w-?#Appce>NSNr27Zeu>nzw!E%7khj>Pu47VVzeV*hl!xWUb$7~#y1f`!d zK?3dnuyxSc7}*VU^lz5xdiJ)AIL4nOGis3L+%b@1p%iX088T{ zX*A>Ao0liR1;M%&ojR|5Oo-PGHAGZwHAAsro&EK959&wRvL66B0bmx~Y^4)e^5hga z;Ft07ub7iuI}feZa+AF@yYBMs5J2;#d%@TF(zms|$a>-AqZrz22SN$zXZ=}}`m4NU z^c)6{bU^?r5T3T1hBOR|KzUVQLq#^=$`uVqrWsQ}Tj4OLR4WNp^#zM{`Dz~*rv1b` z7>W*cvN5+GrVTO2GY^bvkSDe|9%u{VPPO;wI#|>|e&=UDhG3?3v)F+~o8pjE$RY;F zdQOb$A!Fc>E{ip|$OO2XXgobuR0i*?TIRx{*k(nngg~Y-Z3T7pOei1_l*Kref%v?> z^3bWr*{p_~!Q9hSDy3rpu-#>;-U#)~&(u08OrFC4piMd4$GwAz(lq5dEpsanew}MF znC+n-b#R~MY(Lptl3-X>5Js0@+^wjOQ=I|hwO+8Gh!i=nd9;KpzIY$+?k_g*^iIwF zp?(g$vtd1uccj-AK!9=v8#1uQRWg%Ks170KLt0ygZZ_VK1<|~io3^2SmyOPj@>j~uXlhghXKwR1_RFh5-gBu3Y`8im~lCVEF@_ zXO#d2pw?(G^&+Qxt(2wQ0b+J`X)l1FMDX~oC9NX5p#s~!U|b7#q51%{g623j2vtVV z0Q$qBwC`grSKX`HubF55#;^(iXLBcdv8u)V(|aM0(yVG@tq(fDr3G@0f_yG~TYI=b z$zkAWC@-PYR8dB9MkWHeE_HTP-l!N$>Q#bp%pHxDKwKdZB%&XJRi2m+HqIl%L1qj= zxM~kMj3JLG+VB-pQ*DcvHxMCnUmHwL=0NVwnwb!n{|F8u#;HZfC)jdyWzR`>Z zqv9~g3($Fju^y34Nswg>J2%CE7!tvBoOva6cZOTko}=}==-zG# z7%#>~^vOM7~*FiKftnc4Zdh(&Xlm>&n$Kk`SD=qz=iDRyu1P!tFGgwO5J77Sb z3JBD5ca^$iM~Qh_yPoL1B7!WAj)@ilu?70$&%wBkMtq=XIL8UE5Jd_(7 z-~yHdQq}F7vRDK_rwFIgxOvgQx0o`50Ej=o_A7sgoW(`;!9sXDcmg1KH> zu_Vk_i?Xh6<5VVN<(QVM54DM5!1v7ENh&WRRopt+3!_ls(KtF znGz-Zh%uzM_HoMPayg`*i4kYtG+EK&;;QZkONMGIP)|P(b{GUO_n2ZTy`!P_f&_yi zTz5qtYh&*K7>QKg`ClJ;WJc{da+dc^u69a{gyc`q<+p(%4Jq2^!$D#m)_6 z?SN%~9GDCT!HhYG{G$~z)ZU9IKKZzexCtj?L{o_j^A9QI{p(>+@yMG=@m$P1@iZ(U zAQhd8HqRoA46#E|EUq4l>>Vz~90V{rb8d+v^yC7Fd(Y+;RZyV;`5=`wBT$=$vRfe* zs0(T~c?kE?2hv{DLSABJY=MB!USavs!wxlXJ#UIPtOc#ZxL?Doc6gq##F$jRKT*Q?*R+Y-(LGY_$RN5#epfj!^G0@3Zm%#ycE*&f(dW~tZo6K?zUshQM{oH+@ z+~DxV?YBVv@}c`9t)1`pYLszz zIwbeVMFAh)LuH+3OuzSNeb#5cr*qms0KLF{uCrb06EA z=Y9q8;Z3{|aOQV0;3uA!5%`g$;#Mv+oNhaaZ47#PQY^$acSifq0S22)pcM9IUWo&? z3f?OsbeY4W$#j{3i>YO@7aPUU;yqXN{tuz6J!!uTW1laR_^pmF?!3?1dYuiB{s&ZU z@_yrExni@doa$v(=%C+p%&2D~&aqpWR-9S%I@PU-O;%t&D~}ilNM#xN=fp^>8(9`l4WJMpZ{s|t|8^rRn@ zritzBBr$;7f}$ z7a@RxT%HUJG>Qao5N%7PuG_K)49%6n`T^&zhZ=W+86mJMgzRPT-4e{e8D|UDgPpS% zIA9N|*kEyoMec;OM?hhcG6#Y>zyMpujr$Q8%5@dWrTf8}#ZtXc>R0iXe|Z8U?H7X} zt4ip)6#Doerq4f$p-ZmvLk|WsgIp{9-q{B>4HEq20p3C-MZ4J88o8@X&<1D-ByjgE zGKf~3J}b)jM^BB2#skO>cTZTNevMu;9>Lysw^j3q-4Z;N840xGzZ-K>vQu?gp8 z*J%Yp%%k?`yc5sQfHT44oWT6jF8s*itv@uYXcdg}1wqU9u&Ra$x|sgrp`cMw!RZh{ zwFGEv5kMa(9OPe_2ClZ!QOQC~IeicKbkHKWJ1EG&?E@Zlew-hdQD@(3dy1&wrZmc6 zb}{FRxgc&-#jS)fR(FDy4+0{4y^Ih|-Ue2lO5QG+o0x+9v{KoKK4c$z4AvMp)wZQ5fI?L6wV;|X-^~fY(}5^ z;u8DnnR->`>^wOj9shXZNgoV0ovz+3Hsdbj%+SnH`YCT+jLX3y!Br*HYyU;Zc!dcM zjO_Bwde7o8M-1wndDD(BAGkp#i$s94g#b=U`qs+Wb#FuaSq zw!N?)v5S*~YItD(dymP8+ZF6Vn9jjKO|hj43c1j)W3;#;KECxDAH~vlc_5Z}HQlaS zL;))XuoMBl0;12_s4)2eo;l5?DbU)+&!BUEsi2QbxIHK#6)BauRH~|#oG>D z{PB#+W;Or@4p8ZzcL+L3WdpQrkYMtoABn=mTmWr>IDPqfFdY}~h1#L~50$rH(q~zu zJFE%!RN|bv{wE&y&pcAImk`R%MYzq$%*-)$Wr|%mK;z48a?y#CfyFj8WaRl3t*@=TfpA^ z0T?j*{`bL~42GjJ2A>NAtK`~GGcdrK2(@esYEAc686rodGE}v6BfuPb>*bN4LxJk( zw*Kk*-6h7k`r@ydCFfrQV4MZt@w1Nug7bvw@j%gwBm@u<82HhXt{o1m+L2jKfPocBBZ zxL8!@D%$P{r5DD_)nlJgQjeJBgmMpz=wXvb7}$L7?-N$W4CD9JjsEdD7y(|_5Ra{BU7%m zbzfxR398hMy!lN1_m^Khl2*wh+Z(`aK=c+1_#g_C>@hT`ml9ATwNJY6uupF~0)Cho z1T-0_?5JDpe^dyjr1cnZSI{H~SYnb?FscH2s25ZpWqJ`IGyR$UPSEI>iMj#s0FcWO zI#1;+G}^ng_X?{PjnIR5y+1$jD!72LR{mxMAB2&HWu`|*W(fHHJLF4k*97R`DL(rf zhH+i{eui+Fu8a>Xhc=aV<`w;Tu1EO?+HQyTV_InVpH3+KIy=VaXwm-91zCSUCpX7y z0ST#KK_Gg($?WXUgBU5lBWd8l>AW^yHte2w82nhDfuRHfMSw5XiK_A&1BXGz!+j_k zyeEcFB1@2f-u44^f@azc(_#%{oOPsh>ndG8t%^hYiiEoMy^FV*pL)5q4Ku;V^aI-t zLCt37*5ti;cjoYp%y1Ke$a6n};tXQr`wFz5(!j=7b2{F=kBe2!71~%5>zgZ`p8yj~ zFc(-lz}cUR%!go4r4-DM)#|#>#oOpmQ*XmyMxRxeYOXY|W2}x8fHgX$9F_xeBe&Tt z1idu653)l{{`1*qelz4FcJ8swtaVmK;5!rH^cJAPPlpb)n=x(OWI}ksHoYjQhq&~I zv9r&!N%a5uS3iZwV@4gsu9KHObc?Bg-nswdmspvo*5?l@g)#`LNmgO z&+8@!M_uh+71bBQW?A$qN;8n#(e3i~HSI@_82#ne2U^~|TMl8@qce4E_GusIV919) zx_+Tx3(92LnMZf&gCbCi88fAFAP1ba!qwy@D~B~(=UMmY|yMO zfD7zl{(J?F7msK67C6AlM2fp~Z=`;}$Q%m=;DYKvF?_&sC44*x90r-AJcs+p1~CZc zpotDF;RgP5#THQi}S)m$c8Cx@jk|>jMQmQ~O0k$RnV{C{_jstP(*DL^sH5 z228n`J)2GfN|PI`Ao}fPIJwEJv(2`|#^=27>w*^N#>jNlBdxj8h)$sP+;G2ESW`J%QG3!15 zt5TJomU*>X`>*maM^Du-6_{`W_ss+-fuI60uvjl^pX6>fOJh5Z+k5ZF+Jow(I)$$s z=tDu-v3MvMTmfB~`yR7FT`Ro`I*>O!DT*uoNzZG3DC>mQ=Uoq;_W2$6LyS9n=leQ9 ziQ%gvX2X98vs2fJJ^!QE>0^LFVzARvWDK6L!M%8C|9fZh`M1OxA?SP6x?4IfJbvLd z4;TOjR|g%GZc9@c&*@%fKmc2iWpJ)9WkI{oQK$Bd>Bc#kJO4mx*VP9)hh-$3#{oI6 zo8T-Xrmc<~U1JWZQ882|{a0}E7BNhy*u|Huiwkw|D2V6nXtv(&z zkgP>PN}k9fJ}|xl2BI6(3u*^tfCTI+z#3@6nfVzD;`#xm7JlAMiy)(j9S+D2UI6F1 zf#}P3szPOE2$Dr;|0CJet)giEG0SLHoi2UdYRT@@?=j`mBlGGiOiMsTJYd6M_VLqV z0#{LsD}r73yBub?tjd1$8r;~kJ-`OSx+WHLyCuu7gV z9R;?eRwEOUgO&)vD-VdS^Dqb$XnI zYZYXb3!z#FH0BDI`R2=Dhd+8TczcFjC{VEnKK`>LMt5eX}yNh={RRl2D+Kto? zfMNt`AH{(TIR?fU@&P80Z-pwV9%OKORU(e4EBL{7;ZA&)9%POw_t&~G_UG}-_28zo z!62BV9ROuI&9rRgQCbT(saW}`WthUBHp&(wFzVWc-{>lvp6W_v>dF%` z$vpxgOw~=0_DdvUGju@OXO|fursu)b6`+~ijDfmi>|cM&dSBp`avS|r7il!J#+VOF zARpw(+~Sp(v-JGdNMB%IB@}=M2>7fDBrA0*03S#S-wfuJm;r(f5!@QkULFiS=KyA~ z*4`65`5+5`!3fCt_g`N}X$J;`cr(4O{s@du6kxwyILgq2o=E=N(?63T2cnfOF|QZ; zwU6b!{c@UE{oPFQY*jniq#Le079mHd16jm^I4|u3UKpe{$2jF&eE=GBrI1?&Ht72g zAC|$_`3W9B#=QZPppAy}fACEXf%d^|Vr5%Yy-6i2MQX%yG=$nGLor+e*3qZB=%-I$ z#LX5ptMY;leDGqOC|qRjxgWAd)kUCf`cyM@0k*9LP`M0eAhe&kF@du{@nZKE0nRGT zUp{dsM6>>#VQ#FG40Dxb^@IC=G7r`{&kg$_NL~;yCF1mOL@OJZ8`-wZ())8D&r~i1 z7#G3LqS7a5jk)N??T6Z`C`0!E@iqh85M$y~3g!&52U#%9bZDQL@W@fOfSI$?GCiR} zKA|5CrTWZuTQUycY3WyMrBFeTx$^uo_s%ea zRAFIk@U9kXP`8S;FUEF`+Q+>rS?_!$E?`2?KfE0)WNZJ;&QjIkU<2Gl9EP}XgXqZ{ zMQRZ~)}AmGgSaIX1Fg1H3RcP)!VlBf-3I2~>;tZSC}cSUnySzvQ2juMm^M0+lAyW` zGb@30H|_fvKY!#g{eXkYkV>-7QC^JqT5fistGGxYdWbfl#ablz7#mLfu#AfvTJ2eU zjMUTu*vL`3fO#4Y0;ZV#OMbcB8+T;C3$~J=Dz+-RePs32!`ucF_9)#fVB2Hc>JEI%tS!ts0@S; zv@?5ku<$DA=yLB1PfXO(FWPs$tDDJj#k}0rU(%`BVqpVrYi~MtT!v}^${}g7%%@F$ z{b!xS{wKqhVy5I+a}mN<^g-SdQy{HqggN`>zleR+$1%L}EFW`OZg2Bm)rVvPoQ`$c z(>}jf?lLCk|9IqH?f(+`LEYVnEmat~TFrtpLFyR5i^qAkcXeHNXFs>hLudz5K{kvd zz*o;ea-qmGx7siELrnoitT0`sWBznaF*_zXt@3)_opq`qjccF(WgKEl!E~^?>ij#* z>A8UUc}HGN2NPgkMn)0b_BMUbYF-x`_~9Y{AVx}Mxc0kf_G_$A9W1nh6Z9uH*kVe~ zN=6+h>1Qy3i6N$&KdZASqr~CNbIkI94X`rLnn|yC$3v^F!|K>YK9>P{74Qg8&K0e5 zpzp|Hk(Ug*ARGt4N@zj?s)=9*3n=3*n@``K^Z75Hyn3D3nC&bwfJ;}G za7co_mFPNE#XYvBgH13ej)Hh6?j;)J)MpKT5WS`l(;d?psTUrA+%$p})AKAcfc^*E z+FMqqRb5%|>Vl59U)J@qk{!`=d_^uo$lDoExS9#BJoB2~svhK5o=vmmT2H*}1YX<% z2F!q1yZPKaunxkvRDoA>Qx+RMj>+7&5t9;E=AH-DzS!Jzk51j-&Db>sWBFd326)w} zq-h%n?h`1dH2DLA7A^)b42*)avH7ox1-x1{NvOW=VEOvYM*CX)NPs>R#Z4_Df-40s zyb&TwR-?MhE}IPC&2dy-f0=o2rC3zNG2rsp7f#+$C{qOkOuuPfH1_@9_=^!-J$LnS zeqaXUW)wrdTFf#fod{Ictpr2Ffr`Z zK1*^Z!9IFL`3E}l6iB%Iq$tY_gEw;t=zd#WGoKwE;7S;QEC!mk>0@9z0(4Eq*H{k= ztKZp%8t~q)MIL3!G8(}wo0R3m+Mvq4%65A4%FP8TLhQrrKY%JhXsqj)tG9_6ym9{} zIdndu%tA6`j->_gH59;tDhF9dc8H;y4Pa)R+W{EUF74xzj?jYmr~w!uJCMb$o7&NM zGKRz2r%s_TKRFM?c6lE1V5#@yivhd_G^vlE%m#vO9JEZxpr85CRcbvn)oRZ>#dzrl z&9p&n`}mDX#!#I5H(3S{{96;|r0Tv8Wz5mb>bbx}HXsOaxtbu)R|4uadbZ`?BJ*YU!U5t}V zR&&w6!V7C@=icHD&Qu*79MqH6xq{W!88`OE1`sn=U`|t+=uB}_DGV6AKl*tWy?+pg zM?ScP9?Rf4tmPn{m90WH_n&wFeiq{p?SJ7=Vm2$lb+qzs5$xAAYhSS4%j!+98?c2q z2v*|NXTekzbh2Ev;(+{shhBWWxTKQZB?SaDGPML_5Uds!iYiQKXPyHC{(Sre@CJXd zNYD{bDhS|)c0el3{8Hb+0#E$W>0<2>*SD?~BS$+zSi0sVpL=fm%Rjs%wipp%)2>hs z`-h!<05U|3;M<@NU(L4EewQO$<%8|n2h|bGr0%k#?GV~G^Y$=n*+Bqyz_pBfL`y2++Q>yH#|TT#?6`YoYKI zfWA7G1g3(m%&F>WqmHOzt#;B@7dQvbg#xa7UEmp@MG##tU>bGB=|d>4dq>%Hfap?Q z>+kp7!Vr3Z*navA9I5Ak=RBVq{zAcee>;o#6Vxh;m{G(2xc4E178)O~N z-V?(>f)kX;iuZ1Z(4JF}+-pAQ(qmu@iuQ=V@+`ERu`+K6!RIf~#3SQDN5xne%jD)+ zz@K;p9nJkrqOT+4m{E)u9)a{MX0H=CoH;HEm;3ImY#Kn`_I3(HtMgz zrtZQnWuJZddYQyK3GH@8qL+q27K*M!pYkS*9)2=2q%P|apUU<1T>V8C1b4<)H~{?^ z(G(7DIQs*327se7Gtt4%-48a+3w7%@ca@F|4G^e&1vRtsy~jspp;XCKb2#tFIyr~} zZXW2bJZOb}^>r{d`uM#zBdh!JEB)YtUOxK()7o6Qb?)`!$7Ko}U#jZWX~&FJzBaWP z?soqZPQ}hDsmu5r;*9$^nDIaEV8A^}1HpkHIx6dEnX{`w3{20HKLb;)g|^PzSqcmR z{|dPGuy=ne)&f%%O?Wf12VrE(-~UFq)v;o(Wy1n&T8?5fNo6Bvn*^BP)u5ib?(GUl zBWNjhb}r=@6yE6bmv1YzfdtgbC!jiKfhDWpL*)<{%A*5V{?`0Uj9r8LGxiwS?|}i_ zEB7LB5m8HPi*6N#PX|F`p{|M&Ti_0bR(1oH*w(81^und@EpW|(8VIf_iQ8oN=>^$w z^P>??Ar4pxIlyHLy~r^B}F&0A$a_Z|!PV`uPHxjGaqQyGO#P|BEG>|2=w zyeI3`ZVc@2_x%LCBMFQfZfS_BZ?S?>wf*)zwvKe%I(sntrAm6fUfJ{oJBXH`G40v+ zK8xQ?pUK3p#bLm+jUc~97u63{j;abSapv~zPdyEO{v~Jc^v2YWZ=u(hmbrEZu9(;8 zI6);VBY9a>OH+zA6vv8h}j!!3w%QFZ=j?b}l^{P34t+2=oh z&Z@ag`{)Bk4NM6p6W!3}HaQ%^O>Ba?=s$*Q?BbK)0t=OQ7+t0H)QgNg4_7&T>_{Bf zkO|@*1Q%I;X`(lGrmRAX%w=}6@KUwBfTF$CW_lH!A7HSC6^Ij|^8$Xr-BE^2iflFo z?UUMLV#I%3Hdq;|5(-qBmod?}D|V;}o@77&?kjXWun6kh|12dB)PD2vi{p<%U5#?M z^avv`#?3 z5UX5fg>wfuph}Pj_ZMY@2Y`4OP*XT^;R#5_lCcsPIGYUOW-94k#sOeY<=H5Of=bhTQ zC+M^LU+?k3i!iyWvlyWj=Hj8EDa$n5ffPA>|GO%=t!ny-0bHK;+yDA9If@Cs3d)fo zxQbEausH@%G>|n~#Pz8QW5gVC1C9Hgd?SZ#V*mtnzV%$NX!UgeHSLPIn|tC1;Nxr? zeGVhquY5)D@z@0N1C{4D=Xyi#|B5URtn&1nwyV_s@C`@M}7C^eyaoyz#g1v#A2pl^Y_onckrE*NRQ!Vk&QDj1Jq zHleK@FkrwXIApdJN^+X|b4o?g`#*w!mDOPGSk5ZezM+a+Ne6LFI^t(V%`CO&)>fGm z^a5MP%H`Mo_+n+jKX1R`E{q}q!49Hd28=e(FoKfBRPRv@rGM*K)aCD=z7A>zC|djf z7_)Y+4y+iYW6GINPp8AWAxSxqK0OHfX2vmx&usUD_MGW!t~auT$)lh?IjBbj6UVi| ztdaKzv{(3xqMNz5a`CLEQHH|I0c`(UC!p@_r#f^&d&a-s^NOgsx{=u^z+bG%ffhp7 zEFJ^vQ*DilFmMA`UjwrPRk!)G`ZoMK%OQaF4zSDj#FlxSx(!_TLc=O~{r!*#F|1v5`7<7{i7W40RtEp4)i98oP$V;5nbopBrunD=B~+z zDC1`@$T(3IBb^Hjv5Y-cX+s?e7Q2~`^;=J>Lrtmbib*=)-Q#i;c=MXmr?(eq-=9b) zXy4(^`Z(}CLTp+B{)sv6Z_&enKH!T1;HdU9=k&s@+>1|RXl!8rsu~8%1PK<$A>H($ zC}$smoa@#;0Vl183l%$fPplK03w;PgCmkv|qI|H;TM6*X=I!mu zyRg{W*?^ZZh*5c9n;dzDoctkVq&@TPnpS7P?*hZ7qW~IL!5#yI_V0=!ykwN~0KLz6 zGdYy-Y|Kl^mmzo}$bo6bMy3AVOA%CnE3y_9+^kktxmUmxS>?Q{6F2j=#?V9HogrXv z-VR1Tg@JlO?X)g~fTbFdbFMspR|b|4EyHog#Grj5vbt%;mF?Z?}E*#*sy+P${fdC)8wFmzw z9cq>N%Hohe@B;<-=z1`79~m@2WPxhPHb&aPRcD0;a5WLO>)^#*MNESTP-#<^_BVg+ zp$qu144C5CU&qIP7-!f7GXc)pTiC4UNPFIjWjn)X9Z5i6%{<- zKkt2&_hAoa1L8t*K>*hyScOn2*#)(2L!a?8hiU{lgXl$5%I<%Rfh{b!9xR28kDjV8 z;92W_U}Ycy@1a^Qb39A?xyyUE_RH)-y1kcZ^qKazla36FVKMIgm!R>+WnSFEpcQp4 zstLr#yPc=~1v_Zxp0Q)!&_0L&Ne3~Xlbu3*N+5wu5h|iwQ8dW3P8P58$9FPNJL;4# zp1N^$hD||7A+(WceF%k15nTR3N{{v;LnX6Vc|WFoNH!Ro9-S!<;5h9yYjX?3KM&%1 z;y{kO=N=64p0l@LIQ&9bC<2bHSq(t(Mh#oh42T}qp_W^&ilceQWfrKW18wlI zn1z3E17tpPOa~JPFxYX4f~Kx4D2-NNi~{oyUt;j58?_%fU~mu>G8i?399sF)%`#*l zhpp_iKeGn43be)S2nHEIDGX+g7w-U6aHncxqsh=!J{@Dl0`I>dvXPlH)5;zML>wL! zWl;op>Ev5~$awb+Xz$)1lXwI&cq6^Sx_N#RY7a;dMvpSHyFd*kbbB+`Ukd`51YZ4I zCXhU(lEpVWeA8cSGks%F+8w}*VqsPR?>`4d{{t-|RPY!_z*|I=_KHL`whzr)uqUj@cEdgt( zlqtqMVIN@`stcI7rdx4{{?0aW<|hJq;LfJDw^8 za-=nDXAZ>T2bjM+ARg4U|7It2?cK5?i(Yg@oa=$r)7v@Vclct5D_B`@4Ec;b-yH;2UjKFTnas-skxu^r2@<4+F6-1z5wgLEY4M> zel13hjwwfEPWTud^7%8zGgW`#B>^@wH&E~r7+(^ES~yr4KY#WOdRD7Q?j|1uxF*Dm zZbYT>p6V)ejC1|zyCG6R$*Zw$d_Za65N$=x3q-$oaA`c6x!nc2@DLcVsQt%{Il|>m zic#l5MqQ=XmbmLWP_xg{e2P8=g3Tlot*vz+wNqiQd#5&AqXE_6E@(f|Vf*Drqj8m%(Y{#Zq& za&vQ$7{M76XCJT$E;!H#CRl)&-=R&$;Z+q-cpn`MHqQduYji7HOdn`Nw}_Gtq5bk5 zPe}lI&4SUYQi7^KqnymAt@Ft{zyY%>w}U%^Mz7qKX9*d4;y1%y4AH+nbq5;-U}y3V zMyf#5M#?Z4a^u4D*vR@BvvbdY0SsCkoy$vC=6Y&BRagDW&I&d_U5IYu;Q+6ty-g0u zl1$*k98kNpnevNPM>2P{U(uif#99ob(|tR6mAxl_%Sk#y`(6MeAMZdJYq^;BW)4}` zFn77Spgb@xwG{-M`w3X6OGG;aw+I-IGBZE;QRbz`AXQ=y{PAHfhBao!O9LOgEE3$` zcDU&Mm#2cnkYcmQ%K>9O8@u$DfJL*Y)R7G*W-9ZJpJUeke7e<+On&$RNbiiMAraGeFKs<~Aek_U5eNLNBnm$R;Z;kuO38f4~2JU5_7XhCW(y@zzT9 zM8GgWrgKc?PZy;5cd@wNyMK4hjaBUiN(ZUU8KH8CZ~mZ~+u#x9szmII{V|GmhLV6#}{sl&1@E_N|#G3`5y?cYD z29$7FbWM6T!%as4<08Nre;3fDC*Hi9hXTc*ZNEuy=1nySNZQ-%9NKRG?7>fNYr(KD zobhI92%I2VwZBJum_-&^9KBZ`#T&-)Y97teb}D`8GW)TqV2Hv?H-d8`0%~K0%x{nS zxB$k1*$BkCH`BU)xZ6M1b$C$wo<6!#-M))84)D@C%%G*qXcgkUU-9Z(L*G@?K{5}{ z%>YHZLFF3lriZZ1UivX)N-p~leFXH6sTIhO;bZrhlVN*M7Zh`AurParRX8NWKL}C_ zT-3f13u7Qe1h@yNHET0QH)Q{hKhR-*k!Q09Fd(UKlTRO=vkx ztjTlC(}Q3>OoFz>NLTyEhBNBC1;D1s#RErp3xEm6A_2;xRE|SG@iMbwSth`37-t<^ z`v%XV*LJ@0p@hvX7+rI~40If@YV8QV7#9hi8q%H*!SWESL%4#5Py7fxEgUSO4GbtW zcTx+-U_xvvBh;16VeFBK{SU;`zbzK6p%82y2QgMK^Y%S3gcn8Tys2%FyE;1AJ3Dpo zFwwaX!RIf$2F1#*y@O!{=riW>T5OTsXo;=%Gjkq(@_P&50(;AouP|_5`O8oBc1^Zi z`zBLn?8@VeKZ^-a8-%94M0bJW+Mo9MQ_r*00mW&FqNpgbeA{>#W~oO%8^FnzJ+!Y} z+6+&@i1!gx^+GZ`HbH0aFYtw++q@WL!L(X>M{I={nk`t2W4-oc5EWixtnlYUP92(b z>T&H4`p8rz#9Y+jw|~n=z8BY}eFY^XpKZ}=U^+@voez1Qd2umDdv64D3>lE47JyF- zt%St3e*RN_YYgn_Q(W9OP+$YbQZb|*7E4VbWUJ`5BET=a!7|bjEZUqcomjFU@BBiY z$j-72-C3CIgI)|uWAOk?T!CtkZaXqu(kBio6V4dnmv61@=weddybn?7MhvF)t=+wWAb zUiX&%Ym>a_pYOaC+zm9Kf&mqnp6mi=BI!uYg4)3R+K69Iiz{N{ z0plXTO|Jk|=h0`zwO5YIYz5I`?C4r*WM5(*6iiyNELJ<*ch}B+&#=u)_(p~}H_(YH zC)H&cP+-^q#%sieawp1F&>WM%hCKP)m;?RkIN0=7Uq7G5?_8ha@#iP+rQei47>h2} zIgkbl5>nYtjs3)eN^O z=!a{+h|YU?SML zU(yfUl-9vxnE%=j(5KxQ{snB-Kt{eOc6FUhdwzqJqbi z%(MQJxu=8B{x+BPrB%E!HxH=Ks;pV4h7FT{MRvE=Gqn#f!ob{O^$NoChWoNgj82{% zF0}(Ooa6s8Skn!lNGCA=$^B2`y!DGiK=2e)S@Bb{k zC8FP!*XtXIQiYa>5jO|$&VtYmM#pMdMr+*N$ye9*|2RqY>1REfWlHCz+TXZ4&N zK6nVK-_la(5Ni*(NQc-j%zGRg^3(okMw1_FJ1?MeMGjE4?~f778pszB3E>i$nKEyB zF!bl~$)JNr05-O)CmolcftnpX0?t1q)wckJ2W*12`&ByFvWx`{@k}Nz3Q*I~sv~Nn zcCvVtp;0gfZ21GmA-V(1!^x8mgaA4s%i-USYhMc%ntA$8I)8c?4B$Bezk#e2X0RZS z4;8>Fs;M4-u9DAI;LN|MMgpB}DS#)actrAMI+z&+GV&UNWPtNck&_u_f)kg@&Y?a3 z#2)6rw8Zm<|HH@?8&g^PxT_&6JnqDUV)SgR!*8RHxnnfv#S5{Z)movsf+k|X;ygOF zKfctoj)5T7yW^9)26pN3a8QXey%J&NC$qwhB4!~HK#T!U%p*t5OPP`YLr>xncHFkg zWoSTRNRuewObpcmp;_qme$nQ+4ehteAdhH&&A`^R6ndY`dyAMB0lugD(E@ajzQJ(r zW!*Z(oDTzlvvi*Ol)a6SadrW@^@7z^G=l@-S{r!pNf`-uoOiGqIA~Zr`vZMg0WDbj z{Te9T*+PNJpnC1y2RU#IqL1MK+9 zh=X7hZBuyX)=9T9pMz6b^vNO6{&xp-7d$S{sB;eLG@fep!`AW{`We?Vvum=XW#<` zV021cAJ|4&Cb;&Rax#Ip_MdQP;aO_$`9cA-U+;lrH(+A|j+Cx}bD64Pi5c8l714&O zYM7XeI?ACrup9C&zRl`Ib{PX4Sqr9SiXfR}fSZ5t2wk8ODf$ED2QD126cGuLm&*G2 z^NkNIT0?q*7~p&mprS(GeDVgElgmh9o=jT_J*&+*$5jKEr>gDyY{1awlP7? z&>)l+<;-LsR+`uUyzO->zp~+CIiwJReTCT_oJOZHAJinY%EGO2h=KoN1}#9mD`jk z!b8S_*>=L25F4QLPl+Ae48#=y44j)6V~(Fx`apP(F!$Ga2Ef!v6ZQ1t-Ww?er*5@r z#Mso(n%ZQVc?P6JgH?lyo#Md{w5e?jS@u8}h&_cjVW;Vt2Lre!9+qMQ)}UU-D7Q@? znuL*82NvB59ff_SX-NkhJ=ta{W z_!t0;W9%QpO!YYJjqu!lnK(9;HTdBzS$pjmCWERh#13x9^k9b>=`Skbz5%8)ucTw| z(>Fxlq=$jVy~8SKGEQDo)t`@XYTe0On1VpLh)?-qXO+9y6N7NxR$!%TGbfHiH-2z4 zIIUdi*s4?1{x6G1{~zMsggdJ1N*hK4NDP_~nuijSL4ZI)2+gVzAcPE>z(NC(sw7l^ zKqVoB(5#Z$oiE1So)V`WV?*pX?%1(0(8R{ZL-1P020Iw=z+`O0n@)FUaNcC~_x^$J zdCop{s)Un(>36Mft!MAE&%Wp0d(NKjt?3reTLvlsHSXCw+!~}R?Sr3 zc&gh=H~fu*`;MQwJYF3g0e^e@-&u!D7@X0)xDafx>{ff<(Sg-d(r@*|-#M{1QQewV zbmhIE`QLeO?s*mO0e&k2{_c6P)8hGH{=*x1k@@-uVBhf=*aHZ@&51E&JxhzA(n!1p z09&MKWA1AC+Y7RRNRsNOH)-r><$tpSGH z|L>FNsE*oJct_FgySSD9Q>tyLEJ(k+L?=rW!r5VQ6IA$D&)vvt`aRX>9!KMQ*uUS6 zWx)o9bnvjbPgLOQha}q}=*h^t;%2iEvi@#jOwB*piS?SX0^Iz`(2b`=6wW0t@Kr!& z1$2vUwlwxO^&N|8j$mHPY#Z*pEMoZd4PdLoMmLVi!7Q!PIy%tu+yTj=5dO*kgEmhk z9ix1jXmh$IZOBxg zzd7<`L(|sj5La{7u5I)8)v>pR_f3HJsiL=^SyeVmflYQ4-hu}IUHUJ+I$ycFw>E4T zih#M3!~Sh<-%VWOSTiRLL^94QdH>4L3sw(tU(ZOS6#)h*@8s^x-3+N!tEVx@1#Qw; zrC}~=&7ywDDhN74+UG%DG_Yv~8uii%t$_EDyuaVW8_qh>38(cZjH1g(^2Av6vw!H+ zqrlZ4E^}tRysRxtWlnwidgFJyFov(fUcTTO2SB_a56K3*H08W!5bz}i>kD6wb*@=0 zO2bPb@fKXKqnsoEa_a41oitp0GFA98!_Rptd%jh=jS*-U@7s^ZcXj z+2bra2DEOw>17z{8~Kv(9w_+Yi_6&*3Kp!-u!YOUhvdvT!R?Ea&npb@lSRuzcxd>ZTGJy#hLF?3*KRpmBi!h6Q&q zxX-Vu^h*vf*xTgPepUYuOgRTsX9gHSRTUPFW>Mv<`xs_`$sfqyX?zrJ)`PDw+jVCpix$9WTCcx^!Vtd&4#opbrVUxg z%MZg@-Eg1I zl&F{_4iF28HWLqD9>eYW0FZ!q&~RWWIH$n?<>ui{`fQM=7%Mo|e{}P^hSW~%ZQhQ4J*Wqi z5d~&o_pgpz9>|%kUG`n>KJUdIeg2EuwoJ;Q&OK=#b1sh%4<-Oma^ z{U7p*?^I*r(>5-d^d6f=7tnr;o^k2A8ZW(`PgkplB%$q!n9j|6K}9r^;6Gpgr3eK^ z<-O4LFc1SQx@t|J6KO_4C=T0cx;*sF*TMSo&+yQ@nNze~U6nuWCRjN)7{Z$P#o(L$ zjoJvSyc2_NT@l#4{EvS1(T{0<-fPqRdAu5MW}J|=IwX2kQ0&r9L)Yh$VU?|nb6yfg zq+2WvI1js3deimwB6kI^>p)7l->_{FgmqlNs=H&@bB4ABr!NTOr?93Mlsw!XB0a8$ z{_|ci89Kb2Uwaq~paE0$JqP2lLDb;aA7o+qHe3uBt}!VOY!IZQ6_S8P_Ue*ESykE_ zn98{%faY-u;k3YAFzi*U{f)EIiBH}v@DPdV!F}1v~%~G`Oyj7mHx7WZXTqk4LTq(kgvW8#v9TaoxP>+ zA9S_a116yYy!+^IPh}x|@B3gj8Ii*T7BCM06Z><~VHyc$qqz&mn|NXRF_Z*hr6sNO zGfOIv#bwrmc)8W$2S-17nJcT-Yf)iy{@5Uwp3`WNfz{H0$B49>t0>HD0q>?khx?Sn z@xZS8TguQ+0y#hiC4oCq(V_V|Q|C=`zIW+uIpjL;BB4l*7cKbKPk*LMRa^Agqfj)L zH;v2I>yMyqEC7rCQO^gue5eSU5}DL}W(aDJ{c)M4hRo6p^_xxKg7VAz%gV2eP&Zy$RjV}dUBMK3Qq^el6R?OabahYVaiEbS&5;DN4;+v#6Ru{@(|Fa(L%19UJ}`41nn?!GJR_ zNbAqbmD4UA@CjPe=3rC^dU&1d>Tm5&LOVvMau0(Fi`B?R=(RAt{m-9_K(kELYgxwb zGS+FgMS7}kz%UZ6S3TWbLnGpuOt-JDwj=`_Khh8Np-)uL+dXYYT%xJod z1mT-!{;iKk`QV`#CM&=>=!(P8NMf~Ne^W(BP@>*|u9deg*WSqVN26Z%jzVAv&JXv$ z4KQfEdV7+dOTYdEIMBM6Q=NP50ZYU@zot#1B0NtxC^8;uRr^vzp3!o5CU zF5`vgwKg~{h|Mm9$kgaAri!=QvV9NJYfYE&b1C6wb2bdCdx4nL?p?z7XQb2-b z(y(&TIWf%Ya?v&3E3M%-9)fu7M0NVKTK_*itq+g^UB^(Xo}3xWe!u6JDWc7tKMdi$ z@1Oo*MY67P=&R*vE7?k+;Ed>y0FE9l>Cd|(Kdz6&Xn;{dOOHr5sAq;cIrc6D zH+{EQG~l~KL}Y$Y^xkgTys4k)&)Q|MqI2%;vR2(zuk@2$+-P`K^_4TU>;s&fRYc(* zG48g2x^z5Oi$123N=9~$DD<*&&%CpKf-X1%o>}B!d&xZk>#% zlmR*Gq*ecAl_;{|Nst(09n1Pziq#(heD?FopipMa4v>IxSIxg{s_hW(C^0Z@>W59df*5#1juBk1i8cas zP`vjd6Nkaih)9YC6EuGMVwwTWm~cnw5#`5{$@Mb?1?Tp2a=;+V4G;vn z{LU#pPj@(#4(6)yJZ~#j;u#$GmRjxDdqM7OQ z*Bj`rp&jn#sfYgP0B2lS2SfHduBC=e| zxQU5sz(Xb%gXx9ks-L!K3%SQ-T&cboFhtTncoh8WXKgMt&9WUl-bmg^*dV$hSHT~D z@jT=yZn^myEOg^F+8)Tf{mbOM41XC5uFi2luY$7&3jM&CJZq=7(S2i}d6pnu2hb7J z#}~3#klL>N^zzf9Wh_s2*{{ClfWVGb^i1#tTs>F2Ky>vacIm03yQ5fM=l zb0WI`@TUqq{MRzTFGE7Z34^cskTOi{rU*Fn`=Ao@CK zX2*n%^B@4D3UFqFUFVI$^1!{*MfaPhU%vfC2t(_`SEX?3XCGjw3+zUMu(1;C>~pc; zAx57Hi5kH$nw6vD^=O!Z23);>7j9rjB4-LP)eP3VAu?K;L`CZg@}=2~=D$z8enNVk z-MvFL5y90*3u~pD-x%1>Rn*!>3PclHq<+8OzIx2-9_F@ySL#;vC4`c?Ww)Jc+p0qU{dNNi|bG6*sG19Rqd_Vys)2#S=N#VPHWb28R?8s z22wJJqkLhJ&OlelHz(f}x#tQkL_@9s(P-Z4j1CYg@8NLXe|Yf?(Sh>?2SBF+y_v3s zbV0DXk}+(7dAGjfow}%-s!G zGz(i<U|>-m)xm=!Wr{`K6Eccw`k7s3U%&Du#DY> zj1+(Y)G!uyFE6YPPR>C|5ZAbxia6=fX+X0y;PJgx=Z~14U8MEWSkbK9TcEFTqMMY4 zC!x`{foR6{G?*?ikbsgNFa}shIaugU)^N|6N+1hpEyEfD1RiO#wsx~SJXCDNMAFt5$Qr@{(%K7i1 zd1gEG2Jbmt+ij)h3b=<^aF?%4!?7zcGX;!qzyR_|5QMH;u(n$D4$~~z7DZQmepEf% zPBc1HrNgBOQaw*tF&b@?1Sn{eeIPf8yXd%tG`9t;00fjw$xu!ZXsY7~AQv|HF&V-Z+&;`vHR>^=s=M2z`7#8Zs?+LD_9Ts%)?1?V5l!f+k{o`c-{% zj0p?ar=32ArQpIGSC8qn6d)c`!rP-*VqXD2WIgf3+n1QDC=`c8BdMOBKlZHi48*GqURdqsZj~WN}3#yul=KX&K3j;B+1ljd>_71{5W)BFp zI&vTmU4FS8L+(lK0~c@`5CLLjb%GXex}&QJ_gV!8;1|;~L@MW5>>zIW@MW+H5Ktfucv1i@ z6Ki?zh>N!7nFYGwG2I2{PoZ67Uv_K6L95=gYJs4wT2z1SD0=Rmad4U^k?}0ZZ;&=7 zn!Y-^b_XP;TR{StAf3~gRsvRC@|}`b zA2CP{Gs$AoTFAJ{vc=QWf`5PJrx21r^`M4Q>!54%R!BN7AaMyrpp*&=y+3B*$^$^( z#??12pHQ)L?HS*VxgRs0!qVe*aareIm2JGh0lX0DOph0hFF$?C^mt`Rra$-m@ue3< z8*KaiProN34OHkV89ehMvu@RHKX5vr>CP`8+WoxH&jGd3<4lK;e0Cc^f=?dO`7~=- z6l=R_J78T&5dCkk4pL(&*cSCfD6Y79rP(^&NLEPR9UbT~zgaMR;Wdwrc|8uz*!d%_ z93El)NRI5n`0uB+I(b(mNFM7J;g5$8wnNg>S6Af7nu4tbvX#Cq=<^ zI_KZf`z1F2;J#Lj29`-9oT~(K7EIflupI(R){;Pmsruu0v_J)DHJu6Q2$7DS9CsQX z?T#oB53tG5LyAR>kIn^XlUp814cb;BoT^CKUXAr z2k2V?#uEWF{)mX+p$v4Z>Cz{hG2jGovh>eiMcTAp=r8^Q*j;{45_>jyeut33Aohj& zhLI>1qlvMArDlO8g(Ot}=F#JMdOb4a^b2iViRZV95L?``WzX*qJyRf}lU_de<7FJV zl>Rw$>ci(`6Zj6sUokB`0jlPpL=ey^4U-GdVLFr~UGQ=cowvGJRPl9abFXMW{hvpk zJ2nPI4Oak6E-ef~^YI(f&E@2h=oJ;#G`srdNP6CU8BktFuf*~C%tXvtx`Nk-|JlU~ z2jJRhPJ=OIo0~r@ZN|y1-R0a!9y7lXWkK&a852-$C=SDj&FwSd6maK1>*^G zIi5zgiAFsKKJULCJ&tZ?D~+x6Z=&I`juxA&mo{;r}=dNeU@D$tfFMNh}F3%6-HxuCrKf{g2P zth9`AhH)U;5g3fu$BD^}5DmCK3a?TOEMLr@aCLhJR#>qu@piYlvVY{N%?urLj|e$L z{%45SNT5a?NGT2r(^LDie|Mrk6UZ@VVA)>1N_0J6JF-I- z)T2?)mRgkviAKyFTq>Kub#ZA*b|<5!kDWimY`;Yq=0pWc(ER)JZ>~e5!*;-IV{90B zrvep?5K+N=7;;3KA*&(jbAR#p**95eZowVgp0Gp#=IYHP_53TIIa<#w^`oFT+w?2P zMHznfBm^B?kmm3F?3E7=c>88o5!%pf1l5*X(^#MYJ@eM9hneu6C&A0MqP(kzCMHEr zlExv;v=$fBp1S}8U0}A3B<*f1dRLiK%!`Suzi?YlzXNGyG#F6IQ_>Y22hj4TpU#ku zo{n_D13(dUQ8VcJ<6yjzZuyMGp`R~9?y{K2dA{bw<90QHZ36+GYxb#^<^<{q>Ng&u zWB_>Zu33Gi<0~*oT@xG_+n5c`rS;T;>6qen1NGtS#K*^s!r7(104MzhrVB7xWVS>Icb1OSuBTUdXuv%t;yzSo|61 z3QW%X|zi-sha&1*!qhL+}UCv4enqS_Pmf4049-qv-H%fo+i+ zEFRSRG0X7{4(tOhICs21+ri|?2Q`4M9tRT)qq%Z~W*RMC!=%~{3J39y39w4TBCUQd z!~-VrID*r!qupH$#wd4nuLu9X6XG)iIg4=SZ&sVFbr3D5W^m&u#LXL}AAx4|=?8e( zW030LW6yo&@roP>f*k*x#t8NMpNRP}P=%C=J}v=mn?*X{w!u((i_+C+jFz!N)sD#C zDzyFQ-vZAA>9}@UX~%f)6`>4WIuT%gaznOsbrY-iCvy z+NyN$mY!|{bX4T&lZ<`I5|h;&0v-oy`Rpn1*4r2Gl)!jDj7$d&>$&LlXF>(o{XRZ~ zhUVs}KRgU}<_Rz-9kT$$2oYR(1v11vu#h#^h z@O`Xk-COh&Se^lz%*L!61C`p7ScBE)tOHys(8=PbU%RRUc&&;J>I*_>n?V9*1fv$P zO0%xp9eVjKr{{k)xil_ouu?XI7aNIz=?m?O;)Z@s447rMZi1A22cKRfsn2!znrE+G zx;`kc6oC4FbhOOzdQe&o*o8yv0*q$??`nb@X$>G_T-sJNi6FgVQ8Kt}%$BlRZ<1(p z%805yX@&0_*a1QPk8zPj+hUh&;!)h35TK)ad4qI?J6ScZKMYpgn>>*0_T4r+i@Bvu z%7yG%6>O7lX<5Q(nAKebits2i)3y`rQ6PXqB#ck^8~ImqZ--u>Mt9dL%lG%j-y zsQuUXv#0>&prA_UP)(?l24}e!aC|PPWE3oOAy|xd8^i&S!D%MOnK!{Wo`!W@_zAep zn+LpR*+5-nwx@wsrM*o++w+_IjVT{>Lveh>CbB^*boE1s(1h?Jo2Z zTh5-meh`8{#|b(-`BIQR5F|Rc(C6=#g94csEcCwMe%e}A=3Xxc+>K*CetcR-RwH(v z05P3Bx7HA8;MBRgB4(hotB%FEaqVX2JirAPlyfePZ9_rKP!IK>chm_B2nz*?8V1f~ZrQ))DlEqV>El;?F>|`@Bmb zW4H`}!CUArvT#~d{e^C|ulDvAjdr`LSBzu&AqzAKst2(O*OoV~&E&i~uKfhud3rzi z2CffS=RH>ry3L@(TVo!&gx)0ZvSMox8o>L`Bs$)JMaRONqg}p!9Sj(g=Ef0eefcoW z=}rX8rf=$ex6wScqNpuxjE2O^j~m4D1uzl-hK+XY*>@m&FMqNn8NOhIjc|A-pMw?(PaJF~_ZS>uV}B-|T-PqcJaHHpEI$ z$R@B^?peIovd?0~d#_`~j1)j$Ai5aKonef7U#PDjfBm*m(bz*EH)sziX=sl6BE9Yo zF+{AOYySoY6o(ay5Z_2!m-WOmAFP~^FT7qm`v|w&!Ss%d$gbGWk8MGFg-7jHKcR#m z@aD}`CfBz?>v%)W#aalc&$rR;o(VP-XcIU07#OlKmM~`^J4;^3hIDT{Z7!(1l zuK-ilpsh&<2`{TwqaN*A%HrBif6y7)&NX#wmVfi=Q7AZ9ZB<6}Sj~VwEMvc!Ip6C& zTAZuu=3|$S4R9Oaj<4-*yLgBtV3M)oi}ZD4=vsVLon6jve)K#v=4bqn)u*Qnt}Q%0 zz@VjXzJ38LjW)V@0E`!;1Q6%SxVy`g8sTf|6wqZZzD=)u=chkgjBX?|C;;ROhQ~Zj z3*BZ59jdixX1F-W)&}lw0_o7^-_uD3((eImBNgr zE!0bgt@&) zXMcI+Wi(D_hwJ=t2-zU*Y#o-oiOFQG6O>LcvVgW5>XXJ4?eXj$+AUv~ouu2n3#fh! zXnyDLHV>%2rzgh-w@9BWR=A zL@)ztncEJ~cBVW)+cHNu8W@yDxZXKYpHGx$=@FhRlWLj)2x;pDZ%D}1he1aNwYpZy zAaHG}6%hMCan+nZXKV)n>29zyhbpGsI3SAu$u9>2{MJ_CC|uIT2jy^v2kUqWZepEY zIXx>dvpiFq1d1{2|PNOygtqagV?j|txP0Ey- zrH$Q7W}rL6Yw{p;IYMyrl(eJCJw_L9BnUh(moXyBVQIjdx;b6vfNP=@Ej`}lO52SF z;Mp2V``rT}(g$z0R93a2Evzsq5m*-lJ8W(dcoJs1J|{zVj%;COvVt0vg{jY`ZoTgE znp2|hA6a|`?%;)Oa&Ssj-}VfQ*3*FWC9_J$Q+@d|bXcXCV_Rmmg0pG~7NAKsJrNkE z+TF}RyV=Zx&=>+*WGvP5_c&STaRSpjvN~u4ra$oOCpfc3(!tX%ntJ`JGa1y?91PHZ zp4-aSDA9pmdP&42G@C9ylH1k4o3_jY#e(`BVB8kV{Q)}CU}t{l*w_0_*Tup0(&d6w z&L)`6Og6x)XsTg6&eK`Yx0_3GmN6SAK>~bU4#6Iwmsw+N{P_5pSD~tyHX$QA(cI-F zkdd6Oe%Hg3Hn#SaN6In3KJLFIst)qK(%+TXvKrEwd0ZW@o8zPL;EU8p`hByTAcui~ zdGEcPghrcbK$J6VX!SB_S+}UcxdwU^s9YAvkeQ*Lxf2B`pt~A;Zli$5{0=$pu+FT2!=Wcf*>`d(&CDX4g$a1_nr%a4M)+tq^x+z@j>223RN zjSRi!T-xi(Plv49TH5}c*Cvqq_CS&j=xiwRneRLZFbMkMN7=b_JF~Qcrxzr6zDax@+N!7#w9O1r^(9m;yC%u?<=Zp#1ko4d1{Jf2))@r^ngTd|Dq`%LC*Cz%xNB$N zRtB$q@Qa@t{Z5h8`=Ojh5hwx__vJ6Z9Slam$*Z&h?~_+9Os2teEwqxrj%Lf*6VjCN9v^!cmbNAufyoO zaXn#Xa|wviPpcZ#&;`v`egdw_^Z3Rph|Ab%j#wS_(8Pg&c=axw$l#wH6)~Cq0&M-oooE>NG?uoHzIx~il)?Z| zRUuft_51!W(FgKJSOTw~sHg2K7?~d*0TVO_zxUvTh}usJ%(it#;(6)kGbh2+YfZEr zAb@27$i8x9KqPQC=rV)M7YqpcOa*_Qn7+_pOa{gD)~4#rk_@Ir9U zSN0sC=m@sy3yky{F8-6*;`t>i6rIcqARZL3sY(5x97Mamzk@hVPXNhU#gG+H>a&CC znKo+onE?zgUg}&tM75qyvTSC6((Bm+Rz?dC&N&F0rJ-_kcJ$JnjdUQ5#)|pg_h*Ag zfyVdHC>I}V=0NqMB((Ig<@WDOF!H8>^tAvF&_QQ5BZkKmeEA~Uj`Dfs-JAD8Qjdm2 zs|RE=Z91ad;6UeY^@=t{dg>?EBGO7jrC>XyFP!C}qQ|@9g2}b5P>uTJm-0At4rZDl zV=`haq9fwQ$tA-d{4*^uf1tgrN4B*mX-7>+Uzfj%%xX(wllIJDSL#aI>e>O9EjPCR zlS49;eu(T8SvbcRfp&5Bg`%6}#Sz$H2fO~@)b9jNi8UFg9)Rk-TtHcS;ec#%eSI7P zXW|R{*nOtUeDhkTM*VCBD$9*$GHic&$hyjJ@lLc8sFMNky0eTzf4Nk6DFvC)~^1>5lNHe6QKfm%A z>&|bEJf}XhXZS_wi-;L$WiaKiz)W#4lXt)jf^hK>(__Q{45y}#>F*LzoH;q9uMX%p z(D&+3Y|;Mi)Wf`D3YyR`bQyj1#X9s@A%Khf14Qt~YF%v-R7@{}fG`@KcUm+$kg0;j zJKwtvmEq{%l<4{0tV4pBHm;2xtzLEC#`~)7+qlhao8QsE*k|sp5vBGVI-E+i=lesD z8C5_XXa$I#5agiA;Q5%3g$#s55D@1lEz1ay!_}s0+KVri(ymE-6E z+e0qi-}j&QQ~c`5s(GT^;+A%V0k~CU@FCD%7faU1_a}kRQFs0jzB&OW(7CN0F1p>) z(7ik`*Bl`#J@XRu;zcw4+;LtZ08U@fCk^-Y#TMzbRx->-GJQ9RY?WpqFBE?jX)N|k zz&m(+L!O^{8--@e@;%tO7o``CW;WwVIA#s_O}t2O=ojFX$fd~HY38|*4$-?FwqS-KRPA`^wFCP+gqR) z0&V2E=fFJ=LDr{=9>)WaOh^VMBGpf5n4C+GNXkln z+^@fq4_>pB+jv211sSlIdY7~-9bH`!WJstwzT7}U^Z9--^&H|aUMYjv-SR)Z5oGiR zhF5#*O&9}G(1K>q`m%yG?VAgD*K^;#MA?wa#R+0Azam1@7`*||sXPV)2Ve%?cp1#Q zk2g7>)+LP<#9j>sbUCDriHH(GxW(eJE6aCkIHM}--(P;?ulU{4Sci>yPHy6n0h+6n zj!e|$jwzdwDus7%l5U!05*OD{q6xg8(-u;oL##a9&)=*dDtm zz?pdfV*t>XjRjW@UH=g+uf83Oc0EXa*=-jKLJ|lVXU2AdI6=;x33vSS(X7D*AZ?CW5bHqz!&Rb9QRtd$PvLyS_5x9 zX@EU43cU4yKXkx!mOvUU?(|+|y{RH&7MP(B^t2$gG88#m!2kNMK6_Ocy_zJ^6`^Sb zIYDkw8O}Iq%U;5x5JwIct5AFLWwc%~nARZfF zP^<&}?jL`mr2)^wH6oxOX+uK-HU|&Vr_`yRw^~J=Dh+s^F2bUyMWenewABGA2IS7E zxbdr-Z^~xjvCh&R>f2Ep(C6~2a(y?~q2u}bdN$OE+BOE|H=gZ6Z6 z^txU~E=Lo>XvsZ)tnku{5V#~=af>H8`3SB{&{D{)H1vwbmEh5$E|;c@K|mYN*O|gB zX3?Q~D_Duh;8r6+NQ+4TF9{v@RT`Nk=OTTjzS|*ceTk6H<>S&`KOrsnrGqri#4@l1 z^~>?RxQIIUm0zH*cf~`euO3BLPaV>F*N6>`z%|T#0pdWDpeZ*U=+9;x0W(2EAUCLA zy*_0fvVwp+c)LC=d{x1yj1EG>xQ>{N$levas(y3F?$ey&PF7xn;C1x5Kz+%PyBIKN zz1xj?jgc01ENzqygDjvUlfAurLOE++1k+zE=LVOKK+JN2m4#U^9SxNY9cZ?JhC#iv z8C_u@!MeoUKOBFR)&r_Rg(8A8K*GzGfiL+rufj#3w7~vKG^2D0C%4|`&5277LLu0N zCW!$9cy13J=igYEJ)pjg4lT34X1k1FNdDKukAO2U1ulk^prcDCEV?!xS%)Y^1B;O$ zoOxOo7d?`-aIj@3xOq&&W^_>T!2z1%E?@3p&$ZLC=l02g@LWU@z!&aI_21e!NBXN4 zpD=i~&mFLRb5Ld(Q~XqUbau)m6O=0pmJC4u=o!AdQd(Ej8V zgAQYPTEuu_fncEkbg{31&9Yr1=6BbO~G%Hssbq*GIi);e+Zc<+T5MWcO;jvF*3D6Xi_ z02e~NMaJroRNu($5*4G|fQAH$c)>0Vy7*7XqJ7L7z>$|YDH3?GNVK;#zd?OitqVX7 zbM7u!9V`hjE z+AWNp%zRNqp_yP!0@6#R1*bnItYF@9KT=W{bm1Wx(Mbc-KbQVhJ2R(4$M5HFLp>qG zIN-tUoT+*XlR+4%z13nys4usf9uuvJIp~WqbapV~&KxxA`myuJX)^=*AiHk>oM)e; zN$|fGjQ@cKZDYs)9tydRCb-+c;Co8geg2@n=+`&eFCSIkDuuS94(z>0!F&-To&H6^ z5a{`4QCxpX+HG8%J9Mzwj+Uj}n{e7U`GMRd7@LgP$*awfbiY0&ZR@AnJLsM}02X}u zP=reOV zO1DG%@A|_%*Ppt2d}8d%D_p5wIG4V5nMR(!6A{F6ED9|YxK^cZk^IbrQ^u- zAr$?`Q-`HLu^a6K!$#1LCZHtCa}%nS7ay6nRKz=akUv>iWv!;0u-kz~c1$4<8du{qjdPTz?QPk6_RP3HL(a;RO+N zDkCYQ4WBX7`6NLZnh)Lu%QUKHrcx!7kGr$jFhtrw0`1W zQ1usr*_eQBy&>Q%FMz&YL2`;h_-tur3^qf^9$GeftU)OxX9&HU zTLV^@%UN-~E*&H`$bhP*-pDKJ?B)WQ4&049d>hOutN$L^&_|oy&4-UA3Ho=JFLMwmQB(e6Q(TKK}l3?#p4}J8G5%HqwSM7rzI- z31m$G1DI66NCQ|jbzW1;mQ6fL;+d1IexDx|o!;WxQC~}SL{+IzD?dEG1=|X(WMS}tHE{3B4V}s!aB#vHvnZf0@N?-U_hnj=h+KeWy z5n_lXNECYM8|Z+$2@JJc_j3Q>e1=v&h@qy#jc4kM8f1YMP_eN%cc)P>AJRcPlELVF zZ;50P?QL^|Yjw_zXCOt;ivTxgiD-D~0*JhbIoI03S-s15E|`Hv@cw>jnZy(M%Z+{^ zQzs4N315i%G;Wp+V9TJioL^L_|B_oiEL$R5)7l&mc$XMg2gcwv;0g^G|NA(721i%D z=;Ix;zakfX(IFe!;9K%nw=`aM5o&N*MM)gVXcdX>@2`y<$i-SL!f5 z>>=J1@bGIvzR;(HidNH^!wg*riU$dL&_s-YrN)+mXMOV{hL^sF;(Ur}enEQ;O*utfmX05X9x|vVh$@5%>8k zXq&dqOsGbC?hqJ*r%2}tjaEEd7_M`+4c)eKdm!U!OSv7qDv)Of%I{fsjfZkemm^!5 zGW7fwj-dgjuN-69X})nvJuU#^>g0)0^+ESAgIvHh0gR3?SN5Es9oxU4xk!fRne)aWSbX}o? zUAhdSr@q~&Lq+!OK*Nfz7bHsB0q>vfG>Ab};_v?PG0svj4ULV~vPyrV04=N3 ze9-d#4sA$!8}K|LRC)!qZV|w9MOqj_ISwpY6w%UHTt(?3t#r+WFeQ{MnX)Nk&GOU{ zJ7k)Pqi84x$m`7&=zSZB-Ov?oqbUIzk$q{vStkdjSAr(K5{z57i%$5bPn%x$;FW*N zv*w{c3eqbpVU7w|S-3>t>|4?bXJ7-a&0x2Gxubprwgy8pbd7>YcSnb?D)gQG7oDo= zJ#}bO=Yi3_28@DTymSC-SV}kbcY!y9;;*pAXwTEy@gQoZv;401<|FH(L8*6TAU|Sg97UUv{yKo1(PFrY)*~yaxy~a%`uJ& zMzS?XeZ6RH$Ddw%`s^WP^m1M>lRXbW=`FFcps+?w^scBvBUr+y2e^3P%YQDliv(`b zN~3_lE79M=wYRXP&pE~{1iW#=S_y1PNa!2jWsvIx1{|DH5s0nJ?FJVlplMlEneM*Z z8x!oG;|Iog+rR=d{)eAGnKyqkb+bB`GL(TOv$C)3pZ39lGJ2C410>VY!;A;u{0q_Q z<6+k)2Ss6J*pT+pZlj>i!1d+!jtE`+W9TccNHBsXtJ~)_)VXKWUk-fs1k>aE6J}sV zNFdF%N)&ikVto?CL@qy(_ZlR@+56Fs_cN#knT($%H(0;bD0yOlnU&Z9_W7$Zq7j~i zM#u8dGRSKBT#c?fkkmhzF*!c|iLNuO{LJq417HGgKJ-Fi`|u_3cC*z8J%4%e0qMj` z!^2FN%@BA&))!V$7x*vd68VsV_KXFh8)rrG#UMI8+%1F7a|APt7BSd-s|dQ@D~tKx z%yFmzmTbYg7HR+5ZE&$)VBGtsu$`-tg47a8k(UxX2GK(IdV!fLChO<^I;ROM(rR`pV=DqKi zfYaIxw~kU>qSSK*OV-sx2h@0ej0{E%{M5*V^h+$3R`0%Qw;J^L1A9kV<3>gUmchSZXH52O($A0zOw;p8xU3nU;n~BtS z{xHW<d~f0hlz&To!Fs1M1S53NZv^P`yP&)<7VR zJ2DM{Anpe+?C3U~Nou*_3^#yr!-6xXRr3|P0uVViFWixomakA(b4bw)GQs#~59de5TK1sl zM|&{~$F()IyJaB5*DB)GQ__NS1#GINU9qal`!wzatD*GyeQ0$rozuEu!C;y;nML*z zK506PI&Zq$jb7JE^lKT-B_OsOP!9rH^1;lt2XZFwHxkRXfltXI^yld1l{Qz$dH(I5 zk))o%k#O@QL?8oH%QFFiAER0nT3ZST}h`t>Z&S(Z^ZQbiFEivno`$Sz%56=MgN*{cQlh&AjFOLY=3U`V? zZGR?Mds!_VAqbj{))q#)Qn|3$TMo*To!#oOb3t?r9t6c?WF-PDpllJjve`8ytfcC# zIa)>F%G70++XOmK(9zY{Y#D|$@b&Y051x_s>uUY_dwQwpY3Ujx?dk(JpGE_4PeDYf z-d(!e-CgyiBJy|uO9HT_J&AVv^)cy!f2p0}V%+;eM-aWR6{NlK@r#gkkOkS6n;o)@ z1c8NNsVHjE=u0mo&dJ6+kX&KAfPkhg&}&2#l0nnaIj;u+#i^7QKuK|cX9=q(VDt`PkCSho%}|K*-9l4Hv@ ze=r{UoBfZm0a#PZLKz)1=@oqloyzXvt_CQ9d9({nTMgQkd-d_&5eO|HgC0od)!&X9 z6$EDGhE1YrG8=RSFnwQP-%RuvLvf%0P!5Qx4rEAEEKM#NPNQKcw@5Dsy-(kgt-gGS z_TouhOq?COOia&WL|!@w2Iv`vxpz{FCuKVGvhllE*~ruBTy#Tp*7Y-&fl_I}gLnmF zw9-a^cRJb+y1}L$90r`58*wpY-bfpV~`u%%c`MQ2+5Wo zQ<{SIvv*`fOH5=C*O}LUU-RxezXF=)1)e;QB!g21?8h=hTB!DTs_R1GX87THvU zree*PZ@N0I@t(h$@E+Pa=#*if9;812^|``-J^lRGZ}JoZZN!CKI8fNdlNiwT;pCx$dUYTg(Z$2eLn=~|-K)u|DINxYQ*s>69 z39F4kv5_G3(jcxdwWGtgtz*FUqld)I; zMeQ{9_5vnxKIpU8tNg$EA%v?><}mI`L9KgPtPDH{A8&`Mlf6!}4Z`9{okcvCfYZ=L z+~|CT(@&dT^UwmwoQW00Ag2MndAWDUKN$)^#$-?{{gGodJd?q??GVTEbo%VzD6c7X zAj#nIl$~ZT5%g=e)ven{MG+HbMvOrUE(GfaP4VW9<18etAnid$CTF;*4U7|E`2lJe ziQ9Ul!>Lfu+~#V57+s(tt_A()qYr=wdzI(`X^g^{O*Abn6%7(N|MbwaB9)+F5xoZ# zKTCAJyjeQ;CUSD~wG~z`MJJrA`{Grw8W2!<@lDQfRd8PI>R1S=**4l_rA~UTnzI0I zEd%-hvhfz~_1z9^$pfh`yU@vu>-Oq7;MyvXSV4Gl!E!XCmwrJjm-kz0&p!hpLH)M6 zAJR$?kUi+=S;qZJ)gw=7vnus|z!Qi}rzKHfsh~U>pnrOwUKsBa8|L#4^u2dW!3{F}_qbPVQ=f&kMChvkHfF9L zr)_k6pZ~cT51~2|Oul*pflCRfX|^FTz!rf3 z9%2ffd3%kW1v9FSDZXU9PTPwI0Js{UINc5Y`Lkf!tfJ>>@j^BM4M#?DJz16xaNwJ# ze*nIy4lH3%RN(VCrWV8q&juA;KXUreItWXagAH@moQe(&NCJje-!ibWK%SM<d0 zRK6#|$N*M@B53}KG%y`w&NZ2Nj1>WG$EZ`EC>pIbpT&}f>}B1_8`Xut!TB<}OOnB8 zC!I@QJ_vaeNT5%J4vl*4xM+8Tdi@|8U#<&kgVBxBRR+V5IE!>plW27ob#{kHAAB5? zHmz*wvOowa3|0Z7K){`rk2Y{1z(^2GZmf6r0bWCH`7$juJeZ)7vu&I+2_7?Ui8r(owUwdF?#q)A;O-S?j-pAt`U1H6g1u8c-rNirXR2gOMh%QuAPnDlR<`i= zw8N2*T9XPPHJlkU7o;8t4T;NJ0MaqMx`bq{zjLRD*`-UG?xwb}(sm;zH8C zVVVwr0QC@M&u?a!Io?e%e%b{2v%Ps*j_o=r7?c9q6R=8CrWeg(46Fd1{s)o4b#$73 zC8XMvzWOg;5>*iz9ZhD;LL)(NgT8nXjFYO3RoBJY5CsWnvMe^eQ16aC$3;}VF;ZxNxb3T@lONHNW^SN)}%YyfXPf5OP&BJskb{sXeBn)L#h z#^M2tZITvzIw<7ADPFktfYReeyyhDXqmNU{bQnQSXa&0k3>&A>X{SWn7(P0LB5Ptp zwY~w`m^CF?jP%9b>A4K>racKddHT@27y%Nc>C7w*8rOzgpl9jaU4f03&05WzZk5rSOPIV{q$AwP zY*cS6=GA-a0Ccnx;7XmCm=IBY&GIEo}ThW73~J-#h6W#BB|fDKxCQ< zEZ$}ylxB+O5n4sNP#VMajg{%+-Jl(Mj2lX>8TeoCya3)=%Z#C!K02U&;G`}S!{gUp zs~zQF!3=5eHBzRE`eWRB?sw%x68PyuVBRIV^Bw3@|BuopqPg*$$ih8u4>47~vmXT+n$g7ixpNcA9R)zS$Du`f!rLZ#!G zhq0-WUT!jDxM5oBuI-|jYxFu6+Poor^9SwNsy;24J%bCJkip}%Xt(C5Uq*_?^8V{0 z7#?CI2t7K+eRWq)>Dbig)$X@oO#WgsaOEb5@zPzDgSJ#;9x#aJngwbbrPMw9Oi=K~67X;1%v&XmJ4C&SIH5=q@R=cHJwifNA`Z8&n zWtZsw~kTS5m2#+Vokw9X3$t!VUVAsJLaYU|*BzOYB}H7CFlkZ-n>b83Qm z)@<4wNCH(lz*vufTo5O5+UGmjvPC#Au^}_3-+EHnNb>;E($M}uT7tB~8TTPp9R##t z=|;1;oN8~E8_hN&q`RF)=45Zd%E>vRVcMtj1nJC7f%?1wVg!h@(zOCob#F6xv3eu+ z>T3}Dv^`=b>3SMS&?=4k+4Kajl0YHI(jamG-OQS8z^|=HCsG>qDI#y|fMIFc(Aan) zIw_K~W{s!=efHWqaA2Q9ePaTWB@rwqsC3fn(N)mQ;R*ot9S0G$kE_vRDpq<-mw)EK zRbGC3>CFL$H|WqcpaIHEPY1P|*)NzLLtAK1>U7=>O&{}SL>DBNjLp--?9!#JxMX04 zG`c69&tF9w&qFf)fuTa01SnRQ{mIi$UwySyG^I3thUbZI-EPqqNdtcU{sJRIpuO`J za@onB9sp;dn8tMs)5Si&v_-GZ8(zb#$gaxgmKyO=kh>7br{suBa~=tQQ2N zeD$UX_(ZaJl3Ri6Z|8~dZLW7S8)7XGb&zSdFs#%YCf@r2ZfWPDbg|n4@yqWqGOB1A zbrV2ebb~x^#txTmKo3Y<5egoD?U(v~nPvj?YA?PXmb-Yx|NG42$DoVt2OE>^ZJYR_ zHp01-Isv1b(dn$#I_6*>Xp)Asa4CRuw?*A-N{^*V8&MQl(g=?V-_4@QaG`!O_VmNU z6Fg21NZk^mtx^9M9|p+=63n4v7lC-2$au1Y447PN_vv7Td}%-T26SR3aut9ZR52R5 zS9*pI^2Jj!Pd4?37dw)zHtm#!wSPSMf}YMtKbJk#CvXr;O1KstbfJ|)oHP@F$MAqB z>q1u|N^m+vE6eOUuE#^;3!(1Pnda))YnAbf(YRO)Z=L|7OBaGz_Lx~SLBLn1q;2L2 zc^rT?`S>X?mJdC1NU^e+AnE0>X>IrZc1TJQz~yqr~E? z4`_$3hDxs!5-+Os)4BUg!2#V!$Ct-XNN<=2;3R-}YcDvjwlV5TQ_Dkz%-_aH>+_yO zpLs8@x-p!04Ce)WbKvmG;YbMHv$pA1<2v=|zHTl^{d5@ZCXiqWw+VC}qBF{)0jZqS z^72;dZewq!6SJkMnT33OPYQ=~)6Y|0d=vwF8t`3m!G1i8lIb1AOQnpeCP^&&08h6Xe}%zHW6!6P%tSJ6#ofjT) zL#P)0h5bw+0gueW2MkIx;f@snyq7BoIKO{B zbv?l;<1yQ?F+6{Y;h-^CK^sqT-!do${2I9=D=!imteYF7zyJo&BAqiX2DpIBp&fvQ zUYCc7CX6%vHo_-Mp}hQ3ZqnqrH^wVvfQtHWkLBXOjiEySf<|Vtjs!?+Ik#W$r|S)N zj;|7V#`dt*Ef76#GK_|xGb!7+uow}+^~x9t+Hyg%jd`1`wN&X`myO^&j6ge|=hFdY zg?RljGeBDu{rm-@9H$wzFT(Yj`lBX#Sdj&sEH~VISNb+x1RBtF-=pp_Z46b*(`jWT^F4`^qpY?S-uJwV_5@c3M8D=5D%4P20mhCA((Zo58`^tje~)*GD$ zT&p0%NGsIAG8kj?x0XyA{d7p-js)pjbk1Avhs3%%2Nlem30D3MDCm#iXf$R$|POuUU<6QlxD%yBaGbwrBRq3Xi1$&G{*8<${^g+&gFU<~c za3+Yhj{!N=V`(55cud_6jfLqvVm2kTh&ap}q_ke?TzU{~Bkv0gx_AbIgb0XRCbgxy zgDm6dH}3{ZkuiF$Dn3MW@gM!PjLj>VpJ?Z}9$sWjI3LEjT1Ij5OXTgvK1@r*zC15@Xs)1qP&8qhxi|h7W0Fv~D;!#^V9&E07a} z&xPQKKwftCwPW>nF(r3y0pmSo7ARy1*y`0wsyAtR#FQk%a_0`(V{|G|0pq`ULtA)J zy`69=+lQE^T0i2mI0=CB{o+k(fNmgZc=NF#$6B<*Knz8CGpoGuogTV5ICi{B-I4_ADK7%wB?p1CDx1*j8<|{XT2q$y?P-nTz7%i)7mth1 zTdD5z^-yDXOs@5VO#1v6i|1zd#>zp$)4Utd%Qz)IqLTi63R`&jpqFx5H7R22v&@__+v*Yh zHon=ug%da4PR9Lk8yNg`8^T!K;@xeU5okC-oC?75nUESwOJ44j*h;5QFqh&N-_$>7PMeoZIoy zGrCu5J61Am!#U=`BhY3^Ybqfe$_8fjZHQRX%$)V?n*cX{XIC?Ux%AmdurW?DO;-+; zo}hDzkk5OXHMZUg;M4;u5=t?ns}J97vIn;gh8VSGVvpPp=d z4+)3vW$Ex?we)~AAE0@|+TLPKgNWcB0JsW(1JF-`oOj;Jho(y~&Fa!fHGKE5+2gHz z`kR5dXg6#I+r+FDXcnLmz9_2pAJjo;g zhD6-OjVR!zGSLT(=>^pG7=IyF4cIiN8er^~zPxj9a_bfc(Oa7M!2!R2?O8NOKouA6 z`%Kfj5KWHAou|IlU=+hb66_aYMHp=#v8DCx7RBTYmY{P3WN|*&N>Ck$X%GQYbqjse zs{7RGL8HM1Mju+Epy8|qb8|jET6no%85ZNGryvE(K6|r|qc8z){tPTd?857Gi7MWI ztF9d#noL1`Npcj=1$<_+FwrsYII*yh3C7DHqebTufem+oReHF88^yB4$(R7w|5t%1 zToxBn*VJ1Lu@%&l843>24y1zU6Ce-NTE;czF;hB0+z~ENxdRM{;#z^7r6R+avym5m z4$fTRxdM*G3o*}XuRJEk;55i_y}pi+4$~e`rSbRvWFof{H;?g~orBC)P5V};g4W=q z{u0g`;9#7rpf=g&@N=2XdT5*o!07Q(0JldN=!;hm)mI?8KgvF24y)?PgX zIl;ZB2V8!1s)K&*sWsjd2W@mO+v@c29Oyv47KC-sGwDNtuEK2BheK_e7i}7#thKEL zUrA4zpo8Cj-1t(y#439-T7FH{bjxVeJ~?O%Vskw=*6Dl2Vuhhi3_S&*vwWeJ2iV0B z3=yRhW!3?AgLo%jqgeTf}?Pc^JZWbqz*a~s1{-JP-u*N zFHbXZ^YH}eoM7^2&kaFvN%RdX38QX8DkVN;JWNu zv+L$twNo76>N8*;zY3Ng8&DVuHZmc6dh;*JGA^ui{06vYX22t z0KfdY))>u`e`Z+)VR zc8&FMphRw#GEiYA*g_D%zygt=!6LoY(xtA!Xz5Al;>(46N)j+nnCd`U$7I%K<4vV# zEB8YrEMS&!?(U=sKK=l0ph*r|(v&p0Tx>xVR9qm<%L^xi23WZ`mVgs8 z!36a!v@@U#E}bEubGCv`X*-Y!ObXlwM#<;`p`apBP0r^epdPdx#DoC)93rQgQ-F(3 z5$I$YA7GNR3Rmwyb#q#Qpnre#MQ{OE&(l~ZI4{8>Q=6o-fXc9jLtE8VXmEYr;Ou}D5rgMn6D3##&ucpO6KTA6pbE+ev$i_t zUtc%|nF?C#&yWrN;mA`EK>54RaQP;>t#mzoAPwd_YNe06GE3CCb6W=PgnH_^t<3!; zjK0AA$;(hCYy+cq)5az8&*jzQbHJDM#r18 zvj_)7kGhkd&T|HW&jVe%hgZ;Q0u30`gwJ#8IG;Tf&5JYF0Pc+7OrERj<&=QcwgtQl z1Hc?ip$CCHCc_3^fZ-N&4QswEkoFd{rxe=6U3%{s-z9e44Q^{$zN{Vl?<}k`Pviq+ zjI^RHpNQe~amcgJNkjPDT1b`^Ao}v-@4f-~uRnjR!y~2~5xo%RAMUIrgIsoZ)mKkF z0a@r|-~r?N@J03J9bvqY_(X|K-60J|-}urONJf*c-8x9u-Sz1a-I-`KfyOU$+i9(| zyEgH@0x*7p(0Is19#Aa?=Z!;9cx_vo@lLeQABD~uJd|8LnGBifh~6VMS3<4cpc183g%t4^PQDHSvV0=if`rsAl9c5si(g0_@m}j(A zAH}oPe&c`Fo-dyHw_Kh4x|Vfzv-977_fnUC_+OrRT`cqU815d; z+k|&d_;&T?^AzW#d0trz)RaN6d1BiyqMPyxpolj8?jAKV(Kpf=@!_y26{iJGDiIZeJQhv z2e3oX3o+Mhg)>#(J2^GQG6Zk|%pvFg;oTEGuE70^nDM}n2ymtsi;nRlz7954g8|L# z;fyGZFW}iF4JJrbWTY?m22i0ch04>tu^SC_ZfZUB{pzca4sg$|b)7xJdTZ_HtzZ7` zC|z3A&arh35g~m=;}cOZ0Hqh7vOz3mcPCgK2)F~(wj!Zn>gI#J>0$y;_7yeDv_R23 zfYt{ZU!(I=AxDPOqpQYwrR}Uwn%7waweLM5N0^)*26R)Ld6f5gZ#X}H0?pZCvcgs| zler7g6E3}75hB5jAMu?&Ds8>X2cy-UV;%w}oP&%OIq3~=oc|$OJZt73_#Wt1l$da= zyn)4&xl#3uGY;|L~rQ`)Bcf7f0#0_n;Ht#W`?y6FeetSjclxB!4n0PWWKq(xQeV`mb)3EiHq=l2{*aYwPN$WgMUDb17{(v*eYOBOOL%<3Dk#jj zPyT6Tg4k}^0b(-w(0rYRX;}e{J1WhzK-tZr%IU4;4h2R)4WMRrm}t*ol6zK~22=47 zO@$Vjh;F?&{eSbj%o1LmV#IiBJ+wbQ`3rD8kAY^<0F2nvF@gJdHV_dHX8f9nv^iA$ zpMUf;1TT{lxK0a@I*gf^Rt+||COCWMBe-bR(zF$<1tgfz*cGA41&4&OA242a=RgC} z2G^}&wxMW^W9|SPHpU~m$#qo`rh%6Nc%8b%t}=*N`nz+5hc3=cs*iyX82_i{t-zL- z49?&IJ)mo^f>nYdLAh4CHdNbTzkV?qA^4`k*%xCe!vR8+gmr!yFgz7ZF#cJ`XoONg_sYmOB=l zi^u4pH6X!AHrEMk0wo5n-4Y6^r5l?1J9?an%PW;OF>MCY_n&#WdJZ%eh`d&gEJ%Zx z3sN_;DPWcX7mqRI^&Esni2UVle3%;uh~!;vNOYG7@Qbfo6X4;3sb<3&W_!7* zc}z`|_wM)G2#x*&QpRhTYvZiM)-|Nhqq(~mP2*d(#-Lm}ES=y@O7FhRYAmo3Yg-BV1;G%?eYx-X`tpG-x|I$w?ej~Q&{_SNHD{^eYJI;aqo2l_hJ>~+D2 zr-_)D7U`|787t=12I|0ymi6a|S@=4pJiq}N89-wO&4+RK#!kA;ZG4GR#Yi-CJw?-` zvKFS5Aj`XGw9owFc?WacXU_RIxF*2(=7>h)TSzWFi#Bsc_oPdX$cUi#`6m;jm>@>* z=y_#~6tLN}iQ>|8((=8t^%R7(hysgKa#c)( zg8S}cE{}r*Zis$RejM`|ph1H*S}^mkcLfLLqSftV$NiM0uIsi5Nhr?RI0 zaN>v^%{}zR#Gj5oV)lMrad?~Pv!R=BdYeT5w`U%%&Jnev@9Jyj0Zhqo5O=w*0vaC> z1f1+$pifV@orM)1dJVYvpvVu8K~^z!E2@VzO*kLA?#4;_W+G&Qjn5xW0AJArmIq39 ze0l7p&dIySp$m$KL~@(r&k-&@P%I{2CfYV##(Zhg=Z;W@E?`P5<1WbDNHC|~b^iRy zkI}mEOm^rTIRyObVKBWBi;>C9ad;AE(>b2ZX_(-!0&W!G!b6+LFX4~d|IWd`9OP65Q4p67cbaV|XEZsuVfoN9W;s<3 zJ8fl8i3cW~b3yTx)A;*JA7r@mn?RusuwW1nNPh(Ca>e9F3nSjcx!Y{aXhCX~%?0hl zm%vzBZUZmN;eb}%;x1l~t_Gq(8KU+>aKi$;bQq{NjG`*F)c(KudJCV zv8@P9pzHIAx6{qHJanL)#2O(e;+=pq|5*3O3g}iAb~Fv0`9}`BhqV+KP4W54mfr)@%~ zC~a=pUB$bLqAaTirnDVS&G(WL9hLskgXkiFVYPuA(lmMU_4}Y_StFw5GJAVP>rESC zO&4%04>i%Rx6E`+Yo>V!l#O9=Jf*3-^ZK)!IG{e-F3d~tVSKWiX*< z<{$BUVdU=fMsSKXIIGYt7uZin10Ua`3vx1yw}Ce~F6xV;uY(&Oc+D{nnSyrl5wi)U z4m5k3hYChb&AK)4{^+=J!0ZvlcK*01LmuYku<@Q;v6Oj4-o|-#U}z~PbmK>6FP+Z5 zLeNGK%icbnbiRveD)0}Ze{G;H=a}pF&wPiI|7++%MDm!+U z9=N6O;WH2+x17_J)Jdn;HGu)4E|DL;H2qY|wTCj%;!>Pq<&1%TP)I(@HkZfZ_;tAG z7y$#8BC1hBpteX8T(6g78lcce01vVf0u9zYtAe2c%o71VV*G4`G+P60p2%G;eFYj9v?^xZcr4W& zq*0S@@B~wXlF85jaiHV{sktl5D>#vIE>OS%5;J}$Cw=8%9V>|~jguVZ>@?ou%&fii z(;+6ai9S;kB}RnhuG{+2WSopQOsT8PBT7VD0KwdfU_WyJ*awOS)#vrk{OD@kl_vvX z;X!*q0`9+@dCSKjCdA_AstQ3BLxa7S?-ir*?!0c%>7&B+taO5E2u=ZD3<2jYSz~#| zg+2yJP|YMBN|wel(+ou~w3xFnG0rD}^Z(SH@P}WYfEEUteoT5<4CR0K(PH2l{Zsq> zxEBH2dMfIfrA)pt9x-3bmSmc0Z+XtW)i8QcT{B8{KMoolSBiIE1X zLE&aezv4TC{ulJpP-MrYjSotygQ&zrh(Bp`!e+I(m&vjW)+=B zzvP3;W-;6*7!zRC{+Vx2zU6A@ndFAw24aADWo8=C(ax8ioW8joXf%&=5x;kZ#h8nZm>v};wm0%g4+Wa z6yelxqs3%f*xRyzm5(uB2?CrVgjYc1bA_2?0!?JI&1vi2zZAVXodP z>ct)f!C07>8?jKgQSh}VE7|KAVCMN0XS*O)F~u3&B2XiUPl=q0z$%ewe{x?qxE3kR zvBu~L9DV$26*^q)qo-J`DEWNw8g@9!AzkFi1h8iyH=@ z`)7WrrU82Q%y;p#Zuo-$%MBW=1;0OZj0e|(7-fK-HnC-=sGk3O;KZ+bb7pgg8NWyY zxk|b?%S|9U0&s!miVE)LLl)3)S{!G8#4B`)L7jQ+a21yaga-~<5w&~rnM#5JXOyWk zXeOMdCW?-v$M9ZQ1KP>@LRZxkBy522Fu4bVz+ymvPue{2I`slo8bM42AVh@lI%|ny z2xRVZG=_cgRxt{X(A;TLComSe6xT?CRyFg4XlS{*vrMB-(F4OrGyjorR_*F!nE`ZT zj9AH~bDqkR1JZQ>v{J>=KDmPTyz6g;*u_xL#fqU$)1AZX0nBS_Xt9BFrUGUHuTabr zGW@`TLCZif#@Cm)v_y2f&mV>H-+uC>Rp6~?qerI;4e-(2gX$8C$vNi_o->=?N^|;u zoP1CWoK3Z;?Yxf+fcm8k?i6k5STxhaMCX}*fZhx8=K>-)Q|6F>Wf5R5je(d$K!QE* z`~guTL~tL|Z8mA9L7YA*`fc39q%mQ90b7(NR||*7a;)x9%je!^=;nLzpcl*m%LJ)A zwbG2kQVU8TW3c4`h`IXZQ!hs3g+p07pY@jKX=+WT(ThOt!1Y_|E==_2igT}khv%l} zLo|Yb-ZJ{8xScgskYZ}0jO9Ycfii19eNjvd%pZPxTpGzDxLO@9ksVp|EfwJVNlN`(NU$fROlk?!nIwLW>cD@N2I@s@s`FIdpUph=IEe zdLobh^sV!U?2rlOAvz7T8$it<7ic!fa$3W@kXzbw(VCerHvqtBatc7dHKZ7{V4zVZ z2H{J_J5ojKNb)d+8@Lb#jk5q)*BL)xjyo+7q63tjDJEYUScEu;k&Vlt4CR2G|ECR{ z3#a*wm>Z!kiF8UoPq!k&L7PezXB+R=_`ml)bifURdMw-HFQ<$dKi+ZWK^;Mi-h9=6 z{NU%o{ZsK7b+;cfwW0CaqdhowC3ASVyv-%&HET+v6%w-%yz=I&;O^_sfhQW@r?=+x z)7cX&Jam(ZIHt7mKFe0Wxm-Duncm~AGeLKp-im$Rev!)o94d7|Vgyg+)OwOWI|ji) zto~SMF51AwXTa+B^07Dzq|anKpyGdJ9G3ZFB6TlQt7%^IT;Juqp)59gL@+RApm{*t&;Rzo^WfK>UA%qqDqY$_7?v1cvd)A~0~r;T z!xwY%0uC^Jl0M^61!62WEMM)#K8syJAsl-yl;MnEB^1^BrKO1AO){!KgGufvwW`l+2mk z7PGtxmL^aY(*Q_vpFS!YcuCYKc%s>cvMqr}YgogfZa)27d1hKnY+suk77W2s6ueZg zBWB^LE|E5fwf*zGyP(IgS2r+o)>aKRx%Qoh=qVtvYOTGfF9RC)U%!?K->p219?jxj zRtG}cRK%TM9mK$NGNZUeMzP19Qv_i`FS$SrGrw@RM4CgFUxvbrjR5W7Jr1Y?jf>hd z%F6;d)f}AO;)Np`;yywS)6$k9w`~mli@%bX= znt+;JRDY)i8cmw3hsf2&-6%*gHE*T#-`{!(ZBDvh>{_bO*ul9qign<^i{sp^K<~__ z={dh$8^Ff@<&hsS%Dk?Q0`0;>wi1ZKE-*m_#MSSK{^2i%=Dzy~LkF z(FMRxkns*RW|iRd36b5#y9$@IXndSvZ5|X!pPhOZtcim&yZUZVXXc$>{@B1GNE1^I zs4M6~z*9I2TsM=Lgok<{nbsz_yP`qHCk!Bq*P307^?pz!h+Yl? zxu#$L>?ug5ZYRhDhXy#EC2rFSCA>P>Y^nbPUbB+bMIS_ZiS#HZX3!sLtfTG_$ix zGz~v}pW$RlVQHlobh>riISo7=(7c1z^6>+EiVMX$>V#x^(V4*K|0oi?NVHfT%w3Ci zK2xCFq3e(X`q$cNy#9zZ!EM%#{o^w~ovfn&qd;-9zkK8#^C&0@yfWZ&4rq+dyn^Nx zJ!ndA1`Ua&yad4G-+SIBjg7k@n>j88Y6z&Rd)G`Tc#KKe;bO+707jlP8@{W?Yc$Ju))eGX%zV<({ zy<9CT-#!Ld5Cf4Y>f#d19O29G0|A;F1AF%K(8Xc}zj|y$+tGngHmv4yBJS+?)OcZL z`b8U>x4{qXy|>vkEnwx=1XwHpI>VzkEC=)vI{NIB);@~}gF#??5?^e7RT?#bywTz4A&RxJP z+a@h=CL5p!Mr?ZjO{dvsya9Xprs@G$uHREw1@YPUz!ouSuf6~#uB>o{nsxfB zk@WFCXM)kokyZ))lM|}7ccXd=wnZQ&?ONk^+c_10j%IE~Zkz*oHo)zZ*N z&TjwW=#!pmUT^jv-+T&UfExse=GBe=$5q=jr?lhTQ7G@cDJ}3j_xc-ONI51J`e(^( zO`SW@FuqXD_~bJ;Xky1UI%K>m8(h$BZEhI2*v9FTbZkes@uB!MISib81<-8Y1a%T* zWhReo0*zKqfCGIZ{2_QGz&TKC8AycCq4h8rilrOe_3m4ucR{p9ZwL4A#=*#T%#O2? zMSWilJFp%!G}sDWz;)jE2l|oQRcFMh05gBpyDuHp4myD!kb~e}VyM3nvzTZ=e{+f1 z&utzhtz;2>*4}li*Xqr~p)}TUPD@zEylQI|eZmDAPpOc`SBSBO_Ah5Dm4OOCW0!Sq z3u33xT-9jY^CG#wazSg|R&e#=`Mf(gPw`cmZ6IK{XAqoYM}pLQ2~hJv0=58FnC_Zz zo3w=2bG%@U{EC$ujgO?9`L(qV=p`2@y_E5@MR1;g@hy*gnlh`@PcU_G4uY-D)12Xk zx){@xYUf(qm8QX431FYzb5{(qwqE}&1AOK%-C%;ZtSdhP%hjy8OS)KAE5m)_v?H+maPU8|0?gLgJ}Lt_cK4U;>>5Y6Kw=15~dODVVC z@(i$GF@{3?{&&Z@9)T_$4NtSqi-Gfol}vv0=Du-O0Une)%3$eyZafX$8(T61Sb3QL zc?pb3t#_~J7Z?j*)a=s7mMR#k(|HCfMiF4e+n+Yc~O&+!PZ?RU6!}e=GJn!(lz#SKuU*5@a55_x*OV%X4-l^-Wtlf zvYeo|F=-gf?g~MpIOdjzrB8mR^@&T)0!;>e{#}Tsaj+o=2Q_v*3| zk3N;yyc25FRBp zx%)at*d#{b@+Sfdr$5N$-39%YLr)!*-c29A0fmK3uxE&MU}Y~~#ud*4jcfs9 zILa>^=Jw!vSB)2)e<+NK8!R9wwH%^s@tlv37{7kUKmp8&RI9=@Xx7xiOe^!eu5o+~ zguoGCJz)g1V)==^y4gI$BN_!$7ud(icZ)834t<&;I*UreSg#HwHt+#%t1M||Lj;Qo z&dHs+A1s2kkZWbK=(U(CBduqT(7K;1Z*2kdyvx`z<_^$ZWaBpa(D<2+?k}D={L#~B zF-AZgh_PSJ#29N{4ZgeC*BQYOujy@^N3R;s6_911Js=xMa3?K3pC4Z8ACfzJVwv6o zU|i}1>+G|l$Q8!NeeF9RVZHh@jw{HnXC!)cT7}Oh#+57gJP+gtTYm6b~MhQ#59I()xCdvpzHR$8}q;2w{QmEISsiVuik^05U zZ@G08*cpV|P<6{)0iE0K$N^_6J9)W<3&8|UJl!fGXngWKSnyWq22T);`39utnRk9P3sfH}zaeV@7@go z(Dx(m{gn`xUiy@o3iNUHv7+lRXk<kBgj>`iT@j6TzpnH@57SV3w6=-wqvq4)O(&>U&1iE%OfwdaoxwLZ4 zz<~3ES0Q>o{S7x5-SXk%yjVD>J5IBUMaeZp_Xr|H_}L-3Tpvd#_;qz0uMh&t0s-Ah zOqxyHFP9!0xbQk8aPy_>k2z=FLn|iXi?}m^9ud4X2y7yF<<3+lf-AIFXUW11Y;E#) zswXKHy2K35NeLP^lq@$JSB{!$fvG{U71E=;AVWU-?2P$CAvL#9^;Nzf3vy~)TxE~~sNda*V zE?(aFQh!K*+XP_J04ZmV+FWZ_)kEc^nK_NSH+3=+`zv*-(19JG-aox^zqGP#B6;^u zu38`s@CMOX1$5h6KHZ>Ojk`FFnNpI-S_ZgSbc?D3$C$J0xO|{a#1?#ZRhO?$YH@Cp zuCMcM7i=61SPA;i-#&E$q84O)!m(y6G-mk4r@;g|PexRro@XsFU#Wy{o1?R}>*cxY zbNB4iq`Le&Ze|l!zDC0~#y6lcpN&fXSCoG~_RuUGa`qlDp7f0{z8rgMLoP2~V!Tt* z`>_0iWu?h5RN5Nn?S#Dc(-3Bfpa`OI!VP|RF&Li-fh*q!o4gCGH3sbJy*(T{_LCoj zmu~^v6`!;*WCN78+8pj2=13?AIQu9=5(PTdrb0_D>m>;ex236ff}pzPqadEy8! z53CR2&?WIqI#w}m10ZK7)6)ft<79w^dZ~CO%u*1K+;#QAGAHC7kYJezCYx2odl#aa z02;j|VKiIY??CM7`6kgV+KL@Vj$F&cr+7?HPeRwTN{OsKRW-g3RcV40xnXjmtfJ0Lhi6U^6Y zv&E0<|CKD|_r@As|9tFTrmLXH@)rzoAm5DB-(46NXncw_uv4Sxiw>^aI+_;X>I0gN z&CX9A5fdwv`e@+XeQ2ya`!aY_zI4;^b5RI?VC&|9sarlf3cZ?D!Ks-76-XDc)s@SNSm2W8hS5L2^3q?PocVG& z-Vl}#bBg_KtH9muU{%cR!E*<|L$>sT2ZMlHhUcsVyExG^KjoBpLrW9u*Li?xa_`}E z6I!acR{-7$07eU_I`v!dI%)84EWiiET5yLZ8`PDc1x3q-T)D-aymq7e^wSVP66ZYq z25+jsEIKUZmK2=JM;TTMKyOSM=oPSdX5Q|=3j(*)*KgUtX=NZ=444bVtfmf>IX8mu zok;*Xb$^R=Ws3lBv4L&w<>My6H2tO>4|9hb?BbzjF5|-^V1jZxwPY zeR&Jz(L2Id6f9`X9HSL<<2eWTd(VRb%?uEbHiyX*;?^z8$ue0u`Qa?Dw+9r5{rTWY zjTQPB8{o_fU_2hE6rpKT`^Ejw!I0LPF+V;#mQw<>AbLum4}iF2>VTDPOqtLKur2+} z@ZTSL9vs*!g8PRH1-LT3xER2@7i!8uUoi|8-&3WYrIUHp+mI)1T~Y2H%9~EokGm@|RKk9U`Md@H&wjm#^3nyHgC{t1H0NN&0NSTmou)#`g}1TI|&P!23VB zBUwfSOh>>G#|JLp+N&bNSm3z3ykYz`!B}d6f#%c@Y=s^QN^+ihzK~aCS=nC1;hEAg z42uUO;L$Pp*-TG?3xaW-0L@HEdNM~L=|rG(vW*b~v}gtP1v6|+pw3z_&J8fWOnoiW z4dC;DH|B2J?8Dp%?Po|N70dCkAx`6~%}hT%DB)byS!3 z<Ag$E zB0M^&nezko(hUMFmd;UqdZYE9o&wLB`C=SKEsenjr~_qmAzGc&$={-89}W8F92KzntdORV6X&5_*VfalBOCrvYyvLZccJL3ZEp^O9R(_5S; z5Dni=esrzgAG-VpG&f@> zUX}{oNM+na43#&wp)vgySTB2fnD!;Q)pZMWTl1(!uZe1np%}O+fpoK56lO(HM;CZY z61Vv#&z+Of(<%Lnt%>H|H2MwY?>9v zYQv!gwhV^WzrYr>lL62>4+|dP1ldGo1j9gy(yUk_ayx{-sKb`JzN2_OTHFQ9coQyY zK?!sgu)Aa#I77u5MS@J!#_)30O}@KL6O?$K?#~Hio8}g1oEETacfKg;A0JH15Vf;4 zrvIFpC@(7|jpL4TTvF*PXk#sU!UQPcO#x_kh#bt(mX_jVr0 zrSO00jtw3`QdAR8m-9YEsV!) zFn$OIwlT4{W~Rojg1W5V_~#9@+Udu(>R1g4o&WpIXN+&q?VVRFCkW5YX%>Z37ieMx zG5vsH*LuTWx&>D8_7N^!!b8d+s~BO%X-Q`u__~mECIFo~1u}le8j_)}+oi^8o^taS z9&kYOE7dMd;q&bSP*_PBmW~K8CbJ8qm01@E!)?&=%X;NH`@C!B^_y>3r}QfumzVKI z#iA|H9gW6tF>4rI!PNrX_jidZyb)q+O#*m+XWs;8-MN^H33aA|o6u}Wo5?2#fA4Wq zhobTD+0e!Ka*xNI`muRH>@uj_dM46Z!kBiUfyp@#A!1*+C*RG5?CRllR?zA6_#V)_ z1~9?pCr#B{MbM)px`%FJ ziY0QE9`1bnE)`b;%zW`8)XZuzv4{d!83e#Lh7knxE|y!9!79W@ytu;NOm;T;a?z_Y z*7dONRDb{*s67wt@*ys(J`&7fPr3dwBxkedv*Q_`-4CV7ABvCa&6%aMGJ9i}W&mu>ROzw_+qya1?SaFC z&>3=F0#gi7|N1hiSZ>e!*8iGrj#X%uRo8I`0Xst8d6vr-aO2hPO_K(TF>^$awRJZW z72vicnb@>F2>KmndyerJUCb)ZWihC{s@Lp;a^V+ly0oZ~%Va(R5lr>X`GbqzxnB(6 zvo&g=t!P+TX!eUje=w}N{^$jto_O!DZcjOa!(4v?jE^COn%B}b{e0xLgWvGN^|z{6 zGQ^@eGr!EiB>-OUZbHigntnifHZaBj6U_KBR7eKM1P=x(>_gy%(ui~U2JPLPr>SPV z1CkldN?ji7L+-xB@uLTsd44%<`ykR{84+M%F%PD1bT=+!sa|8e`UIsTIu4x4C@3in za&`aV$Z=+&pc0~dH{&;M+Dygx0nj=J+Pm{sF|`55*8QT?akb~)kOuhV7Eu`mptQEk zb0=hv@g0*;((E5RC|&IkVJjBeA^!7$pS~L11%=7D5ky@uhpyAXJ~{$DDJ?mr2eRDw zEKTj(40$$a(Y7>yo_77ozZ`rNl1mmCwXN(=|8zu$VJejPo-ZIBz@eMSy+t>q?W z(c@kj1g&O)6@-Ym`CMoY_m98{VU)D@|IQ`N_!=4(EkKj!lV3{HJvc@+7=B~_SH`g zl-uIzm$Vw=r}<_v72kd$27KYRj?pxx?6v2>yivP2s3O_UW2^_cMg87K^!86mlS2b( zAdjd~OhKL(cJ0B7$K8%#PQ3(_H97MVWu?o$5(ePPYsSjBeU`RF8ZVumd0e`{7Y~C) zfp&oQh7L490CX}?$uc(Baq;`ECoI*!VSc&Bv4mxOaHH5KlvsTjzMv8RVm!{ zr|zRE+YdZwJ{YI8VL`g_JBwA&fizY)PUXt+NU?Zxh5%@s16IO)$!hVfYMS{s08Zef zX3d$G2mw@Eg;Txj+}ySl9eRE4<&~NOWpWDmem$E(F~OtsEY0Am`0aUXzIx!dcJyR- zWat4jGjBw+cu#yI*EKq30-45q&v!7?g^K#Lb4~a3@ zF?0FLuQ$_ov0?{b1?n|E;Axtm>{|_1yqOuWW9F@UPA1ySJA+e3>tjdJZU)6I)Y%S} zqV#+F?o|MbH1=28A!k`uIt zd%GJ{4HE2G;~&Lx3NX<)^g3yBQ~~4V4W>+{4;c5d33~9aKc;=#9vLoh{mf^5(bi2? z%W2f6t!Q5exs2s3HDl9wr3S931%@P0Ar(NESZRaa63{QkoeobjwDr;ogJ9(<3h4x| zaf2}x7=~zO3xl`?1Te$&O3@&I;*cl_%d!WwvS+vU!+!CxBwqo4-O6EaEj5o8%(siA+ zhntf(y5$^2FeE~K$5hH?eFDCC>F5+h9a+2mqr(t)dBF5gH`Lk>IMolHocvJ{>fJ2RCX9zO{}8m9p+T&|Gw%dy;r?JX0RH@IYiKm*?JMtv__nF#{T&bA za85UUlmYUF%e!Ix%tc0pY05V>-3Z1H4ZxTn9cNF9EY(pHauTcEPV*$Xh5-R$Ok)nT zeM@Kl-ZjmpvZ>iBgfJGE9Z-7cQ!7i+&|{N>$+{sBnn{A8Hacua%Qz83AS< zbiR7vcRSJK5`Y`ef+gwkP&rr~2w*TjIhq%(jb8VlD}>04jzf@1tIr1$BM;N)Ia@(Az?1Rd%I=$BW72)`hxkF|gKxD$U-0XfCrg z4y}qQ`R;2AGI@<&T5dzJ*}fZEHCI_*XpMp9ra5$#*LOmo1=J`>OE{m*xggyR^i_A7 zba6>k>6+7T@B$N{cu%_@leYlGrTBn=PaXq{6g@+PaA&gF`XBtAJc2=(>MLciZgWgu z7L{{91q;#3es%C6v>eQcA&}tg&yC+TFurNBQ%qcpiU0HL$se%Hv;@#xd*fIFL<1IQv}UH4fYZ}TLbx?HH)OBpmCRO6ho$I_=fS)&H6 z9%O<$?)1xG)uw5$F4Hua%EdQ0IZlU_ZmDhyvl~jdKBS0^zAFQ%k%@HUaep1&g%(3c zAKn21=r4d358yo28PM`U?Yti_EBgNCe@2A*F0W_7HU8d({6-XsmC*n=>#Rkq=G;*s zZDt;WTuN7MwTW>Mf_`8kG6vxwmdmDdkJ#`3a5WrJ%MFnR#(sqFDDK%}Pod1O*+cdd(mO#B+*{Wn5S|t* zihn9(Qe+2@`0%$$Vgz^HvKK1o?Cu&~`TB7%9vuXta{!L@_qsO+tY0UC3jg$%x=IzW zrqzHguZZ2vEgZiEtYRg5=}Vw753GZ$7BC0OL0k~)Te4M{I*Vuio7y#u9xmhR^NsKS z5)v@paxvAzb9g1dc%LBaXj%+2yskJ-?85i+$gjfz)5H}W)4Mypfa%A;ao>2O8I84| zj)h`nSn5hdXP2h4s^s8Juvt&XnCNEmxXX>mvE>LmAkb06y zCa})aa@z$v(+p^_TwU(yWoGnWe-M1;4OIEAl8gvBv_3AElLlBl1Z#rmP}L!FTaDKe zt$UjuYE1zLWq@2OJ*|Cm-fsFP2gIE%&^$NWW1^is5isAh>00JSIq8M0hB@HNxEH9SkUAT2k^pw3s)9<)y3gxS(W^2UNPeicQAHcn35SjoxRD z(*3nJe+tgpwKji9cN-c&=FA&12FvOz-+oDqO%Tx>7f?@+`KA_W1x`Bk^eElP5_hK@ zG<`%QxE{Z;hZ{y?3yrh+;^-TCD?kIFy97xh+F2HNg5G}xEEvQDarYKG(g?|U|r|Nru>=W``f35XFF@4W7CVI=5-wk_P!2up0 z61#YhwBmg8+oGTbfQ(N_FkOIR5j-cPrnV@L{lErhEa!jiEwJzfdzqdEpz#%~>Oc*b zrL}iC)K1OqMCj>Dz;YIL(6;~wU%{m^9XYUxY)y)O7fg-ZuR!_=JMW++?O*{+lrJAW z05151S-|DC+<2|Gme(85x;BCV+#vQ; z(T7D$@yQFQw-520B2Z2Xmu;e=?&d?GXmLV8XHL}F_V3{(JaPcHX@;nmjzT6SNCP|) z)b!uJQ`CIj+f@Gf*pFsq=;JGf;Kr!{0jz+4akDJf6wof1JzUvRIfUB=$mk8^CZpB} zwpnz>dBz^vb+;J78${#k7K8SJ@<2%)ciN(A{Ir+J6syGvYVqz$I+vA0Py(UlbaiOW z%(v%uY>t&~b=#C4;^5wn>}t{?mO%frSebbLd8lEWe5PsRR#I2+c!0s=>N9RUD2CfO zms5W82d4F_XHWDbFtGrpV7S?n&Kv=_c#SKx?VM%^NS(!`;h1g^;4fl}e+;wDcPp5K zikK@QcoCp-AsF+lkZuBYi{Lo@g-y~Beu0H9aR`jtqwvqier?yFqS*}+FjxZrWRbzV^D}E#p+&2+y>EIgf*1ApfQ!@iK z$PCgjK@<4w;anN}v_g%f@gJEiUVvT~e0lQeI38mfOl2Q5_3qs1Hyvo5JIP%SXzo-& zo#I?L6CE-w#1+R-#!l^-t>GIfIxR^n}kciv3 zqmi@KIHtaRFg2Ft0rZ|PAAG6{(i;q+QJo-DH8~39fORaAKmwDS z{$+^-;&{&luHC<+#Q552X>Ov^=uY0|`o#vW_f2SVrHk_+ScHJJBA8KuonXl&TGA{gx$$m22NdJOtB{`@1{-P5a6u$?bCw!6R_SuqrqKmW;J_xvI;6{e z;rqRXMj|`!>MwvPkTc3+0s$+Ec;YC?M-1RmJUTJy-JX6%NpNTK+y9H#+o8UJ z%8*}qO}aVYxA}9#ItC|Xfo2WPO_U*o`xx&*g5E?w(o57q)u6a4X)|thqB<_V!j@nt zyImAd(9B0hHJ4y^f>@{MjE|0kIilkOGdL`uVii=DuP|P`j{Xb<2{;nt1k@Oxr-u>^ zdjI?JrOR^Y0D4Q02y8Fs4MlSfn&9IfWp_7nBEZPmhfF&wWSg{djc*=>zRdVO&Qd*^ zipjN9T&7oQNibZr^XHT4?hAf}c# zTJ%VPO z9_2Da^T`LBg9;&d>zx2`_X;vi4N4@aApxu=_QNNngDb0L-rd3LECp?gN9}lG~*lLt&n!a z$kE^}e>{G?H>9iIG>F1u>85PZBF?dr>t>;;25F@*{+41G%jSXk)if1w-Sn05gO)t< z!hK-C9{+0YAi#Z+%oz4=oOl6frM=M6g= zEH@m@KjdE?eWCF5uj+I_E(u^gXQ8&T;LJbNZ``PnM#uV+Sa%%f$@2m(z2-k>;Rc?h z#Ty#HiG-$#4j#3j1Dsbk-Zdij_kZpvVd1z$hXOl5ylOXI-+}nI2Y<=J;EjBR&SkIeCi3~x6rva6QaQYCy2F5lLJ~-ql@$J-<01Sv!D=~ zfUnqSDx};})jX}}nSKvyYPj+m2d9ht z#55=(pRU~nVs@Kg76SerJy@Fba%QOLbHlDb?eFG87EioGjQ{=Dhuo5!A#zsG97yIL z-D`sL60GN)#aDE0oEC@ZUq1IrL+nnCI)m*E?zA1&7+ftq#}o(Ji@~_ay1s$Tosi5@ zW_a+N)iwx5Yf%mB*E-PMOnRf9azNhbf&L98;04lfTHZ^HXzhjZy7V;hZa1HdzEV0s>eSSd_Sift>m3EtU`<@Y(}c@9}|h z<8d*7?-Q-lKFP^9Pi_V`KCLbG42T*!)Cr<90+piG*=TZzMonX=jD#R3dK`+M!!$r) zC9`74(SVea)uIS5?6k&!Wk(2C8d1>1-A%tGwirKllmt~D%2S{U{2@|$)=I;=5T_1I z*{E>a3?=pa&7XIYF?>t7;BaY}{G-E~U5r4iJ(iW@Zbm;#4oRga_YbJo>@Iqy)A&j= zdYmEKQOAM=O#Itp_f>}3_3#p8ik|4HMASu02V67{A6tD9>R zRAg2`p)dB*Q{K=N>Kr#d5oh)O*U_im#Bu4J^Wt{zSr*s?J-KtT)^qt7G~FmVYZ%mH z&;T7|k+h25J32DTbZkp=iA8uW*9NqJR)Q7y@u=2C|z8UL6W z_Khxy{P;!KP1sD$_%&@!D$|(N78J`s1?(_QSAPtZrE3tx%d%@xFj$B2`A{e^AVC_$ z1`t!;*ApK%ryk0ZUN+x93g&VK&D*svs4IG4 zap%9ja`K&D!G7uc>2kbqRv4g21g{NnW(7{L<$HK>O-kK0Fqq(^%Io6YOnRGME{z)x zND|T1!21OdK9|l`Z@HjuHNKo!I+y6ZqJt~Dco0ml=5H+!MxWg3#OnQW3OJ{@VUSbQ zq!06PFma9F7l^P&^4vY3iLYM&J_NwM{P%dF$2n(S04t%+(ntO0NACl?4X$+hRd9j= zK1>1cKM7XJGyrl%fYVo*Ltv~Z$t)LwK$awiSx^I^S7I%Rd;5N_n}vfhWe~V}%5n|_ z)cM7M2k5>I+~v!$SCBEqfM5~v+#EoU2;;AIQL{uaZbil?L!mTts^#1<3>z!D@evkY z3dn7b^~r;bi;_0@k}@#2*<8y-@O1a}L)8#9T@ii8SCcfRvaY00#eMVuYa0*iwt)%M zhdZTJY}%a{Ug5KrOANfDW_ZAKI?%Wu0L^u22#;F@$%z>S4U!J$;Z`N=M~g~MF-~dyu3)HHvwr@p)r}}VT&EgtAe_`fVt^UXP ziO~Rk3`?*})A)CwvHj52X`H$jI$h+?86<)#SeYt<_Pl)v637rS^YO4tYx5YG@vC;dC5&o_0}QZ@Tsq9VG{7*?g@9(-La6WlYH3E;c!%+l z(_XZTVp+$5N>I=4OnYbJp6$%EnV)iCA~1HdLz^2+M`pk z0TJBPwaYx*3MN>q04|_q`eoBRF)+nFnVDVS$rK|U=rrECV;%&Bm*gS<<1Ot4y*%9b zL?*B64fkfNyug0-0nKQxm$xU4NL5`bYla{QB3RVFb3)F-sB^dr?5xK?LpW0oSY96F zh6s!Y^Yv$rF&}~0@?GF`ZGK?mWG!TLdM&d?69}5#8^WLhMJzJS`D=@~L@s_Y=+c9w z-~h)5>O_F&o0_lsypJ0|;DTT&68P+4x!niSNc)LB&iH1Yj}A1SeQ9_~Ot*1PDGIdz z-Ftce*9$>&YB=bVuOo@)b&r4TH)>fUO`iYG^c046d(D==S# zaO1}d>WxSEONU{aaC!I6FSF7P_Kh(cx|6w|8DK#hcc{*qH$L4u(6|d2-~Z-A3pnC$ zD5vXZv6L@Q&s+zQv$2>pd=-dZjN1uT#dIiOnA`;|xRrARddl1zJIyXr*$=ID zfi$;Pn&!Wz|D`388^?>$wc@({KUO<#NJ``RT@E5^LdsqXPXC#9M&jV8rk8rsf3p#*>HPz+- z9|QsP955_Gc(Zq-4~+y6;tpOFqjexqa}l<4&l=y8u|J-E3mIV6uLJ?U&Y7R@V3nD4 zrGjUG>I&zaf6y@wO|Y4DAcZrkW8%-_u5h@myK0Ud2IDUyNOf)KZ0N2ppMMELVC+^= zu9*#6mT zkiEUtVgRT2Ik7<&`Uga9EV z5M^jX5gGvkgb-!m#!hT0anE&)EGJQ7xtG{-EMLcd9$Up$wJoa{S@L(|AOi{5+g zK`3z`ZvKihuYz;G{6I<3rQpEqTV}eM?M*dYX+i_<3_wpG%Y#`A@MsW|qgOp0WhEV^ z14mccHdhL=#&opvbQ2?B0O!{vD)^{9aH&!4o(F&d~#>#Dw>POR@P)T)@TimB;_xM|T%+N4dfP9UxFGpq3sm275x>B5>x_+%=iDsR?df5c9Dq zcfMtVG5h5F79DSB`uF>|2YlTJgsk}DZiv|O$OOH4y!^EzU^cEC*u^E%OLcTUaPa}K zO`?OV4>xqWq6tl$y#XIX(^~|4I#e2Ud0OO}9XB_tr<-9P39?3j=^cg!c%&mvPqd-h$O5n_!A{+Al_~Ji{YS|9S zg7W8A9|flcOoLiMPVFIS70y@kVGiwp7%oBmqO0qr#u%EW-Q33^LiEDaGsgQjpaoz* zgKSt#i&-T2KGD?I0bQhC7rZv@;Q13EHT3$~oTkLz4z^f9CL60MAonz1D5 z<3TGtg44ok#dci&Wfd2~GxHSspk+|$Uk+Da_J&Lb0d#i{&)L?f!<=F%Xg;ddUxm`5 z%ju;z#pGU&R;G#3E@G;e+pITMnr0xTm%4NDdhR+_n0~rt<0$kR5VtT8bp0(B%1ORN z;S>d27tb~y|KDTJydw5=737{~u(lh&R^Q{~31?rD-i;7kap>s&N@)@9Ft%6@qd4#UQ{BRFhTFnR(mg&^RdlTs^>j z`u~6L&UfehO`z3l=rcf1UcKcMuMIRuOD{NA7zwJ|(pAAt3ji75S_LiY34n7SfJlqh zr1P{^kx=NGJHWC5@HN8hbIY1dkR>`ep{l<~3s~S54uCNX1RL{2UjGdp4J74l zxc)211r^>4(^`t%q!m0&MXG%_Cew{W;QOVMw-=_4z#_uLVYW+efHz5ta3_}_;DUQNdf=3X$S(zkYM!++jF{~_r&E@{|=^!-dc4#`Fb!=RG z_fJngh}OOI!KRDH!J~3)aS(tTsI^AtH-kKsd!;82Z6_!uko|>$-fl%P-c z^W2u`vK!BhROQQ<8i;98JLxwds9^N;bE5XGs}{v9!r*S#o`JqX>;-9|th?5D``lv@ z=*-!-!R(-`zv46k7=mkEwduQRs{Y4=4iz zGCAY1ti+IjQ9XT~1oCRj^H}PUoH4@4WXNn_wc7&%%p#c0ktR9@ zaN4=~TtudN6lBL`)~@PE``qVmJyUz~r#^oejoG$ra6oSYr+NBCX#$TP0^8Unb`(T0 zi0k4w*OIsv0~enXHA6>VxK~~ZTE=6TVnd7=fZ^jAldt!=_11e%G`MlfAx!W1Rxn3( z7hg)8KRz-50mNjjil+}o>}$b2L6smnaWU6_`X#VY5Ks=90u^zqzj_~RDTv9{zF@$< zCzU52>IFM<517faufhiDDuP>KnL)fr)TD*g@Y54uci`{WE){0;%Uz@oi&^-W#~lz< z7uSLfe)S$*#mR-ZElQ(nE>_Tbl z7P0i&PwAZ&GH%OCMv~ro8`O4?56A$M+SfeZBMtw0>{TeC7j!=}WBa78SB?+gl|fvE zQ`BBwHUqR8lp}4z*D-lLbVNy$1%jyvFc<{h5KZx5rF1aRktDJS;^r$`Sd#?JdWo>I z{PlU#CkCa{>4PmV%( z_iVhSUPKNo4}OI0yQuoJ>Jij48oeeN;K<}Ue(x0A0`ZtZJ8<8qLS zuDwv^qlrbwq`v%Xr^9$I$DThw^gaVh;2Aqkuk?XZ=KklH&QKF<=XQmI)^YCxLtH&D z89wZ13<6PkV16t-IgGk&?H>AmGpI>DNXq}_>vn4*$8b3SZ;v{5ba;(^^ZX&{Gk8g4 z9>&m^gVTNHS`unHMZ6H9O-n3LlJ(|?7K@QohPy=L;@Whc@Zv=nvQf#b)3ke0)&==L* z;R0T6KC)m$*ma5HMH=j}?$=(>AqqQwX#Q~M z;*|yY5Z)lY-TraVC%C&|B?~5(t1mKrpF1trF8K5QObpJ$4AQTOq4jN{=a_m7?`n|C8%0c&)N-(!|1vgKtUfeS z=Y%QfHZ)P_CT6-mfj`vFQl3%3eBjiIV)U%C^xX$-ZQOGmzc(L(-qOI}(IGLg5qfBe z2^`4fiP$s3=4=0)!36+1LRRud2{04dWD z!-F=R46Up$6Y~luOhL_n$dfON?5OeT<-vKuC5-&#(#o7>>iGBzVWdIx+bL;WB6 z+2bR}Hg+X#&v3xnT3>3jl<2_6LvIMK9pk#V= zSgv8!LOc2MS|9CrSh{cSg}5bWk#|s+-s&%(!hoWYWI22~f!e{jYTLx z^}RP?I=aAsi|??I%!j(2sb5F&=RA|?&R`i(=}|Wlwa^bn-}ekO91;}2AZOvig>t5; z3r}T0^WZ8x65=?A#BH(VvB?LZF>3(sHj^nIJ-aaI9vkFbwlm__%-RNWYJ(G_mq+cNAr?^MOQ7cgePubhNN=~bmA-w z>sMbAmws~!Pa(K|-?^t)ya1bs%v@$EqiZRMXQCS@0W(N_;x=<6Ha&pb2h{V(YY%Yu zTqouok2ARbI9S?l))N8a#XPKI!)VJF)s{kiZoPFJoJn@ zx4;f}Z;PP4yT#6%6;R*J!>2*H-DYX};GMHC4T_pvzSnmCWo`|fsKXmt5s3b=5Abr? zpgS-rHqV`qDsS~Aahnz|GzM1wqwgTAoABNQ@4{V$IC$Wz_v94K`Rf0~rLa6WbB_d8 z!;l2d)XNm-VS*G?K*Vs%yB1IEgVEoLA+o!;LOA}M2P5m4wmk5mi`_sQ$ z@xLCq`&nLMghvBkAABIk1X=69n3Dro>47V+gR#^KBHV|0ZD0r#Gb1_!AzZz%yY`#z zbMG*nck9{2upU%eMv5U=wREa@nRI`>UDw(Fc=m7*`ma3**4YmxNP}p(#HjL9ztFVH z=z+qGpEerwTE*U1Zc*=KS;TZgw9MW|OUF5rqU*|A;B+s*R8(KL=;&ot1Tt2JfRBn1 z`Tx9emuTSX@fwhRRd5a7#KMCy2q%CXq%&=NfX77?)@oZ$zI@bK>hql`61 zpmT|n5qNW{v5C4Ngq7F~+Q}<^&zo~$AYTQ}eQpZJ3t}K*N@MrOtfa$Pc*a0bjBp4FGRH7qGK=c#P zGT9BDo@+gGctUR!>{jXIi6YM*?>_l#a1+#$)k9UB=In8>JP^<+!Wuy*ay<9F9>kbs zF+BY$*tP*1cqnKb#9_c9Zj<`DnAl84;MBpAJrH$#-Eapw*e-3Z3Zg#XvlOk&gz=sk zo>dnUs_PiU20WHQZDc40Nm~wm2t+tVdP3NFeV+`bQ!Fx_;D6QE;8`N(YLhSc^}wRAY4C0+-$ynfxwZOCm9H>qYh*u9k5)-@!bnyu>IeYELWT@)b zc_DX5uY+f@fbw{1=I4@yzCm<=0XM#~0GuH824m~FcX%d8SEh9Ie);0GXhYRzC``5{ zoeohkq0+@RP$pw-U}LmT1fzF*7*DQ4?)rT#lhvO8>&d&gLqIDtJSN)4NtJ*& z+aQ-y%V1{i<8rFij@Y0H^cI$d^OnM3B>|jlG?S25pO47vKNs_lzdIN?lgo57;O)Qg z%U{6yp3#gWybG%f%l3Tvws9&bt&{yX^!vti6l2f51FWJEEC3YDP}&S)_2mtCdsyxt z?>o*KL9cV>+?MH&o|yY-N_wOUB*<7LGR!?pJswDXGbk~7h%N%cea8DC7P5B5N>eIC zO987V6GZUoVUf*73xm3I0T_L$9enxyz}k&0FPoykfYoEAgZ^Dm=KeOZK+ntED7}%v z>IarOB6*6T88EJjNj#u~1}dNnmMebHHnzQu^9H!>qw(&^-Yk48L5U#1XCd<=W)mY+ zkV#jt9QQ?0z1zi-vq%eWR)=| zECHX7o>KbWU7Egri6=JD4sBUt*9wSGI~eaPIzhQvfO;es-N`ks=D--x^_N%=1pC>h z-Y&_vK{bW$WsRZl_>x-C3-Q4b(K`op^uWyZntK@2uJ(N@dUUe{wiYYP0khmU0xYlf#tRUFKF3}tI+t3$ zIrsxu)hy9bAWqr9_lnLK@5mq~RA}HbzE*QweF;1v)?-nZ2MY?|$3It0qA%uJNWL~{ z5MIm@aQVIlu~L~pXCBMt>w?dpWsHYheW+FXcnv_ky^-zZJ6SpqVULBv zxYPG`Xe;u-*bKC&A6SAiF7~tt2jeV&o(mk|HS(od_%vh8K&s>OdtlI;duHEsy?F62 zPl_`8twFQ#iJgAu=~oz;daGG*1Z|wreAL5O&Bog*D(pxQ=eBODW5G7aNiW7H_eQsktA4ACx4;ayNy12qaEZlT3Vo~54J(l zeT(%LR6)0ZJVCRrz=IX;6|LvPbqd^@Q@R3p;>i`w;9W(G0f5mFAS(D~kC6h1nrqK| z`Zi<!#N-Bz(2`m(qDIVlEs zTj2t2=Jy?$b( zSGVTz&N6CrTh+V9QLtIiFTPw6EnU0wL^4&c9AOO12PXz>2DuN1&+iev+Lu>I2hsiJ z#Goxxya)P!b$5YNCmgHb_o}QI4=|t(fOH&Qec8dlJYeTeB`)T^v1i2|S4hO9qJf*} z``O(=IqKPd`-;Yk27J*3Yz6Tash7BdGAMRuY!jr-zN<2d69;-$a?u?pS?d5E!cdAb z4ST0*pTV34?Jd5o6m3jF8^FR1aAHkP(E~;pqWH+6m>nmNKr!cV7Xj9d?nssaIugjp zwB$pC6^sl)#OC4O^pLATnr4&b1B*eTArNIiT;k;8D{_DB> zAU}EyEXvL5T~h-E;4342)+C*OXwh@)WN}*&cI^%E>fVcKwkH+7O zvq4-X18+iaIaKoq7!W6dahJ*$RI?9B1Gt4lTzhc!_{iypr8D#D4^4h)y}EShlePrT z`+45Pv5D-(j(mA%c`RHAvC79TAHUfCa{#~`T%WR zt}_gxl@$soG3gyz-2jVQ3{*8=)Bd-?+5tNMI@l1%f3hE3{?!PDfyD@1=*6plalaW{ zP!pl=!kw1ZETgrDp$4$#Z!=oQ49zK8STE$KkBbq*!&UU{g;FPt!WYzp%r~LiZ@vW1 ztHgi&M4kG^V*?YXq*wcHX&&d*8r|J)O$@QkbWQ2qK;w=wbyHba0Ub!LXjhp5_4*I0 zsuw^`f&MScAdWP!QT^}5u{f9^z;goX5s#3OpxF97!Mp%y}UDrg61PW-IBoI3{;GaD19H zgR5JlSlv1(iU!n=?4eP;PXx)?jsEG_%Mi2A@su3NdTpTx^lO6ZM(B3NdzBe%xsL48 zY7UHR;Qpq7fHNnU-f0~9;K|z}3GG2L2s|YAKn-Ip7Q`v=V!Q~DlFZ~2r1ECN zKJ_Z2MH=aOAW4Kb#6HfW5Y%eA{+u)~T?*L{eTz<+Tq|uo>JRMFrtkggFpj$v?9OFx zANB~V3X6xfqzbGef}x!1nlUFU*fKP*r%e5CBx%3V$SnuBhZ)-^nb88ea8%UzI$c<9 zJb?zQueuRQmo6S+fa}W^{o7L~U~%Us7%4t!BTwEpJ1`rgRK zy6!;kyOVWbuX-oCKKt&#dY?$|0hMoa4wD@T-7Pc4*eFCs< z>5|Qj@=y=Qq;CL!&^G^CF*Z-v=pDcE^aAek_1C2Xe5av7X$BehLk58Qxjh*%)~_!c zwSL~`Bio`G1)QHCYR^Q6&IkK|`A<*&q?^GzQ#6oowd@OfW8sK>aPKdK73{!{u$+ytLsSD`D(~s-?FohJ=fTz->=L5Sg|t?CO_oB)82 zXkDf=9hKF&-1{OBBVEuhpMsc(QGY`))Y?IMcl0oNS5Hs3Xcy$mIocW3EVk^8kTy>I z(sR*buo~!@b5Vemi?@hwkLHjn?>u`p>aDDuv6rl$eY>ock;>3I`_Ev# ze2HSf-J_s1@!FHgZF}j`1^vt}zW4xA*KwaNJSY}RhhPN+@3aCIJQiYL7tgGA#loFZ zUjmjM`hv?{Y!h3!KQB22DmG2<6#*B_EgE0^k9{%ERR#k*Vk`+bGNCet1+Ao>1kw43u1&>iC-&imvGyb*u+;8*X^+TWiz z10l$$hy3)ODGmT!w+R^iHyB4$&OQ%*`W0OY?SttsbEGegF$RRwOM)A}9V_;A;{*gM zYq`4E8S{>+_4Kd~3u6crTbp5VCjj*iXUcFHWV>~2pL%+5E!Vvibmn+R^nS?sVCV(hn0pHbM&Pje2p2ToB>FNEc}|9^z-G7F ztFkT~X6|Hra6#IK(oNsfO|CMKzPlun(WjFM+P}SV4~-SgY_1E*D1rFwNwD~`mEeLc zaq5epFeZ&QD6SCt2meyVG1KZR1#ZLc+uYJVxQCUpBrLwmi-|yQa1C2oE+QxCRK~Yp zG)yG(-zR5ti#;3)N3&rCXbGr0HKIQx;=+Rr!3Hzf9oWg$rRcwQq1vN#ZMpm*qc-YvZhqs3wB5o4pvbewcJ z*6*>lssG3}8Rsy~JqU=i2h`6=70p=pKyP3;HRLj~0TU=z{UTp%^h#b$eKvB{hAI|@ zSP-un4Fa0-x>}pPx8_1!Nbm1rJ+zL2>A()*LG#f9gP!gF>RqF`N4>cw=54WoCf4IK zCmdxwyI=}pA>Ho;-S#4>iSb<-3sk(XM_m4f{ z%6_K39TWjlpMxkZ(f7Ngub;S^;}`~ciJXyoKzCawGy?&{sT~&%8z#pNk8*dGJNiRI zjCLqa(2h*7runT*NT8u#{VFasP%48<&;h}%nq<@2N2SqYEDuVFXUUe$o}Bkp7F+ed z2I&Xizq)`?AK=Fs85pX8%4jpdXky;dr|Kg*HPa(dlOw_C)j*Je5@_|4VzTIXj)c$q zGT7zE&_uU~%7}bcCm^`Iox#N`0RbRxvUks4-@P~N<9oR{fz@gqutup{k$n3K%{)k_ ztTB$$ipm4~_(7v>?(rdLa0Rl_duJ=JFIe0*Isk1P!~&;_ob-X$v_`ufSP13AXQa)K z+ruRQi$J|IqR*aagR+~uRq;RmB`=38fbi<_DD@c0Th0tP{|J~Bq;7W1dD4MYPy0&V zae%3dhv?E;P`=KA1JKo<PJ)|0Zz>TuP!)u@WSir zV>~chLHc;<+(3tL>4NPW^g3%J%6RtKgL=-;YX{aFIT433~b7}1V^d>?;s9WGtjHX|& zKkVD_`8{#afNC>OR#jY@$B5U9g0>P=mXqKE!RQak9lrd+&9|ZPg~HJAa;^Eho%tzL zpq1{-V-V3%-wB5EV#fAPy4$_OLq@TH0o8PSRwh_7h`FwdZ&EY#`Cva#To&&?nUS1U zktp^jFI_vHHWKT_g|tZ%c*dZpHAc(CCr?^UEKW>2)((Kl^5LUk`~UFl&!oxBa9Nfn z1~~VgM@>k}DBZ~|3S|eNzErzSbb~Vs7L5(7=O{>{8;|ji+gU6o@25_X`rj_S2Yh}4 zjFEiiMbk*X`tsyQFK%&p!Hlk*AVD^S^Zb#V<-W1!k8s-ryP`x^LNL8bctRlb$`KwL z0OIE6g9Iz18g

aP}qd1H%vg>1vZoKkI*=Lt7nm;MA*-fWD(Z;}C~>8Z8uF!yQzb z2L=rJ%w@&jd8;8Y!3{%$K~cetd#D4R+^UZbivixyZv{X3V`*S52Dl->$)Af{!>ck5 zHh^YzBb~Ji#Ja;^XV3}?Y&zqb82HgA? zFh;Z>6k^b@T19JzxNx{9pQl;{`sSs(!RtVQtlG8+Fd#$ylrt~NJA-?(wC0UMri;Fx z#U~P^zJhFq!fQo4ciQO@LA?kDYR>N7DBa8pK_~JhOE*C78 zz;A;aGXt8u{G)XcHSSqP3qgKBxj+opf{7+RRH*`ST|g0@BT7Xi-Qisz(( zN$#yh`x+`Q@%cTq%x1dd%l9oz`sB*3bJ+}w`3Lkco?}NY9)zIJIHA(&UTzFf$rKTA z%4U#y^w#9fXLSDQ81a%pmQ(kLGTwF|oLjwoQf&48v$2{#+;yMWCF3S2!xLiZt3@|= zo&2H4sscSV?U$`w!T}i=>s2`sx0q^yO#zqbdDBe|`HGHVWg@cw)>QBv!KR<`K~t$U0u2g?;k|^S(v;&b`8|XKzOT zjpNeB>`E8)!Xtk?_SQ%;ryk9Kzy7MUM?rjYqCgCTJD|~%W@+J|`Ot1e6Qd%pb&SC` z^x=COdZVFe-|1cm!I%h((GU_n0Nn}7;61Vm)B&0gCNVEDQY)>!1uUpm(5+vC4c$04 z`!Bj@MkM1YiF?u~ws2mE_gw>t(B__3++WG@(}Q5H^w%LG2Yh@&z0C+??k^&!5pB|G zaBc)IWPr|?4_9!Xdk^i5@bhoV05gPsp};#S;1pr-X?IbVi(n`SIB+cAFh$`OTf-z` z|IRl(_bymi;lC1NO@Z`?`r!3$PLns}ArJ%A+8ara$8H9rlWrYK0*|QyYXlAJd1va| z6AK=|m?80nZV-shV3=sHG4};?kFKky^UHVvPw5yDv4}5QLIYWHmT>n08)#ybGY0xv ztUNLt6bQ;*!_0NZO3)O#SVRE7^>Q^NzM|i3o*X{=o>BPHkJQJhg z^a+c710>MGMFNqm4?)|&E+6BC=yH}Ez_plOSP{~A_9c-a5X`57DzVR;fc)}(F~Hrq zSH(-_{?jXaU>`p9t`L)iL^mDcQ=FQfOxE*?um_G6+ga`yCi7k(A_)0 zoLykLs`c$+*#Nq$(|h&aNW-0?eEYTxZv09&s#8)^@2x+M;jDmU)E z9^Nnvv>O_f0G}w1=25_)gN_p{60yZ-Fcf+cxcM8S1xnVmSe)Zl5O>eOWUHvr5bg|~ zOi;44&F2fnVAKN~4cI`gX-S)K1}TvIA3uIN3vw`e^3q$D8ENFfoRXE7)*%EffVbbj z1t&V3>ZuKuFW!|wv+qFim4^Tyx__FHoM<+h%wvWsigpi-0FcWM%nacAL0-my-aE0q zIQcK01~W06=YHKP54sHmFzgCMz4Tj=;BAIx;aq#K+;3vdp$~xORbT~-4jN_#setp_ zJ);jk_rB5Y2W`p!_~%TvH@C}Yv2hrbT3s`?bn^Nhi_<#GAy-@L!KoQw66>t(IQhUp z`Ua-v>9j;4UxkJqN z&6c95BBqPH#+MFT8dT9V6TEE9ZFt4>*II{o~( zC|M9(jru|#16|*YcK+e#zktO=HkTLJYhGb9fISg|;UZe+apFRe`r(lG!NNCy4ap*NWftKGmjImST>9V74& zQ6R!@v_q+4Uv(S3QEIfSFU-Tzbx}`s+VygVK~rK3=YheX2x+PCVcD|;&3jY}Z1sp^ zNJh?=_tLpmkYL)-v}a-K6mm`071A&wKAHx%n#W>b;CL*KC|J6r6i%fO9YzmJSe}FR|^b$F?LIJy5*#E+$UT zz#5b;*+t!x#{=W~^7y)v*{TG7JSWSumn)rNd2UCK{(9R&klm`@@Iqs zES6M#Z@tk=_i%wg2*}ESj^~Piq1`5MlDjl~_Up>LupLe@F8mmBi^D3XbFi@S=AT41cz!j6qPm4I{krij`_R^uFt@f)Y7)l|@W!^)OwdD-CbP%VPYGEN_ ztvUZGxu%7_!A6VAp8bH@|xFoW4O{xu1!}-4GmzuWQpu zv{;oxC)x)=>Pfkflc2H4&)$RZW)g5ttNR&B0`*aNT_#!m_Q;!dOG}Cu6u{Iz`F z(6?QAuXCcsXmnjsJv`iKzjoYEEzu2AFfJY8m8UpOFHqGC7{F~@4r0tQ==IV^p#tjL zq@semQj%v7(0_p0Xken*vkWsUzh_gP`@tNEZpZ(ZUHkOQfkC(0qVn=--e0bx4jU@#yIbU^E{GKWh+Uwq@FkiT>GtGMCLv{ zdgEMRJyX=nX1oe#`r~>AapQsL3q_#xc(H0=>XBou;)>OeF2u5mrIg3>mt7Z1ZN5DsU z-El^LJR^mxHG`HifZM0QhSq9tvsUr1SfE(F;m6GdTAMq;cb|S~?%hgQ+@<_4{s}xc z1q_H!1Y6g{Ir6NoxhL{8XHL{)UHm~8G(j%}UlMVi0yE2fW8iAma{T!IEy(sRBc zGL)0#2>|t1mEOx{S32ns#{jF|wGW<|;0=Io%A1J;2b>_+1z_0pag4|Lp!WbC9KwJ! zz$=zs`H9%|M)R%Tt{0s*>;h3;C5C6OyZT#c1|M_;a3%nU&O0P|aB_@S0RHmKLGWgs z>q%{sWo^;{u7?aVy=u4%4tj1r{`21V#pD(TF+do50xt+BsD=Seg{gYu2v}7JSP0J^ zy&-=Egn&M>T|R2qq7=Axvf$#&Mkh}SjNSNAO$#JlR4_6TDXrj(3JkTv&`KBz2CUHB zLpZKx%EM@F;k|H48$%7qb{ZW};^!N8=u5dCpy)e47=exhr3>63s-1yMi?!-cQuWOv zSYB!6p^Mi*0aC-8+xU{GCQ594FQw_yvyiM@cc3FmyLl`cJw1_M-+ux!3D1M??N3jJx)#KQJoOX@a>D>_&=;?Z zKKHM$Pv7L}>z!HPtvkWyo^1h@p)%B#OU~&0^ca}6&7Q)TDNVWd#xw)OG57yj=rlp$ zlU$eqPtk%QO3M3o(*-QV>XtIv>ZqOjRZJPiF5vt-oDonKmFOP?S)o4QFrteG8vLa{ zDup4aS13>@0HnDP?B8Af_+#LE1SRCmJU}@>K@aXc8J2MuIeKG=k21GCHWpSPR zrOQF+@m!?|bl~jsiKE+~Tz)=_e?|co-geKv1*TsOh8PblefiB30SRtx% zNt0VBBNX_rcaG^L!I+HO!aWDLbf7u`%w2RZ&g2g8UeSH|P`5Pe0eTl~Xv_w&qUC@X zM_eeN^R1il9LPup#{8M;EDnNV5sZv!qw(8Hg%8@ef?Ow9RVi3b&{VMva#;jt@~yu@ z(Y6>Q@bplh=w02)NCwLHsXrQ0XWtozpp0u?4hmGy z_vN;$$Iqrh0et#cLj+uVLIhZ2SF|qYt6-hKTe>^!ke@yv26&>OiQ+0|`c=f->rq}a zM#l7SpXNlZT=yqG1EX`gul_Ll=I^%W(2E~4?L+6D<=I~9MNjy14Of58QUlPJnW75c zU!CuYkn@a7pjq!ER2BBzXafb%!Wt%-$KSlfD{}74``P=zfc>BYNusOIL_y8qD;*1n zK_SrP1ICr#f;rR|WCP+SI2~3xfCq$LdmUUoScmnkHvudsv=7|g%3*``>$|Ss&Fkw( zh6ZdbUeEv$CD#A`(LcTAKmP@I;+USsV8k?MqJ1Mn^rgl4HXn=DL5Z%Qg7STwMGI3Xtt}Nivj@!1 z$P+|lK~@+hlpIzS^_6eP5cS8I>E`=WS9WG51^5 zpfK=23PZy{Xhf-}Db2cV?xQj2sI#ytni(AcuM4mVXe(ba3{e*61>O{|TQ|etOHF`_ z)qV@<%7^jAPr-ugUBM0W<}+Xo+#MC^Dp*Q+bLiGP3)SkG>QSNoSGu%>e(SI~!3|{d zWddLW>6uCc-IA!IoST@z83AYR>0db{D#u@YTy*e~ki@T_Kaq

tI!u4FCme8SsU53U*pMB!;o7bLIkEO}p z3On=a(P_@bKEv6!XU3;YbUC-Hcc^%Z3DA7_EDg^{vJiU@?8O?P`>yXm|$U+u=2ai>;{gF4CqIUo4q8=6;$eZoYD{8{`tK*`}cb{RWFt%hPV2W8Zm3Fj2YmTp2e3ZM)avnXkC^9 zmXYP)Q9v4l&X2C&DGmH1V2dyL?h>%ZaZW6f8guTC&)pB6!jf|O^|Mc>=Ry(aC62+W zc7o9x{>}Z;$>i%(oP9KPZOEW{5LV9qjl6ihmke2b=0Q<-WF0qGcR;f;(t$=1eKlLU*%>{! zkvC@bD^@D6+F%uqfW@=KOf&B1BRHSAjr#^TlkL{y`QT=dPHbp^s(+#y+-Ycoh6cse zd|T^RKc$}p^jy5U4RNjwoZ@`&uOPvUq4kQU?>*tL{MyuKKcMB!zNPO}Fs#hL3(vHG zvpN8#8K=%}v4yLjDP0adl8JGgZ~l?dV2f5T8= zC7pY#hZpD{vS zRDJYxoeX2Pdrf`$B1EXP>}E&_=nvkM3P6pSfBD@JW>0teI&i@R1U(f6;+Y!hnH?Z@ z0On8@3(ML2*#>lKXNo0UM{g@EkAM5s3p#S9jE`!qY79n z{B81UOpG7>M~lN4eeGGO`~URd4EPrN&K=5Qm2{QgNLWLyi&qR^e*zj%Hr#*xHAwZP75xShOwR)Q8b%r` z!?m};R)T;IUoe&%p1m}^we9@-G3nf=JbHIMsJ3jqj(9g@5q5|2F36E^f?HfPqhUj+tuTm zc%@O0`uPXQa8Qn(Q+TC`A+RkIOfYo*m_K)JXkzU0vsKa-3{eT%zp;%|SthMK55V{X zhPWzV7s&2p1IQo5$fCn$e+)LP=d9=0VmF~N76dQ?xM9GD?}4S$A?iQ5=bmDcZ3l4+ zxPhz6)UStg<)8cl48U*Cn?(cP0`jQf%a5>dS-uf<-vgv zvoTtf<~wXLnE=3TgKJuMav_3V5eFdB89)Zq?|j2zUhisl9UucN#<+s5(a>{2i~$1; zhBjZxgAoOy;|u6^E=(_ujuh~Om)>&RcFmLT?cp^9<{8MEe8W~l^$zwh@YK(i7~N3z ze{=L01W&mL6r&1H%G?_pBWMD6Byj0rup4iQ(E+izZhDE|cYZD~620DqGIDpIj(nJ| zcdfYE;Vv+iIb9&24K}nnM-%Hmc_z~gYw<7`5Xg9rKm9y2AE=HVW^fDCZ)+Kr`jsbG z@&0=5ybe$gy8hY){;K$_GsQjtMt;Lo@R(`H8E54;m{1!#NlUV z#o~)IRygiknEIX0LGEa399Y@a9FcRFLm2!mn=D1fO{2Xd-!+D$+c1eq?pPPev+$%`1+edfKK zh3AgK9^dYYE;`1CQQ}bswuX~v(M1?4;2p(_jXK5hhe!j3HE`N@VEw-yxmTL#;Sqak zeU5rSw0j^-P8W!v$IPG{H?S=mz<^7KTfwm(Q3c3YYoWBQ<7dS-g=S@bu4^Yvrz^|_qFG9ZZ66_6QDH*<56 zKs_J>dU|wv9Q_Gc^vxs#`k>y8HZy%t$eZQPiQPH~llyd`3_vrG&-;vk9cGaB^m1w4 zRUi^v9|=ugAxFAcD|qJ#$)C1KOZ4>aWN1vEQSCnI$Y00_^8oq7WReaCmgsee73Bp< zzv@;_#R*!I@;AOU#)=ac6U&=gLItbJXcAq{Jc|dd&EmetlrBk}$*HwQeRMSMukXHr zme_`=E(jnTl#^%`gKlFMmw?7Teq^P&ZEQpG^`A;-3j+$+2HI66I(S79m>0bu*wx^4 zaGCSLdUIfV1o+igq7ybk)^Qh1pa}J7u0-}3IQc5ni85cN$7nU!<_}I7orYrPz3$>+ zTMEQ39gFJuYK+&^RvEXPI}tYb$xv6uS6FpI49GaiL%6ckCy@as(B5LCasco3zzj(DK;y}1aq;OOz$xO}oQcc|*jcB2Tkyw+j=^@F zO^#`UF!_K5iS2IY6o6@0P);)j&K@^|2QVK5l{elHWoXA#3$&aHFb0`{zDo?WR!|+t znXPyMY9QhGr;HHR_YjIvN?cM3!CRi24a~lwPkqh#HurGm+#%PFeRg=MdIaG0`vTYKQkjYYxn~~M8wNw* zD&P$)rWVlWhrvvs9iTEQX;F^qtPz#~1Kcx!q0UuLf%brwf&?tIQy)E9va_hZHlTDx z;!Fb?c7iw&VD4r5mE)5vJOcF}3T|vgL8mIIP`Nt6&eQzcL%R^CvFzy3av)bFFhiX3j~HXX4y}@a`s8F5+M$RbCdOA7!-i|y)|xKu6lQ+Nm{|# z#`*~y*j2qyG(QNlsKP5F+c&ZC_lKX*Qwu-yI#+O7Jr&;-kRxcj?MT>qWzbl%n%phw ztz^9iXgPUk99(C@61qNFdqv$8VFT)ON*Cw8Gh1sNMw?|hcW;HJ=peVLveuDNn80BF zg{Q7QCc5yTQwN9e_YRC`GH&{Q>G6t!(l6YW4!KJ7eZ>d9x@+p@ ziQWv>`a4iC-=3gvToq`3m*|$b@X0?Mdzvdz|8}GY1!IN=rDebRav8McdU70C;{&O57v$x+G*`R}>_S${<47=F}Ww5jJv!|hD zwuuRz2g)}rlh+je#945swg0_>pf}jSoD(bpK!Izbu&U~+7y>=J!MLKmr+x`;fJX{+ zqQDrwd{~toh3Gg z$8yk?O}(b`FGHF7!>^xjfaEJiV2v59rjx;D0;!*Px$*E92diKJ%^;451#tp^c9<@y zyIL5?;qDv+oIW%K?kR@B1EH-Pr?dRH(?E^SQgDYZ8&K<{9lXK@wwfyi5}2fbj|gyU zr;bqQETKaTxrt0}%$JAOm9O_sho-)L1PKf!={N{TYJr&%m{@n?t^Q`-O1waeK6d2(sWIwtWHsoGWv&8+)&AhFaNtS2SQJ@&0zhYG`As2KlTHg(%@= z$LRvWL{Gl@njl>Ss2^4JNj16+MZMC1#Uxk&QXiKq(tc);<^_WRbc29f4e$tnv)^DF z=iWzGH=CsqoPoCkGS|p1FzO(w$!%S!c%nkJxQC9HE0k39;F%u&wPev4RXCa5?HmN@*py|Ye24sq0Edcb%#BlTZ{lh=)*}zpd zHmGj`Oms=l0OtXG_Ke6dh>hK%8$8U)HI!s@HcAt3LqLOxS+P$0a+frMa|=0NpmI#4 zbqnNLdZ;{~MIqj9X7B)!B7`@p4-<=i=55ITcZAS_BD<1^3gLn>r)3^hRo2Fu?%xLt{ zW9pz6Zi@q74Psr}X|MbDgGa_!LIuXx^43*WJog`blb^J2xp{A@Xe??OoIvruq5-=@ z{n{u`-q*x<%;Mp=SMx^hyG5Tg7KVXP_nd@fus8xZdAHG%tsdzkW>`aX88lARAH?0d z_%0a3VW$J^7Go=b3jow}+*$4}9%su(59?+T&To!A?fCkkyOZ6^b>WoucoC^rPcZN5 z)uVepzZdF+&Yl+NTrN=Z#m_|%o(K_3fBTA^JiK@I2viF@05^ufUX~^x5ai&*8$k5u zQnncA)p@Lb_#lkkMpvYv?Z|^V`x-M~Tfns^CRLS7_GWAVlOR`F3$)C@UOY`V0pnpM z3mO=C!(2-#h?O_f26hKh2JU!Rcs2&;x$5w4Q-3ox%YicikSr754%)eUSWw&o^fLgM zDVssr4O~PCs1O9O>ioy6?}Hau!kWF?y!9rH?_n-39@!JSGp35}>y8{@v;$Xg$;fzf1)_JysiQKG$M0uK&OJLT0s8p)W8gttr|Xyu z)|3Xf&GdG+DT7u0vq!I}7}ZfyjiySFAS0s~3NwzWqFdPphf1B{E9g4lQAxg_-sFYi^Er73NZ9RnY}clB53 z7)rH)t2?}m7H)}QK+;v;hOe8nEi}5gwhCUx1X}djo8a`_9iYdx@7CP;ZY#R7OLchM zahRAxCH<@rz|hXF&ENgF2Xrprzm$us3+oG8U?nhWSsl2GW{`nh+Ghc!fr($g_9LSm z3TIwXwAcg@xE4%1GZHEg3K{@KZP2yCK}T%^>GK!2F5cJ$ldtKL{qe3$aS=3tk$Cc6 z(RmE%50AX1R|Uhph{00r_~f?`0w3KQHC&Dc^($1TpHDNodB?HYlcS7=REtGj91YV~ zAChKsxO(v*Mh|-;FWfIyI7G7#SUN~witz``KFpPJ?RkkTe1IFn!Gn(D1wVb>r`hQW zkhM(E=u&;lm^3+I3aqR5e0=x$C$y21$(OLi z!{NzF)8Ux1cQlNoj`i>9*Slf;@Uf-nVOiVCaMbk;8jwAf;5l;bsGfpFy#UuvYeu&Y zv+$FQ(@@?5ICrkAgF9QoiW39^c7mAw3&aHf>K-unIIug4En4EZ)7An`xq61K`TNDS zHioCw(E$yh&wW1lr5J^YYj_=C5H!qXaz0xFGw@3zEJwxRn?2I4EDdYM)wRo`xITaz zYk+0D-ULE+I{PSKedJPv@Ofc-dblz&_5Rf}!1`h^h z1W1d%*TS%G2iwIi=>d0wc#_mIllol;#v5n3qaF;{I}w`&p?06G5NE*L$~b)%z3z+hPXu)P9FLSpBWvTS9Ay z`cc@bngh_6{`JUv5PIXa8_=+e`?>jVeX@ArCiDWPz-7UC@#C>U+bVqba3wKioPkfQ zM~A20a@HP1H#ne%Ksm!Zu*EG-S@5x(*` zbNDjrF7qI;NIepa69#g_Y~Wkz@1M0FUTZ zk26spbz8%TT*f?Gb48HZZ?12UA5CPH4$|31gsHoeXBcWcaWni(#DG1{TA$%s9acKKcc? zVAm8|fN}M6H;l+3X#lSR>3Cs+#C-cXwb^sez-8oK{27=a0ixQx0enmC9i`cLj})E3 z3oDjD_$~%(0+p7lpLUKvbL8?PFaf+#CkpQayh*dLcozGaA$U|xw|@tO-$)I3(Tau- z-hy1Aegrjf=HsIzMlD>bVK^GQI1fYNC zBQV4?-!$}{EK95d(X1fp`)u6R^2LYW@^}Q_#V?I4p!92PHF5h%G zT86LO6B%g?h`DxeGQ)&J1|#j@V;2reZ)CGbiqutLnJfWj)+n>9~&63zxI=H>+JMl4@Zrpa#IaBT~%sX zl1Y2W=#7UK+r$hqu$}I6_|qRzj^b8nZ;5ueB}2XK)zfWT%<<#VGP+<|Jyh@1LG5F- zHmYB{X=T2&GYaX^`N-Y~Ysa-8f%||Or+GfWqbu+FQ=$ql7tuYxP4o=LW`o|etPLNfBDD(+V>ov&ASWKY%LayDpyK^z-t#9JFr{f-rcoXU@Z?(i=Eaw}+o$gl zJGyMRLbN))%S_M>JS}a939M87PM;oj?r{c;K<9D>{leS{-Q8e?*wHq6@)tXpAW0c4 zy4yR+Z%Yf<00Y!1>U9=O?h$bHfh5;jum1YtacKr`Y~Wdek}n=ih2SttXJPs9rMnhF zW%Vuq#k6f?F#tZ~i}6WN>ghMY!$E>*o56QP$y?>W!# z1ze>YMhh>rZG{wrY3<}mZ)Tb==)j`pf`aobL;~$Do)vKTgY|s;5_o9fNAF4_ zc*~51PUPtg>^#R|z-{@VJ?e~0sX>?e#a&C4U4OPj#=Gt)+ya27y)$J(xPRuafA${4 zG{}I{(7vtE_39ga>SiqC51(0<|;9 zuv<)A$qw$x0Jjie)-{O=?n$#juN`WTNxG8OZHAH}M(U*RLTKUIr9rH!1=1xvV7>u8 zU+k}5y`z1)A7*+tUmvZaWoWe zGJx^WX~=)Vo_TOH9Gs!^_RsEf{7;p=5b@Dzb7bU_+;*q*kpLL(`P`)fTOoUl1i7Yz zg@~8xE>PY$@4)KKs8zW-KfSU%&h%Y;pHLlirl#%uBRV5@=&8cl)455H4@SEVbW+g(EMS{Omj#^{;Tb!v?B0N` zNA(;lz^Mz|I^(bYFy3zuESAQ*SsiTB6dw(lqhm1!z23grVsu$(g}XNuESp2R^az-) zo?kuiV;K1$`y^llgBqtgzkcK8acBTX6bSn01+kl%3WK2SmFhp@P4*m*$Xs|!CnygX zVL&oKz&8&*8pP+NNf2Y8!=b(lJ=%3?Oqf5M_*nyRPY{qf$mG$1be-M{gZpBy9zN9g zxk_*#6VwLMn-m(OBv3zY4|QAzt?q=EYZE`OMd)MOuGekQ&|Bf zSn~O=4c$>;KYFb>O*faNGfNNlm9zA(D;kP zI<()lnO*0S?6HTn1GGBRImkH<3a`Vf{Qf>L!2YnBI;U?6NpMs3lOtlfAcMSCdOPSh>9ccM#77m{qA{$tg_FGwN$0!l$6t>4WtU^wbv< zmsta-tk}V1W>yO}8bAG;0LO5@`o0PaQzWP3)PY_nC@tY~DEJD|ESn*-e8kxC!H;Hx zq3+INu_*=VL0o&+d(Zh-U{`;>D-xg^uwZ}p{pS)-l1-zXF0Vw1Q86D1W;k}i5eyPPU1GyGMd@%B6 zo^*hyXO1H4e!eee=*xfJ7wmQYIoN{D_Hl?qZ@UCD z%HS=7-tf4_+iFJfY42}pG2Qe7TwE&PKLO9a@8Y3*u?27%k zO@M{a18`{!Fot^ernF%0s^v!8oM>Fn?BPHD^n^Z+#q^6OPZ)=Z!m0Mi*J-FOMe`3q><#77@u8ER%*ybt;p>NZ?aU29;Dvom1f~TG zCs40`2i{9Zqs=#Z`fjeWt{ikbtKS^ucJ<*T=YJg60Z|76>gROr<)V6v4_xnhuGYop z!0h|G1{NRlz3<$95R2Or$l2-<}WK2~@6#wD1ZrHt5;?!e> z!Nuo3x&uq>U0cw^%mpIVuXY=UW~4)1{DP%;=+U5HX|_RdW!cX}K8GKE`e8Z&^XUUEqx6Qu~?bD}HSvx`!V+WnMNB|c%nx&F6{_x!iy>1P#1l~*m zAcsNKC)sDoUFHazdIFnc+*lZ0f}{4%n(s5l5@8p8EdcHUhVL z$HC+jv}P^_z}c6ym59-=qQ@wB?)nbZ^GTa+G|1eW*O9q&r@80aoPZ*ZI;dwUdHB@ghPC#>`dYg`K z(ohl%{b-X==*v+FI!tq{JG?r_CJ17Gix2t}e9i&%VsHrV;xV{)CYN02qI%0#jkM)K zgsxKW4f@xY-p-!V&pRJH7>kCwZ}z=k1v!usl&#asmr25Lbb(I20>;7lS%>|uo~X|{ z|K?~9Z`PgMNPXqwMdhm)q`RkSbI43SOPAi^J7Hva=@tkdhKl<3fMwxxOLO6J|wnq7BIoWyO6%1PY?2*WKKBs zaPYO)piL)CawLPPYfU=Hasz;`+g?FTRt7aMWbXQrF>4xB;P;0_g0qayoc$sAocIFv zTzR34cMB#NBV*2P23Lh1^5V-`TuP4J3KA55ee^fbYB*;>l86ch`oaOjeP?Av!%_xT zee_t4nl2Ej4`t!J17nrb%}jn^5X4<#AR$52(VNFa;SpnNZoRDIIjx_B?t+_76Y2xl zD`zL54w}G#n@7OD@2wSwUisk?IT4)G9WB^cHw;;km%=M>cpvWvi*WS^XCVo@%QK3* zS)iWrp)wOUdPQ;UoQ1PyT8 za3Sou1cOOys$PG8|{Puk{HXqqC1HYUc>dAe^v~g z;_Jn-i2%QcITJZ0HeOalLCXRq6q*{f6Jm>~3_KTq(395-%mHiCt{|Q?4icm>d)nsu z+ziiP4tEHU!*lz1=oLLS@t1RLfnd-LZXm!H6b)(<)8K>97)s!ar{4#!0+|>+1I!x1 zsblIf!my$2tu-u8orS^$R5=H>mmPB*x#U2Om&k;2k>I*kPA^_@?@W@kjj;p46%NZl zY&VytkyA{xh}XSoNj)J@0#(lAlZ5YK13Z#)ZT zpncfk6WoRuiuyp8I3^nAb}@c}-yP!vjQV%IzIA@^JRIXenO5T%Jw(H1?y0iyUC*R= zXqA&ZH$$qyXBoXfv58UK2DuWnjG-;d1!GIN39Mx8aDKmY%gFpeZ(f#>h^%JjoI3yp zBZS3e7uMdiTSI^1aX3DkQXHlUNSw1s;^ec5tG zhO~gsa$J6(N*hgkq<4L3QuZp9>7qTcZQ}@in{@=%+dW}xd z>b*ReM3HC%XZrqKG{Vbec0{K7*>iaQwEtQ0>v|4j@A+e92z|=xR_GNSP6IlgdZpx~ zTThDw=TvhzAYTp~;I{s|P|xC(`aWy&G4nz?A^M?my>dXy=k$!Yo-QB*?uN#(-2uj0 z5B)BCQVyou;9nxgmP0uF9u9Y!fVs-!fV~_7)8ooMPReTsm?MV8U>b1Ka!5IP61tko z0qWNC$5#%+`rv?Rc!8bp#ZvLLXXSvLW=KB1I5D{d@zWwtzi+rqI^o1Ib+6v&FjcQ@~0rVVzN6MOY!#_bNBz6XL;EgQ6+ zLCqZ;0Pojj2&xGLFkL+?qNhPrfm}gp>f;qqcrRft%pY}A@4n(Hb>=p(jsi@y6g`#6 zg&%Hm<0JrEm*w;;qDC=JKon~x!v%zh03V43^R9@_OgCH(f0o~}TD)exkPOANzBE*O z#u+DzvQtEC;I(6M$Z z1U3Nrugi;Z02FuUb?ZI$7OSu8&97Uhw;UQuGV)i3L2jsJu5+rXPHXL{tZRb~UTP8A z)en@1&p-5z#n4^H%(%Q%%s(*2^ zI9HH)cLaft#;5x?LpBbB0m&0zJpOi_j+!3%l@rV;J!I~(?Wtz3E zWwe5gFbINOR>(~;V7Z15%B5e4H5K2K#f+L0^VUo0wW0~{5D_t^C&J({UMBlRd4FTw zFu-F3d%2iarq-NZ2Yp&qW!6Z>-Yv#~zKg%ZImpo)Foo2&%!tK;9t>&&oq4ULf;r5b z2IfR`msebPKD1v98^m3r7BD#kb`7@r!%Q>-Wp~HJ+RkBxY>cOuYbDU>0%L>vjoZZ! zQmV{7^A7w0_HrDZ<1A+}iS#l->zx9-_&!f@1c#vaybDwvK6)L|4dY|xBX^!4C#$FR z*6XYs0v^((SGm7UU$;csvREbA=f!8^Lp;SNyp(yxd;>-^M1tSk4>p*tCzT|AeWHDl zcrW?~>hDZ)m~^yx6JrsRc=28R#K=1omzw);0u)x~QBuqr5DVH$2gp8ECY^I0M{b}% zv^5*sI4G`{bKFo5Z(i-Iz-n}6gx5#z)RW?*Pd`)#4$Oq^0@o=8Er1zIV$ty8{5|e1 z-k6wQ6#x||(03%LtZ{;!k&vgJZyTIbuLUD2VP1Yr+PJR@87oKd0`!M+D!W)k{KO-? zD~>&I1O|3~@T};35^DeSt>NxU_8h|wTsiX)^|%ZL=qv{-9Pe)G*(i=6PEapq(cS4+ zj!f);qtsnm!Fj#yde=j>$AcTt%tnu_>Y|zXhwY7AHqIlNnOVs)&jC*cpMPD?4wfMD zwgu}m{9~mTUV_nP_rSWXrf@_YfgTyxV9DxsOUg1RfbN&M0?=8wr%jJAK`Xe8U(cgr2ZXI3Po4?=0WHN*e`J7J&`OQTkQ|c;sh@PWqkG6 zo8oBY9J%TNdzngl^f|mD!2N7snr8~`V&}S~TsZ`tDJ>}3X{hR5%wqM9=$)(HrfM9) znjy$@&ryGS)N2{vm=3?IE7;{%n4O$lJg8_6?Cil_3pY&9N6 _@0lFGs)p{O2JGR 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ß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

E#<6^UwZJbgS;v7;(n4GYJC_ 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м?^iy|_ziuq?nb{P4$M+{g}}e-&IOz5JGEbohY- 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

Jz;faSQ<~= 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


Mm!G!}p=CiULwcWBK77-5_E7lV zm_XdZo(`G;V%-vGBw1~qC3AV$bU!4%7ST~^{!WUOE!JQu{R7HAPo^S0*0z{T`heNdQc zftAr!0`*^mw6>aWuc-a>b!l=gK!pg4H$uw=>F!!~PDURT@XhREc64jjPDH!z-WhA~ zDlXwKLPL#9XifyX{Y@}Vg|)~+llpAh#RFFZ)^%gmXB?l~#+2P_9bzeMcV8Br9%1y4 z;(tG`^EzMk&q_EH(2ZNliXY_z!|gd!x^e@Rg#))GGiQOzCq;s<0`*Ra08h3p1D{1l z(;K8x^Ok_-OgfmZDZYK=!8?$G1tL1k&uc*E_Lw*SPJm(_E7zAm^O7-ESu_9*!X#CD z#A@*mzFAhflJitw7qLFvKESFd$g?y{*{C5|$PEXwaz8fjX14}xkMVE~fxDH}Q$rW= zGL%=T_9e#&#{|GiS3@U8lelC=08>sx;c0u#*wU$11 z{6H}p&0H8qL|Z-f1gP<4t3P^AOzxqMCD1sVt>?abYyZGHA9r1F@f1(MrPMRB9t!md z=FbQ$3KIwRsAIWZwICqJ{OZS7e0PVO0({+)t>8stz&x7837rEh)E~Z-c30Ee%W}uq z8V?fGcba$QnaE?{cA1|^l0Ng-u0iPLgZt1W%&$S(-j;PG{gqv@AkO4MkVu39l zd>ZKDa|;3vlM&|U9O*S+Rgy^XB1_9@&KzQpERR*kNze2P$4yLG$bmdj< zPcV22hU0GzTh`6c;>@p2StcmMC$sGjT`LsE$NN(y4j5lCibaaPTeyCqZe=1`TxeKT z%Gya^JbAnTdOZU$fibqL8VvA?0G~C)i7==#xK<0bdXQY6p0;bl*AFE>?PxI|pp;ahbmcN^2!UB!5#TLyk!aPz46L6v54-ko_Q= z1FX>7C+2!i@!l(7jcu%M|NZ>8rK4k7(>0oTcewKEY)-u{oIcP483^-00()4`$d|1Z z!cuqRJuM$I(7Nz_Fh{eSF6HHFK)_lN!r2G(I{Fw5fDh!^8*uvAlD+;2=C6gGfHsH0 z4$LpNY+9KZc7vdOE2XC-5wfAg{IBWmk5O_^WiGr!`C zj%`nH7Yi%E%wKpQsS9>lnx*hR9{>ZT88rOT95J*&Y~o}Zxhp^`qe@S;%g0XBVwXa$4w z2(=6`(89LTr43>$)2Abyt{7P+xDOUaUOQQkJBG=ZVqOhnFmknfwoC+H2r6pnT3ax; z8(J``%B>Q8{Qx(LC+@y- z5}YR?0i1JMM?5$mQUI=ovl^H*p0_ce&j*$bYL>Rw%`@>n$4%yq*xmHm8>joBgxkS5 jjD?kJidL;%yq#5 literal 371934 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úuErely9Uwn)gf;JlCUZ+M)^yO!reIvrt2wA&; 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�JnsYB^ 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

K1AZkwXh7rbAACWB&t$uf`1RQn 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%0DWni8rgzxXv_#b4_>%6~ z@`DI^VRZhkgm)1$bbJovV(np|C?LE1%?QFb6qx#YA@FCmq7&^R6eqzIg-)z%!J#>B zZ-{}5{m(1_+M=;%Je%!zh|d*2)chMVp-R@~#u6fp+#+owH+m^GG+y5`5gSlpEmp&UuaXPMv0irQ;)U)qGqTAi|lY{-a@#7Y|!=O>54Pt7A`;R!v>yV z!S|j6VhV}BLsnfF!=#kJh&4{QPazA9moz?kLWalc4p7Q$ESrZb30)?(M34d zR3*OnL72=0tvyywh^e@KY|m&13$ULj1?FYEDJJ`|vZ-jLq8016n&R<)`XLRKv6PXD zo|fm&7gmK%aQ*!elXD+Js#D9@D3)D=!sP7%@#yK?g5qk&jO=hfYxds34{6wXNu&xg zMY3FGZV+n)YyI56h;*XzC)NalPsPqgA}pgC3=Ab0ny_=}t|9t!Od`#aDJzzyUtDkhW>zW;Fpbo?C3W(2)h z0|ilq2Y<8(!v3@ILa6>u`gAgVYyZD0D(vq!@Ttj(k*eB34%sYRosW2d*v%k%*0R)I zH~+v``hPjmQ0GLF(*IJTRQ6grt^dpD^p7L7Bs25FGY?pG%HL(>B%_cZ+504ey_m)N z{qb@5dShi8jFkFW+d@$D&x}O`*9ZQMwiof2>I+`I&85N;k%#_qmUjZ9Ua|rGQ(g} ztKy-eqPd;&M*u-nX1h z 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 HQ$iB}P*|b- diff --git a/assets/eip-6404/tests/normalized/ssz_tx_types.py b/assets/eip-6404/tests/normalized/ssz_tx_types.py index aef602e8139d8..f36e1373b376d 100644 --- a/assets/eip-6404/tests/normalized/ssz_tx_types.py +++ b/assets/eip-6404/tests/normalized/ssz_tx_types.py @@ -1,7 +1,8 @@ from os import path as os_path from sys import path -path.append(os_path.dirname(os_path.dirname(os_path.realpath(__file__)))) -path.append('../../eip-6475') +current_dir = os_path.dirname(os_path.dirname(os_path.realpath(__file__))) +path.append(current_dir) +path.append(current_dir + '/../../eip-6475') from typing import Tuple from optional import Optional diff --git a/assets/eip-6454/contracts/IERC6454.sol b/assets/eip-6454/contracts/IERC6454.sol new file mode 100644 index 0000000000000..8b50767c15263 --- /dev/null +++ b/assets/eip-6454/contracts/IERC6454.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: CC0-1.0 + +pragma solidity ^0.8.16; + +interface IERC6454 { + + /** + * @notice Used to check whether the given token is transferable or not. + * @dev If this function returns `false`, the transfer of the token MUST revert execution + * @dev If the tokenId does not exist, this method MUST revert execution + * @param tokenId ID of the token being checked + * @return Boolean value indicating whether the given token is transferable + */ + function isTransferable(uint256 tokenId) external view returns (bool); + + /** + * @notice Used to check whether the given token is transferable or not based on source and destination address. + * @dev If this function returns `false`, the transfer of the token MUST revert execution + * @dev If the tokenId does not exist, this method MUST revert execution + * @param tokenId ID of the token being checked + * @param from Address from which the token is being transferred + * @param to Address to which the token is being transferred + * @return Boolean value indicating whether the given token is transferable + */ + function isTransferable(uint256 tokenId, address from, address to) external view returns (bool); +} \ No newline at end of file diff --git a/assets/eip-6454/contracts/INonTransferable.sol b/assets/eip-6454/contracts/INonTransferable.sol deleted file mode 100644 index cfef7d6bf5044..0000000000000 --- a/assets/eip-6454/contracts/INonTransferable.sol +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: CC0-1.0 - -pragma solidity ^0.8.16; - -interface INonTransferable { - - /** - * @notice Used to check whether the given token is nonTransferable or not. - * @param tokenId ID of the token being checked - * @return Boolean value indicating whether the given token is nonTransferable - */ - function isNonTransferable(uint256 tokenId) external view returns (bool); -} \ No newline at end of file diff --git a/assets/eip-6454/contracts/mocks/ERC721NonTransferableMock.sol b/assets/eip-6454/contracts/mocks/ERC721TransferableMock.sol similarity index 65% rename from assets/eip-6454/contracts/mocks/ERC721NonTransferableMock.sol rename to assets/eip-6454/contracts/mocks/ERC721TransferableMock.sol index 5584aa65ef245..8de60a3a0a826 100644 --- a/assets/eip-6454/contracts/mocks/ERC721NonTransferableMock.sol +++ b/assets/eip-6454/contracts/mocks/ERC721TransferableMock.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.16; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import "../INonTransferable.sol"; +import "../IERC6454.sol"; import "hardhat/console.sol"; error CannotTransferNonTransferable(); @@ -12,11 +12,15 @@ error CannotTransferNonTransferable(); * @title ERC721NonTransferableMock * Used for tests */ -contract ERC721NonTransferableMock is INonTransferable, ERC721 { +contract ERC721NonTransferableMock is IERC6454, ERC721 { + address public owner; + constructor( string memory name, string memory symbol - ) ERC721(name, symbol) {} + ) ERC721(name, symbol) { + owner = msg.sender; + } function mint(address to, uint256 amount) public { _mint(to, amount); @@ -26,9 +30,17 @@ contract ERC721NonTransferableMock is INonTransferable, ERC721 { _burn(tokenId); } - function isNonTransferable(uint256 tokenId) public view returns (bool) { + function isTransferable(uint256 tokenId) public view returns (bool) { _requireMinted(tokenId); - return true; + return false; + } + + function isTransferable(uint256 tokenId, address from, address to) public view returns (bool) { + if (from == owner) { + return true; + } else { + return isTransferable(tokenId); + } } function _beforeTokenTransfer( @@ -42,9 +54,8 @@ contract ERC721NonTransferableMock is INonTransferable, ERC721 { // exclude minting and burning if ( from != address(0) && to != address(0)) { uint256 lastTokenId = firstTokenId + batchSize; - for (uint256 i = firstTokenId; i < lastTokenId; i++) { - uint256 tokenId = firstTokenId + i; - if (isNonTransferable(tokenId)) { + for (uint256 i = firstTokenId; i < lastTokenId; ) { + if (!isTransferable(i, from, to)) { revert CannotTransferNonTransferable(); } unchecked { @@ -57,7 +68,7 @@ contract ERC721NonTransferableMock is INonTransferable, ERC721 { function supportsInterface( bytes4 interfaceId ) public view virtual override(ERC721) returns (bool) { - return interfaceId == type(INonTransferable).interfaceId + return interfaceId == type(IERC6454).interfaceId || super.supportsInterface(interfaceId); } } diff --git a/assets/eip-6454/package.json b/assets/eip-6454/package.json index e53470af83620..82b43d23a5818 100644 --- a/assets/eip-6454/package.json +++ b/assets/eip-6454/package.json @@ -1,5 +1,5 @@ { - "name": "non-transferable-tokens", + "name": "transferable-tokens", "scripts": { "test": "yarn typechain && hardhat test", "typechain": "hardhat typechain", diff --git a/assets/eip-6454/test/nonTransferable.ts b/assets/eip-6454/test/transferable.ts similarity index 70% rename from assets/eip-6454/test/nonTransferable.ts rename to assets/eip-6454/test/transferable.ts index 94af4d47e5235..65e4153caa446 100644 --- a/assets/eip-6454/test/nonTransferable.ts +++ b/assets/eip-6454/test/transferable.ts @@ -5,7 +5,7 @@ import { loadFixture } from "@nomicfoundation/hardhat-network-helpers"; import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; import { ERC721NonTransferableMock } from "../typechain-types"; -async function nonTransferableTokenFixture(): Promise { +async function transferableTokenFixture(): Promise { const factory = await ethers.getContractFactory("ERC721NonTransferableMock"); const token = await factory.deploy("Chunky", "CHNK"); await token.deployed(); @@ -23,13 +23,14 @@ describe("NonTransferable", async function () { const signers = await ethers.getSigners(); owner = signers[0]; otherOwner = signers[1]; - nonTransferable = await loadFixture(nonTransferableTokenFixture); + nonTransferable = await loadFixture(transferableTokenFixture); await nonTransferable.mint(owner.address, 1); + await nonTransferable.mint(otherOwner.address, 2); }); it("can support IRMRKNonTransferable", async function () { - expect(await nonTransferable.supportsInterface("0xa7331ab1")).to.equal(true); + expect(await nonTransferable.supportsInterface("0x23f06346")).to.equal(true); }); it("does not support other interfaces", async function () { @@ -43,16 +44,18 @@ describe("NonTransferable", async function () { ["safeTransferFrom(address,address,uint256)"]( owner.address, otherOwner.address, - tokenId + tokenId + 1 ) ).to.be.revertedWithCustomError(nonTransferable, "CannotTransferNonTransferable"); }); + it("returns the expected transferability state", async function () { + expect(await nonTransferable['isTransferable(uint256)'](tokenId)).to.equal(false); + expect(await nonTransferable['isTransferable(uint256,address,address)'](tokenId, owner.address, otherOwner.address)).to.equal(true); + }) + it("reverts if token does not exist", async function () { - expect( - nonTransferable - .isNonTransferable(10) - ).to.be.revertedWith("CannotTransferNonTransferable"); + await expect(nonTransferable['isTransferable(uint256)'](10)).to.be.revertedWith("ERC721: invalid token ID"); }); it("can burn", async function () { diff --git a/assets/eip-6466/helpers/ssz_receipt_types.py b/assets/eip-6466/helpers/ssz_receipt_types.py index 50893035dfc23..3c0d2b5a06beb 100644 --- a/assets/eip-6466/helpers/ssz_receipt_types.py +++ b/assets/eip-6466/helpers/ssz_receipt_types.py @@ -1,7 +1,8 @@ from os import path as os_path from sys import path -path.append(os_path.dirname(os_path.dirname(os_path.realpath(__file__)))) -path.append('../../eip-6475') +current_dir = os_path.dirname(os_path.dirname(os_path.realpath(__file__))) +path.append(current_dir) +path.append(current_dir + '/../eip-6475') from optional import Optional from remerkleable.basic import uint8, uint64, uint256 diff --git a/assets/eip-6475/optional.py b/assets/eip-6475/optional.py index 32afa79117568..2a1778aff063d 100644 --- a/assets/eip-6475/optional.py +++ b/assets/eip-6475/optional.py @@ -3,6 +3,7 @@ from remerkleable.complex import MonoSubtreeView from remerkleable.core import BasicView, View, ViewHook from remerkleable.tree import Gindex, Node, PairNode, get_depth, subtree_fill_to_contents, zero_node +from remerkleable.tree import LEFT_GINDEX, RIGHT_GINDEX T = TypeVar('T', bound="Optional") @@ -29,9 +30,6 @@ def __new__(cls, value: PyOptional[Type[T]] = None, backing: PyOptional[Node] = return super().__new__(cls, backing=backing, hook=hook, **kwargs) def __class_getitem__(cls, element_type) -> Type["Optional"]: - if element_type.min_byte_length() == 0: - raise Exception(f"Invalid option type: ${element_type}") - limit = 1 contents_depth = get_depth(limit) packed = isinstance(element_type, BasicView) @@ -132,7 +130,7 @@ def contents_depth(cls) -> int: @classmethod def tree_depth(cls) -> int: - return cls.contents_depth() + 1 # 1 extra for length mix-in + return cls.contents_depth() + 1 # 1 extra for mix-in @classmethod def limit(cls) -> int: @@ -143,32 +141,42 @@ def deserialize(cls: Type[T], stream: BinaryIO, scope: int) -> Type[T]: if scope == 0: return cls() else: - return cls(cls.element_cls().deserialize(stream, scope)) + is_some = stream.read(1) + if is_some != bytes([0x01]): + raise ValueError(f"Unexpected is_some {is_some} (expected: 1)") + return cls(cls.element_cls().deserialize(stream, scope - 1)) def serialize(self, stream: BinaryIO) -> int: v = self.get() if v is None: return 0 else: - return v.serialize(stream) + stream.write(bytes([0x01])) + return 1 + v.serialize(stream) @classmethod def navigate_type(cls, key: Any) -> Type[View]: - if key >= cls.limit(): - raise KeyError - return super().navigate_type(key) + if key in ('__selector__', '__is_some__'): + return uint256 + if not isinstance(key, int): + raise TypeError(f"expected integer key, got {key}") + if not (0 <= int(key) <= 1): + raise KeyError(f"key {key} is not a valid selector for optional {repr(cls)}") + return cls.element_cls() @classmethod def key_to_static_gindex(cls, key: Any) -> Gindex: - if key == '__is_some__': + if key in ('__selector__', '__is_some__'): return RIGHT_GINDEX - if key >= cls.limit(): - raise KeyError - return super().key_to_static_gindex(key) + if not isinstance(key, int): + raise TypeError(f"expected integer key, got {key}") + if not (0 <= int(key) <= 1): + raise KeyError(f"key {key} is not a valid selector for optional {repr(cls)}") + return LEFT_GINDEX @classmethod def default_node(cls) -> Node: - return PairNode(zero_node(cls.contents_depth()), zero_node(0)) # mix-in 0 as list length + return PairNode(zero_node(cls.contents_depth()), zero_node(0)) # mix-in 0 @classmethod def is_fixed_byte_length(cls) -> bool: @@ -182,4 +190,4 @@ def min_byte_length(cls) -> int: def max_byte_length(cls) -> int: elem_cls = cls.element_cls() bytes_per_elem = elem_cls.max_byte_length() - return bytes_per_elem + return 1 + bytes_per_elem diff --git a/assets/eip-6475/tests.py b/assets/eip-6475/tests.py index dcdbc9a8d7ea4..b92e289f47799 100644 --- a/assets/eip-6475/tests.py +++ b/assets/eip-6475/tests.py @@ -10,7 +10,7 @@ def do_test(value): assert value.encode_bytes() == b'' assert value.hash_tree_root() == List[value.__class__, 1]().hash_tree_root() else: - assert value.encode_bytes() == v.encode_bytes() + assert value.encode_bytes() == bytes([0x01]) + v.encode_bytes() assert value.hash_tree_root() == List[value.__class__, 1](v).hash_tree_root() assert value.__class__.decode_bytes(value.encode_bytes()) == value @@ -36,6 +36,10 @@ def do_test(value): do_test(Optional[boolean](None)) do_test(Optional[boolean](True)) + do_test(Optional[Optional[uint64]](None)) + do_test(Optional[Optional[uint64]](Optional[uint64](None))) + do_test(Optional[Optional[uint64]](Optional[uint64](64))) + class Foo(Container): a: uint64 b: Optional[uint32] @@ -51,6 +55,17 @@ class Foo(Container): do_test(Optional[Vector[uint64, 5]](None)) do_test(Optional[Vector[uint64, 5]](Vector[uint64, 5](64, 64, 64, 64, 64))) + do_test(Optional[List[uint64, 1]](None)) + do_test(Optional[List[uint64, 1]](List[uint64, 1]())) + do_test(Optional[List[uint64, 1]](List[uint64, 1](64))) + do_test(Optional[List[uint64, 5]](List[uint64, 5](64, 64))) + do_test(Optional[List[Optional[uint64], 9]](None)) + do_test(Optional[List[Optional[uint64], 9]]( + List[Optional[uint64], 9](Optional[uint64](None), Optional[uint64](64)))) + do_test(Optional[List[Foo, 1]](List[Foo, 1](Foo(a=64, b=Optional[uint32](32))))) + do_test(Optional[List[Optional[Foo], 1]]( + List[Optional[Foo], 1](Optional[Foo](Foo(a=64, b=Optional[uint32](32), c=Optional[uint16](16)))))) + do_test(Optional[Bitvector[1]](None)) do_test(Optional[Bitvector[1]](Bitvector[1](True))) do_test(Optional[Bitvector[9]](None)) diff --git a/assets/eip-6672/contracts/ERC6672.sol b/assets/eip-6672/contracts/ERC6672.sol index c0ba1a3754df5..f10425bea0860 100644 --- a/assets/eip-6672/contracts/ERC6672.sol +++ b/assets/eip-6672/contracts/ERC6672.sol @@ -11,49 +11,109 @@ abstract contract ERC6672 is ERC721, IERC6672 { bytes4 public constant IERC6672_ID = type(IERC6672).interfaceId; mapping(address => mapping(uint256 => mapping(bytes32 => bool))) redemptionStatus; - mapping(address => mapping(uint256 => mapping(bytes32 => string))) public memos; + mapping(address => mapping(uint256 => mapping(bytes32 => string))) + public memos; mapping(address => mapping(uint256 => EnumerableSet.Bytes32Set)) redemptions; constructor() ERC721("Multiple RedeemableNFT", "mrNFT") {} - function isRedeemed(address _operator, bytes32 _redemptionId, uint256 _tokenId) external view returns (bool) { + function isRedeemed( + address _operator, + bytes32 _redemptionId, + uint256 _tokenId + ) external view returns (bool) { return _isRedeemed(_operator, _redemptionId, _tokenId); } - function getRedemptionIds(address _operator, uint256 _tokenId) external view returns (bytes32[] memory) { - require(redemptions[_operator][_tokenId].length() > 0, "ERC6672: token doesn't have any redemptions."); + function getRedemptionIds( + address _operator, + uint256 _tokenId + ) external view returns (bytes32[] memory) { + require( + redemptions[_operator][_tokenId].length() > 0, + "ERC6672: token doesn't have any redemptions." + ); return redemptions[_operator][_tokenId].values(); } - - function redeem(bytes32 _redemptionId, uint256 _tokenId, string memory _memo) external { + + function redeem( + bytes32 _redemptionId, + uint256 _tokenId, + string memory _memo + ) external { address _operator = msg.sender; - require(!_isRedeemed(_operator, _redemptionId, _tokenId), "ERC6672: token already redeemed."); + require( + !_isRedeemed(_operator, _redemptionId, _tokenId), + "ERC6672: token already redeemed." + ); _update(_operator, _redemptionId, _tokenId, _memo, true); redemptions[_operator][_tokenId].add(_redemptionId); + emit Redeem( + _operator, + _tokenId, + ownerOf(_tokenId), + _redemptionId, + _memo + ); } - function cancel(bytes32 _redemptionId, uint256 _tokenId, string memory _memo) external { + function cancel( + bytes32 _redemptionId, + uint256 _tokenId, + string memory _memo + ) external { address _operator = msg.sender; - require(_isRedeemed(_operator, _redemptionId, _tokenId), "ERC6672: token doesn't redeemed."); + require( + _isRedeemed(_operator, _redemptionId, _tokenId), + "ERC6672: token doesn't redeemed." + ); _update(_operator, _redemptionId, _tokenId, _memo, false); _removeRedemption(_operator, _redemptionId, _tokenId); + emit Cancel(_operator, _tokenId, _redemptionId, _memo); } - function _isRedeemed(address _operator, bytes32 _redemptionId, uint256 _tokenId) internal view returns (bool) { + function _isRedeemed( + address _operator, + bytes32 _redemptionId, + uint256 _tokenId + ) internal view returns (bool) { require(_exists(_tokenId), "ERC6672: token doesn't exists."); return redemptionStatus[_operator][_tokenId][_redemptionId]; } - function _update(address _operator, bytes32 _redemptionId, uint256 _tokenId, string memory _memo, bool isRedeemed_) internal { + function _update( + address _operator, + bytes32 _redemptionId, + uint256 _tokenId, + string memory _memo, + bool isRedeemed_ + ) internal { redemptionStatus[_operator][_tokenId][_redemptionId] = isRedeemed_; memos[_operator][_tokenId][_redemptionId] = _memo; + if (isRedeemed_) { + emit Redeem( + _operator, + _tokenId, + ownerOf(_tokenId), + _redemptionId, + _memo + ); + } else { + emit Cancel(_operator, _tokenId, _redemptionId, _memo); + } } - function _removeRedemption(address _operator, bytes32 _redemptionId, uint256 _tokenId) internal { + function _removeRedemption( + address _operator, + bytes32 _redemptionId, + uint256 _tokenId + ) internal { redemptions[_operator][_tokenId].remove(_redemptionId); } - function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721, IERC165) returns (bool) { + function supportsInterface( + bytes4 interfaceId + ) public view virtual override(ERC721, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC6672).interfaceId || diff --git a/assets/eip-6672/contracts/interfaces/IERC6672.sol b/assets/eip-6672/contracts/interfaces/IERC6672.sol index bdbc9e7c3aabd..ff38a5df9df45 100644 --- a/assets/eip-6672/contracts/interfaces/IERC6672.sol +++ b/assets/eip-6672/contracts/interfaces/IERC6672.sol @@ -4,8 +4,41 @@ pragma solidity 0.8.16; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; interface IERC6672 is IERC721 { - function isRedeemed(address _operator, bytes32 _redemptionId, uint256 _tokenId) external view returns (bool); - function getRedemptionIds(address _operator, uint256 _tokenId) external view returns (bytes32[] memory); - function redeem(bytes32 _redemptionId, uint256 _tokenId, string memory _memo) external; - function cancel(bytes32 _redemptionId, uint256 _tokenId, string memory _memo) external; + event Redeem( + address indexed _operator, + uint256 indexed _tokenId, + address redeemer, + bytes32 _redemptionId, + string _memo + ); + + event Cancel( + address indexed _operator, + uint256 indexed _tokenId, + bytes32 _redemptionId, + string _memo + ); + + function isRedeemed( + address _operator, + bytes32 _redemptionId, + uint256 _tokenId + ) external view returns (bool); + + function getRedemptionIds( + address _operator, + uint256 _tokenId + ) external view returns (bytes32[] memory); + + function redeem( + bytes32 _redemptionId, + uint256 _tokenId, + string memory _memo + ) external; + + function cancel( + bytes32 _redemptionId, + uint256 _tokenId, + string memory _memo + ) external; } \ No newline at end of file diff --git a/assets/eip-6735/address-aliasing-root-leaf-design.png b/assets/eip-6735/address-aliasing-root-leaf-design.png index f88e978ce3400c4a17051d38e3fdbf53ad24fcaf..dee65913a4d27746de97e1480c2d1aa51114b1c1 100644 GIT binary patch literal 56317 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 literal 33113 zcmd?RXIN89`!5VJDr_kM!~)UMUWS#mX3gAlm)~7xCNX+C>ePQR{Y6GbMtw~K zX+TDHj7UaC{+Z$gxD%0M@)`Ug_cl;hAuE1&;RhMn$umAE6CYQ9dq)=>8MnCV(G|Ct z2;SY>hg%%UEhc8|;UQ$_Xzk!-?dmP$hVucpz;jo3J4bs*oZV3yF%dB_K@nL&Q86R% zR9sn10(^+e3Q0&yV2|2cJK)^@?od)l1axr8*wM|--On3b>KK6!Q4w%kTm@W#2U6gD z=+a+G;xhQ7?BU^pGsf9yI)c&FB*mqL#HGOPOPU%++FIOVs^Hqi(HRH+sN-y%-Jw@h z@m}t(;EtN82pA9g2W}c#+gp1%{#O^!OmIHd4o9=l#_6bdY2YzP?`s-{s%TpiZ=CHB z^}aYSZ%22xezj@?Nu+x>&Q?WEq zww4xCwf1z>4fwkgH)}xYA+PlSn*ErO4%7t+RE z1E;I!qbZ?kDB~9>rD-f-qCk>tJo@hq{NnI4d$N=RaV(8#%=K?h9a5gG-e#)voC{t6M zlMc?qH$c-K@2=@-E$XF0K&cs^u6gJYB(V-onkclIyS@k>DTVXGB9+~hF;Xh(y4JoD zVu2d&o{}=21~?fv7keEyRTK39ZFhHjA8mIXS8-_>2`yiOv#zcLAj=Q@CrD{H7)Wbi z#56G&f4rW*shSNQFBT|k`hHQWPIELF&?(6HX3?*QjP}d0f90u0s206A~wz<%Gw%6{wRAHB+|nvP)75b zI{}5ldH6}20*3osSJgF@K^c39sH5Cn1Dsra4P9jLE}kd@2`57WR@(sO=jUOJRx{Nh zh^cGKXv+8#9Ng^mRMl*Kv~&#}^wk0aOtjnsRZZLt?8IHKIl0SRzvk#+tsf|=?1lGm z(nl%VN;uf7JGg6@YUvq!cw@AkY)zf~48(j1NX_daT51voMvmSDDM^f}p^=uUlc%vS zn5qO$%o^+Ki$a5IO}v(&Em~4aU0>xIp5UynhjDS#cE>vzNNGWq;p8VHs*g1_5hsXv zY8crEID=QN`TB!Tte>sFqqMZ6sGf(GtUI`)rjHhpFp$(X76YcL;tI42Sf`o~!N|`V zYhn^8V+4#!#n^#h;AAYNX6Iz&W$ouGuJ47GaIvxT7Ps}%(U*ke;DM1e(vk_VmR3Vc zgRg!*l12ao9CWOGFpi!kVki$=HEUzEo4BU7hp(8X2|-U(RoY)yIzZplP}>*p>THcO zHkNf!)iW`4a_~1&k@WU8A|~3V&U#psgOtv716fmDM?()gpjbF{ zO+9N7OMfzN^0Apy+yHF+G1$Dv5dNlC!p?{ zkEo2EwZ4PzH7!$FSzTpMJ5@g~dpue*(9pop+RH%`r!T7J?w~K~FO70=w?oO;;*CwQ zcprOfEk}KVfdkY9(1Aclq`rm`pa`dYP0h_!JWyZ5(OT6h&`#D(121MLg~h0f`fIvq zdjxtpY1#&e;v~U~zUtSt34!jSVjgO);49YJK-~U%0A9yfI^a-11gwg^8hD_CayPIC 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 diff --git a/assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png b/assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png index 6a54b111bed4f7515610d146c4046cced6c28c77..48747294230c781ccf8caa4e2221a281f3f14592 100644 GIT binary patch literal 61108 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 XA{dkfT5BjyVnrKIp5sAlIE?=dyJr%L literal 36398 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 DrBqiT From 7172b41fa783a03e589cd960c2645b75195354b3 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 2 May 2023 08:50:58 -0700 Subject: [PATCH 17/27] unexplained change in EIP number from 6735 to text fixed --- ...{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} (99%) diff --git a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md b/EIPS/eip-6735.md similarity index 99% rename from EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md rename to EIPS/eip-6735.md index 39934eb9480ff..08ef0e4fbcc1a 100644 --- a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md +++ b/EIPS/eip-6735.md @@ -1,5 +1,5 @@ --- -eip: draft_l2_aliasing_of_evm_based_addre +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From 2d68cbd6d8a20065f2d27a28bb688f937c16d268 Mon Sep 17 00:00:00 2001 From: eth-bot <85952233+eth-bot@users.noreply.github.com> Date: Tue, 2 May 2023 08:51:43 -0700 Subject: [PATCH 18/27] Commit from EIP-Bot --- ...{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} (99%) diff --git a/EIPS/eip-6735.md b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md similarity index 99% rename from EIPS/eip-6735.md rename to EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md index 08ef0e4fbcc1a..39934eb9480ff 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md @@ -1,5 +1,5 @@ --- -eip: 6735 +eip: draft_l2_aliasing_of_evm_based_addre title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From 4269e3485cecca9115a4fc1c53b6e496e469b040 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 2 May 2023 09:00:46 -0700 Subject: [PATCH 19/27] correcting unexplained file name change and eip number change --- ...{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} (99%) diff --git a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md b/EIPS/eip-6735.md similarity index 99% rename from EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md rename to EIPS/eip-6735.md index 39934eb9480ff..08ef0e4fbcc1a 100644 --- a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md +++ b/EIPS/eip-6735.md @@ -1,5 +1,5 @@ --- -eip: draft_l2_aliasing_of_evm_based_addre +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From ab9782d693a79c069941861f67b13384e6920389 Mon Sep 17 00:00:00 2001 From: eth-bot <85952233+eth-bot@users.noreply.github.com> Date: Tue, 2 May 2023 09:01:32 -0700 Subject: [PATCH 20/27] Commit from EIP-Bot --- ...{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} (99%) diff --git a/EIPS/eip-6735.md b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md similarity index 99% rename from EIPS/eip-6735.md rename to EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md index 08ef0e4fbcc1a..39934eb9480ff 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md @@ -1,5 +1,5 @@ --- -eip: 6735 +eip: draft_l2_aliasing_of_evm_based_addre title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From c780a8be7732a90e30bc412d72ed185107c74c0b Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 2 May 2023 09:05:23 -0700 Subject: [PATCH 21/27] fixing unexplained naming errors --- ...{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} (99%) diff --git a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md b/EIPS/eip-6735.md similarity index 99% rename from EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md rename to EIPS/eip-6735.md index 39934eb9480ff..08ef0e4fbcc1a 100644 --- a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md +++ b/EIPS/eip-6735.md @@ -1,5 +1,5 @@ --- -eip: draft_l2_aliasing_of_evm_based_addre +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From 2151c346d408ecada7841138084e1ecb4ecc08b9 Mon Sep 17 00:00:00 2001 From: eth-bot <85952233+eth-bot@users.noreply.github.com> Date: Tue, 2 May 2023 09:06:11 -0700 Subject: [PATCH 22/27] Commit from EIP-Bot --- ...{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-6735.md => eip-draft_l2_aliasing_of_evm_based_addre.md} (99%) diff --git a/EIPS/eip-6735.md b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md similarity index 99% rename from EIPS/eip-6735.md rename to EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md index 08ef0e4fbcc1a..39934eb9480ff 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md @@ -1,5 +1,5 @@ --- -eip: 6735 +eip: draft_l2_aliasing_of_evm_based_addre title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From df50befe95c2e51619f0bfdfb49b93fa20e6f124 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 2 May 2023 11:25:47 -0700 Subject: [PATCH 23/27] fixing unexplained file naming and EIP number error --- ...{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename EIPS/{eip-draft_l2_aliasing_of_evm_based_addre.md => eip-6735.md} (99%) diff --git a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md b/EIPS/eip-6735.md similarity index 99% rename from EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md rename to EIPS/eip-6735.md index 39934eb9480ff..08ef0e4fbcc1a 100644 --- a/EIPS/eip-draft_l2_aliasing_of_evm_based_addre.md +++ b/EIPS/eip-6735.md @@ -1,5 +1,5 @@ --- -eip: draft_l2_aliasing_of_evm_based_addre +eip: 6735 title: L2 Aliasing of EVM-based Addresses description: Identify and translate EVM-based addresses from different Layer 1, Layer 2, or Sidechains author: Kelvin Fichter (@smartcontracts), Andreas Freund (@Therecanbeonlyone1969) From efd2bf555c467ffd3186c558806dc485f1abee16 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 27 Jun 2023 13:30:32 -0700 Subject: [PATCH 24/27] update based on feedback to PR #6734 --- EIPS/eip-6735.md | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index 08ef0e4fbcc1a..ac064849f4df0 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -31,7 +31,7 @@ The ability to deterministically derive addresses of a digital asset or an exter The ability to unambiguously, and deterministically, relate an address for a digital asset (smart contract) or an externally owned account (EOA) between EVM based L1s, L2s, and Sidechains where this digital asset or EOA exists, also known as address aliasing, is critical prerequisite for interoperability between EVM based L1s, L2s, and Sidechains. However, there is currently no way to do so in a standardized way -- imagine every internet service provider were to define its own IP addresses. -Hence, this document establishes an unambiguous and deterministic standard for EVM based address aliasing based on the concept of root → leaf where an address alias is derived based on the address on the origin chain and an offset which is an immutable characteristic of the origin chain. +Hence, the L2 WG of the EEA Communities Project managed by OASIS, an open-source initiative, intends for this document to establish an unambiguous and deterministic standard for EVM based address aliasing based on the concept of root → leaf where an address alias is derived based on the address on the origin chain and an offset which is an immutable characteristic of the origin chain. See Figure 1 for the conceptual root → leaf design with offset. @@ -58,9 +58,9 @@ Note, that address aliasing between non-EVM and EVM-based L1s, L2s, and Sidechai A requirement is uniquely identified by a unique ID composed of its requirement level followed by a requirement number, as per convention **[RequirementLevelRequirementNumber]**. There are four requirement levels that are coded in requirement ids as per below convention: -**[R]** - The requirement level for requirements which IDs start with the letter _R_ is to be interpreted as **MUST** as described in [RFC2119](#rfc2119). \ -**[D]** - The requirement level for requirements which IDs start with the letter _D_ is to be interpreted as **SHOULD** as described in [RFC2119](#rfc2119). \ -**[O]** - The requirement level for requirements which IDs start with the letter _O_ is to be interpreted as **MAY** as described in [RFC2119](#rfc2119). +**[R]** - The requirement level for requirements which IDs start with the letter _R_ is to be interpreted as **MUST** as described in [RFC2119](https://www.rfc-editor.org/rfc/rfc2119). \ +**[D]** - The requirement level for requirements which IDs start with the letter _D_ is to be interpreted as **SHOULD** as described in [RFC2119](https://www.rfc-editor.org/rfc/rfc2119). \ +**[O]** - The requirement level for requirements which IDs start with the letter _O_ is to be interpreted as **MAY** as described in [RFC2119](https://www.rfc-editor.org/rfc/rfc2119). Note that requirements are uniquely numbered in ascending order within each requirement level. @@ -189,29 +189,12 @@ If the Ethereum-type address used in the `relativeAddress` is supposed to be an If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [[ERC-55](#erc-55)]. +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [EIP-55](./eip-155.md). ### Internationalization and Localization Given the non-language specific features of EVM-based address aliasing, there are no internationalization/localization considerations. ------ - -### Appendix A - Normative References - -The following documents are referenced in such a way that some or all of their content constitute requirements of this document. - - **[RFC2119]** - S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, IETF RFC 2119, March 1997. - - -### Appendix B - Non-Normative References - - **[ERC-55]** -Vitalik Buterin , Alex Van de Sande, "Mixed-case checksum address encoding", ERC-55, EIP Repository, January 2016 - ------ - ## Copyright Copyright and related rights waived via [CC0](../LICENSE.md). From 6bf579aac61ebec83ed554c080bcb4e075801933 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 27 Jun 2023 13:52:23 -0700 Subject: [PATCH 25/27] fixing cli issue --- EIPS/eip-6735.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index ac064849f4df0..fdf5b787d26ca 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -189,7 +189,7 @@ If the Ethereum-type address used in the `relativeAddress` is supposed to be an If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [EIP-55](./eip-155.md). +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [ERC-55](./eip-155.md). ### Internationalization and Localization From 5eae364ac31a9b3af87fd7c215a22feccf913c21 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 27 Jun 2023 13:53:16 -0700 Subject: [PATCH 26/27] typo in eip link --- EIPS/eip-6735.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index fdf5b787d26ca..5125dedba4c31 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -189,7 +189,7 @@ If the Ethereum-type address used in the `relativeAddress` is supposed to be an If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected. -Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [ERC-55](./eip-155.md). +Lastly, it is recommended that as part of the `relativeAddress` validation the target system performs an address checksum validation as defined in [ERC-55](./eip-55.md). ### Internationalization and Localization From 3c1c7d9638e61985042ed847602e63bfdf554f04 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 31 Jul 2023 11:23:25 -0700 Subject: [PATCH 27/27] Updates based on request by @SamWilsn --- EIPS/eip-6735.md | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/EIPS/eip-6735.md b/EIPS/eip-6735.md index 5125dedba4c31..aa28a59a386a7 100644 --- a/EIPS/eip-6735.md +++ b/EIPS/eip-6735.md @@ -17,14 +17,7 @@ The document describes the minimal set of business and technical prerequisites, ## Motivation -The L2 WG of the EEA Communities Project managed by OASIS is an open-source initiative with a scope to - - * Identify and document the most relevant use cases and business requirements for Layer 2 and other Blockchain Scalability solutions for EVM compatible public blockchains - * Define a technical standard with identification and differentiation of classes of scalability solutions as required that meet both ecosystem and enterprise requirements, with a particular focus on interoperability between Layer 2 solutions for EVM compatible public blockchains - * For EVM compatible public blockchains, identify, document, and devise solution approaches for Layer 2 Blockchain scalability solution specific challenges such as MEV, block (gas) limits, TVL concentration, etc. - * Identify and document characteristics of Layer 2 Blockchain environments for EVM compatible public blockchains that will be key in addressing mainstream and enterprise adoption. - -The ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: +The members of the L2 WG of the EEA Communities Project managed by OASIS have recognized that the ability to deterministically derive addresses of a digital asset or an externally owned account (EOA) in EVM based execution frameworks for L1s, L2s, Sidechains based on an origin chain of an asset or EOA, known as address aliasing, simplifies interoperability between EVM based L1s, L2s, and Sidechains because: * It allows messages from chain A (source chain) to unambiguously address asset A (smart contract) or EOA on chain Y (target chain), if asset A or EOA exists on Chain X and on Chain Y. * It allows a user to deterministically verify the source chain of a message, and, if required, directly verify the origin chain of asset A or EOA and its state on its origin chain utilizing a canonical token list of the (message) source chain. @@ -41,7 +34,7 @@ Figure 1: Root → Leaf address aliasing concept using an chain immanent char Alternative Figure 1 Description: The figure describes conceptually how (interoperability) messages from source to target chain utilize address aliasing. At the bottom an EVM based L1 is uni-directionally connected to three EVM based L2s -- A, B, and C -- each with an alias of L1 address + L1 Offset. In addition, A is uni-directionally connected to B with an alias of L1 address + L1 offset + A offset. B is uni-directionally connected to an EVM-based Layer 3 or L3 with an alias of L1 address + L1 offset + B offset signaling that the address is anchored on L1 via the L2 B. And finally D is uni-directionally connected to C via the alias L1 address + L1 offset + B offset plus D offset indicating the asset chain of custody from L1 to B to D to C. -To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. +To further clarify the connections between the different possible paths an asset can take from an L1 to different L2/L3s and the `relativeAddress` of that asset, we visually highlight in red the path from the EVM based L1 to the B L2, to the D L3, and finally to the C L2. ![Fig2](../assets/eip-6735/visual-Highlight-Path-Red-evm-based-aliasing..png) @@ -66,8 +59,6 @@ Note that requirements are uniquely numbered in ascending order within each requ Example : It should be read that [R1] is an absolute requirement of the specification whereas [D1] is a recommendation and [O1] is truly optional. ------ - The requirements below are only valid for EVM based L1s, L2, or Sidechains. Address aliasing for non-EVM systems is out of scope of this document. **[R1]** @@ -137,8 +128,6 @@ addressAlias = chainId(A) chainId(B) chainId(C) relativeAddress chainId(C) chain Note, that a proof that a given order is provably correct is beyond the scope of this document. ------ - ### Conformance This section describes the conformance clauses and tests required to achieve an implementation that is provably conformant with the requirements in this document. @@ -171,7 +160,7 @@ A claim that a canonical token list implementation conforms to this specificatio ## Rationale -The standard follows an already existing approach for address aliasing from Ethereum (L1) to EVM-based L2s such as Arbitrum and Optimism and between L2s, and extends and generalizes it to allow aliasing across any type of EVM-based network irrespective of the network type -- L1, L2 or higher layer networks. +The standard follows an already existing approach for address aliasing from Ethereum (L1) to EVM-based L2s such as Arbitrum and Optimism and between L2s, and extends and generalizes it to allow aliasing across any type of EVM-based network irrespective of the network type -- L1, L2 or higher layer networks. ## Security Considerations @@ -183,9 +172,9 @@ The standard does not set any requirements for compliance to jurisdiction legisl The standard does not set any requirements for the use of specific applications/tools/libraries etc. The implementer should perform due diligence when selecting specific applications/tools/libraries. -There are security considerations as to the Ethereum-type addresses used in the construction of the `relativeAddress`. +There are security considerations as to the Ethereum-type addresses used in the construction of the `relativeAddress`. -If the Ethereum-type address used in the `relativeAddress` is supposed to be an EOA, the target system/recipient should validate that the `codehash` of the source account is `NULL` such that no malicious code can be executed surreptitiously in an asset transfer. +If the Ethereum-type address used in the `relativeAddress` is supposed to be an EOA, the target system/recipient should validate that the `codehash` of the source account is `NULL` such that no malicious code can be executed surreptitiously in an asset transfer. If the Ethereum-type address used in the `relativeAddress` is supposed to be a smart contract account representing an asset, the target system/recipient should validate that the `codehash` of the source account matches the `codehash` of the published smart contract solidity code to ensure that the source smart contract behaves as expected.