From 8fd87b4ec3dbfce40e38325f3b8a69f337368661 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 14 Mar 2022 09:37:00 -0700 Subject: [PATCH 01/22] Initial Commit of Onchain Royalty Bearing NFT standard --- EIPS/eip-xxxx.md | 1118 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1118 insertions(+) create mode 100644 EIPS/eip-xxxx.md diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-xxxx.md new file mode 100644 index 0000000000000..8cd623274406e --- /dev/null +++ b/EIPS/eip-xxxx.md @@ -0,0 +1,1118 @@ +--- +EIP: TBD + +Title: Royalty Bearing NFTs + +Description: This proposal outlines the structure of an extension of the ERC721 standard for NFTs to correctly define, process, and pay (hierarchical) onchain royalties from NFT sales, and goes beyond [EIP-2981](https://eips.ethereum.org/EIPS/eip-2981). + +Author: Andreas Freund (@Therecanbeonlyone1969) + +discussions-to: https://ethereum-magicians.org/t/royalty-bearing-nfts/8453 + +Status: Draft + +Type: Standards Track + +Category: ERC + +Created: 2022-03-14 + +Requires: ERC721, ERC165, ERC2771 +--- + +## Abstract +The proposal directly connects NFTs and royalties in a smart contract architecture extending the ERC721 standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. + +The proposal builds upon the [OpenZeppelin Smart Contract Toolbox](https://github.com/OpenZeppelin/openzeppelin-contracts) architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/De-Listing/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. + +## Motivation +The management of royalties is an age-old problem characterized by complex contracts, opaque management, plenty of cheating and fraud. + +The above is especially true for a hierarchy of royalties, where one or more assets is derived from an original asset such as a print from an original painting, or a song is used in the creation of another song, or distribution rights and compensation are managed through a series of affiliates. + +In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. + +![Fig1](https://i.imgur.com/Py6bYQw.png) + + +The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. + +![Fig2](https://i.imgur.com/7MtWzBV.png) + + +In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. + +This affords creators, and the distributors of art derived from the original, the opportunity to achieve passive income from the creative process, enhancing the value of an NFT, since it now not only has intrinsic value but also comes with an attached cash flow. + +## Specification Outline + +This proposal introduces several new concepts as extensions to the ERC721 standard: +* **Royalty Account (RA)** + * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. +* **Account Type** + * This specifies if an RA Sub Account belongs to an individual (user) or is another RA. If there is another RA as an RA Sub Account, the allocated balance needs to be reallocated to the Sub Accounts making up the referenced RA. +* **Royalty Split** + * The percentage each Sub Account receives based on a sale of an NFT that is associated with an RA +* **Royalty Balance** + * The royalty balance associated with an RA +* **Sub Account Royalty Balance** + * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. +* **Token Type** + * Token Type is given as either ETH or the symbol of the supported ERC 20/223/777 tokens such as `DAI` +* **Asset ID** + * This is the `tokenId` the RA belongs to. +* **Parent** + * This indicates which `tokenId` is the immediate parent of the `tokenId` to which an RA belongs. + +### Data Structures + +In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: + +* Adding structs for a Royalty Account and associated Royalty Sub Accounts to establish the concept of a Royalty Account with sub accounts. +* Defining an `raAccountId` as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber` +* Mapping a `tokenId` to an `raAccountID` in order to connect an RA `raAccountId` to a `tokenId` +* Mapping the `raAccountID` to a `RoyaltyAccount` in order to connect the account identifier to the actual account. +* An `ancestry` mapping of the parent-to-child NFT relationship +* A mapping of supported token types to their origin contracts and last validated balance (for trading and royalty payment purposes) +* A mapping with a struct for a registered payment to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the mapping. +* A mapping for listing NFTs to be sold + +### Royalty Account Functions + +Definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Because the RA is created in the minting function, there is no need to have a function to create a royalty account separately. + +### Minting of a royalty bearing NFT + +When an NFT is minted, an RA must be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's RA. To this end the specification utilizes the `_safemint` function in a newly defined `mint` function and applies various business rules on the input variables. + +### Listing NFTs for Sale and removing a listing + +Authorized user addresses can list NFTs for sale for non-exchange mediated NFT purchases. + +### Payment Function from Buyer to Seller + +To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. + +The payment process depends on whether the payment is received in ETH or an ERC 20 token: +* ERC 20 Token + 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC20 contract address). + 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. +* For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. + +### Modified NFT Transfer function including required Trade data to allocate royalties + +The input parameters must satisfy several requirements for the NFT to be transferred AFTER the royalties have been properly distributed. Furthermore, the ability to transfer more than one token at a time is also considered. + +The proposal defines: +* Input parameter validation +* Payment Parameter Validation +* Distributing Royalties +* Update Royalty Account ownership with payout +* Transferring Ownership of the NFT +* Removing the Payment entry in `registeredPayment` after successful transfer + +##### Distributing Royalties + +The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and associated RA is reached. + +### Paying out Royalties to the NFT owner -- `from` address in `safeTransferFrom` function + +This is the final part of the proposal. + +There are two versions of the payout function -- a `public` function and an `internal` function. + +The public function has the following interface: +``` +function royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual nonReentrant returns (bool) +``` + +where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has [`nonReentrant` modifier protection](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol), because funds are being payed out. + +#### Sending a Payout Payment + +The following steps need to be taken: +* find the RA Sub Account based on `RAaccount` and the `subaccountPos` and extract the balance +* extract `tokentype` from the Sub Account +* based on the token type, send the payout payment (not exceeding the available balance) + +## Specification +The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119. + +### Data Structures: Specifications and Rationales + +#### Royalty Account and Royalty Sub Accounts + +In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC721. + +Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linked to a meta account. This meta account is comprised of general account identifiers particular to the NFT it is linked to such as asset identifier, parent identifier etc. + +#### **[R1]** + +*There MUST be a struct for a Royalty Account as minimally defined below.* +``` +/// +/// @dev Definition of the struct for a Royalty Account. +/// +/// @param assetId is the tokenId of the NFT to which the RA belongs +/// @param parent is the tokenId of the NFT from which the NFT to which this RA belongs, is derived +/// @param royaltysplitForItsChildren is the royalty percentage to be paid to the RA belonging to the parent NFT from its immediate descendants +/// @param tokentype of the royalty balance in this Royalty Account +/// @param balance is the total RA account balance and must be equal to the sum of the subaccount balances +/// @param the struct array for the Royalty Sub-Accounts + +struct RoyaltyAccount { + uint256 assetId; + uint256 parent; + uint256 royaltySplitForItsChildren; + string tokentype; + uint256 balance; + RASubAccount[] rasubaccount; +} +``` +#### **[R2]** + +*There MUST be a struct for a Royalty Sub-Account linked to a Royalty Account, the minimal set of which is defined below.* +``` +/// +/// @dev Definition of the struct for a Royalty Sub0Account. +/// +/// @param isIndividual is the account type identifier, and is a boolean variable, and if set to true, the Royalty Account is that of an individual, if set to false, the Royalty Account is the Royalty Account of the parent NFT +/// @param royaltysplit gives the royalty percentage for the Royalty Sub-Account as a decimal value smaller than 1 once converted from a uint256 integer +/// @param royaltybalance is the royalty balance of the Royalty Sub-Account +/// @param accountid is the address of the owner of the Royalty Sub-Account. If isIndividual is set to true, the address is the address of the owner, and if isIndividual is set to false, the address is defined by the `raAccountId` of the Royalty Account of the parent NFT + +struct RASubAccount { + bool isIndividual; + uint256 royaltysplit; + uint256 royaltybalance; + address accountId; +} +``` + +#### **[R3]** + +*The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* + +#### **[O1]** + +*The `raAccountId` MAY be defined as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber`.* +``` +address memory raAccountId = address(bytes20(keccak256(tokenId,owner,block.blocknumber)); +``` + +#### **[R4]** + +*The `tokenId` of a NFT MUST be mapped to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* +``` +mapping (uint256 => address) private _tokenindextoRA; +``` + +#### **[R5]** + +*`raAccountID` MUST be mapped to a `RoyaltyAccount` in order to connect the Royalty Account identifier to the Royalty Account.* +``` +mapping (address => RoyaltyAccount) private _royaltyaccount; +``` + +#### Print (Child) NFTs + +The set of requirement to manage Parent-Child NFT Relationships and constraints at each level of the NFT (family) tree e.g. number of children permitted, NFT parents have to be mapped to their immediate NFT children are as follows. + +#### **[R6]** + +*There MUST be a struct that encodes the necessary data for direct parent-child relationships the minimal set of which is defined below.* +``` +/// +/// @dev Definition of the struct that allows for direct parent-child relationships. +/// +/// @param maxchildren represents the maximum number of children a parent NFT can have. +/// @param ancestrylevel represents the level of ancestry of the child NFTs in a generation from the genesis NFT +/// @param children is the array of children tokenIds of an NFT parent +struct Child { + uint256 maxchildren; + uint256 ancestryLevel; + uint256[] children; +} +``` + +#### **[R7]** +*There MUST be an `ancestry` mapping of the parent-to-child NFT relationship.* +``` +mapping (uint256 => Child) private ancestry +``` + +#### **[O2]** +*The `maxchildren` variable MAY be updatable.* + +#### **[O3]** + +*There MAY be a global, updatable limit for the number of NFT children an NFT parent may have.* + +The update of a global value of the maximum number of NFT children an NFT parent can have, may be implemented for example through a function as given below: +``` +/// +/// @dev Function to update the global number of maxchildren a parent can have +/// +/// @param _tokenId is the tokenId of the parent +/// @param _newMaxChildren is the new, global maximum number of child NFTs a parent NFT can have +/// @dev the function returns true if success +function updateMaxChildren(uint 256 _tokenId, uint256 _newMaxChildren) public virtual returns (bool) { + + // @dev ensure that msg.sender has the role minter + require(hasRole(MINTER_ROLE, _msgSender()) || address(this), "Caller must have minter role or be NFT contract to update Max Number of Children"); + + uint256 memory activechildren = ancestry[_tokenId].children.length; + + // @dev the new maximum number of must be larger than the current number of NFT children + require(_newMaxChildren > activechildren, "New Max. number of children lower than current active children"); + + ancestry[_tokenId].maxchildren = _newMaxChildren; + + return true; +}; +``` +#### NFT Payment Tokens + +In order to capture royalties, an NFT contract must be involved in NFT trading. Therefore, the NFT contract needs to be aware of NFT payments, which in turn requires the NFT contract to be aware which tokens can be used for trading. + +This document first defines the required data structures to track trading and payments. + +#### **[R8]** + +*There MUST be a mapping of supported token types to the addresses of the corresponding token contracts.* + +``` +mapping (string => address) private allowedToken +``` + +Since the NFT contract is managing royalty distributions and payouts as well as sales, it needs to track the last available balances of the allowed token types owned by the contract. + +#### **[R9]** + +*There MUST be a mapping of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* +``` +mapping (address => uint256) private lastBalanceAllowedToken +``` + +#### NFT Listings and Payments + +Since the contract is directly involved in the sales process, a capability to list one or more NFTs for sale is required. + +#### **[R10]** + +*There MUST be a struct that encodes the required data of a sales listing, the minimal set of which is defined below.* + +``` +/// +/// @dev Definition of the struct for a listing one or more NFTs for sale. +/// +/// @param seller is the address of the NFT seller. +/// @param listedtokens is the array of tokenIds listed for sales +/// @param tokentype is the allowed payment token type for the listing +/// @param price is the price for the entirety of the listing + +struct ListedNFT { + address seller; + uint256[] listedtokens; + string tokenType; + uint256 price; +} +``` + +#### **[R11]** + +*In order to identify a listing, there MUST be a mapping of the `ListedNFT` struct to a listing identifier.* + +Such an identifier for example could be the tokenId of the first token in the listing as defined below +``` +mapping (uint256 => ListedNFT) private listedNFT +``` + +Besides listings, the contract is required to manage sales as well. This requires the capability to register a payment, either for immediate execution or for later payment such as in an auction situation. + +#### **[R12]** + +*There MUST be a struct that allows to encode the necessary data for a payment registration to be used by the contract in managing sales and royalties, the minimal set of which is defined below.* + +``` +/// +/// @dev Definition of the struct for a payment registration. +/// +/// @param buyer is the address of the prospective buyer +/// @param boughtTokens is the tokens from a listing to be bought +/// @param tokentype is the token type the payment is made in +/// @param payment is the amount of the payment + +struct RegisteredPayment { + address buyer; + uint256[] boughtTokens; + string tokenType; + uint256 payment; +} +``` +#### **[R13]** + +*In order to be able to identify a registered payment, there MUST be a mapping between the registered payment struct and an identifier.* +``` +mapping (uint256 => RegisteredPayment) private registeredPayment +``` +Note that the identifier in the mapping can for example be the first token to be sold. This is sufficient because a payment once received and distributed will be removed from the mapping. + +#### Contract Constructor and Global Variables and their update functions + +This standard extends the current ERC721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. + +#### **[R14]** + +*The minimal contract constructor MUST conform to the structure given below.* + +``` +/// +/// @dev Definition of the contract constructor +/// +/// @param name as in ERC721 +/// @param symbol as in ERC721 +/// @param baseTokenURI as in ERC721 +/// @param allowedTokenTypes is the array of allowed tokens for payment +/// @param allowedTokenAddresses is the array of the contract addresses of the allowed tokens for payment + +constructor( + string memory name, + string memory symbol, + string memory baseTokenURI, + string[] memory allowedTokenTypes, + address[] memory allowedTokenAddresses, + ) ERC721(name, symbol) { + _baseTokenURI = baseTokenURI; + /// @dev _msgSender() should be the default administrator + _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); + /// @dev _msgSender requires the minter role such that an address can mint. This may be the same as the creator address + _setupRole(MINTER_ROLE, _msgSender()); + + /// @dev the length of the initiating token arrays must be the same + require(allowedTokenTypes.length == allowedTokenAddresses.length, 'Numbers of allowed tokens'); + + /// @dev add the token types and and their addresses to the mappings + for (uint256 i = 0; i < allowedTokenTypes.length; i++) { + addAllowedTokenType(allowedTokenTypes[i], allowedTokenAddresses[i]); + } + + /// @dev To comply with the NFT tree logic, tokenId must start from 1 not 0 + _tokenIdTracker.increment(); + } +``` + +Note, that his document is using `_msgSender()` to align with the [Open Zeppelin implementation of the ERC2771 standard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) in place of `msg.sender`. + +#### **[O4]** + +*Role definitions MAY be defined as global variables the following way* +``` +bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); +bytes32 public constant DEFAULT_ADMIN_ROLE = keccak256("DEFAULT_ADMIN_ROLE"); +bytes32 public constant CREATOR_Role = keccak256("CREATOR_ROLE"); +``` + +#### **[O5]** + +*The contract constructor MAY contain the following, additional global parameters:* +``` +address creatorAddress, +uint256 numGenerations +uint256 private _maxSubAccount; +uint256 private _minRoyaltySplit; +``` +This can give the creator of an NFT a special role within the access control structure of the contract, and, limits the maximum number of generations, maximum number of Royalty Sub Accounts, and minimal amount of the royalty percentage splits between Royalty Sub Accounts to both ensure that out-of-gas errors are minimized and that certain attack royalty distribution attack vectors are mitigated (see [Security Considerations](#Security-Considerations) for details). + +#### **[O6]** + +*The contract constructor MAY assign `_msgSender()` and the creator address special roles such as pausing transfers:* +``` +_setupRole(PAUSER_ROLE, _msgSender()); +_setupRole(CREATOR_ROLE, creatorAddress); +``` + +#### **[O7]** + +*The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* + +An example of such an update function is given below: +``` +/// @dev Function to update the maximum number of allowed NFT generations +/// @param newMaxNumber is the new maximum of generations +function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool) { + /// @dev ensure that msg.sender has the role creator + /// @dev the address(this) condition allows for a delegation function to call this function + require(hasRole(CREATOR_ROLE, _msgSender()) || _msgSender() == address(this), "Caller must have creator role or be NFT Contract to update Max Number of Generations"); + + _numGenerations = newMaxNumber; + + return true; +}; +``` +#### **[O8]** + +*The `_maxrsubaccounts` and `_minroyaltysplit` global variables MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* + +An example of such an update function for the two global variables above to which access is given only by the owning / managing contract that manages all access is given below: +``` +/// @dev Function to update _maxrsubaccounts and _minroyaltysplit global variables +/// @param maxrSubAccounts sets the number of maximum Royalty Sub Accounts +/// @param minRoyaltySplit sets the minimum percentage allowed for a royalty split +function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual onlyOwner returns (bool) { + + /// @dev ensure that msg.sender has the role creator + /// @dev the address(this) condition allows for a delegation function to call this function + require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); + + /// @dev validates that a royalty split edge case is not violated + require(_royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); + + _maxSubAccount = maxSubAccounts; + _minRoyaltySplit = minRoyaltySplit; + + return true; + } +``` + +#### **[O9]** + +*Furthermore, the creator of the original NFT MAY delegate authority to special functions such as altering the maximum number of generations and maximum number of children in a generation to a 3rd party using a `delegateAuthorty` function.* + +An example of such a function is given below: +``` +/// @dev Function to delegate authority from CREATOR_ROLE to execute a function to a delegate +/// @param functionSig is the signature of the function to which access is delegated +/// @param _functionData is the calldata for the delegated function call +/// @param documentHash is the delegation message signed by the creator +/// @param sigV and sigR are the signature prefixes +/// @param sigS is the array for the digital signature + +function delegateAuthority (bytes4 functionSig, bytes calldata _functionData, bytes32 documentHash, uint8[] memory sigV, bytes32[] memory sigR, bytes32[] memory sigS) public virtual returns (bool) { + + /// @dev ensure that the function signature is registered + require(functionSig[functionSig],"Not a valid function to call"); + + bytes memory prefix = "\x19Ethereum Signed Message:\n32"; + bytes32 prefixedProof = keccak256(abi.encodePacked(prefix, documentHash)); + address recovered = ecrecover(prefixedProof, sigV[0], sigR[0], sigS[0]); + + /// @dev ensure that the signature is from the creator + require(hasRole(CREATOR_ROLE,recovered),"Signature was not from creator"); + + /// @dev contract calls itself with the delegated function call + (bool success, ) = address(this).call(_functionData); + + require(success, returns false); + + returns true; + +} +``` + +#### **[O10]** + +*Note that the `functionSig` mapping MAY be defined as:* +``` +mapping (bytes4 => bool) public functionSig; +``` + +#### **[O11]** + +*The function to populate the `functionSig` mapping MAY be defined as follows:* +``` +/// @dev Function sets the function signature of functions that can be delegated +/// @param functionSig is the signature of the function for which delegation should be allowed +function setFunctionSignature (bytes4 functionSig) public virtual returns (bool) { + require(hasRole(CREATOR_ROLE,_msgSender()) || hasRole(CREATOR_ROLE,_msgSender()), "msg.Sender is neither Admin nor Creator"); + functionSig[functionSig] = true; + returns true; +} +``` +#### **[CR1 lastBalanceAllowedToken[allowedToken[listingId]]`.* +* *`payment = registeredPayment[paymentId].payment`.* + +#### Distributing Royalties in the transfer function + +The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers, and then process one layer at time, where each relationship between a NFT and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and its associated Royalty Account. + +Note, that the distribution function assumes that the payment made is for ALL tokens in the requested transfer. That means, that `payment` for the distribution function is equally divided between all NFTs included in the payment. + +#### **[R53]** + +*The `distributePayment` function interface MUST adhere to the definition below: +``` +/// @dev Function to distribute a payment as royalties to a chain of Royalty Accounts +/// @param tokenId is a tokenId included in the sale and used to look up the associated Royalty Account +/// @param payment is the payment (portion) to be distributed as royalties + +function distributePayment (uint256 tokenId, uint265 payment) internal virtual returns (bool) +``` +The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. + +As mentioned before, the internal `distributePayment` function is called within the modified `safeTransferFrom` function. + +Note, that it is necessary to multiply two `uint256` numbers with each other -- the payment amount with the royalty split percentage expressed as a whole number e.g. `10000 = 100%`. And then divide the result by the whole number representing `100%` in order to arrive at the correct application of the royalty split percentage to the payment amount. This requires careful treatment of numbers in the implementation to prevent issues such as buffer over or under runs. + +#### **[R54]** + +*The processing logic of `distributePayment` function MUST be as follows:* +* *Load the Royalty Account (`RA`) and associated Royalty Sub Accounts using the passed `tokenId`.* +* *For each Royalty Sub Account in `RA` apply the following rules:* + * *If a Royalty Sub Account in `RA` has `isIndividual` set to `true` then* + * *apply the royalty percentage of that Royalty Sub Account to `payment` and add the calculated amount, e.g. `royaltyAmountTemp`, to the `royaltybalance` of that Royalty Sub Account.* + * *emit an event as a notification of payment to the `accountId` of the Royalty Sub Account containing: assetId, accountId, tokentype, royaltybalance.* + * *in the RA add `royaltyamountTemp` amount to `balance`* + * *If a Royalty Sub Account in `RA` has `isIndividual` set to `false` then* + * *apply the royalty percentage of that Royalty Sub Account to `payment` and store temporarily in a new variable e.g. `RApaymenttemp`, but do not update the `royaltybalance` of the Royalty Sub Account which remains `0`.* + * *then use `ancestor` to obtain the `RA` connected to `ancestor` via a look up through the Royalty Account mapping.* + * *load the new RA* + * *if `isIndividual` of the Royalty Sub Account is set to `true`, pass through the Royalty Sub Accounts of the next `RA`, and apply the rule for `isIndividual = true`.* + * *if `isIndividual` of the Royalty Sub Account is set to `false`, pass through the Royalty Sub Accounts of the next `RA`, and apply the rule for `isIndividual = false`.* + * *Repeat the procedures for `isIndividual` equal to `true` and `false` until a `RA` is reached that does not have an `ancestor`, and where all Royalty Sub Accounts have`isIndividual` set to `true`, and apply the rule for a Royalty Sub Account that has `isIndividual` set to `true` to all Royalty Sub Accounts in that `RA`.* + +#### Update Royalty Sub Account ownership with payout to approved address (`from`) + +In order to simplify the ownership transfer, first the approved address -- the non-contract NFT owner --, `from`, is paid out its share of the royalties. And then the Royalty Sub Account is updated with the new owner, `to`. This step repeats for each token to be transferred. + +#### **[R55]** + +*The business rules are as follows:* +* *the internal version of the`royaltyPayOut` function MUST pay out the entire royalty balance of the Royalty Sub Account owned by the `from` address to the `from` address.* +* *the Royalty Sub Account MUST only be updated with the new owner only once the payout function has successfully completed and the `royaltybalance = 0`.* + +The last step in the process chain is transferring the NFTs in the purchase to the `to` address. + +#### **[R56]** + +*For every NFT (in the batch) the 'to' address MUST be `approved' (ERC721 function) to complete the ownership transfer:* + +``` +_approve(to, tokenId[i]); +``` + +The technical NFT owner remains the NFT contract. + +#### Removing the Payment entry in `registeredPayment` after successful transfer + +Only after the real ownership of the NFT, the approved address, has been updated, the payment registry entry can be removed to allow the transferred NFTs to be sold again. + +#### **[R57]** + +*After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* +``` +delete registeredPayment[_tokenId[[0]]; +``` + +### Paying out Royalties to the `from` address in `safeTransferFrom` function + +There are two versions of the payout function -- a `public` and an `internal` function. + +#### **[R58]** + +*The public `royaltyPayOut` function interface MUST adhere to the definition below:* +``` +/// @dev Function to payout a royalty payment +/// @param tokenId is the identifier of the NFT token +/// @param RAsubaccount is the address of the Royalty Sub Account from which the payout should happen +/// @param receiver is the address to receive the payout +/// @param amount is the amount to be paid out + +function royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual nonReentrant returns (bool) +``` +The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. + +Note, that the function has `reentrancy` protection through `nonReentrant` from the [Open Zeppelin library](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) since funds are being paid out. + +#### **[R59]** + +*The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* +* *`_msgSender() == RAsubaccount`.* +* *`tokenId` must exist and MUST NOT be burned.* +* *`tokenId` must be associated with a Royalty Account.* +* *`RAsubaccount` must be a valid `accountId` in a Royalty Sub Account of the Royalty Account of the `tokenId'.* +* *`isIndividual == true` for the Royalty Sub Account, `RAsubaccount`.* +* *`amount <= royaltybalance` of the Royalty Sub Account, `RAsubaccount.*` + +#### **[R60]** + +*The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: +``` +function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual returns (bool) +``` +#### **[R61]** + +*The internal `_royaltyPayOut` function MUST perform the following actions: +* *send the payment to the `payoutaccount`.* +* *update the `royaltybalance` of the `RAsubaccount` of the Royalty Account upon successful transfer.* + +#### Sending a Payout Payment + +#### **[R62]** + +*The following steps MUST be taken to send out a royalty payment to its recipient:* +* *find the Royalty Sub Account.* +* *extract `tokentype` from the Royalty Sub Account.* +* *based on the token type send to the `payoutAccount` either* + * *'ETH' / relevant protocol token or* + * *another token based on token type* +* *and only if the payout transaction is successful, deduct `amount` from `royaltybalance` of the Royalty Sub Account,`RAsubaccount`, and then return `true` as the function return parameter, otherwise return `false`.* + +## Backwards Compatibility +This EIP is backwards compatible to the ERC721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the ERC-721 standard. + +## Test Cases +A full test suite is part of the reference implementation. + +## Reference Implementation +The Treetrunk reference implementation of the standard can be found [here](https://github.com/treetrunkio/treetrunk-nft-reference-implementation). + +## Security Considerations +Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: + +- **Payments and Payouts**: + - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin [reference implementation](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol). + - Payouts from unauthorized accounts. Mitigation: Royalty Sub Accounts require at least that `msg.sender` is the Royalty Sub Account owner. + - Payments could get stuck in the NFT contract if the `executePayment` function fails. Mitigation: For exchange-mediated sales, a buyer can always reverse a payment with `reversePayment` if the `executePayment` function fails. For direct sales, `reversePayment` will be directly triggered in the `executePayment` function. +- **Circumventing Royalties**: + - Offchain Key exchanges + - Exchanging a private key for money off chain can not be prevented in any scenario. + - Smart Contract Wallets as NFT owners + - A Smart Contract Wallet controlled by multiple addresses could own an NFT and the owners could transfer the asset within the wallet with an off chain money exchange. Mitigation: Prohibit that Smart Contracts can own an NFT unless explicitly allowed to accommodate special scenarios such as collections. + - Denial of Royalty Disbursement + - An attacker who has purchased one or more NFTs in a given generation of an NFT family can cause out of gas errors or run time errors for the contract, if they add many spurious royalty sub-accounts with very low royalty split percentages, and then mint more prints of those purchased NFTs, and then repeat that step until the set `maxGeneration` limit is reached. An NFT trade at the bottom of the hierarchy will then require a lot of code cycles because of the recursive nature of the royalty distribution function. Mitigation: Limit the number of royalty sub-accounts per NFT and impose a royalty split percentage limit. + - Following the same approach as above but now targeting the `addListNFT` function, an attacker can force an out of gas error or run time errors in the `executePayment` function by listing many NFTs at a low price, and then performing a purchase from another account. Mitigation: Limit the number of NFTs that can be included in one listing. + - The creator of the NFT family could set the number of generations too high such that the royalty distribution function could incur and out of gas or run time error because of the recursive nature of the function. Mitigation: Limiting the `maxNumberGeneration` by the creator. + - General Considerations: The creator of an NFT family must carefully consider the business model for the NFT family and then set the parameters such as maximum number of generations, royalty sub-accounts, number of prints per print, number of NFTs in a listing, and the maximum and minimum royalty split percentage allowed. + +- **Phishing Attacks** + - NFT phishing attacks often target the `approve` and `setApprovalForAll` functions by tricking owners of NFTs to sign transactions adding the attacker account as approved for one or all NFTs of the victim. Mitigation: This contract is not vulnerable to these type of phishing attacks because all NFT transfers are sales, and the NFT contract itself is the owner of all NFTs. This means that transfers after a purchase are achieved by setting the new owner in the `_approve` function. Calling the public 'approve' function will cause the function call to error out because `msg.sender' of the malicious transaction cannot be the NFT owner. + - NFT phishing attack targeting the `addListNFT` function to trick victim to list one or more NFTs at a very low price and the attacker immediately registering a payment, and executing that payment right away. Mitigation: Implement a waiting period for a purchase can be affected giving the victim time to call the `removeListNFT` function. In addition, an implementer could require Two-Factor-Authentication either built into the contract or by utilizing an authenticator app such as Google Authenticator built into a wallet software. + +Besides the usage of professional security analysis tools, it is also recommended that each implementation performs a security audit of its implementation. + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From 6ffb3898b7e9fa8ca0700d0e38bed1ab386eab4e Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 15 Mar 2022 09:29:31 -0700 Subject: [PATCH 02/22] Update to initial commit to address editor comments --- EIPS/{eip-xxxx.md => eip-4910.md} | 33 +++++++------------- assets/eip-4910/eip-4910-print-families.png | Bin 0 -> 562388 bytes assets/eip-4910/eip-4910-royalties.png | Bin 0 -> 748811 bytes 3 files changed, 12 insertions(+), 21 deletions(-) rename EIPS/{eip-xxxx.md => eip-4910.md} (98%) create mode 100644 assets/eip-4910/eip-4910-print-families.png create mode 100644 assets/eip-4910/eip-4910-royalties.png diff --git a/EIPS/eip-xxxx.md b/EIPS/eip-4910.md similarity index 98% rename from EIPS/eip-xxxx.md rename to EIPS/eip-4910.md index 8cd623274406e..cfa641a1c3858 100644 --- a/EIPS/eip-xxxx.md +++ b/EIPS/eip-4910.md @@ -1,23 +1,14 @@ --- -EIP: TBD - -Title: Royalty Bearing NFTs - -Description: This proposal outlines the structure of an extension of the ERC721 standard for NFTs to correctly define, process, and pay (hierarchical) onchain royalties from NFT sales, and goes beyond [EIP-2981](https://eips.ethereum.org/EIPS/eip-2981). - -Author: Andreas Freund (@Therecanbeonlyone1969) - +eip: 4910 +title: Royalty Bearing NFTs +description: Extension of the ERC-721 standard for NFTs to correctly define, process, and pay (hierarchical) onchain royalties from NFT sales, going beyond EIP-2981. +author: Andreas Freund (@Therecanbeonlyone1969) discussions-to: https://ethereum-magicians.org/t/royalty-bearing-nfts/8453 - -Status: Draft - -Type: Standards Track - -Category: ERC - -Created: 2022-03-14 - -Requires: ERC721, ERC165, ERC2771 +status: Draft +type: Standards Track +category: ERC +created: 2022-03-14 +requires: 721, 165, 2771 --- ## Abstract @@ -32,12 +23,12 @@ The above is especially true for a hierarchy of royalties, where one or more ass In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. -![Fig1](https://i.imgur.com/Py6bYQw.png) +![Fig1](./assets/eip-4910/eip-4910-print-families.png) The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. -![Fig2](https://i.imgur.com/7MtWzBV.png) +![Fig2](./assets/eip-4910/eip-4910-royalties.png) In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. @@ -1109,7 +1100,7 @@ Given that this EIP introduces royalty collection, distribution, and payouts to - General Considerations: The creator of an NFT family must carefully consider the business model for the NFT family and then set the parameters such as maximum number of generations, royalty sub-accounts, number of prints per print, number of NFTs in a listing, and the maximum and minimum royalty split percentage allowed. - **Phishing Attacks** - - NFT phishing attacks often target the `approve` and `setApprovalForAll` functions by tricking owners of NFTs to sign transactions adding the attacker account as approved for one or all NFTs of the victim. Mitigation: This contract is not vulnerable to these type of phishing attacks because all NFT transfers are sales, and the NFT contract itself is the owner of all NFTs. This means that transfers after a purchase are achieved by setting the new owner in the `_approve` function. Calling the public 'approve' function will cause the function call to error out because `msg.sender' of the malicious transaction cannot be the NFT owner. + - NFT phishing attacks often target the `approve` and `setApprovalForAll` functions by tricking owners of NFTs to sign transactions adding the attacker account as approved for one or all NFTs of the victim. Mitigation: This contract is not vulnerable to these type of phishing attacks because all NFT transfers are sales, and the NFT contract itself is the owner of all NFTs. This means that transfers after a purchase are achieved by setting the new owner in the `_approve` function. Calling the public `approve` function will cause the function call to error out because `msg.sender` of the malicious transaction cannot be the NFT owner. - NFT phishing attack targeting the `addListNFT` function to trick victim to list one or more NFTs at a very low price and the attacker immediately registering a payment, and executing that payment right away. Mitigation: Implement a waiting period for a purchase can be affected giving the victim time to call the `removeListNFT` function. In addition, an implementer could require Two-Factor-Authentication either built into the contract or by utilizing an authenticator app such as Google Authenticator built into a wallet software. Besides the usage of professional security analysis tools, it is also recommended that each implementation performs a security audit of its implementation. diff --git a/assets/eip-4910/eip-4910-print-families.png b/assets/eip-4910/eip-4910-print-families.png new file mode 100644 index 0000000000000000000000000000000000000000..30815eed361dcb9c95af150efe903522b5a71fde GIT binary patch literal 562388 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ΞD6Ogq|8_o80$RE;d$ww% zuM>Z0M`j(}R3mVL_SYBRR94Ys#%%xT30Q8b8{c@wau=q52-rq<)5N6291;m*CvZ;v zEZULZl$XYKzpH~O4Za98 zGIfCt5h8m!S_|wL&$eyIBSRI(WBRK3?E0|C_bw~=PV!Q1O{r9Va7c9iYQB|GUXE;>4O&C7YQ>(4n|T@PgSj2Udd@jRzyKXa_| zn3JX_;aaOPPvzw0%WS;Lr+=QV= zKnL&SQJIAWZu>138YdZYi(*x)k2!U8Dh$nu(N8#Wa74!Pgt}8t#K!yN{?}`e$R?UN zi!!ZWkwd#x?ev}5FJHULC94G%2;**g;GWEC6&?;Q+WIfqCfX{j816ggv`^DC$ zY<$$ZISsCACvBhrnCPgPPXX7n?PFZHL1|q1-F#3QNht4LK_0yA7EGEzz^*?`Qys;0 zT8Bj8s>$TvZ?)p9;I}lc6|x?o^^h|P{8~q@g4KA!P8~? zJ&8ldjw)G}(EWVvH}_r2_#W)|k*ea0x9*G!eNiYC+*3LdYv8DQ?O}T5Us;{#Zz#|o5n%Zd`){&xt~4$DT~2uGl@EVsU1+PmB>Q(cmc{>ftK`|XMFOSW+QdWc z4(hRPK6uuO#?t<{WZKL7ix+}J5xcY9Fj6Vp$bW{~-@IyfP%A3%Q$u?=WMG_!BJOSv zCe^#+5};6^u5&G1cj8cYHCQ6GCyRlH$lZp;gN2nM_+GBYI8!mur@ZDqa&Wy%s+p(5 zw?w36PuiOhVB}+?^(){AkG_s}(BBlYzF491Z-|+v_ig5HV!r7vi2Xb3g8lI2tA7)7 z$yMav(7nn?n(p6}Q#En&-_ZTbgWLa9`TsOwTMM^Ym+_{L_X60>M-VqyBN0)7KMEE# zDxWBg$esxuRkFJg2EX-L8xEaWlT6Hk>%#Asz4w%Yc7MGooRy|G%4p2K2ZwYC=?fGq z;x_~Ku&GB=GaV*>)z^lQe|r_Sk5XVz*zlUJs9k?r7>_L<02hLsNHRghQm3tmZ5jCH z^F_HdTx$1lj9<@ohlZlPR|`LPvHUheOc`1ioWLqpK(K_~ZYb_UMeW|fbTx76?Q|`1 zOK!S+;uHMc3eoBWU7-J^JQUVRL4z(3B!PR~-KCHO9iQXmwY#hwM!9U(9>2aXW6KtTKqR{7!LteO9}5U z*I$s5Ncz8mNiy9kS}NRiK1%hiIH2*T+=(u}_0Vo5|`H_(}{Z6cQ|92gtLqh05nUV^g^K5eNos zcG$!!R*0(e4|CE;j7&G&y?h@qF{vvV?Qj-I(Z`OWxHK>be8%C4olja^uH5$~v+4U> z2DE>rr*|8a|1?Kgc59h!izmWK18}aCm#YP83Ex>d4o=>uwAoTzf0l19YS?(16lT)={=Gwujc!+${|5qXG9uYk|A*iu?mayRTo{k(yrR3mY<#6P=`1RK8o zo$zc^4c6z$I&YOqul4!D%V<&)wg2q48{z;Zit*nsZ5Jg_%x_imS{?uYFFF62QvZ)G zEBQxxh0qNqeosmZ(k3s@-|VeA)hXytuxc$&hqlQNty2Djq8;TH^LXIQe$?3Gw~~n= z3r&ZktG{%1>>l>qNHMRANN%qu9gS&QdG4M+nk=k|7J0@a%}*iEGr{gZjIL z=h8MS(B3!?G;t$I1Nk(;%Qr*iZ3XtRfD<@HF-6I_KSnl)zd>UA=M&>NwySF>6FJJGqlaSg&cysXK@26ZL!|Bu%ch{aK_KJAOai~jUkdcu5b8 z-M#j*nLqV~sprvS5XU}lf4MIL5J7EyzzB1%op{L{I?QwYiOpiD!?7O6Z!%Q+_ghzl zCw(ppY4rZ}uk4vvpO~fR5uE9cs-LKeQ!boVIdZ_=dtzI&)|&ICbl9-23q3{Uf!&?h zs`_9);H6ek>tlXT=&L#-bcdT;!$Y8VK+^BueIa7)-qbVH+JC;ve_~-OOLj&Qa4Wkt zO=Bjl_b%?Z>&C#@C*to8QOiMa6MtM1$_qEF5Bzd%rjuC;xP$13H+S@l&9XfY(oBMi zrdHWtC&JGO9pyKiRcMrU;D<4;-|&GRY`xSb z&LcFsccW(X?zghv;DHE#G->O9zB$fBO1vUFQpPoRQ-fUTwcn3=`npVkPf96dJl{KQnL2%VxP{JV5TWAmXD(1X6m z3w;k{sI}GS@Qqb0b8rd@g_iZ(m5n~R4HN$ZI&>+q&6(J?-RDv7fGb51HX^wUagM22wuC#|(2C7e9L_MRnjMxkbKCTKUq)QwaAx4p1XSF_eMZ}PTnrcdT{#L4{Xvw{f1w6Is9;D z`=>U_9=DsLSm(P`nr;Y%ryE)1MQ*ottHQk(w>LEuExneRVaDA4iwWI}uxdw?_M9s!XI?L$|#0Kd16tnN$N0^L-nXM%GX+HLt2^Mnw)*<-VOaYZ_W=1BMBD*Mc?D-)r?K37yd3=1XHju<#~ z>z&d2I;$u!QOaK3?H$ES(co(QB_+3n?tphTt+(HF#Niafk;EUa!)ghSD`6)N97EPi z%&fwW6ip=No%`(A?5A02E9IWF$Dw-s`Qld-X`P3h>#9u(Z!>E0N7?v}h*m6q4!`i@ z37m0#{M6*bx;FZw=2c?)w{^!u2(eEv|1|9%s{J$9{#gcpZyt%f?aYVhz%R(b_wk4G z$v|te0?(waet(bPOYIqqa+`TDdkY=3k>F37Am+W5HS9JLZ=hFiU@>iZ+hkPr; zngA(|Pqe$n`^a9pbwo#K^-fbZdoxKts{ztKh+knLOKa~{RlJ?Xm>*eQ)bRxRsqB3U zPO9~sV&sOlO1*I!I6<5selh~mhE#aaU1sg3{}8UD24SzFhA8>kfxN0l5;bn7#7yJ6 zfr1NUPjd)2ztKp_(Wg6rW9Vx5Zi}jAK7l^xF|c_BbV&q_y@&QfhAW)ykUzn>TJ>t=oLX%i!IQc175y{&*d96o)*vF{btyn}I8i8}>nd_ak8JB0~a-H3la z#$LMTFzNEEFl!2}hGdkEX+Cvd-v5FqyS9g$(Tg!U(-C9?KP}uSUQnJ9sU@L+X zC@+AGYw$P*>GFLB7lAF*IpdNtgQMlt2oA=I!zfXJ#C}}IsTM)Hwi#SJR{QpeG=w0{ zJ%({5vGb5X>)H{76;DHZ0)r|=u0^z%bOr9rhlB+j{~1A@sFxPMQ+8)?-5|xJR_j~G zGNVtg8)$S#h7NhSlzWQTrY+)Bc0z$?;fUQ^QqT4*0y<=Sn)di@;&N#cI%u+9h*`BC zCc#xNf$D8Vz!*xNc?>0edPG6vv63}Rn)U#`ju4af?t20z%-GR;0!s9vO!BBLB6DgW z7Bisi1uWpc-4DQON2$7p>A){|0zKzxUeRaRoZU@+lg*ljpg&GaiGjM(|Dju!0hflZrZ&--^{MjVTb+Z=C)Y3!cmO$@o!m_GU5zSc2! zGPz!D_H2W^h=;@zG6q;C>GqK6r`M)^I(l9BZ*xx$WJgilGoyU7CfLJR!S+DPBv4RS^M@%wt9BeR!r^@4~~R z`ywvqiUChx5vTt-5Ia4{aZ`U5`dJde`4e4eE`0~H@~NL%mv?$fU0IJoVk0ECcAvA) z)9t#L^I+~)_1zV1|4t>j_TA(x=@n(9+(;si5dGi{+1rWY#y8V5yrrZ-S{q1tTM(#*-xnReM;FcX2 z1|bh_660@YysrxH@xD9ySHf>hR5S3u=DXVgA;#~8k8UDM;)P_^^a54b+z|lwIoWdF z+C8h<<<{q}8|lc{Df!BF$2KX>bF+AEjuw6j=_B)ShAk6Ipj=lu;LQ;23JiiCTY%Ru z4xO{S!o+X@htbV31aLfu@To0s;RJ0hW~SsDbx%NLO)|hu`Tumbz9C>974W6>YllN_ z-X}Xs^?mM>msqXe}yE{OA22I{Y`A1Mde(;{7==%-;Nt6XR{_Us-Y? zTz9spPtj+Wo#I#uETi0Q+Vjy=Q{Ak#8k>dOsPCMhNH||bR~&2&L_x4c@0(#E3qMbf zq__#RWb#*f zF4~6wD7g6>qb0LnkeinuohvPovDB39o5kXZ;7=~W=R&ls+sgMMrur0Smgy#rB9IE#%b8xbqU@_>K zJ|IGfQRgk?x8%$2Ay<39me2i&Z3T$euUv5}`XRMGC{d?}JANuu_<2-yUJ{#_lC$E2 zSv^|A>7DnxDPMFbv&R(OOj9I`EPbhy?CE+ zOE>&#o@v!^XmO6XRT)G8h*5@q|MZka@6{el_7OJEB-(-I93%BPQTKaM*YH@F@h;C6ylU*EX9$sb>y-z z+TvJEhs5^=0~gOwo4^&@9?6?dZmC*Ekuzx3zFe?O|=h^B_%^wFP~XO zypduTtf=aPm~Ie_rxY`7i5!d!kNC$8f7g!wm)hmLBWYr^)FVkAEo~}IfU#r{Y4n~dAKzmExd;xZFC>{i zm5-w|Vi;y!I>RQD@Xo%^r+(zWzTX?GgM4$-$eI081*^F4y!d!?5HCKDdjGkyvx?HmZ3mf7PLltKS$h8zQ$f@HZbx9RSa%)zLBV!>h-7?eCQAPhqSYW zTl6+d93beZ4&c^QH$w;;VKfv?J8%s04Q{!aNzg36-H+Na#O=4FaI*ZkqTQt9KXpTmF8>QIu# z|FK_TiED`V`S|VgKZ%Vl#`ZVTIp3f-n8RDcblNm}oh}=DEWc;bT7pxw5LE?4Z|q9CYFXeXI`EuF zElH1fZu&##)p&`{rh$eJlk^y9(~0FFZ$lzT?5BSg>HYnYxqk zt#nR96u%M#s8#EP>5QQy&lz6jNG{`?!^IF_jKKsLpT)-v)^!BK%SgHdq!t}*Sc~O? zW}C)N8@ad$+mt>?^*+sH9<#4pW!vh>jyG!8kBc;Dv2nZ@L2p)K?CV?gU8yP(Z7t3n zv{&KCH)qhAz3cUugMC2XEgfU%V%SR6^C?V58AIK?%Sgth4$0W3K`W1i+Cg&s(a=au6hYpGxu*4t{fHX}LHoo_6*9lu zPyeo0c4Z7zplYDCS8xCLGQZRmt{PLhR##+fdHRp%mX?md!tc|A_yKZ*=G#SwA9)+a z@esKAcn?@Umm=3Njug8qkJ=;`f%>+|zpB=CaDPWvt=;@~3cH;e@?8 zk&J&Jz>NZ~utP_>7vH?g(!Rgm+e~=-2M;04l!nS=w)rCtkT>@G#0`{e_YhPKXUBBI?c5mag_`UE1)3Wwtdj` zv+&AM5s%}kIM$5*A_;J$v()O5?C|To=LvFweZ+{nc4Nt?m4)%*vUm1mXAUl9Tj2Wn z%Z@$hr`wQ+#~ta13g(N^?;(r{6UUXM>1$rkM8$GaO1O($HTpNa0j`S9Rdw8Ci7->j z=c!^7)~);rQFLRbDph;J`!Oa!xbBBL9rCfkZ5P_nBp#zn(hoTL8HO&($Id<^idplk zv!fZ#6-$BiXK#y-qu5%XAGh2$`j;c?$6Ln?W*{ZZzj_W3!~>hjnw|sX^kZoC=oguLs*xQT z9Hj>8RI{Y;Hmp`w0T9Ibg=5S4d6_1GXX|L1(+9|P^aRSUVis^PZ48`cfDqjb#l30= zr=$9o-(M@h4rkY5e2b3;3`T zlMbWm?kQ#-JvXjW+Ry6^P>&v5ja)X0G9%!W1nRxwz|_Ke3!HErD8IQn|dkzzwZw!-{L&Z#+{v> zkv+GjqWI7wh^7TCwJ*I$sJnoEd`3pQy$VtvF>$=!Hz#{4(33qCM%eEZ6oHnZvw)SU zZiVqW`r{Kw5;NZY_Y@soAJX_En6sij&H~a>Np7i< z*#G)q(#s3zKYwT?w2Cg{@mVh^Njoj6+Ku~bWsn0meXcw|pMxXI`d#zqdLnH7_ z?iL*rq44sV{pl3O36%O}wI^WQ_Ht*O+@(Lu%L^zvS2b|X6WBKE+_6Pi43mPf+Gz-% zXA1#jRU@K2Xv9C`8ltWX0w{kN&l-s_2SAHu&ktpi`koaoEW!#d-0n z2I98|414^GO?WaAs(geeyr>Q}G->?@Pb%F8)dNW;WE<2b5d(3f^sC$*E&*8QG_)7+ zHR~v5+85*vr$?kJB{{lcxklJ3<`)U#_23*q{1XE}j7NYA7?c&nLEdg41lT=+uLS|v zjT#p~@f>0y$;w8yK7>)JRs+#66uw(a!Jef=qe|V&b@Tb1ss4tR>R4q;-cwwcJmEA%a-^a^bzEphC`mXXn1^h#Uf9An| z`L!?@oyU!S!*76+GDBGv80opaJvrKQ`68P$dR6F(rUxyG-tmLU68j}HoXK=1Pg3N| zb_cbntl73zJB0F=;Xc)(e_OT)EFs5Ip z2X8RSjHJJ4lGMD&AI}#Omd;^-Vxg?E)|EHow}%u9cYS#7<;rOa-I##BpX}zTioErb zjnCiSoMgzf@JeUPGb*b_$gq|Rwq_Vy>(tX zvkm|4cf+cGH*D{}Xv5Y-N76}@-in-cHy%m{wVs>${IhOI$l>d+juX_^1`Wslf`R@~ zcwxL%9-sP{byfaP!VyA@+I#gN2w^~eM*k#U`zw(Q9{o!hW~GpEC1em%*IcI1pvqCp z+x!iH{iA#xM-}`>XwiS4`1xO;q-=%ue^k1wh>i z5PbuLIt}b0#^1dJN*bT~$Ps?;@A`2<8Ro#luWUD^89)9jl2vj?TcwfM?I`iuUf|~6 zjaW(#h9U=zTb>`*d<{WWX^uhwO`(n+#0knB@zU12pX1K|4SjusVm!Ho{GVyCZ{t$B z-;0|1TXeySZPV$jzOIK2^hwGO(;R&{t&^I#)YC`Xb30#EiH0z=US3+lb91U`2HN&p z8O}?q(5ZY5e229fYCP1U*V?3?w6p{asfq!4nOI&%rXVvdX{4wLzfCxoET%p8#h#F| zXrroo1Qbl_Q!{>NLMcS^?kR7vVc+5>QOSbO7UbbsEF}Z{aXZG& zr!28tuDjFPByE{E7PsRYX=H$6Y+;mFt4KCLC0@%%VCbyFj<>!az1Pc1I~rzasnNG1 zVQ)dY@mGULhQEsbD>dj^0X`nq?`L_#5rDLL|6s zk+I#yFU}TW%aTAEizeF=e5FvI1`_*NR?!2}f~u8Z%SZ+nKXU|~`#QRVT@%K1xkdO` z$4*T9IldM^PNfkrc7>Go#?%DouiA1oH)6O5kmNaZO5gx~n?dcE7vl+j?gL8xj#aea zxmEO=YpZBO#Z@%p(RIXmNCUq7CUyc<1-8Xy?)JKvFXEsh?GM!faW(c>EQaw+8lt$> zJMg`q!TKgKV8+A_3&S1Zx_)Wh^D=eKj_W7*t%jv-11-kd0WKf<>~eOsI8cN%#`aoO zc>&Kd%n%(3n@=y^tZh!fg=*$nlgjT+-)*-Wff~_$=5--46}$$C z{j-%EO4#XCzv#Hy)`?mb!FtUbQem7B7Ip7!28h2VGterJh(vf0W?Ke*E< z9BOY?T(uJVAvioS0|fcz%85IsNKBxlPm%|~(h5>b>`-45_<#*DjXSr*2q9n|zyCV= zS*fLmXEp%BuO>uo7DIjqnMLHi(q~l3t@xC33fpxi$n>LW%Hz6~@UV+3Pd`Kr zpCL=@i8P5!P{^y{C*amZk;q_+ioi+oXO4h4*4(pFVRTS?xhzUu$T21&kH0FbtXM_t zAH^5P&En*4rHxf)9?_K%MSGizKNYAa8b#c{{rYl0>}V*RTS9z&@Ih(+(7)f&QI`!LXTAgjo*`nz>8nZ5U3qpQ}5|ge3Z_t0>D|s$@9%|^>?HO{Y ztt*kaVFOYxFFty;c;ADgo2N!M&w{J~x-3-*YW|g5$CT`RF>;BYe+(tYB*<-~Y!x(% zL8?5(eZ~-V ztd~;KC(JN7RN^#W-pmpXscNa*HAWtD^^edAbg2o5FzW*Hgc+D6w^gt2-<3K^DKQUZ zG5nN}x-HJ~A(D&S`8eSTRDOcp+WVv;@QY74wXjdv&sS<;?1YVLHqi7wL#A)R4eN~= zXr;%vc>$Y+PsHUOh<+iRfKX#?lf6AuSCun9T}!82OPQLDyy54xMbp6mxv0Vo zv7ap7NMRF%ZY|wefbD3{F%Ljuk|N}qsUBHv&*#uV8wCjl9s*%GRD?qH29;NS34|Cb zK_3k@o0svRXcTF5{u@VOj&68{x-Oi|*r7}6AB2-^e~CatEId~yMJUwk`Fy7mv@@xM z26j)r=)xoDKEcT40Yq@a4mAdzD3r!Qg#$F2?|yE1PpxU;neBG+03O8&VHjgZJnKGO zb{j*L`j;gh;^JANq!Z#K68S%NpGvN32IhI+9tiIvqi6{mZ`RR+S?Wpm0?>c%>(`Xc_~EcXYXe#OnbtKl)cJVtnQW(-jw7P@_J;)9HwnK1Uj-+rnJKFH z!g&3{ZPL6RtXuxE9=naJJx;hezBqLA-Hm*NaG@T3M8Izopsf?#bsS2p`?2j=Zv`d z8*=ui#EOd7P)!qONJ0puLTv~Cuch1*y9)!<6sv z2z(*O6#Aa?vq15?bN4FCFa#xAC<`z^L4yEJfJX7*>kTB7Q)Vf5hS4AB8RH+sSo4nd zl^20a=OkB@P5(-OU}og!f6aHy$h%qZL>A| z-P5~sjp>67Y@Lmls?>t<%SMK>Jm1}8mjDI^jNlUT4;-urpl5{aYRCnZ$9y)b3=lxD zpNE?v_h==krY4_M36}lAmL0%@A)Da={Qq>eg@ZyH% zKr?lViyd@HZ%<}4s31;RUhI(6l3_0R-}CN#_u$|F4U)PGDyFJ^Ay+S)D{e7K26aA} zR`RUdTajQ2TGFMkDxPl9N!_yl^nFip`aHH$+gGLU$@a9+B02{#&)!YiNXJ%6E^1KErWoSIEy+x8hu&{Wqi1?u-Qm|WE=vQj!NmS4&O$~mE}aCH^6 z*GsU$`Lo*ld1!oIk~r>_xG=^}UZ|Eua|&b#psfI=w)QK;(@Cqgiz3zw$M|kQAr-dc zx`*|VTpm-6F9`U!Uk@Vg^6;NzU0MNGemEniF4WEL6{1MnKQaDo;B7OnUXF+yg|(FJ zqxcs%Jmxysd+u%CQDyrScJ(Rc&&}M}D**aX3td?|&$UsM5Yr9YNFym=%+i2e+emDt zN*YfZk!aF;I_K^&Dw_L7eTAdb(MJ29F^`E=^^|ocY^XG}Lly+DJ7?6K$!v97T5d%w zz2>3UINEP~yLd(M!WXN3i(lkeUE92!Nv%v0r`(j)DNBGpEWSpy&jrt|jd4lG?b;?; zwQtu=Nss!j93D|{qoCO~nFKkVtG&E7e5THL<*XoghH@^ln!3mRi1mntf}9>5nZ}u* z;<8WX=a!TJbK(#HC%FxSygZuDCtE0-mM;(1<9eOVfN3NyVR0e+%$2q2#Png}W(3N> zzS=)iEK9=kOTr`4j37<0uwySWL3(3XdJn4#maa0CUW@UxCPD~*SVJ|^FbdE(n{(AA%+%9 z8g;H;mq}XrQq%Wqr*d^0wWnVp24Yaem~L%gK|4_a>Ba(^0)6fSU{%_@|14{ww*RmD z&tRnGZ1~rop%$+C^KBFpZW|zCe_&;`&Q4w!7d7dOTXOyi>)%>k&m&>)Z}(~!di6Ri zrg@QOiBIqO(+eQA>{`8`JxL6MU*FiTdq5GQpr6_Ron>ky-!e8mbJ_uq!4Dg@f9a!* zHa?SxivaRT=e8~cgM{y3kctOY7_ma%#lnk13qg((pa<0RZYUInT#}H&&l^|N#h(>o z`bpqBV&Jd{5_c1~X`+qi$cpdwnc6Wk+=)pP>Pkt|4@>>xZ!@YP-oac6PQ2ZRPsr@2 z>nJeB?tB6#zL8>9d@yS1-`2y4$po|%*$q)ZRo!Y4klVYThUiu8|0*yGe*$4=GT10;>y?U8_{}Q#UB)pW z3P6GAEy`}_0<&u0fn)GW6Yuel-GbZ9+a4Z%esm-VQo3bu0LFB|sz{+8{#ntfvB;`d z3IKkk5DtG|3KXaa$QNiwzaLrcx~i|szH*ozfydZ3?+rwki9_BOBcfm_6W5+IU#0-0 z*g?w-qxan=q~3wfm0KZ;(Q@l17wbKVi-lK?FM)Mm0OusgX4ER;{|Hy+>*?h46^fc? zy7mjNN`If2>ES8AUPWr()=rO6q*MSqRplZS*5`2^(58i)+NVaD9}L(J@bOCw9>MW? zdW|K(AXQ4b;H;a^$~XQa{zw-deh}S{+|LAih zV*G*YC3NqvKZnA;q@ghCB>s`uNCaQTfDPclw7?rcJ|XlGar}9`3~u7&)peK)OI z{js6hW+1C56e~Jw?a{9lH35ts@#%H>JI;O<<8u7$FAi54wl>FGcsk>y^4#psZ3CgE zY&jMF^zG06!K(T;Ja;sD2)?f9Ps4EV22vqlUL=5c)>fHG0rc^Qg}20o)~0_D_Hz)X z^-Z8ochJIgBcVy$_dTwT?ks>u626a$!T~K@hCWe8w-9BlwxjK>`$%iMnG}&E9$)yz zZ|+QbrEl+)TO+ zu;Ned*X8>{57F9y3RbVsS5FQF#RnsPNJY$5@iCqA0iu?FMu-;PLR!@OwnQ35z_v^W@`?}uO z`+C0(8aFtQ>IOejGxKu0mM~xkR4G`*hU^salTZ7eB+DEIahkn)KaXR~tA{x-LgSix z+tjunLfGS0w1UJYXeg3%9lo(|e_uy&T_}~-pz+s3{|yur1wyz4c5p7*h;P>ELbs5x z7EB=UKKNtOyMFuI3duj4uhrii>RgZo`sU9z#gF%N?7M|q$eBuOJjaq^uk>>|A>oAa zx|O)-FOP8#L-Onf2G(ECzfYT|71a(@STFV#Z#gRtqhh7~wugnF6hc2YwaAA&JjTR{ za0{WJ?UZGB}g#0Tf~D=jzkS^k2Ua#fo%azJ6^SR;$yGfsXo&l^xZNeYi!Eg zbIQOQ7Hji)mr&4iISWnvC7-lFXths5c-Z^Fal)BnU)p54q4!+xJ%%4$!~3!;Ehf-Q z1$%J`ts*>=5nWoRsA};Cs=@s(T6D^C+bv*HFzXtX`dN>aLkN56s@rw_x%@du{(yk1 zfiX$DRTZTu1pB@PryF>8_SOIES?%cL-x7Kx8LvGat^30C7JpAebHH+AJRG3Mx!I8D ztgW|x68ZDUer4pwwoPXeKI6b04G59XIc`-ndIO|MSlR__6y-s)D*p6II2;|Xxr+?T z|L>^BofLkL7*jC&!tO?*ans>K7k-t5WLwCEST0g#MP5e` zKd-M4w$E2xc1ZB##!K67=nj4gc*C~43syX8!6Kl62qJbz{KMICGq4tv2`4nb2a4_o zLw|Kd++~`){QS#HIG^eB%ofxjpq+_@By$VR2U#!sY;u4Gk{lmGE=_T1gc-a#6`Y?Z z+~N2euq;n|gxEiUL6pRTsy0dvE`wbwZKYr;a{pl|*tAz__-GeVTXyO5u~0Mb**q_! zh{gSTp}bg28wk|ner0EHdepVOE^8rMDiLsAoET0xSdQYg7!p?C#Cz`>2bsJp0mJQi zlju-AgkojwKS}x(k9ECtzT(eAbpXDzxUhH|l2;3@k4La^KPja1U zO4#(1L7`gCym04N2RO5crnvs?fF-H8<@c`kg zf!0hxmnaaPxI9eY`LPS)+{L?*^y2iQN6|fSEDaW557cYz9!Dkj;ILDcRbmDhGWbQy z{%%kUL3RL6g2FSt*|Wy>}#f$>bU*FOZi%Ilf~kSb)KkZy!M+X;gd zOKy=Gbqi02j~D@dr&PT6OvBib*c_W1PlDlC6;m&PtIF#+kz}98p}!5m3KhQH+1Rw> zU(0NsuBNlpyrOeHCzkw5u+EqD(!MvVK{E-gFE?FwlV!Y}Pe4c4Q-M|4H~(=`sKek% zX$W&HR$*1V!B;hLLu!MQ!XE{WhNC-pJsj3$cXr2%J{(81^c`x1B%a~^)Z$BZvfo_e z2>q>^XG&xUByk>j7;L)2;q@~tIVNQuG`>>@fZ>sN?4RAakW@$GlNpa(^v|Fs;BG1q zU|rzhTy8117=4U+i)+ga4Jko{)@vIF9e{(&NF$T3ezM_MG;6~E34-|C35^Nx9%W!W zMdOH39+z6~1lVQ0f3$i&XG-QM^~Rqh66Axi0YJ0NI;?ZAOFZ=Gn2c>khd#jm)=+c~ z+?zDhxR0#G_cSXW6TLj*fUGibqfY@Gra>|=Fuc%qYF5P8X`F+tFLL1UO^Ai`Fyg~F zMh6aol(d8f&0v*@7`@$H0z=}RMQA`-K#SVe{YXaLj5|D z8E##qWkn=2x);Lrgp55Pjw2Kh*27+YD2-4BY<*}_wogaJ&xON|WAx=|gqWnM?~%fa z=G@8kmU-&|NhAB53#CAD$6stN8Ic66XM*1aF2{#H2xU-JJtlYr%^ep(@q(mHhRp#2 zsIhR?ca1zFdRJ!Dqwt%jC07=YtRB~f@dEId7=LCbaU?i0WrjXIDN>z6WiiMB8E2%K zzZk@jC?nzAgK)lnlnf;v|6mAxSHE{Wz(R_gvg;v|h8OW1EzM-iE=@u6QduZr9N~89 zVx;I^e}1W>!~K3{eSoQDgXV~P0Cs7Zyb?6Bi_(2+8*;zD_yAbkH6vVxd@Bgw?^@0L zr#Fha$31f2W_b>0lI@T(LAoI==L+j9NOP&n7MQ{KJ&FA4f;VsfuZ&2O^;Bp-8UD8; z`x+L!of;Ea6ldidJ+$}-|MdBT^yrIM9k~+{(@^mPWC!fIQg!e#o_Ryi8s^JYAg+uK zzR0Gd7=KccbgipVJ?{Tc+fwAv~N3j&r^K8c+rAewY+oj3bMZ38rDCm4%y%IJ^iA>!bI?qAZFwaM7 zb3+W-f`4gGo&DRdp8q-bu(}wK~4-#fDB9b&xrIi#Be%5 zo`VJf-U}LMXtKO?-g@6Uq8Gs!I8&G@+CbfBzv5(Is<)~h@hH!^31Fc_Fq+cd=1}-W zF7P7#fs_BNmt-LL6F62+;N-Jf(n^5w`@`iWsKciuiF^YNxR#WCkA0c0ZjI& zrrhR25IUr$GJ6erwy3DiF;v8!`2PKUuHs{&dZ@Fy{bc$daWmj~t}_|4L(r)FH8kHA z&3*ff;p10uT`>iC%yiEKI|WrL@>cz^$IBq1rh{&NwD2 zoAhe%yEm+}2u9<2&M4QuWTNr^Y(!gugT4y^1aElK`)KH z{1D__5rm13E^B3WvFhsqZENxm{_Ro?GKv*lRUmhpa&j2B5o$|%!EpRsMB7>K2JLWD zw}GzqzAzn6c&-qTz^4PE_3-YDzW{iZ#<_NQ>Yv>ZzJOK|Az==zg~aic6zt!*8n2;m zGT3jZ@q-Cy3)v}JQI2q4eD&6m(|9%4kpcM3M23=L1Bx4fEzJ5_ai`XxM-<6hcJ3of zpWKl@g0u{6Tvsb3&c(Ot-|y+;M18+KzZ=+Qo6!$x%XBSQ4LL=M&wRxwczzj-D$m^t z;F5%+?vQ|xY1mrYMlSs=XQjuOoiyNQ?N{KzI=BYW=^A2fpfy3N9Do!9Uy*$$@FYBf zDqPuiy>w}B=D(8KZwH_ua`;Vw+T2MZusr}Aq(J*p3)`ureoGe2R=MwfllJ)KcgIDo zI{UOv2MG=VssUH-!S`oqG?t}j`Yqv zhOs|a=B`s=_LwAl)*EAB37Jra-T`q*UWX}i-OFdS+zSOn`$C$D2U#wduC)7isVn8> zElU?J$XQT;QFldxG0J5#w=?sJTA#>1Iv)pjxYo1q7WlFW|N7X~)R%xTB!5zSQ4AHv z!?z$JgK?x{ZnEJbwD2aTdlSMBh~Nz9O!i<%+d$<%&+emMJ@;ITRCwxH?pKs6I_2&P z2-|oQIadp4bjv?pweZp#=v5G9FN+-$ssCc0VUnt2MYWxH`>0nlcFdVNP5D26DhQQx z+oz7rm8TM>GutFI8|*M)6XU^AV}SyAe}rAi2+|Ce}Q)deA|Quow>>(wyX@D8 zv*8y9!+3-((0EMzT#DmFAu7Oj<*)uCn8z%8&}`^zSgk@==~Cs*j33Yk{dwR#xwZRe zcmo_!YYy@(v@##@jAZ!_8glPzoYOmB1?a zSnRJn;~GPqOh;nHk)6|hf9)s4X3@VAIls_7J;tG$0^@;5A{K)fp$2|(7{{)eXOavP z^JAFRUi4_HCkGo*HETnFhK3 zFd~;eHQ50bOIIB%8N$tt_FjbupTXhszrW7jaV;d11VhM@Z(ohpoc7}eDk~OZ&BJz5h?(L4wo5L_nhS=-9 z47mBS=~8V7fgbhGE{G^sKb$MK>eBTriNAg}#t zt>>~ve{${N2I~TGC$V;NatI2X{TG4aVK5Wz=D-bwjoJ?o5pO z_OKGd%dxJiH}9{XK!{<`6<_7G0#qyh$ z41>IwspdwP`QMBqHeVc8Fs(&aput?uQ{=VNy~%; zPL(vyIU<{_ReSF`(%lho3s9VTYm_rZQO5FJH=eq z!M?>7T4%p04F4W81kNz_%mCW3A?ON%a3J6Mn)|R`!%}0Kd*5T}`?IpguF#?*N=Xr5 zV<_8D>23Xbi*8v2{pBLU4vl>8r%U|Bi60z0MOdM28np9MLzefOAA;t?Q*gPn=&?eb zg=~-JWz&a{ZPUN6)-Qp_Fqa78ZAzh(Ocb+=04yEheTG?w&^CSxm;1EtMESn??Y{H0 zk4x`7BZ9u{&z~D-s*V)Gw9rLjpgW<)?PMhC+yB=B==BlA^)QMI0DmoO8yLRZ^>-3c zQmQ%WJvHW9YOYK*Kay0&ms_lGkqWUrLGv6f*El6|j7bu%*IT4Pvd%w)mLoRH){eJ7Ri?8_5z+_S|c z^C+Uc-=3$>#^BNRsLAQx=y>&24`hGQNWFtjX8nxM+s2n7ru{xHgmbqrG<)EDfuqNo z7y91I`V0Hvb&QjYDa>^F{tixOLyt?s1djTePpo5FH4#%ROzez zSG6vyAFzA;$ojnI4|O%u8aI++%;BCOvdmGCNRY93| zBgzxBT-WJYB|<58((VN4KT_g?0Tg&Fh5FB#m`!p|O759BO|AQ4oN*Q6PAlQcz}c@e zcpti1L#79=GfBxTA=$=n>GSiq2iaq`s%9+2J=6s?=hCw#sd{;rpQf!5EF> zY_OU3nsvI~(I7gtu)=~f_6M&VJ&ADE6DM==VKfu5KUb^MxUp)W^em*V{S5S|mn&|) zTPmvG=nr`z;)C;Wsf8xids-+j>q1J^LWKXr580nXD_Bx+8ETZH>ncbd8Cf6P|oT+Z{ylSk=&|J(f}3Cuj-@QHmmNdB-~ zKauaNbK%s!!w1}+s0FD|O|6O?=2da~s%R`#EdC(6QrEbSS_N*dnQ=Yg(bcJfc0gKO zi!GBHo*Pl-RucOvg+{?Jh{W5bWft*Qd!|3!7sLGY#GB-|g47sL)s`|7tggo4I*Lc^ z&x{IbQr5I*ZwG(jIhMYjriXF4>jqF{2yMk+3SCg8UZSt6y>q9N3KC7QU$DmA61d%V zSTr`xEhY2uMQM>8c|5PieSz2S&4sOG-S$*-wo80Pj@P01Pe4IwmkpPRS(R$gEzSa%?UJH%y)9_&!w5|A( zH7zWl{PDlY$Z|?Ax_OowhUG!>#h`uj&%S9jM=HyNuJ) z*ZsY-=7Scs|KzKu=C(UFdW*SwKPG%TBoASefBmk-k>@BKK5XR$JM>m$qd-Mg_otQnZQe{AS^?h)(@ej7hb#I}ayo&@I z6W&TTe@s-9a=q@61*S~RqVinBr)nF&RR8nnV_#K_&e{@x+HXO+?$2{aTf+-L>>7JjX?iP6(ZPZg4FbVb|jqm{HiOID#H;a2WWAJbm~T%wP#> z5=8!SJb%8zFiY%g%t9eFe`{77BQg&FLmV2U)*8 zUew4nS3^O2y3DVmOo`wNNK|XkNaWs!D1X6-hvIZ<-3H!jaULNRPIUd(K5N_vD(qbr z(fMR^T~G}(OoW{dO1O{R554n8dEQ_*PNeLXlxM5&N@wgrqRe8-FsO~1A31)c@lOaE zpE0!HRFo@l>5u$MmPX#_+qlcgViao+jI<`m662Fdz`}zm!`)RU#1p?6wINc7C~IiA zexCA!$NGvmX8%2}9)ZVv^_@#RSH@@raB~x(j1t=X{ zta8a~c7EYOeC0wMQX(ek`R_a}wRxa64*Y$J*T~NHb0Ssm_RZQ0VsYIHm?D4 za+F?I+S%e;V0X;M>qF6T7{|zP=0N2xyW& z;gSjLx5xfUXPTl(QK642bEF@+$*nNW<#qAq;3EZn>&KQoJY&p_Wr+X2@7RnkZ&cAm z&fxJl2$&E5tny5}X^Yo?nkTv)JCVBLqB?yyxPFT~Qf!>9gTEk4Cq;+5l6)oHRhA6NG7I$YbSOPzv%2 zqaBEnO?;^ts(*g5ZD7GFM3)S~XF|OQ2aRy`ZspPJgUC&ozen>4{e-UA_iiCk|EAr^ zl3Gp)zf$>ti|Y^JNC%6dJ3WG35=dPYMPkCOv{Z-HI1xjJ4zHC~3I>IbZ6~OOw-ed@ zeQ(f1j2}C51Adc%iypA8r{(|^DOqmkfe@#Fr7*yvTZ-#5fC{te$~%#}28K8sj^oo7 z(hQV@m@a8$Y$d?j;s64*7}Vf{RAi+%%Z<=}TBv+~O0A*spk;2T&Bo;wp!G1 z3>8byx4r6IVSnqe5lwRMCi5puT%e=cnzRhSiTDFq_81WpGIJVX$h2|X0K7oQ_UOeA z(r3>MeV7&Kwt*8)=ZGEtf)Jmkz^xW?x&r~?w9K>PYQW|u8h3-s<+nT2-nWMf2wWwU z7+qu^B?RKu&0etTd4ck|%lIjjr?mz)4Nh1@=bus2^+*K$L|2aYDtgib+-scjelD8` zC1_||aOGee4x`e-j-7bueM_l6@<@-dn8^8<(d|awI8qTPU5zMKxkx~jzu~LJCoQDw<|TLFRWpC@pT!h zJB0t{G!Z~^vB|sX=gwjD`2BZSCE{U+`;DDwDHjwEuUD?i%(wk}ApSch!39KGmO+2x z!zTO2h%~~4(`=xgwg?b1^ITbecJ{gxIn$V&F0&)5`znOa&95eU1OLn&k{Fa41BsMA z?EPFY&+{(L%a(_WIs_Wk@T3|jDXTN08hwe>l%i^a-r!hfp5dwKZ#i5w_}Ma43-kgp zeDwaTR)_V<0}rxgmg`TMCXgJ~`Vcje!eE|G=XZDnYZ>&yHE6#YwT6?WW-|Rtbg}Ne z*myKU8NNu(?RjrjFuL)-uUB-F0?l-Rw7ftTB)sTZS+&i}W8z9sCq+Q=*H4ZQs1uBE zMbsZTnl!537v+BVR;3>PIm)y7L6pI~%9%$(S%qdzz`rMBZETCVxH5&4#nkt<<=NM? zl#VlSNVl{oo3UNSXs(0vIp7MaE>?f=VI*|H7gfMjE4Kxy3A`#WbArqBfR0FufAeHq zq#a4pv8q3Y#>Bn?1CdjfJaXuv);ga4-6|(zLk~T=XT{$$t%Cn4#HT9Lu;9ENHKy1m zUvpcinN&RPe=_x*qgIr)^Aa_qy7lR7#=HYSlI zN0L@WQ*Go2UWaf#!9k@&fA6W6IeRMRJ>Qb<_!Y}V+vyd>G5@dy$HJ~ z1KJYW4M)aO%xmx9HX+KKENN0qxU*MT6-i(lfVA+{%g!P7>jg&(iemkTnGn%2FLy2P z8RzT#r4iONr$TZ5H+5G6j|O0s`i`$3v~WuqOq)HT1CJw~7~jYkSbk^l6AzQzmTi(R zUo0$nW?9xBLQ9gNJQHWWDmo#+y9;wF|J1jYW*Mg>``I|6{JM%5`R^#kYl~+qts^K% zM)&!hzt;;&Nt;Kt-yxB1YL(!Apiq2Uo`ob}5IU+D+mdSVH~?}3y7fA!{$$O%!$3{Y zm;EA7b5iJZqoCsG_oDh$MT=sh_)CD(-_YeUz=sY}!q{K$9+`}SMf*5YCO~x=b7Sjp zTj-xkZCp5iz{ye3i@MVm&F@8j(h=IYk_m82g2@hK;>JkiZ#xtWyyaxr<-GcMLMMxM znE4CGO~JnjPuloBejc;Ny|2;ZaKJ7VgcM0 zf=U8_1>m)?6XOQ;c1g0`x$lqr${1hAuxCl0-;3cmRG+*3t?lD%aS-w8$u~tFL!cAu z6f^k5Y%ivPE}RMeqa&5eL5i)^FgUD@=4~e=HmjFG=^`bF{q{|VmmLYk{T5CaEJ_K=z7chEZF!zn@sc|iwW*^j1ST^eCcM2_0$Z|g2ucU)Ud z&>3q_GA;@7h}pPk25kPjKSHb1EH5%S-ItO;`XVE+ibWs^>{gRdZ>U|jac&p%m z=4M97d5+J#X473(??7S|@t@u4B@rrx)r&=fkz>=m`>V-^&SM#9+tuLD^;dE|k{ggv z@{?fEF~lv`Ly4OHj;8IB1KFDo=A-croN^Z@7tbBed-n9k-zsS5QYi6O-amE;&vtL1 zf!quIzHwDOzAW)k@~1X5b}R}m2QxU* z2B*i0OE3B0Br}8?g4*8U?ym79ODtUAg46IbB2j6|?u}>CSUD;}og3$cQETS@Kqk8ol0l_uRs znz->zSStTToe9as)`(D$Y$VK30%cjDUEYNwUQ^-O^FD*PIiktT91y;t+|AJARam}i zh)1Awt!_(LtkB<(mp8#i!l}!^9f}D5`M_uekQU#MbQle?8ay3)aXgXvc!d0i6HL~8 z9|vQZ!C&6t#D-j7MnuLn5z2zPk7Fk4xLAZ&hXA%cUc73Yj)CObt z5a2g|l(s4UY&+AZYags(zBJXzyIO0QycoQymjtPf6A3fG;m*cy>bkF}wW^Nbf(`;V z`_!txD!_kiF^=j59^!&hpmS4h|GOeC`Q(53{oV?R@<0H64CKd~Bym>*>bxXKnnYF34n$Pp3fdSCR_`hB0nN9G!ZEU^%g@3`|dkcPO`xi z6g*<%$6!#&(8IcLw+M}S2Nl_v1g4`xviJ+&@p<D1~sd0CiCX5oE7uy2{R zinh8%iliM-rF-*gJ{MNZ)IO`v@2-F!BuYA{h2(MM@+NZxA@sBwkPK~J(`e{}2NR4x z{IWbWwt-srk~i(1+}vfM4}M(sd+7GJ4s_Bnm{e`HFvmtz+8wN%?;S0;QCxhb;=^ZA zL_+g2e%F>{HxXt*z;#UW*Wp>ArSf0Rth{*OoOZ@LuC|Y#_}cF$vuPv>On_x^T4udu z+u+T*G1|GHCrj}kRn9Y8pvY_)4T1f=X6)j@?Nf@BrCJWZ z*zW6OSO{QnUB_yQ8sO4(ZlT!^KYIsySH_$P!^FdF!d4-p=PUQ{+eNtt-y}z4jV(w) z1hG`0s-=mv+2z#Q!esO%fc$eE9Phy|aoH>Cb2TnsK@9_6yU742MMX=fi7CugjW< zR&9F-U>7k@BM4hdQjyPMvd9j<^1dY<)}L-BvR$uV z9hP@Ew7OVom4KEeb!lCJS6t+HkuU5FmS|I8y++9icQi%Il6i9y9uKQ*uA?4-P|=SS zmUMW%snu*ZTN$8-d^htD!V@{o`*T=t_~UdPZW!0>W#K9QD4WR6Z)f$|;ZW-L$m1Q@ z(fwa)H6o*T_^z6l2XavaMqi1#7|9`hmh4UDTttM4SCRwfK-J^%&A)Ch93FizRtpt# z0v23aqKA8MG3j+rj!ybm=ri8u*ab|er3~os7(G|fQ=^B3c`apu`;qGlp(oksi}gEg z>TEns^tgJ5)=L(KT`(6RN&Ol1kqOo%_-_~cVc5%GB+*w@y`-&ZaOYSf$fY6BUXExG zprz@BtEan)DBJA+kNBZh>B7qP(%YM)CHFW`wCrZE7#%(w14TDSSnTCXhv6Zz7dfu& z;WcrK=Se-Blk+pQH~Ne|*W% z>Fd!lI1DGF;Hzfw$Kq-{dH;HFZozKkW=sfD^s79CebvpSj*`%es%@A}B%Qw6A5Mtjq&XkChZfw85=Nx+ zBWRaPzBQkFu6&t)+zLeedPmNFuE=o9=ld$^l6HG~o_Ak38(1?n2P|)4LMLQVXivLA z^X1kDJPy~5bqAp9Y)4Wz4u%F$2s$;Od*q~bf2AvaUi{ymfui5xS8rtDK?YIc51E3? z-g(l>0rkQvhK{;kEU#7Aj#O0`x$8b2zP!mie;jT3{&0Rke3_=jfOiG=^>C?T+CT{x z5p*>-eT8ie8hKdn)nS*c7$w~;{?A@a(4v*yE{9*A>jG&P9| zZuPk+F)hmwZ-oUP3#I(#r+W3e^MT=`fXW0Y2>IEdJoi(1X#tTk@7{(P8LdhJZ-&b* zK{Uug!ChBaZ)`X`Gz9`uA0WaUlZwd&6Gy@i`d1~MoZ+Tdlix@s!?u?Kxz-UWWOV3> zn-h94Ps);~6}J7->!H>e}Q)>u$ufqy(28`=M9^sfHQY1fA} zKD*F%T8R1c0+Gp^BGZ(6FpLNSeH%cV*dXi{ax6QK zeGAH1`BX{WVWG!AP`@ngsY5@KStd&TAlf_D)NBJIxICYk=*S#l}E$xG--;|uL-4DA`tVxJYI|V_BUKX<9 zbMX6yCVogQef3kMKUJA?$NrDb$eUt`$UZ#7Ja}{=rbbuuU4juarFrdEUn&FkHVP^V1qR6fJ%KNoor2ujEE)94!W=or(QVAy)MXQrHI@c|OGaJ^qKyU98$GK3VpD%szmnm~7DG7qfm{ z7YC+w@L?nR9O(61)+VU;A!{9vu90 z&!SlazL=yF;8nh2_fVrRq#7MctHVLiYR#c*rW?Q=i4=&m_^Ml})L&Q1=E19{tc)u; z*H`R=<~4OfM!FJ=+LkU04T-aNIHYbWyo-c#-Ma_!I=qhKZScqBP1iQWU-oz(AJP8G zx)@8=5i)+ZHhRVQXYEqtK@E6ugG`VIB13Ft8s(3S8tgdVehU|;W?<+tN+y+i@Sebe z^!|`p8vM~&LIcK3=u;$V+r8=NxdlEkC@NDJ$QRci)jtJ$t&l3_B~w`rv2z~KT7cY9 zZsy}SqyI5YE+b!pJjCv?Qi5f_r}pX@rcx_oenWY9^Ky15_2NaCWvw4YMjSEn{lqVP zkvoGd@x{Y51?3Evz0qcomTq(eKaE+d`(oGq#LOSmdti~)yH96%C_IPC(+LkA@`J2C z5n1b*NaB%0-dTstFdX_8!O5?qC4b1WO85M$%z?nmgW)^S7Y+&{I zSny-vng+3o{P|e8H&5KacLF>xT3cY&*eJ-9fp)?!HL#tU|tXId{4cp zWNf#c(mS8|zNC>JA}4A&EM9Vo8^7Tvc@BWUa@(5e?C5>Z;YR9;@if?ip#xG z>cA^dmm%pM{z*4ZPVY2Vllw5x(h|s{ zIn0u3uht}wD_k=@r0iaR0;Gzcr9#e2-^u2FzF&7^Uq1fu2IelN+H&1ewVVuH?qZ$C zS8u)3-GOb7Lo(rK46S1|-5tU#zt$s|^izW0^lyYdGRqL+&)tSW4F8d(dY%kzg0Z{5 z_>$Rn9$g6)p;DFQ;hO^HqwI-wNAAfjA@;!YDfxka9tr~>MBV2*o~^OI6P6y$qL7We zfc996?y%>N)FrLtEj`^xGM-j7q#E!%iz%?QxHPY40}F|+AN@U7hw`vYU%2c&+uC@= zu3kCkG?(IGoFh@r#dwMj{7|hgq}ew}b9C&05=R9WAlyWdq0KA6w}ZPl+RkF@b+3$) z|EpT(KeVe9OC8bu?^Sf^kP>2VehvzkS5`w>t$+ladS@BHrK)A&ehMTf}aN~ zp{rK=9eL0}XrIjNe~C%-H0%7>HOaOLC#?U|*!dad^)@?wAQ^mAw-q&;@}PxWIJ8%d zdhzgCNXlwxG3>OKGO@}3u;@}XKTyii{tw7=KU)l>}{Z7h2XSB)kkL-7)O z63t_C;B~lHB4@t4?A|RDYfXg)Z1Ej%o<0oKCoezQv!V(Roo#moD#(ScweufD@?wYn zsdqiAxpA|a*sY;UqT(~Bsm$&6v)AW0nce)wwuk+%xbZcGwf*ceBF~WFZDe(9LCE;sGxv9VFVMOvIk#U}dEdUX z3q2UhQG&*xOUw+M8ks8XHuaCK1P+=4PwdB-5D5iybxw)`TvnLjj(+Wk(JBeGeQ{Ah z63`KEPXCmTV*RH}B2>gtJ9BIyM9#|{NJU~bU?COMuyqskJbec-e-5ZJC`QQ9Sz5&E zr!WKL@vBG!ccDkuk?6BuQm8uD$665hGx2#;%en7E z4J-a*L5_3VfLm;auYiYy_gRf!FpQp^9-~dg@_UDT_69*yT5d-NRm}U~mR+yy_fs7$ zUp4P40TtE1eP(IP!wMfvd0tp^|cCB~bP6@{1-XALfp7nI#yuUcPoeMd?aCg zsJWh6?LaGRnr$vfc-)8hE8I}(;rlxKuo5{}a|8_%x)DMlbN9>!2zA9^y{#MHe^E@Y zPh_t3{e~a2*L9zyY3?uRR=g?C6;aqj{heqG%p~wX&FO)y&qa9Ag8o8ZRlnPRp3Iea zZtYQJ_+cp!t(Awciu-`)eCK0FxauzP<_rWILOjbo9P$XI@G5uyx*o)J!Q$$ucQ;A> z)IgnGbRUNQ7nHb*@l18?!Tpa$U8Pee6ZvOH$$h?#&#)G=Ea$tmHDzaX{-h~>`0Ei> zh5%GQZ#kGe)_gK-IsIyt$Aaboz>lGATp{dFt>Son1=+aG84L+u1m<_YW?)8p%6;g~A%5e7BIR=3KZLvj9eHIyu(csAtq5Y+TXzl15SYwzw^ zRy2`kZ~9-sldfkAy^$pbr>b0Sp3gc>oz8(n6LND!pR!p{BJzQW7$eobFW_n}gO6#~ zicZ_=JPrSWg?Zl9WPB@4g{LFbbY58e`5i~niq(F3oB0}28#gc$|84*ze8#|RSPU)Q zo0k3B>s|`wJh{Vk7VscDOIx>sr!`8xtJWwdYPb4`x#hNqV3>@j5vN=0P@1p~)FjDw z8FTNy`QepH2}fxvu4?+CP-pu?!quC@UT7gbTitgIk~!E}7jcV<+#qxX)7xC&RZOC5 zXrzyb+!e%Wp?LA#SfXOk`Ev~`k5S-{RLQ*c1@9M{Ob0$?#rM50_MRzduHx*t!AvpP zmL84P=l3#LuiTO#B|g5_-aJqbeaCm65VW6ShIQ8j@`CzWHYCuwu@|-d6`AriD4Q(h z;QbAGMz&}!nLn?eNYgnQE0ZKNB{z>Gm}7~J>A>E#XVm=i&Z7MDW{CtL|Lp|QudtHO z&u9+*dm2i7`Y`DH#%ZvOoEz##cp4X_)Ik9Q*xLYnQYDY?Ezpy?J$E52@&#sNq{s-q zNB!uXW{9YJX}^MA3aH`q!q#Mv zjlu6cfm`Agl{`5@yt+OoOLz2n(`1R+o4(V_+QH>6mS9`--2bMnCuri&AK_((X!@nD z=JK95DUKX1RE^ZR9u*Vvr^qB>dT-BU!vhhBcIcg4j~(XQgsUw_^i=jNPWhh@AgY$j zB*`i($97u5=S3F9T(m9B^>3}n6#b`5l|IqS&7(Ze z&CEkVyjhj1R0diW;lo5zwg+;!pJ@wu)0y=?J;PqNqdj#Pgc)B7KDi?V4J1x})$HIG zaj`$VOMI#h(w#o?TEwx|N&kJ!*pooz=r{EukFkTnd((9~rm2N9Fp1ywlk>ShK*H8L z?+sX4zswbQQHJHJfsQoqF+?Ysy%avb*`?;49|`Z2(o2YuELs*Ivoma)AOkyhq+1ghK3*RF`VI_NVpSlXXQ4_%|`_{Z-DumX(5($oi?wE zbQQl%LMf)8nh9UPmXTo>!QBa*GWz{4s4{D-@n1vN_j4U;b|4Dd>qmFgwZ>iglW(sQ zptn9Ro8W`#yA5H&`)rUKYpb5z66S?Cvewpz7A^G z(0hC1^7o0UEa>dByrX@`$t$fewjnLir$Wpt! zWK$=b23yzRD*xEiARj`0gr0uEsA%zPW~N7yYv=FcWDz+R3~dRDNu%uKacGB9XKZlA zIG#uTrf!&OhnJQ4buh^F=7wyryRX226#=`7t6XO0=1puREce(25C+W=b3b10)|C79 zZY%&-K%@oFIOKnR$7Z18)O*b~_}fLdv!fR&iE?@1S~OYkrl!~7eEKUsV3Vn!=snaU4K)C zTCe^NWv%p5#DDrV7Kv@Y8V?%AcTu#F@{u(`|E^cx!F0LZS@g$zO5&!c_~$lCA5)_S z=1)}E%4{$J>N=0|&isW4)RslEC;ur^hyzLr%T z7Ev!5((+p@k15-uTFNw6_tu>^X4bx6Tw-bLonF)EwI-i|BVQrBnv-g-LT}A}V-m1R z4^l>eG=Lui9;5*{}G}(O6vg%&z*C8ihamfP;i3st6wfSIwFPYtioQZqs<@%iy z6U05t%3kfeci!hvqKFXO0V@IL@;2ayAZVz0!=kyT5q-iKSA^d@Rn@Awj1T{H7l4t} z5(M&`d`UVidHdXA;|9L`4WTcKTL1fc#-nqh(opsE zN)OKj%ogrx=-=BGt#|-c{rr9K(<~3IDTBo>y3y4x*(*w%o zR};n^p77XxV;&k&vL*HWH!?mNRS(iJLB#ZhnozC!+}=(64Lr3-a8p^%f&;-uVMMah zN_O;*+Yn!VnomznC4Umb2OT5T(<>)|O9oL5;nu!Jv)OI^+be#2P73<7doiE%T3|_> z@+=@`BAZ**WX$*VWJ~J=j@X);JF;5TytQri&EfB87Zp#J!k^F#?j@(iYR`ZQEI9fz zV2t_Br>{;`4dm9}9mjuiQr>tcCrSX%r^RoIT;rwh93z!Nq zIN8YWS@h9Mv)BCLoA%$eL>~f5(*>tPI+ z0Ra(F38iFUq)WOL7$iknT7jVvhETesk&YQ^1}5Hl{%gJ8&xf=2Is4xGj_Y@M)3N<> z&dC&1@89#)J%b|{o^QVgJz;p}rK6nN2Z@x@U(I`{uEWO$Mc>}cLr;c2vPShP2R>%( z)%*2ZJx+hv3U?QC$1W;&ZZa_6#h4nu)bo=nu z-vEoS*Y@GppSHqle|-Sg_{>^BG1$~OgV&k#^G3g3yHEJm=kMTedk(B6rMC|#CN}RG zaNMOg2YVq%KxTzgkLAceYK#(J51FwrFfN72NoK)vo0mx1ZU8Mg0hY$Ex)aJ>Poks61SuWKG?3Op~t_G6r z4w($btoPL^XSnoW+9iio*##|-c#`!ax2iGzdI`gssFwfW3by~Ayq_7%TPG3vN#T7X$>DnDO6082Khz#|e84JHK1CkCi5sV_WsQpHTu(ty9i zQNV8TohsHkqYaxUmwszMHXSU9f2&eC-*5J!Cw}{;qeECD#NU@6h>f2dkz7OGD6Zst z7KmgTPW8Usp(5Mv+lAiGN(Yi<+1K?8@RNi&hnun>59Yi74V7>VK2A34eqmhiP%3+d zfI;`D07t&?h8z3{6TLc;`JMZmE0|(pOYAnShp1Kod)uV+aB@4SjG;I3qy`&ne4dgxkYsH-RQ|DXrTEJe}TO@r-P%^vUnc7`L&5dybKj7`? z{8@5LCF7j5dQHXBLkj~Lc19h(SG(j*O>1LCdB z^1B+15>q(p5}D01bF|zxx@_f&f$8K;n*|6J1QWcq!wPdfFULV~ zJ@(ediQd@$$^4_K@bmFJcLBm_9?=hA=BI&njnDE^OZ=~g`CG*5yQe5wkA$LloF9Np zZJ*s@4}myp<8QsPB=5vr#bQsT%DS1T?w!R99Z`E`0`th!g%j69BcdPSqeBvXmbbG- zcW{4*Z5#SR?)c84UCZXCA*%lWzd zrprXg9LToC{s8K8$wF~Lg109R8sGSZ7`xgI+_ZJl5^Zjtjjuf@M=3*j?zS@Z6 znqjnvHuXA|Ndhilvvab@ge83*|LvfncbP_j5mm2-ol<(=IwXs4copl5UFUZrHqsAtD)n1=Pl2!#tdaP*Yozy=5CPJG~|Ga2f#;9eMLjtlsx;=sRk=-fanB_t^M* z@KXcy&yz=XL!zb!S*ZOyW97RcJ=cE81!eNRo}Z69&nE*s3zMbLnlBJ{k)ATqCRt!cy#PRWLMm4UV%e3!lD`Z?30f`|O3D|oS z&a#U_yKSa4N)3l|E$o7sj@cANp|SVQt`|LlLGriT(u?A+ah(yfTt)eE316Lwi})ZQ zEIDf=s>TC1ocGYpO|5>>8mmx?s`FERs;w4jF-QxR*SHgW20p7xub8#YTK|mpPZ>en z{0+FRUKeV${{v-vF^ILMwk*oj%60r!WjzY1(qViaWRQ>eWGrd`G}4OFD*F9&6j+Y7 zAjCJna@m;DY%8Wt>WBl&xA562my$0~ zo7KJR==&rrBcX35Blzy%fYhgDrwAAWfBqFMU*hlD7 z?RK0<@8&x5Vkoo^Y4*(Q`2zu|y_iCQTt~Iu%U-(1cXUrF)~tMo;LK2@K<8c?GqHhFqn0SxiR zDa43Dn(KmUddLkqGV3EW@9AXmn_EwNdUQNY43VTJix5Iq76yI;&3>K|Ozvu-BoN4yh&6UDqVwHf{xmu?<0o1Amfa4rV(bLw* z3d+R&)~3#s>fC9v-!Nx`@Z;0r8u7~eJR8PI3m?jDDvgW8Iqq)&Ff(No8oA?Ldwr7z z%IW$E6IO*4H}!SjhKiY?-+3fC&H%m4olO82p|l-4)9^KE7d8{z>)+{DAu|#MG&F^S z^$yq%z&`Br@lP?e!V7=ONeA$QtAu|&i&YJ(d*S0Xnxizzf@Q*l{YC@K;(UxSBUw%XQL)qwJCz&&7yUx>?h zX>?G7`18bkXFUw_keQd!hLpn(wJh*lfFml>NM6r#UTyeLl%j0pKJx_v(d1ZN%EeoI zE$)DGZ)bpcX2$G8flw@Kkwy5HDT3`C71zJ?@f&s*oX0W6 zrdRD&AawF6AgNjac;~+VenH)rNU-Z7L)UhYrsT1Hz8K6Q$P&*NI*@Q>MvNcF$1(s7 zlhtq|lw+ekLWSjkc#%c{e@(Pd5r}sWf;53MZr)=qsE2LweL{#OgZs#YZk`12Y6uzm z4pOTio(#(df8p4NtbRfdbKbHBNw+o@m)@|{GGMLD)Q?44us&OhRD*m2#Z zWg&r2_6$@%unmD(!8)?g$qz-4k>nae0bZYQ(~Y``b%_KR<~|Z8Lg7Z2jn;=nF`lv4 zq`~oox}6u{Z1rMmd_$>mkVP&*qgRW(gpq;(&HI~4J?@@gI!z-sFK@pdb|7Mjq6$LZ z(FoFUk}uC8({mj6?r)^Bst+X(*<{W%&4QOw`g8X;Ej8dOe9&Q=u7`Bf++H!1VbeGB zq4ycLVE3p#+FN69mVw541D+}pn6YvzQ{{2_;cfme5(#UMR&jU{Qw`191%MHVV9o?H zKK+Y4^afKRGT)dr52vUc=+9c_Bi^>u<9j#OQ(pU!#H*|4NBzb&6hH#MuWi_T&W0pg ztUxA%h%+00It3QCy}=J*Z$CJANwJOSsHkHJf3o&+o;)i5Iaudo=3T4e;Ma&Gf+~RH zQ6NfSk=E*{|JLKI3-mK_GKkXd3;7f&Q!&Z980Ibf&0>5enXYZ*T@e$eu5}8Wx!Q6H zpeS?v$cz9s0p20J^Q^&{Mo4i(B?>YRoy4)2)hF&i-$e*qrjDd1bHlmA@Rj)zKJ%W> z^b%5op>I7wYU}B8kKTx5>~4Kv8p>)$9lQohSP;5#_)Fz+5w#f;WVi2fl9q+W6KrqX zHVN2x2Is?iV0C!pgQB|S+bXWDfI)2MlYB!RtBSTnjK}fg zfG0;N*a1Ghw9=Cne2BLTKNUJC{gU7KqzIaQqxX^bQ?xBfn;adxjCO=iL%HvRhxGR+ z6ND~jnI&~DEsn%FP5Gm)WZ{1FCw{JQgCADN?muRZ3e5p`I9RS^%mp=o&!2ZGk{f>E zx!KA{{o!6(CK+TdB90MMoGfe%I$!kMs@77HoF2n2w=7H^Co7&kF@1<4OPCmE0J5yp zTzGK#Pi(&JaihHor9<^5A>RJ>{*|WQ1W($?6q>#>EHEQE(8J4VL1eHoU`BnAJ}MRR zh>HujCk&=bQrzHTW&(O8{}vipBYqE_v>|8_efoyd9TjrYWaNo5x50A9VRkx%WOLPI zdzr!CZG#uOpnontsgngno|Zp!RGp8JBD?o4(dS0$qfeFV3(BjLLn))md@MfEk2y^XYQp$j2U4i+u)FTIEgsENzXhG z^NN~zbDZPbal6@8NL^UQsW{Hcd9zqjrwNVN0k5ufEI{5F5JQ01EibBI9foCh*d?=a zIkqoAxr-RJBYj0&8RX?Lex>;DHgNWDU z=qE=72B|Lr?(%5=B7mbpZs@5$_g*vhb@T)(vq9~Rz7NqbV-D$KJ<)Hk{IY(sBF_7g z1bK+S%D3n4yrA_sawEWX^S_L}SSTwnrYjaBy-yJ4(r0^-e5D6^1N0>&UfDZ{T4NBi za(qul>`Vu$cy(Y6%!zipGN*vr69ZwxlQZD_UElx=2ARW+!vp?~RJzFD|7GU6Yl(OZ z@R7t@fU{vOLA{gNj58t6v67pIPZE80)_jj0NudGW;vy9I-oIZr6?ORkvjD0*VBm=R z4I5gW2{)`1IUk2zD8XAp$^DjSqzu)>CVO2W`GygZw3Uc&9QhD6Q2IUQE%eXKy_*?& zxP8mZ9aA-wJEQ{s<_PImmySayq~Z|GUh$N2(xqrjW9QjJh_YZA(3YgJKPI>miPk!0 z*>-w~X9?vc|8Rn?N(h4^Zfqz9VcY}wHz;8WFD^%{C+%FCN_MG+$H03oPIMr4yI;K~3J^ z@=6y@)?ae4Nu2e^4CXcz2X_4iUFjF^eBXO2G}{+<{14wnPk6tLEG_K}SfA8g$}LIm zvEEOmSCD*H>$=*ZPRFE)uFDhtI#;x8V|; zcT*=dXeYRR{}%aHeFI#kqRGdTPsCcr&8e_{!6&JD?6EM%RNef;$Dw7g zZRmTrFfv~!&0Jj^gQxPmhnW={({5Y&5haT4dD_p(guzemPt125 z`b{$G4KV(}S$9`PHqHWG%{$6$&@GU;#YB^m!!xQcio3HQ80*naJ?>_s7Iw zN2)`jN$`NiE80Q@&Qt-Fc)z=+m4-uPYu z{#Nn~yh;U1ugwBT@Zb}r`A-4O;2L!NoK_3B-UV4_Y3TzvWdQn-+cEXbLyVC3~KElFzHU9mO)A?L;kzqIkU_Z`JGRz+oymJI^x z{I%@39WSf29AN-di#3(%wNbHe55CM{!T+#qovt<%W|J`UtyB7s0|HRS!W9wr>$(^` z3G2qvIdW`^KfFxy$LB~o`(ffu038|o?mS=CH`6~01 z8Zo4`D!=$e`HZ>mnoRzGM+>P7YZ}cTcSBIv`-I6dua_)dP)tCoR+3M9pk(x9`LJ^6 zCr3+=q=SLYeIS{d#vA(*s}7PJ#jJM`tgyA0N3U(}L+&(}Gk}ls9%e9K4hpGX2XW!W zT51}{5a8o6GBL6{BVsS^lMwoOBaaw%%kFX;2YSFJhsX|z{bf;}#$XfY#H5i)gby;g z(OBfVxMG;a%4;^fzo${S9G`q~f7F26neQWiL4WBj0l>2qAY4t{L|Q>7PPx zU6OPaC+5nxt4}jEDc}}&(&C9fARR@!QazAq;|S5g+`B?n@h&_?P-ZHnVABWp9#04u zkx+4E^@1<)nh+-OF3xAH8e#m;n!%%!y?>Wb_2vN^vb-Umuo4lUoFOm!g$jpHQ&Y65 zTv+M~3BUagA?q1>>mLPgq4oha9NFB6s2F7Tfs(tGx)o2qpZyHn7eu79(=v?#*YV0A zN)yradvjW|4(Z-!gBzMB;>OQ53?F#9h0H(9cos^q5fz1)Hcwh(gq>90 zK-5AK9scDO%YzbJZ&LsKh3Carc&SVmCf6$}vx=z<5NllffIa^i-)+0ey?yzetK~x0 zR0I`MIn1rG$umz7rSGnf$=p4x$2`$b9D&S1vqpT6$9~}#J`G?C>fgyn`0ra(j2%E- zNsdx6HL6oWTjCn(NgIkfr3d<;be02d{I8k>+0?u9Vu<}k79bWex_Q17T+xkRi~|Cc z51bNcBk*v@ajC84$Xk-b_pE?aXkznRFm+O4FWWZ!@>_Mi|62FK%OLrj4{fc9Ln$J! zNtMqpal&e)?20?{Ag(qlbgojGgowN9J$ju6xvTXrq4uxvqht665_&&mTffyrj_MMp z@>Fr7`&U&ddRnQ2h*ksuR}DBJP`+lCNj~<24S1@r&=`#;&X8%`MbK?uLPpKDzDk96 z9OHr-?P+uKsgY^m?LCW6|Mnad!rR_BN&oH$0^ta^a)CvH4oBwcyd+eD(DhBh!8PVn zT0>gU;lS=d-hW)3Re*B3of8oae)}G2ha~EgHt7g-A2xiWvpG$B)qF!8P}#C29{w^Y zJ?u65ao#Imr7NU@a1pblW!ahu;RE5OWgzU?u}(TuMhvo4hAMK0k%3O^=1Jj;JWTdUi?ly$i4oM z?@yeRktEMDU$nB8{r%8X^G5eg#?xo{))n=_&|i#Ec&zS{-QL&NW@2>fJf4(eO{43C z7Mq_iuXU6Q@TB;K>GwZEIhVKL!&3OGyG!5{?(JP9_A4`1a7Wr2u`+Bd@E;5q>^B1S@S}oCG;|;4JEo&mWm6 zAF;V~Hzw`^xDU!qxx=1rP2SRm3d_^!J#b}1*{ZuDdE1bgieD)vh{lYK+FUiZDVXaK za=jSMZ%)OC{+g7Cts=MAZ@%Bc>?5yxz&-Tc-^cTYtUeKwFQ~(rjSxB@jeFr`p1NXv zRBwqbd4fllF=ZQK#2AOx7SH3<#S=1Zh*$c9wIv|P2Ls)$&-gQS^$FFrEr%nEBP{uS z)7~1=)zR1VNWu9kxA!^Vy|ky_nV3rM152{w0Q8(HpARFpOJ^-;Qon27&oJ|X$Z%DH=i@wr7V;-WWDYAMmnj)2a&me1x9_Zt}bv~G9 zV2Iym&sJ~BVlNVH{J$nk{oo~vLPl-nT5gxMQ81j=aG&~L>0u1Sf!L=dZajy-Eb`%r zf7sWP_z7qsg`IK8ohJr*Y?N8#9CU!yoil>~($@@Q;vZjpUlAaTDcuBrsAsSOQ8C5Z zz1RBelKlWYS=8kw{tL<)x>VbPNVd~U=tQ^6fv9p69#!hi%~C^cQL;sjl7WX$CC!-O zsGZJ(g|Aa@{~}4;^8Etm%65GIg`TqOjE(_?cGk9~9+f)>Y&mdccBi4U$+W&?!jkq_k+ zpVP+_e}k4bTyGSKtXF~&0@6LBN%yI%#xL}u!X$z~t6@M&H>~X9y&Pz@96z22R&S`) zdh+B+PWiwUYLZ6B+EiJlV=!YS4t^M59*j0&SNsvf9riU`iA`e!U!ycSw3-sO4?$L8 z6Y3=!$%1E)fAVLrKYY&=e>{C zX!RT+`zGuxK#Sh}E_*f34)@%N*P9d3^m=fF^c@}f71Uh>@;4;+m)Q{!un5eGK)_jR zv(Po69zVGz5-)Cc{jaV0tgIKZht`-gSL|J;n4RXZ>$DdFy(1AXG;j$L$U#edrPUZV zf;&56T!>u=ZEoA@{ue2VG(gDY#=z}_PX2^a&y#yfVqlsAKRU4zfGAPlKP_T5US|kd zOHL%WZ~iN~2lo%xdI?Ex?%ElI*&*nM98XuneD~qKk+-XL_UW(rYMrVl)0@$piLbSr zzY3{55V~Zz3PDk3?&2Y)Fn3AY`zO5J|GCww8{A;Jw7rZeSQ8^S3!r$e42 zrt3{6uf6y*Y+TIsXiU=AH+ej{KdB4+FpbWO3Ot;XSdLC|<%kV*tU{-P$hWxr0(pdN z`4d983E#g@a*H&>cfLt5f%gCvQeC64RGoNC?^@fbN%+t=dZ4@h5p}{zqNm2R^TH0? zpgdd!P8rmVmhX`vseW2Zt3a@IIryDJ&@33;i&YkCSDIl4r>=HchgT3I3(y8Om1r$p zITJ@GBnnHCoVyoYka4q%C(88Ad6`&icVoO?vpPI?E|;K&1b<`a=+YQBL*UEVRcgrv z1YM+s9MP61F^W|Frox*ZOu*H4t6Rb^Bakp`WN9v>Q_FHY^2GsPyVBX1`dWv*?x(!| z{-3PEbb@q~^laVh!EDMKJy)7W#wn&Hk>ZWu#|UI+nbCLIX{=HH%+T;u_MMSt9N||) zvfj|#qYZ8JHU^Lld3P6fzQr&0FKP!zV=UcDHi}0WCV!R-B%#)WaD1r28=Hi6LK9(I zR{A%(Xvy$<3K{bx5RBMN3%V1Xo z^`m#??G`7wXHceeBN{b{Q1d;i3J(S0pnoUi|LS5SI zy&XH`&r4OR`$kj`gnj3$gAYq*hZNKTi-}vExQD;V@g~ z4UPeZOyu+VY0k|dub3D6A=MlIG6b$CCDIxi3u8+D)FNXWV&9*!hUZEa#&mZho#5qE zmpPkqMdx4enfKzn~ zrm-3vpPe7^Y7p4*Eap2LiK)IZ2wC~@y1J2)FB7&WF%N|HlRg- z85h}MCF(x)VrD5;f01~8UVzh?ZeRoW%(jK@y~KxlkXMH?ik9cMY6Q3Ieb{6@(Razw zdg93616WJ@YVa}-@P8;Axm@G~SEJY{mqchkJ7p9&rQ%Zz|0eb zS_JmaalWEHeuY{7qJ3+Oa_H_f{|jq=kD^Cg(M0a5;it|2d_Ip&yP6XD+0UN7>C2nwwZNxf*aMlYT1GN@xXQr z)IZ-RH3VCb_N%^hFa$Ht3^6B# z<9MR1(&P=Z>3tTorZLvpT_2I~1vu$@(B|+_N60CiA%n3f0*L_V3 zP(7P{3H`ndj#&jLu?`{WL*)-_!ZDJ^^&H_$%O@{)!4FW=H*vvQZaqbe@L4!#MX4%6 z_!Xn3Azm40;PwjU7?Z7a;^y%D#8Fz58lojCNaK%G@O=crVx{n-Z(S(Od*GFu^W+U$YJ+F`maY^D|(0*GJEIa{&zB0J^=n`LU zB^hRS)s$gL;+9V!=Vi>v$|US8Ef#IJ#$S9 zPG_eIp_Tvo3DgVCyn94WQ$EEl}zmNA!ayae={p zgV}~&B63Wl)siUHcfSQxlT%id(uUQC|DIxQTX1FQje;C})aI2zkcs6gU@2k*=ChJ5Ipnq0U6^|JzUg8%vxlXKRHl*J*;i}^)fAsXF3rvp(tf87q$srV z+A)hBxE#3dy+B;&ribA*;MsPW(t$if{ut)BijwOKY;|jxDHt+9tTpY7d7sn^Ar0Lv z&>d=^Lxy7K_`bKJl7sUiCp=%U>KdwXRyTR^Q^?~6<|-a7;)7fV#%4DmO2<*D!Cdrr zbJxk=Z1bi$)kE?srnVP>`a)rTpot&zyoNtt?6vEO6b_mj!x1kMu;lBXhnCu2pXNw8 zOnlVb=41&T3v_?I*g5!mso5@VyZUX}IhKU0$A=eF%4ktn%9+Jh5)O z)%nJ=3$b5m6orm0EeMwLvRq9x^4bf$2VBhLJ{O&3VXcN1)M9BnG=4lxEI$A2^{LB3knREB4fmynI13y%?Z0!?4huJYdb%6kZ?I`P@;l04^jd9^5i zh-mI8UNu2)HzUxzS}E6U8?_f>1H%6C;+X!3aL=&}_=5GoOpXY%+GuDTg6GI13Bs~! za1y%8AXrCU^b~SMyV2=q>z+$dd~Zi>{NpO`6*l9V&leZdC#-0D*L;0R;P}q(>lJVA z`S15s*R1(?$_aeGCR3QfshbZr++K3TCJenr;p*|ug8xyGh7@F_M5A{v;X;sh60Y_& zb!oqn!=oecQdE1zZt{Zt1`Kyoe`aM5^T;*`%a+m} ztp;yxmoFjh&2&I)v=FFssiyN!p;l*yQMw}ksvjRY&N0y)U7zUJs?(aip z60009RFc-XJk;E9UPQ^UZW&Kk4Q|CYVqt}Y%<*&xpP{#bTSJt0?!?!FJEo#a&fC2a z^D*^1ymQd2miNlYS9}eWoL2iQ0}0nZZ-q4OK>H@awJ=(3nV2fKqj;(LGg(#FH&doo zn75G`-?FUjag9!8UK9Vog$O-@=2{iOpiz_V_t8FyW_V_(<()b14T%#q7R83l| zGf_6LUuI+==P_pqyn)88uTFn=hBPK2cSgAp5ac^vu4(IBv}p26?fU%TcUkQkNRTsm z-AHQdRto2`><#bQlWJ7Kd1n_U3`YW>(ed~o*Z+9b3zyElwRcXf7KZg%Zv9*9)I^mj z(VASgeWwFFG7lt1%8Lu~%vn)J$ z^k&}xsV)#ThNm{BHhWz4F%J}|*^mMo@@-Fp>k;RPmr|w`I2_^aa_KzRNupT2G^62C zq^U2n)8CujGPf|CjXhO^LLZY|mC+7!7|PN35`zCi=e@Es&{2yJ_}5@N%(>~Y<^GgX z%OSAaXRk~chxOjSpCBaxcu4dx1oxdqL_>(Z-eEY^WC2Tf&$k?+75^ls6a9&3i-~UA z>Z_m1vwSq3n`>+OULSs`&Y#YWG`L_b0zYT8^PX$AKI=cPECI{UCt|!Xqbk#{`tE<1YFf;253v0;juDtqvw?fH2kuBwgs#=$$b(2@((4YqS(kPP%Ml;NLQ-RJNc`H`LJ@U#p9LlX14ijR{Gz?d0|0dFM@wl57-w*tFO$z}s z7`heiZ@7>sXl>fWgyDT&Ounu@EJW@mcMgum%y<5gr2w?Y$Jy;8Hw}~@5)lQjZLhbf zOfsxq&H~sm$qNq#DGT^D7U@NjCROnPbfU*bg$1C>9JYCoWM;nevU9}d4-qwp-SrH1 zMp!#MeL=(h;A32qMq73U9GOW>Ssx;n!dy18>AfpIV(q+IEmnYIdddPx&()?9Q7x`Dr{T4rcodJTaU33)$8T_v7qGWh=E|1G)n$XuM$0&&X@~=l zK*FzZO!aE$D>PzyYa_Z|B;JaBO^8@%F!v@EHlNUxRb3FM7tS^*DgHX5FOL3C-!F4` zj65syCXO>GjzdlBwdnzn!q6>a43DUJ0K6~5#i{y4vSa(%aJ|y#;BHUgDpo$57BCB) z#eI6bxs+;+{qX@~klG?>SQ;6IA2uYs^=3W@eL(s?!xxA>7zIlvkM}OO95!S`GZBH{ z10%ws`TRXV!&;Gp{<}z%PoGTYnSn}G8p6;IXZk#_tvjNtRp=V1H6K~6uA;NR&g7;M zgMsdAkO6zA73fcWSuqIx&~4}k7DLj`{-)houyp$z{P(8iyOhlJ<2N7cWv+W&RC0w@ zgVw^HNU*9^*d7C0_{k{VWprmCynlRl34xtYs;aSKi5L7zeX-H*@MCX0val8$E&GhWS(Azt~H`z1BaOwkj5IGa*-=PPhq(UK7>*2^5c?Pa3XDb z+Q!{Jt{E)7G09FWvGCTjKIGWv*4N7;HoLrpd9|B&nmuz{0Phiczu3Z3rEQZw(CF3? za^KvyV2whM#HGm`nf)T9|LNkuv@c|ao=!PZ2I}KJ8PdIEFd=wzf4ynECR!9Xnw|H7 zZF4bZR7x)uvIO0v)rEn>&a{_!Y}efyGH5KN#e-ksDGilq4QG2Sn}YF@aGyyC^H8Oa z7fN1J?Hjt<;|?d>^462Z6@;2sx@dqL08i4*#=gBmP0LvtJjEULh{vkz2yy$x19@=T zdASzwY-<>mh`0}d?E3^+{15cFRKn`G4hnz#N_n9ErDobMC|6YRbcJcabb}(OH1-9| z#geB@Hof)ZUXL`*Y!aK4IE5PA2Vu1w>r<6*%|GLAYa4>tg|mJ}THyMqkM?!Z@~p5|k7Li(W(kt@Zg=NDD$M@` zDn_ETAs?&{pyodvT23!5t8n8Ak+Gta-1Uh!Z2-~9wZ9m2a;>IFgV$DkHU}qrY>d+$ zILk%$-OvZ4qe9kka1}eK?AJ7DS1L4lV`p79V;aQXHcnOU>kHX@lCZ z?#bo@c>WpXP2~Aka~^BkR_!Hw!v1`M&JZHrEm*;U;=IaxCHVHc6$-C?=H=P>H5t5V z9Nv{FwcWa0%!9tzI5jAxp@4sLdr#}~>_If*9LT?tjGEj5&C-sYb@7vh<7+gT6`3{> zEr!}sepP5%h~`g1-~y>B7tr0smv`QDYnrL6C4Nk#WEV2boU!s?3BXsrWA=tH;2U@e z(Bh4>AJRXd4Z6S9Az@49@H2K6`$@rVxI<-A(JlXcM`|z?k;$|kD>br_Y}*tI-|P1i zx$S}1q+4V0_8C?DWSnqz{vD_^wr*rnj-^cCFY$gY)-|l>-R}@N$ko8GY{G^hz-z{? z>)F-tk4hSis(jIYW{jdc_LQw#y63?XcbIYbIN0iODwq0-CLdKGpLDzi2AbKYA>hBqHD>XB@-4bydU&l(aJowP^B`*FLC9T81Q zi{=E}YkcrSw7C8D_V6IF?r`am&Ww}O-xinN$f?lN!aGyiMgn9sq!DPyZh^Ar^OMlE z>rklFA4(NP)Je1KZa&_jBR|9^ALiHhdYKxJZIE{DQ~6`_qTe3{84j9~`g!!-7cl~) z0He2*SyJ;)j9Fjo14nUnJmFuRuupM^Ditc3XgfoM8(C9QX)Zn&kK2Mk&^(avA#P2& z=UzDS-r*E?+}K0hya+fBr`b;rKKzcLrF0I%Rck|?qgZqsjrqIBcxc5OQ-)%%Jh1 z7dF9`D{4sZ5`=y7M$mkaIg9}_$#DpteHvbOBh~CG>DdDxw*Rw4Q+-uwU$bR)VLlA` z`XD*=0GuKDu56*>1~^UBuUP|qRQS#wQ~%QM1=i+jZ97$9@hQd2mNzU+kOgs}cBHsu zU0^8dH*@&>c;}$FAAFF{(QK9nL`0s&GG{|aPXCyp`X|cKAn1%1-}CeL0Erl zu_oW<@VZHdtm#ZkEPupEFWUcU|9XI;qic`PajJCYEHlkOIG4;$-ER zu3$3+p?ECiXH=V$kjayeZnjD%3~2`ZWz*P5?KQm*f)&XPdEFkjQFr#fG!yVM3fxQ* zeZv36qZ&_EzjG;$?0o;|u^O579lmYFzvXt~8Q*`IDaq=+ww=^!w%+zR1c&_Oe!bax zoE2Ks#Ywm@^SC)dF6uX~U@_PpILOF4Jmf@VO|9&6A)LpIO?C4mgD>B#?J%!i;8dI! z1T*FJH1GuLzF8Y55g+BR=>C4?-J&Rol_07u_>lWsv;ok5EkY>2F1Bs1B~>?~WH{`4 z*+xnyNhVFIn_yrj%5uw*i*Rvm&!RJ;uGoL>#k>B29`2jT)+rn1gkG5zK!qFtAUpqU znwNR2)(v!@harQ;9;~a0fPO$#&AwDU_>#Yfo8Wd6f;JO z4hgyW6i^eJb14Shr2nipkM)#YI_uypSMW1Og0%5AZWYlYRu${?GLz9iPddd`LUuVf zu9n|WPpV%RG-O@%6nSaR1HszCdl7N{p=&|!7J^HY7xUuDtKvSGtuBQv;eInU5w!8I zQn!xby)-;yRehimE8(|=t_NM$(YoYt7uO10Zle<%FUV!ASXGzj2)MBD+vW0iUAD$m zyQ+HmE8vDtV^11~x%e|Q7$HBSu|cm^zS|4XOr)5ta6qP({s@BSv3li2SQ4HAk$>FC zHRU`=vlGhBL7D}vykb}0kL5`cHSb}J=rqA)DU3`W>1bn`-Y?>`vmuASH~Jrc@LVZk zcwI<#yOC~$-R-I5NX$e-#{i$yd9W<6rjOpIp}>9%Z*DpJmJW^gLa{b9hQmYaW;ge} z*8U&@RPpQV(CvgUHQOzbtY4G^kyRb4w=<-NB^xKiyHI`#vbJ z3=e3X?$q2W{j|Ux5ZC>&AiWBky1$D2JIvkYF#!gThq3+aSJGZ$$;VqNSqwb53;VHk z$X>*AmlcewkvwFb)BY4FM%nuGkVCBbsi5wF%RPSnkF(L__{Ye}OcU2cp!T0F2ZyB@ zc{g9&#^3!^hZG(?hP)Q)D7c)VgjS*paQ55tW>Q&Klge4=Y9os?{~rFnNi8Zx-MTdc zW|Y#c zTE?`gU3V+p&W=x#)7+XE&c=tD>3y-#Ho!N{=HhShkLBbrw?2XhqNK`)6`>>C=_CWY zr!JTHo@rswLSPFDJ?1!gx_d*SZ2s;cs3BcxGRhI$>!E;nW*kuzJOaMY7|%1FEi03!hcbsI z)JNvYRXv5CgB4K;UXEhnv)~q}3icbW3fndT*g*q#*Ffdw^W2W|2~5_E-{Ujb_Z)Al zz9Bra|9OS;NixqhN;5wG>Nd+i7W)N9Dx-5IVqXl(W#I;-)lwc1lSR7GAPXKLC8RoB z#i1V?W3oVP({|)Ww0<;*$$wX&ps3|&o#~-PN}-Ls#A1u_1SH3V+Os!_ZR_X%c-pSE z0)L|S2iop>PW0q}EJOBgAS0)STRbGYk-&MnT>3jT5p*87bCmN%^pgf|+aZ0*I1y!I zc}Xa~_n5;ZycyNj;JS968b=g`cOA{Y>@f~+CND)Wbi}0x|1^Blhj>nW6OWYbPWLrj$6FtBFY1HE5LkT^*G)hKb&=heig+E!E067B$95gI#LJ0I+a^K#7N;#!{k z{Fj9DT^j7Ej^kp^XU}bfLr09bcP1dGG!2PrEJN&WNwq;|ZTe%}zA4{uFD)kpTY)<) zc0L261|jDcHP6t=JJ%~A`njzOzoXO&Jet zO@^gJ)BVoRet1M|H5GstR}|ke`B=B?L3OblfKzbC;%pw+U3~Dll7>K*0&kWvjlPl& z=)wyD9WvKEXSi)U0~;OTdQkZt=eoB=oWR?RRlKWX@ zBi|o7hRi;RSi{Rfqu%_h+28O6-o8f?tkMBv)}FTz8!G8wti(N|bpmT5NDQx5yrs}x zT&iK>6jqh1oON9%H@>iB#TeaA3pRM=s;qng_ISFF41#7Dqs!07&DQGnGHCtAsi*pw zaQpV${jMHHoLwSVv%Ae|F{CC|n%R-CPXQ2P0!=NXFGF{BTuVNdT%7?J(mIn+B-m7h zMv{i3S4?(K*(;>WndkTbQ%47;(f`?p=WQ2YH;jOrFunAXNdXh0kh+1;Uz3yjH6P>n zit?EOJ`wk2D*)Mf347YPU>?wC90>x~C{*qwh$98r*w2xEKe17-kk?xM7k*5ARNian zlnbbGKeDZPQfze%Zg9BSpj22fU(VIfcB01YVoncny%W$FoK%+<;HEP0K1T6q@(5h> zcR|qV*FcNi@`Joa7ap{-Er|jg6~Y8?#BC1{74wCQR55skBnHky&s>5IZ>*N=klZ5{ z`o9bfRmZSDHqJHm=NjxMC4vRT2Tlk|x8KUHyVdZ2Y&G~txV}vJE)%@6(4Nv1JDB$B zE$9;PFf%(Y-becHwhedf7$e~QvBvS*4tEX4q5s)}B*1@B_<#n8fU!d8r<{Gp8-M4D};J0q{Y;Ig0Eix{ucssdcE zg*4o;>rvD&`+wiW8guM=T0V*5lyL;aG|HsssM??9)ali5{gob37 z$-ZSROSVZw2-(*NA=xQQhDr84Te40PvV~-e3}fGtB|BpbCi~3T1~YR%^E=OZ&UyZw zGv_|{%zf_9=lWdN`~7}>h|0=ZR$zt!o>%m~s_H?u( zPYwElECbKn;)kp|A@uUw{=oyaBc4$H%F!y3eZznfVXdCD?k$<`lpSHn0$56K>W>^H zaQ#LW&4MH3td?j2{H0`A)nJTo8chOuJod;@_w`)-Bk?*Gh`}KT1De zHZAQn301*MaLYrU1vqg?)S8Ls5iU;RDt0v9D&w7lV> zX$&?3?>^EwD$Sy2^cmC3{ODe!2@O1Gh3ZwrNVrDx@oFrHUEqq4rn#z$b8#sZWB0V2 zg59GC*yP}IFlL}MjWaO`A+9e$T9j|ZuR&u|6#@82UN2JM?SCMJ0JC4IJaKp_s0HO5 z+~WA@@a`*8`!4wqF$^!pstJWL6R@uXNq7t<--=77gK1)F{n;9fQ|V}9^-9!>_o9bD z$iHk_g^!qgibr$h)97l!My`$iiE+dcq;-yGY8ucU#s@F@e|Mbyfro8-hfK1=ygoPD z2u}F<%9^?K*QD~tYto^dj)8JozQ+@<>w!`M2>1JQ$bOl^xLVZBu>*GC-CkXButrT(G{G^3^;*N0Swv{0I_48fXRq#>u5= z#^2P;Z8JkTeYAbPZ;GJf1ykt&N-3;6f90Hm0$g5vuYL}4?|)gbx3X?^D57z>vFU~O zQ4g&#ad*OH`Fz=rz+rr?HvGs_lg^wulR}{dUsb}CA$W7iDRxnc|8b*-rA9eobj!#0 z7t)``6HATFWKZq27nvFd)cpXO`bW&ajFd=y`G?gVIs0MnpcYf}zRrkdr)?XU#y3=DP9(sYEuQadv!UF9G@l`}6*G4r&@gbA-5B zEj4u~K%S(q))&-DL2MgUV`haa-ftay!a(YWejimqZ8mhQ1;wzle~M7IiECe_$1hDL z-@d5vQYlp^>c-pV8pw0?`?44RzKrIhLy%b{ZjmAe?d#tf2=TNzQ^AiM{+tyzD|zS zuG*KJ?mgy{KJVU#!9Q_o(<3S@CdmjMpT4usTefS> z0B(w9u%6w?+kv04Tcx0?z-FmRS7e)@Ya)?VK2(d$eI8`t+W z>q!>{Z-p`P0Q}1nhc`xQLQKk|EM>|T(7%~Q4|&uQGBWlmDfi6!1kcItO;ek&WaZ5# z0i8WtFM3*S>+`-am;ST>EC6Z_B*p92nRO*5O~Ric;mqkhH2%3IfKfCf%Se6x!KH^5 zs&ZGj+4!;GF~>JsD-Y(JM>@je<}(J|ueOGjf8pa76K~;}uNPd28dC~5osOcIuNX1~ z;HTemO#Z?*qk>c`SoElA^J?6DVLNh8toid@R{W+5H(A(PmNp7o{_to14Efd@A`zzR zL2GALdC|K+jb&Pii8f32v$)+RT5-=RQbQz!O^GA)P!JY<{Y{Yr z((W1+=66$~AN=f@6vEZ~MQJ8A{l6q5nRr|%KFxJCqM3qCapTJ}znD*a$Y1djQ{uEH zxIdyzHn?0NNcWD#B}6O1mqD1s1rxezl;Tf)l5|jfU?BpULUj-H<{Iyqo{1EoP(1EG*ET+ z*GW~i9c7(h4e0aPpnUIa(cfzE5RZu_6T}T?|Bw}9&?7McR}~@kw8%Bsm4)lS^C2=L z`AXo0k}>LO_P}ck;*@vz#rVVykm%TwuY5&EoPXp|AW=gwhMznT>;+*0~CBJ>TU-7a3DVK=h{O|2I;T6wb(W3&MG>$W79Y)rA z2W8E!m@A#Y&iD#$=>e>t5`YiQeEftp3{W1zP>AC4&V=-X6O=kdd=ywN3{v)iN%#%f zOgLBJaoXeJ`U`5Z6f9w+138wA@4vH~nKkLG<%45R&%A&1A zUy#ijap&s<(GK7WQHQM1Ejf{Ku`IJ>f$rP=r^Wq9mqG zBIuNe^9T0@Ps~V>_NOXNUj2h588*{N*8FhZ0n6L)?jel9&#r$^U-Rw860`g>PEk32 zW*u#$+k^d(C$6R`hBt*eBxu|(_R#NeW(y&u6c;Y}ItMcNJS+u%oo!V)x9X3m*!~V& z<(#W?07O@rI(2~A}EPW){kmklMeCbouev>bA0S`0+Pn$;-GozLI zZ=}WXMF@=)B^187pll62KIqM{=av3RT=kO!q<<wP|Ch8aEWCdJhBfWSW?c;yAO@;_)G#q^YmBab?1AD zSI$yqr{_}3$OavEjZB23ObX&7ldHb9U&lsMdz{-Y6x%j7)HFQS7lDYDF^cMTB%t6T z)Q56l)fMb~vp*mo_?G>emq%|)2qBdF_m7zwK*iIv)*|#&oY%hA-8}2w&h*@X^;ozO zhv3>oo=X~@Tp*8^eOg0)`UqHk2lE@nx9Qc{>bND!eZ&_^tyaVj0foyc_um!NS0Ml$j zC*a}gDQL>n5!DM$p~YQO-5GVFY8NDT_V+4IuKM~SezZoWeVIcvMQMAXC(==8?|DP- z?i%;~xjs}&kh*5)RUc~YDy)_aKSg+cYq#w+3Av%L<{kkeZP)&~hTtb|W~~7NReNMO z+72jJ`Gq$#i~S6n+W3@63wgq6w;Aa*Vy*bkU zWRn~V;LjyC{>t%??r&2oS#N&^k`?}Wkvv*&sF)cF^IbJRa@>`fPsr10guMJD_ic+< zVw$o41emBO--3ND?{b7W)qHhGuslz?YU1rzdQ((gntk!ixkAd`#q^yBll38A7V4% zGc)_JWA?g~bpGs3@X}|)*xg&E=AQLH;?`J=UlDwUQ15^N!L;aY-xj{ttdyPv)@}(GKYsz$c*NwIcw`$L=bv|2 zI0J`6h`;&L${LI?DB7JMTEJWq zlEEJT;aUs#j8u1pR=FwOAqJ-jqBz`@w0~Y-D#BMFM^k2Ks@3-Ojd@hlf=?39!**uv zSYeI8wfni~uq%R5JxUHkf`ykGJAH}Z_jzOwDSmbm(=_UWl8C=t+QNuHzTs+92DXR+ zfr=yJ^EX?`sD!5m#HYG{b*FV6=nH<#!Kq&+J0|#khlh~p$IFH>df4(_^fi1z3hI+su-@ZXYE8aW90Y0 zkG!0aP55EJkAE# z#mggDK`l$HRo_7=DzQu?@1|Zu#Xp=w$(wilw2p)gPa;vHlokw997S?dUN>*rz2UI{ zRZFI}S{qUX>m23-RzG|)q~vteNBOj}d@rqPdV2ZSzg33%!tI0bVHw*5l`|@#*qn$m zE<7BR1#(06BGZ50d2aJOoPz=IqR{5lp~FOtH@Y*FFX#fn5Wd;Z!0UC!OE8V)kzXrF zhD6H#3}ua{v*#U4B4zaLl}MQYZ5uT{L8Os+WpePmhx~?(+lx2j21&@;-)Gq?p4pTm zYFgF5)6KC6?uav15uOJ6R&4(XxrcU&3;<`tYeK^GxQq67+U1` zA%|nupX7%_n<^CLYb_eeXzgm2zfu24|1S%mj`|UiwO)tF^ioHJi*n;%@|>JO(?811 zw`builjVi4*=Gdm6}M(dRrd;s0q$?->J$HC0t9O~=^Tf64rB=PB;X3qH}JHh zZ}?xGLqyKArz3G9H-`JFL};lS_PpmiwU1Z%s{yJ`B)DQaR%R&n)BN*7n7q&p#w(Ch zh=d8AwfP(ImI>7JQKbv=D_(OqCw$raOk+%_}NtozP6Kw{}3$d_cR`-O;VVN zHiTZ3`x^i81SUh)&3<8gTnE@RxSgtOBMg^1cr~^7_`@^U1=atRRmec(Eu{@yUH=#Wex)6WqQ2$IJBFQDP7n4Cf>@M^1bk z`kdf-j&2WC8Z-eOyvalSo)*BC0s-GHSR2?D~>h~KPAd+eLX8@u{hu6w0liro7CjK zz4dU%o(#HMY}8{ufgW!A4RdHrr8bK*P9IgD!CjYufBGMP#r!5{seLXRk$GNf#Gd1m zyHpNV<4V^q?U1_&JC!T=YkwWu5sHl3zd$8+_T-mG;7*%1EbTCHH^Xh7cPkNmS}3v7 z_7*1ea)U6YEqrV|?^@gddr0Q9!p0ePiZ_83#_7A_P9*f{SEI7@=+ZriRVzHstfD^N z?@c>*F%eWEj(7^oJ4c?51KoSDk;3rfIa|=ohqX6ibS=N-?HN*}E;g!tu#Rkm7=WUE zz0)NuA#Rl)LZ_1)g7|H4HO_)JG=AYq-a11BO5|Ux`Xb2JvaZJ@0!SnW(gyLJr`&ep z?T6>7FsY&&u$5xkPJSkcm28C_F2!`Fl^(t(GW}_-Kdt-{im`(s0(mR)<_p@Zj{$Nr z1ReFV{gW$^^lk5ia&Yc6{`uih%R`DHDdrFP#AIK%y|t$s7kaTOw2s0Fm9bvt{EdSh zRXN6bOqLY~#QveB_(mMq+2b_BOi~De`4izMb4vR^Khq0XlRdJ41!&R45hrPaNf=7!Nk1)+teukjEGOqz^`eMN`O0o zr(kOMFik9E&W4N_1uUIkAJq9mo3eH=<2~4J0YhlVX|1mBsnt_&i+1&};1=?+Dsne? znQyNhBONMfvvn*-Y30$}1LD%&_M&xaewgI08K!xE|GzobSk($rD16iPrcNyu)SB)6{)+PpC?FPn*6hui>mbdAI z#+p*mWSM#*ZRj`Mh6&PGVYp@gaqGN5$zwF9#*-MGcwQDD_jF9;o#slpe&UB$X2%fl zKo-sO2T_wC7*T7-^4)%vfq~g*BxxT8tk4qr!j}QP2v3s)-&RsnHTuq4s(4iInC(k1 zmZsq`<5I7t(+!gs!kGMC5MJauXv=ZS&ED>Cta*0~OH(~}7RU=-6;k_As+-_@%)x(M zL;i6@#S9IM%?qpIKb)|9v-+gUktCt^Tj4>!$tvr^z$}~+qPM$>M3I*tj04H|J#Ngz|8w&I2<_3kdD^mYs7ew?|Q|n@ZjZE{#~QUckyF7bW#&bhY+{F7TFr| z;jwm=cI4D6pDyS|*4oU=OV*v)%;Q|cABgyq$wEGRMW+XMas}he>(4%HIw4_~K+mXW zKGJ_JSCJXx!)epBbSycGS2T8eLFbX(jINRo$*Y+y-IVC4qIq24Xlqw``(@b4QeCPG z%h2p_Qr!l5@1!HnxaoPD&!dF*uL~Gq=p^g@aGvcJ4#)S$+-SbAU5{}~=wue!bD^=g z%+lM&IkTV9k?>^n4CP_l2Whta@W!8X!2g-Rc>%>OqM~J3b~+=fQ6GKz-@=*|mjF|O z<|sR!Rg@sL9Y2N=1qK!PBWef6MKvIS0gBCvzC?%(E4N@Yi;i=TuWEE3UDyhi5(oWq z^>mA^PVYpl zLO1h(8X%#aGS|zRvME*)J!Y&3@VSdch5MQD{q!ouyRM*XFsyi+wg%m2;Is<_*iF+~ z-fFiytX-!E;;82|_zC0P&o${8Q?jFtcdx3hDFOZdU%f6rsJ!KEk$caL5w`!tQtZlQ zd0p+T>dLiQy)7QrRd)o?Sji@kEoXB%aCN$+%yrZSa10!^K*#d~_(Op@!djfhWpnZ}NWpgtPHclCj%^d^Asa5J?*@+urvcSE`7AILI|)c`Dg) zWK~vCP4npyZ$))8`JU7NohBxxn~@y}0?yp4HkCjPg(LRusX#;O3ogbjl9rUv5@{Wa zI%E(zj(e5R7++<<_hH&xW!Oa_&s^WGLpQ_v>3J^w`JmnhDdaotN=^qjaVVGL@bt0@ zuLHza7eXmkGfV z@VoV96c(c8>=rTN%MZvZ>-B} z5co%|T|g2(DF3Y%T}8i{kDL_I)a#H1V&Py*2HP1!o9JN^8U+tg0~uO(8v2^ik~DLx z#>AE9k8O8+x4lD)?<{L45NDpL_VW1tq<>F?G42+<7!kv>*AvDC5oq-P$`LA8&g4i4 zO}xs!?Nk`@C=^W8r;Wb^kxLJ7Sr9;=^*9$st~3;-K?LPx=|knoCBRiuuhYEXByt9E z{Ccjk&M?Bo18oo8-}Q7Pt1KhY3sdxf1yS?%LPvVtWojHGD!N{I2+tw)Mh<$?hUy(H zn0p{&apgU{O=TcB;?8Mv?{uvvuB~~xQxSUDte9}TaF1d$3+m8fhVTtFPg16z1~1iZ zOScoRCdQ9><2ud@_hYesELF-sS0E|A`vj@X{?^wHZZK6Zgv%_oeH8sr3F=XNLj-C` zY#0JPiHru)yK(7~<5x6%?c4DyN_`Y}Re!B8bP^g1Ay-TrznuP2SPY~K>cn<0LqFma z&fyv^Z-^JAU;KJz=Y8$%80{k?)uSJ>?#H~|{P-vCD5Z8y8HuKqb0Wv`AVqITX%P0V zX(38j;x7HdIs%}acPn)qGo{;z2~ad?dEX|vw)oAxGiIv;WjCXP=fRs-kfNFd*o$&> z<0)7?X_~bku3vWFQUQG}y0-DW*D=r#+GZ-G`zs!x>sT_77Kn?+f60{w9<}Q=pmlhP zsaft%&j23ZcK#lj>a;U1BNhWU7j`_HIROsB zB3)v1eP9_~X0c<1Y*cQ?f|E*+%`H|B4x_MN5i<6k2~00n4&HTSagv#5;J$C}Ow$q7 z;%b1G-~XK4nZ5TY&Ry50`##cB2GXd@5F2 zk8WMzrEGL}6NY7Ke`Xb2hskd5i~RV)L&yhM$?2WZ+3(A*qY`7RzT~K7DjmRBTT&Oe zwp+YN#@#A=$@>NTZ6RW{6Tn?Oyhv3PdXR73kLFj+hs~DV44T!P@qae)zgK(+x3Dvo zCoQih+|y22S#x9s4adt>dPM7jEm8dKp)dcz?_Z9{C-*DnlJCi&n_sPg?*)8;1_&=Z z-YA{j`#_$QcE+IFWI2^7AD#v_{AU(WMtg6P4CXrzO=uJar{&-P*BJ$R zu5I(Gj=1t|_Y3D)z7)oC#UKKF?0$5ffmpR7>qb=^TlK?F1rGRmc{AL78qdHMDVyDF zY=VD*HXZ67Wx?o7w!p&RNr8gg)j<0C*Ffa`#`?Jecpx|~*MOFjF3?U2%UUn?%)A8zJU_dq_$h$aJFR+ch z_8rPwmn?|TZ)Hp}4g*lqeYD~qXA4F*gHMm^y3Tm6i6QL&r4U$w>reo{e7=`(srQnB z0&ecAhG7`dDNgkozST?P{KP$uiU63xU4X6hy)mRt#?&QAt0Q+@8LWJkj7T%>8-JaI zB3|H_VTC}vR~JX9e}+H-RTa%;4fL6Avx$2|$&Z{0@I2S|IMja`@WzFiCGk-iL9m`v zl|wf2#qGphX;b8@o;nsZQ%imJ+Jo1mKPnhi6g`C01zL}Nplv)t7r8%J82CFBog@lR zmO^3at|9J;Xos(2&&KeA9P7Q&H>aWWq51@aA-o{}JI-wh#HQn|WX{~=GvaoFvAU%C zI*M26nQkhl@EKy?_#`G1fs65D>qzK$zYsDX^7}r=YAlj%mOysY%!#m;KxA9m%e7pxvU z!o@*Int{&vM9FW=*TMyTIY8bpTx|c0d`G)+z*~8qb;8NnW12QYGQLsz(`-{TvR_5(eDrz{rXm>1wW;x z8I{@`FA6f*U)K3mNO(5*r5pz7MF-U(GH6I4-+8!o2`U|G=Ml{)jfG| z_@JhKEoGSoq+xx^bPICS{YDyA?Rqv|#|qg*z<}YT2{moO>DhQNTg`uJcCFD%xO7xG zAUyon%I+pdnl3vLL0XqVK3<$PeEX$m{2h$$^-B!+J5H*>%=q-fqL2&3hArFJOh(!^ z{^{l4jLkS5TM^*7&p9us^vC=|H!s@ZA&L@N2J+^#?nEPuq0s;1wa|{#eADl$ar#w{ z@0hJM+ZaR0uk6?0QoBtQczbuMzUPRLIVrfEyxXFuV}`;L_0#i@LYe{hspsbktZ3B@rkigkP8?@*Bw1VZH?CqQetm*$tn;1RgS z@YIcqAo3PLHRYRBRf@!pppzTj3_EP zy@;{ZmpQh(ZlSYhW{Y#?_+bGb@yj3Dw(FEAkUFPy`^qJ?Te)1U^mj6*eU*qPa#hdv9}mv(9^VDpROu;n!LAaVS~(!^8K z=j%l;ngJ0Fu*!LxVCn^FNePW+7hnXdAqgrWY;^GUQLT`7ZjThDC|u$zTIG&Rkw3Mv z^)JQsX)O!wPO&DIGXHgMx#LqdyHGkJKsg8**roDT7$ChgCU@LMU)g@<0_%W#)Ce_Z z2)2kL&qcL<+f2g+?gb&92p^bbZNeC7V?T`p-$wu_YcRh|MGY@^Z;=;CB-7-~8|df6 zyvYjKo+ZA+Wf}Z|=U2gdP6MCDb0)PPqHry_%Pe=gu~FgBCukHv9u6UT1?9o+H{9Wy zLhmUDSiAg@Nc-GL8hb{9rJ}M>B>3b<*=zHiN;bFuE3`{gIRPbYJ?4^WEWrVd4Dpu1!ZWm@DB%@{RE*P?xRFwZ`&?*28~%hlj7U6TL?V zaUAI2rCfya9o&ho1|?`MXya3Zgdw#UL;8|1_l|lG^)?@}-j^2-zz;zO z;%g^;SKXbtZ()>g&(Q!izTtM9kZbUm61lgjUr6TD9Q7J47gXQlF7{r!8+6(C!(?g) zu~%kD>tl8Q7-(pkSoWr?F-Ue?1VW&#r<966a(tUVh~1_iQSBY4akLd22KDB=iMM4# z-yox?2}`9jYu21Ow@Jyv&G@%Bu@Aq|HWvL&t+}5855dsHLnz~E__sKNPbC3U4k*gB zApQw9R__;eCF~i)!U9HijhT}<=~LXegzCOTEB8_z=~d(?qiBma8H7k%2bA&&>7e@| z$5Sy+7xJO8PSV$dldl)QGsg)FuT|6l=}VpN7K1NGAS1!HeJKdthUE74Rb3_va+~-Q zLAPM`&wp-zod>g-zlaj7OocSCZ6T*HV)y$UI=r~Bvsac%=f8PizorN!RHCi@IuCH9WGp1c|T~2aLq-M>oxb)XsmfAcM zk0Si{Ctn-;p5ZWK&(VVnH9dM?#iwO7n%{Qpcbp@$i4;yyxJs~p%i3oHWGRQ^bq8{# zRSf;M5uHnaYWHU-i}bCrp3(L=WC@hjFhY6DE#l|n{xlD0oG*u0=^{u&=F?L6$_ulclSB!+=-q(Ir1oVhp_$g zd3F!Eu-<;Z1z(mQjeh}=c{bXq1Ups#6}H#a%Qg;1330JoKJ{+&I~>=IGlrc_j?YH2 zz@SfL0^*cAx)$rGFb$Y4X{xQZh>JD}uMPz{ z-|lg04?~0N0Lq`g=7+4(e#~G*wAi+Vm17EzyArL#KWmT@X4*PXYPOHJmA*?f5xbhA z!TK6As>pN)AM{skZJjuu_#3b5E*Qjl6#HbC0Ij1B*$9Y?ObYfK3GiHe_Wlx zqDyYL!qQ7At-gtR!UQWxQM|g~i}*!ic2nrEp>%^Ow@BBG9T6Liwb|a)r|diSi#z!V z;GtmW;ZCf-+>F=!A%xM_?-!m-{;?q;5r={;%oQApPmRR| zF`$#wi@=yh1%2p8cQ zbF=pnL7}!Qr3gQp3N4kzZr*F*S7u$fv%G1SK1un~6_3-5If(){M_9H;|Lt*4*c|e< zBy^5GuYb=R!1y%c05Al!;;XZ{mF%OTc7&RixucX?*wcAW%85JV+$MzDB9`(M(udg; z&YHUZP;O^!(gkW!FiT*pevBu18{?+DTX6h?UHWRE`;?li;t-jh2r>`qE!g&sSI3;&1Y)>kEF=?44-E|1 zdKx@@`H_oZ&~wD9zGQ4knu^4)%^rI}dFb_n0bHq`4wlW-LdIEvWCJ7t=|hQQ6W7an z+;iu$Rv46?6a1LdLM(?id#uiX;}6({pg!I0H-qw9_Rh91^pTuqbDeC7Bkmf4pj!Nu zbGpT6{pSi!jH~TVUM-A{3~)vIBVS~%u~tY>R|EP7)%i4S=c_(f^k%1}-s!Jg)v9Jy zYk=I*%MrrJ%9ty z*_Tx{NVj}1?mo1@F|{4M=JvN_R)?JD`7QfsO!h}Yjk9DEboWD~l5s<-*cz6nxSu!h zF|~pM1aBv+-mL?u;uUfW%VA9CP3@MZybC~^1nIhWHpe614t$yH&4`asal{djs`~ia zKD2)!ofTviqk99~*R=b^8-I_ly*Dk2vR~g1&Wx~Q0NqTr3xDku2YC<@SVg8D4{oOO z(=hX>zQe|?+3{aht4tq%eIpjOEoW=O6%9g9!&?1X(WaE zxV6xBI9=O#z*ntxu6FodtDA078_WBGFiDaBb9;*^T`C3^$CJ@M_lyYXHcX}t#+CeZ zW3pEcQW%;!QCh07B3FY>p{PTP1|_x;>Ix=m2FxcC5N|nC;IS<_Amp!(7M~Pba#EeTMt~i z#~!C%uhRkor7XRz!6q1!5kzDXG4|dxT}Zw+>#Q=Wz`=c&{{80Vk@4C2@z;y`XotdlTA}240IDdNiRs!`f%F^jQ56oJf6TwK(D;Kw2@vvD+2#n zpb)6&BaZ^}6&`_)Zc1>+ofOCJ#y|6`hC1gD|6?D}1ZRrJ z_*WIUXIc_MC%$ev+6m4%{I%w+8HHWWGWX~Q#}sBRpHNQF{GVm|pI)5(=44%EnDd&K zyzc2h&g*P`ZROw*Bb)E(rbgHMdhr1%)f~$9mSQ~ZzYl}--3S7Ury4=GL;-SFM26N! z32c_z?RA@x2QmszZN(UWWSwD0@1NLJC#x+(*F~=qpZw96thr5S08n*f9U+{-2aF%s zzFhyESj~T`E#KYvB#Ok4M7gZKP_=xfY5c?W%~? z2Pw~7@8)i;7NyVDQWTpJN0iF$-JOo_KC^BMdXeyh6?eG}C#eG=A4bQh#$?JyUP*BMnH1M0|kNW9X z41&3}5C#()u?Zo~QDCe~)SZHb0lEXDWzWe}(~!aF&RN=Mld4fs@=ZR)U^aE#W=8U6@LFqP3o>}hjaGmKF!I-cEV;88ThTWapyopa8Uno&I z@KxuILtX)PA29}M2e7jGMT&NsCD(roLoFn!Y1VMEObcxvdf^)^h>E?BqGZ>#DEXh?k#%$7AL)V*Uc!Oy+i=2s5ZjK zRK`1f6f1j|6#Q%ZDd88v5jd-^qf;8iC233le&QG5_}(~ zBxqG+O$LAC;Pfl&J^$jAt7%R=_$LXt$lBL^=>q*VnGBk99i(L?=RG$)XlVlpe% zm5a`@`6j$a_a@n){oa{{{XiJ6_7BJ|fc1AG8HW&8HSGUG8{RuLvep9HzvB20LB5=H z5?Nw(d6!;`cKib`S|fvAGV;q`eN+1~U79d_xo#kZ5!3ae3*<3KQ}IE(xHpqxaBi%= z*fVq1q0ZMrh)i>@Z`|D<)39r#+ZbDUki5L}8DS=|THCTZgbv?Vz0xM!u9G|5 zsyFy^dW$(#6TlZ|K`1P~nI)S@@R8ff>TTbtIKS|otsYSh{oed^FlE4h_Cu(PW>#ib z(2p$6uY=dRiwSouQ(@l4claZlxNRzq#Fu@617`pN9F%tl8$q;u4mZxQ-Sji|fho8d zys^+$5=;VOSb%}uSyT?8I+2o$4gW=5C9g6-hQMh;=!t9;32_R3IaEiWG^>4BAnBgZ zaVshL_C{SV^VE3c_q!DvqjgPV;6UtMc0Nh6y6ypSs$7GOvW=iHC`tLSs#498Jn1CX ze(rM!=B?O|`m}Jh>S*uvUFK?QpItXT&@bY1ifD9j$9CaLgEB4*77KAX zJM2V6;AXlE7hNDk%}~FGEY1e!J;APFU+z&XE@f)9XmOT_Pu{2GcncKzvjKt!5CcDD zmn2T%Bx|#SnkjtxI7nj~ziYl{gu8^$lU7t$YmfFWdhL*+^u5!2S0S{!nib$ohELX& zFd=v$HwyxbayVLi78-rBR!)`yos)Y+H6nQy9GM#Y z1@FvEc`qiQQy1in9*0#*ey+S%MaFygm7v1z283GYtE^)`;6=j;ncvlq%-UO-ci~DQ z`$(q$P9quu2S~mnE(-(MAo+Iezmf~C)(+xHLZoJAY`W?#286IL#rTX#2@HR`93vA_ z6VqrM5ifm#-|2Rp^1951fp6l&Dfc2jB>lewUo_IEU7Qb#iV0E80xe~4%LFJfAzyaA zgp-fy&vy~va>po~4A)%VPc7S?J6x6ssAVu87emd;J*K8ECY$LkTd1-lJR%`H23KDQoPaE4bV#D%_9wjgX0}ATD)5Fj+Vk#^Yfg zJ6*&HClR`rn7-q9X#9v*g5O1$LZ|j5Oeknr<+3kKGG$f9nh0IVkF`vDL0GuJWq2-{ zGPu96C0Lt7DSw7A_bH{6^Qe^fB|i}M5gN+Ws{fcCyAskb^?#IL>Xx|D#sO&jltC|MZgzlk>JpfH(ofH+o2d0vhz(@Z&i`7aYN9 zHvtjY6^xJpn)_@$W75J`UBXYPm(ISM3I3kg@^|qxkR}*ul2&rmgo!^tH-6yn|>$?0f zdw|YLJ~hty2j-xe38e!l1lf$oT{Ph#%D9jo_tIQ0;MkRg609Kixi~OVDA2GC=UlnlXJU1b`XZH`&GUg4xxGyUQLhs4Vi8;f;B4Fr7i@XN9aM5#A;E z?8kaPR@`~3vkHC=`l?;#V3X)LzIWvO^DA}3b*Gea25B%i;P)*vcfO_~wqTV&FI^&Q z#@XMys;#v(2gV!fTcn2S5k$A^8Ecqp=KGBMn2boD24{usN98dZhCR;>J~jThpY!KB zEf3~PlxUgIpO$GZPREF3e_=t|?)HxLhB_FO!n~F_0)|jrLXe?`rw;{;S9HU1w6y`r z_B=$MYJ?_nO%HyUkJZ_g($dCksNGfI?K08*rCU@cI@}xb)9NtFQF{rO9UQt5JdqkQ z%o1Wi1|P;X%Nyir=EY~3!P@($S1MNZLd>?|e(7#c7au!GuE)V>P(NNeJ#bHz=04oG zG+{J_ps*r-Q$*YBfwDn!(X@NY@~ZfSHJQ`btC{DVYSx`f2Pd=S*F%ltfW0{zL6>Zd zyha1p*!)s=wWDOY61I6|mm&KB-swuz7Bzz}Q0a7-qLdpaPl++(hdtP*g&&XZUVsqN z)1u`FB9TM265HNDzSj@AGxV3f(Su0*9K=`c@Q>f3Ke)?oyQ)~`M&L&;tr;HJe|^)x z&4Q3jo3Ot8U(m_o8I~jPIVy~OGoF(JBqtnc7U|zcwyCw9{dGCv9qO?Li_*8_p57>y z?$L1isC$!>_izI7TjMPp|#n7m=u@V9YAHI!XeC|C{aH2LkMNn(+JTJm*vx95=^x z>ItpWZz2Jn)l3oy`)`*FKSw}G_`WWakTBBIeW(@b@QSUNM3=bp)%`0P9zn>aX1EGk zJCw%%7WDgCmu!E|$m;W~5w96oAf>*@M6r;N>B5h&Pd3~79q3DPYB|-ghIVY8Tx_RT z=2KOCH8jTC#PvP#&TbEuXA9gzV@?YWpj-au&>`6|=cobHCN(!eDD`PEDN6H?v`1Tm zhkh3ne0~Zb!QLBDPj`UApuF4L?-Zd8{SSbzZB*w1vLBL43-P0=Q=7+&RyX)4(;r}O zwAY23Uijq1km`^v}CQXXL7?B|yjiq90!! z6nOF4uNsnrlVSXR5>uOjB&9P*aT({rY5~i5$d03dUYS|r>Vec)rbg+uvd_Y8dsSR| z{uauU`4RE6 zIs~JmVP!K}Ca#eXhx}3>{RIr& z6To+YB5v{ajU5ka^AE+=JjbB2$LD}wJH}PQNHxTH_HL!z zq*JRcVd(LB$N3%&>L{U3v33ysEdNRmM>Zn^_41wpAp^Mxn1_#q-U%LM2*l>cB{zdB z6~t+}rvUc-9@K3IvjM!)LWo(qLZj`t{N66E{)34qsYh?5?+5>XMlmn-fW%VQSWhPo zzvtK+A`Nv4JuN~hP{|I7em2`98TS9$o)}af>rU30xEALd=n9p8#TeJn>ObhYU2z8C zHk^w6kK4+OYBAPfHvcRrzNMFq!N`i(y`$=HO(|z2(DMCe!Jr@iNqpT9qWQGx=k!~v zC^qF`Uah-SPp)f5uR)ZhORWq$e>#l{4EwS9)3dhsBuo10qJDuDz2SM# zzSGp#aVK49L&}2P0h1hIibnYn^R8?7;)5aT-p@n(^3RaVpH6v3!lY$papT)owIAA1 z%jB`9Uj>_R4~w9+E=C>Uof_DGw&#*c<<(H8MU!~IcQhGDrURxuW)mn z=MW@-Y7$at>RMu3AR1@w-|$Q-P2he_Dk9`lOmxp3*M*bXdnJ^32H&xt&H-f-giE=D zC|1X>0wNMzpa$SBMWD@rXo4D4JRGf%iP(HTjw#J?;O2`U@;hlOIvbfpEFb3G^*FCP zS+4C5>dNmqX5bX_xBkJSLI0WTAJ(3Uzj-fWJI|M6F=1C)JnluxQHfguLZFGepk>{& zTa%VA+M8o0;FQg1ta?0lEMkR!KIts&>8;cH9=d`UY?MBW$`K0G;gs@jlrO>eGZ^|u zlQ0-5`K?9%F`SascpKTvWZm@<6;FL2OUSI7qH*KI={CF*!Uj0$DHn zt|F7>7;9xAcV$Y0B$j?(1S$o3EqJ0EOB) zc@o3)<(#KM9xd4A^SYXiSIH&0grLB3vW=8hSHA3Q;zyJgiYX9D1vv|#n8Gi?O~$Y3 zV~pi*9k9<@hJ`K8Ml9{Mp+5@`jo*JhT3f<@Gd7gGkOO`_HSRR_%OP!l z!}(X#(hXvt;~wmxdmUmtr0oMGP)SW&(cfT?Vsck3NH3VghMS%XTRtfA6XSdS^O7~` z`R~c^-l5`nv5t)wn>tj7P{%Knrc1gJ9qBPS~LI5_s?Db zowLfLr>l0owQE<^oA$H!KL4XmtG$!W?le5}g#un9>aZ-|dSw5DqJVkM!N9Ukm2}lW z>W}A|fSZ}QI`i?F661)bZx~_V=eK~(+r7nXkt+uCw71`AD!UJk`h~{M>?ZW3IXE2f zRKcsJztVdew>fPGkZ|)%JZ~V?n_^!?BImJ8RF&1|%_oN838ZS@EJ<|cG2L-e{Iad1 zqqfBuI^HnBbk^Kv_mtp72=|V`^j&zw$;9y{r!{yfyl7d5aeuLY* z`#g%mgH}D{hm3VPyJQF#E(J+Xf6uOEHiX8-+kb=gob%xN)(GFafB5QG0C;h36tPrF zF)z&kuKMvmQ+%QH^V7mhTPcM7w#2JFA1s3Z$_XZ@9oPHn%MHrp-S-zPF5c0EbS8uz zd)dG`Rs98^f|t-rLk^bH6D_IU&u(eW26yo%D#@G{SZntFU}j+#feu-xPxA1Uh;yBgcP{TiXAf?I2M;4JtT#SvKJM(J z@IYb?L+RFkjeFN-+r4BB(T@3WB%VEnlzsel?mlZv@61j$`nKfb z$a_~W{y4euN907ECEYj*j}qOFJB=uv^Hv)Y6)tvun?C^5y)sQuwwtYFUnPn^dB!XE zbt`fq7)G5Yj&Zq2-s`X4*I<~C8AHVZ9<;pl-;R8}fxX)966o)Gp~?t9l*nBt&)ATN zGLnfT9sd5}LRhR+grt6?qyt@c{G}V8oUW(l&o~wejxAqaK!orwcd)^0%Sys+DU@0b z(7=O}Uy%+FHS`GwJ$L30{HnjhgAO`<62q(a*Q(y$`g9LHId`Z-bo)op53bCaEu$~G zB9*$)&zB)jEr}*ZL61q)ju9O^*k7SW*pBCHSE;63o|N1CJwD=%@qVe`5;m3l^RE<- z5U*}u{tS0>J;EyuEM?jYA;kjmg3F?tP!x(tT?kJO+x_2xNyZUV>qp9O@obvIvuj#^d1GFw$o2vap z4DUuY7Qb9t64bqT8^qGM~Q}_ z@H#!q&+mQMJ24NBEww)1kB~%lUU2Hre#D>ZrKl(m&ged65*R2)%{)4q-7xb5IGd7C!ce(A2wdkI{M*KS>w&%CU67{=#m zq}%Qo9c4T0CmZP#9M`>vX|9%Py7bD~ssZ6`LtKh-0Z3B*5d$Ue-!vAQo_8czrq^Z-p|%}b89xl4989=%?^cT60*N0Xa+ zA-P;gF+usKCFz=-I`n)V*%dB1kA5yI{$_VxZ{K{*FVH08-h^dV{n6MNRiF5zA;Q-W zmL57ZZ*zdJq|FNH*OE7S(A!!w?Kc~dS&+m7Q7iTtBYRq(FIDNc1X{#6*W`~mcKji+ zt4mPqtyd1=pnZIYm>fd?^<${i^VkP(qtIPdFZ)gfPTpt1+sVwF+fa(D4JXajPfZJ@ zuZcfanA5zj#2p){u=%CCq! z;tp(2>RvLvs~D=Y=aqCB)zAW1%JU-&yL)=NXjbXtW~x*M-fCjglC7B2 zXx+QL@%Gdj@YXK%^Q0r%2$JGoRJcLsQZl##G=mHA4{8iDN+7&mA~a?YT95cK7lFDW zGmlX^$^NSt}| z8hZ|%7z|mOOt|*9K+Zl7;wC?Ja!5oZ&c8W-*gFfqV~Fqjl;sBZwMH}wRWX^*oprv; z)kmA3YEKV+p?~b0@BGorMe57`UFAb4;5F-fGq=3gr7GGNx4Qkl`!sy8m*1UX*kus~ zP-{G`LZxj!8S7`x-&*$@I9Z9`xTi?lc->&`Jmg|_{ zu9+EQh^=Ji+pw+^>DHXgG}OOC$n2~7Ir$ni<~R8Q7~rX4 z%cJZY{iaqwYHNU&sYu#$G=(_Jkq-)B-l_39LlXK$=Nq-*6)GB()7M>wb=o_#)HHHyI&HmE`G%$dkC0j(59U6WL?$eJv1@ zaFa&>vY`?~+C;(ADH@K3acJ^D z%IypejP+DIN@XzIbnaOnY!NF?hF@kg($YbUWxMIxS-qAgvl?qbU&E`4{5?sj3LW#3@IeyWVZX_jZa8Rbw>PKP>w(v7@DuPpQ zjCRDh!z2eNqa0;sDVkY~yCk!|SePnNv4C!v6-xK4fqT#raw;I{FSnheE8r(auzyDJ zqi_&0781`q95Zl9GhsQ})wn~J-&ne^63i6aDJ0m}(_Y9Z<18wUDpde~2{r|wSXRH7 z$j?+v4FZ>1bzGlSf?5sE@W}ju^V60EUgUQnvn20vxO+WwFN?6r;u#y6(W$Fqu*Aq! zY$1W?Z;35nKC8Zosi7?t^{2#*@aZC%k7kfFb?S>hOTw?$(H#_jxhN^)37v|Hdx1~A zj_T=XmD7bz@;&z&Y341ccEB^`3}W)BIh_)f`=+M9hXO4N-X4;4Y2$yyAUa;)R|9IX z2q~=Ie^H`sblqLr+YCDB+d-Z8UK5g$DunD3oK;(lKdKTGdDI8WNXT+ZqtQk2N~qAg z3N%nKx!F>KsDylcZ_D&`8d}G$5iKxK3s{b|Cy{Jx5o2rgID-0h(c4yMXv8jcroXD@ zTO}w?>e>RMXID4r>!Jr~PMlA2*}BhKZ*B{W<1GI5SEfEw%exdRL3_^*nIn%jpmBn8 z^B-*S8g!#6-NrYq`EQFhq_uOK@p)G8^d_Mb8@}YqMKnEpiosVTGF29umT5{mb zk5-+Dbh9A$z{0aLL03u*CuhE2`>F%tYysb4hH?<{8HeaIIbS(ZJV+T2v(~z<)5FK> zhA9>pxu5x=C*0;{hdcJZazTKP_Kz4Jy>n&!77fb@{_z~E1x_C~j75~*v38n4Mp|Qc z8c`nX4KZGTX@p090>XnYfvJw6s}kz{$Tvx6RIBsCoxZ#pV2#jJ0~OvYLjkLsD8j*oYYezO9}>w1fbO1)V%_2K zmr=Xuz6+9Kee%{i_zdWMt)9@;Z)P68JT5tXppa}g?=z``i~ShF>}Ugm@2@NAL`qu!H#X4|$ENi{FQ3 zuMrd=V@-I^D-(=8C&QiTF??oB8CEKt;cCIjG5m!=h2u_D`S}|^Y4zxAwpuAufcReUn;w6;VXa0T5b%I(b`RTqOyYybAdseppLmQc!CL3)2> zKtFK0%&o6Ji%zZ3U82+Z<`L-(Cb3#CU`T!J8W-TjG!6!yz&DF(*?rsbD*0rP<32&ad-3WHLHN2nPnf6qL{CY<;YabFcaykI$`RPHa5cVR^0W%_{ELGOt(Z zXXIy%Mg)(#%B{X+w(e_kTnxq1uzelT9OI^#bQX(KaM6)~=h^c$?nWjGH*t>ZKRQ3E z`gEWo0aX-RrVQVcxUR1i1|W+f@H9rd4ng~@8zX8>Zbe0-H$o5JL_HK)b~(4Wd*wq? zqHOTH2Yt(D>M4x0&7WzCtH@u+A+t3aQDwA8e2I>JXRX+)WIp34 zqtp2ax%vcHZ@@N1ZS>-pMj6sW-c4~FI-jGfn_XiEPnUG=@e|6>_r=j%w`9h_N#0~n z5x3^9z^XTl2Po-FW7|CPhCl4J9+SNllf&bXARxv1p6Ao{IeQ}#f>|vx*_59{hNob4 z#MBlr;WRWYKW&zr<`K*?xjiXYkyf)HWld%F!NWNIQ|eTbK*9U*ZLOP^jf(G@Y8n?% znqTj>A1yO(NkDlBno}?8pe^dLgXt(e+OaXeTJLVvf9$)UE;|oe-oLJ2;uoHCqwu^J8e$gOe z*c(&8QK~Yp<@tF39N>*{IgQeO6l4f7l zFw>vO2j3h$Cq|y%7jYs6o&?0q93IrhKkbS`)vn{+hYK=4bh6n;(G{Dm5ifX-Ja8oL z->FOe)2LRg8Q|#2mIxp#>_m^e8fcZkHh7sBEWzbVTBhmF&{hmzvbHp@TB~gVD}Mbo ziCo1s5e^DLundKmCmioD_9r#gAl3++3#yM58lcBLz|{s5%bM^<@u&gZrsIBcJKI!D zw%(LfGjA8JHR_yPr5gkQ5xSjm{NsVHvbw&Z%n z>?U9Knjc$qz*&{f$FknmwKfXUtTrQ=sCGI&tN2;!C9Uj1{lElX-$LyQ!?imCuW7SL z=ine~nBtm_ctvelBRpYR-u$_%Q_b~;(Rob@pazSR>P1bxyIjw}r$*gKk3*$JEaMhq z)?9$8;hm=?H>R!1G=^-rfCB2eGtUbIU(;O$24KtC@Wf;!W>ws)IsqY8c2VEt{Dy=n z-!lBmDBP0a+HlJC$P$Fx*tW3sJ5f(f9805lH#}_SbcrbELsqeqyXNHjNgOZr(5X=$ z<&j<8XOf&vYbYSZSpOP1LpPchuSk=A+`n?cz?7FY%%nkJGJhqJ-Io~s*B!(5osuQe zv#%>BT=&S^@onJ>2AU6|)+uX4yWMf{UC~?=tS)OSn1H8>3yEo$b6prz6AbwVU&t(q za*kQD*VlvKdHrDPPXOh?S1Dx1WZuiFsE- z-{sQ7+WC|D{U$7^RTMe2nrFJ(o%Dz~{-?x1nXE#he-VMl6=OIDARJV%_YKWBG&+?+%HABuj43^jj1E|QFTIv3KE#1j>RwHg{O#4}kOgo;&= z1ih0jbzAZmtsYHNDHRmI^?cs^na9-Vhm=)phw%ulAiD2g^%w{9;4rS&S|B6kmdGP> z?uQhK9-clN!ZkmSnVBBwP4LyF-B*W~!fj^q)6feTy?Cb)QC9HT{v~U4aS^9(ZhCjl zJAQI4qbo_OEbvU&joK1|Uk!Jvls1lV508A4yLSBteMQ;N%qmSM(Upjl|8TcnfT3n1 z>fdk+K;utgn`RSzu@Ei)JKyGGowJOdXcrV+zdlso#?5|nz^KhS(#mOo{ponmOTNvR z+7@YA)klnGw%-Xc73V|JH1t;*=x8dy{0{v`C0`{fKO-#-;h>1qjn^w`S;;D_PYw{IlZ^k^ z>`=Xy*aD_p8Y5CNN?T7Nv#zZYMoTQ^8Se2oDf*He`|#d2!0gc$+K^8R8>fpfclvzv zEpsEI~B*NA}EGExAk4V=8Y!CytO1|ymqK8|{tsyIZrpj81`yQ~CmBioA!_P!jwzMn2fUy{!1tAwt$z^yZR zIR~J=In>$1`_qYPaSSJw77UH);ZUnrQw*fl|5b8m+ZD44=rf&IBcM*{WIS<$TS;aM zxll&1#|ib8KF#lV{#1Wy91^k}LKhVhW*A&(_BsoA+s2Tl@>TuW^Jn4?f!V1Q;12g83-j_0L z;*`1y)|y+gWDqr`mIJI2y_xjje+cbLMd4nYchAcv^9igHLg`GuTOTcv?tS7fQSJCx zsIk13ta)!bn32<5EAj)cqr#tN9j9W1^IcjM!Eh$k{_~X_V1Qe006l!eMQI%0G>CFK z?!@d1ifUcW0mjZR-f-g+Q!5xm!MT~E@Y?o0$tM=AtlNpF$AxgKL=z0sp-INB@GaU=Oq`YG*M8*=;HP+`-wE#&y_`4+$=Hhjes*JHmqRY z-K!{}@S8vxVb9U>M{NS?qR@1)K=+cB=YGeXML~|ZIo%(Z&@} z@txT+tU(Uo@?q=b$)GD45m`lZsc1PT)w_Lgd2--4B(q99Ea;$7bVxvVd)SPe-kU%7 z6%JTg%v=bwFb%5z7Gz>Ml(VRnE55A&P2e++^0gmlO+K3BLRhXK%kFS&)*QoYnI^9s z<`<$xPLJMwvXYF^eM4?bPY$OmFQQy7r>so;DSG-((eI*k+J*NTPCNK7zGkciCrP!_ zmo4PWjcpr;(z*pxDy0+j+;p;xcLsjQJZFrV2sOxDRz)3uhGes zU!$CyoOq~L{*&#P1sCvL5ALqe**_lr^ZgmTVQ&?Akr_8GCywHe+A+eSdT=^yMgeLm zhEre(c?wWPuc;=g5Peti-$jTRAIsUg=tsEC|eh2QV*dX-S| z--3@suT;SqbnS9kooxYK-IhvnLrfd568USwoVx>caHyO%jr6p@s3J#=lKNFZ(bt?L zb>EoW;4!J%ZG|<6Rl# z&Ay4K3XGS*i$M&pj>&c0efFUEXzGpbAElppc9%ZGU%@(@jA@LzSQB$5o|nsm?3ZxT zYFveL_+FPyQ;1%0$3WVm;&oYC<(0;URlp1pzF?NxcV9bxrwr~2;E_K9m79_b+G|ZA z@!Su9B0NTyzr^|Z7(UX!oUF>m>0Hv7`x!irdhYR@DI+U121TRMBo7ivUEZZoqoCr< zmA6H8*UGW$-9*R@@D5Ad%sT{19cKtr1I8y*6^i4gvH!wS+%>NnuL2n=LJzW z^6mxa#wrE9M0c?BzJAa52w2-BaN1wxAxXE{d~Ylt>|kGUjh+T_5xI~G)Ri=Me+v(t zE-*kE=lmA4L+ak+nE?W!mHacymo#!!%H8MVlBOM!f7d_>fM=)lr%Nt1Sk1b~FL1$9 z0L}AjLvmAxOr1}dD9`B`P?ZtNg+Daos@-PgK2t|KZ6J8P;-tZVqB9U{s5>-%F z@bSg1K#MrS5-xxgdUl0PHpbZQVB1>mIfCXaGmlaczJuE3M64f_a@60jjJ68FQf_^h z6mP5=S{#32k4JzkO;d82q4(6Y9{5ooRu&mMssfa0kEfuKMq(Z>8n(Y;1qZ&87uVRD5a5>aS6@sZ*l>B~%tT1KnVYs!uo`r< z4i+u*kLZ6Iz)bn^v4^2=gV~q?`uo1u`P%v#9p$S1Il&0hYqFQ5wZD`56w%uv#-d zgr1pV>{rJQgkfqiwcHA}!V*vE^1})`84EKU>i5JH)%)Aq$zq-6tPl6|()3GAgmfPE zu4lLA=FX+sM7CUhE_jCbkUH0toClRRsfnTnWd+OI9tb;-@(sSYftb)a%x6^YR3>N% zD=VbwJM6<(9XmrxvUB(~d}ZXdNh+EWb&-6Jx{flzPwQ{{28VXGw#c_<**x*?ZqEmq z*hYu#cb{)WWJE@~e>f;T%ivC>{rkqPKUhQ6Pu6@gI(7_Ud7z%{nL)rFs+P*D~rnGcQda9QtiD8WIQDAN1;aDK$T9uLr*FtiZ1cY-M@;wGQHJM@U@^hq#G0 z83t0bu#J5U4XL!sj=a#D1}<)jQXL9A_;uu$nGO9pm6IG{I}iV;_j2&1(hK<`9NQ#; zw0no0gg3Sy^@{wotuBJ{+}A(OO`&e#cPZe@z%_eY7}Rxk<*{?rAM~JPe<|C(!7_@# zvLX8ZY_Xirj5u@0e9nwK)5toT!)F}V`6#JYA}tZ-doVm8Nw&)c~8>%1BJz ztjr>T$#ojAIJe&wsx$!R+dG_oekyxeIi0Q3Vd2Uo<_oI=l3>+8;AwZz&n1{qz( zF7d;;RpgRLgsp6~acAEizTSO6rdUt>JHEA1M@I=LmQe!g*@!(c}i$boLcE+d=J-;_~V&px|n$zW;0j1KkaPw zQ_SXskl;2ky>E;7al|sFN_r$!FyxEg0{)BqsF+z*AbLjGIYZRex(+JA_e z!AK@$)7}fPS~Chm$o6jrhup`la{*hPT*M{m2abzdBI{VGjxBs>-{t;&;@6nV3^Pz5 zv}zqSzeVz1ojb_fwBN6ij4VY!U)+zcs*MGoZv#37a3q@akmS{aN%JEi`{2@n#iSZ@ z|?b2uu)&oh6JNv{Oe`0Gc z3I!6o3A&erujAmJw37tc5meu(pY#E#N11~D0?)uF!F=9LACfJwfjV_cfz5x1S>bNt zyY`QfG7oe-dj9ligpWoHhCfpvJznGvj?AWaTTdBE!X*CM3{ITLp;3NB&GlMqcJ8}6 zd#ixl;;&b90nc<;9iw(N=P}}!z+$m5F$BIMPv!kz9 ztHbK1ki%Tk#kc26O?A}$nvfclp{r+|yjKw4_4jcfHI(EU?vqr{O!B1l@I^P-+8k1} zP~Dqh?IE$LX$MJkV@u^%x~Lo#a(ni8kO&b5B*Ku-hW{JvK*daSVSF;KP`_;WBtJsX z_-cC2SvJ}KK@a(}8=u9~2wuGZz$bj>H8la`sgQuj`d1r-i9fB&ii(WL*gza#1Vb6E z1h!v!i#uS%mccI+uOYSL<%vsvV1v-ti@f^XOn4B3Jw`bXYdjb44%qwB9saxzzrot7 z8LX{WtdV8e)NVI~jL~$Y1N00on_@@4&Ct%Q4&vB;_!Sl7;{Cq;qDeUe*vC?iSyJY? z?sFhKC75c6>W_$V&bZWf>fJRyb>^vg~(bi@W7@yT7^%CK$9p4+uuX~m>^WnMYnoA#n zQ6jWtyQT!(uh8)E1HXs$BwOE;@AeR{M_{Y3-|fbHV435{MUmCFu8G_(90*KeYSA;# zjwhO&Pn=Y6=3z&o^j;7qV;Ubk31}-ZYy-&3J5o+leFhN-ZIKRRx)#!K_}0OAo(&#v zzcB>jOi`G$eV!-!nT4DS&mg`hc@SaWHeS4Z=DD{L|3dPdQdW27viK|tV)U}_eq1TQ=k*C2jB`6nEpEMOnX$7~`_Q%av#0?>1K zMs``>i!&vjYPcKyWaY{Op9{2*DU03A zd&a~Y*Dk@ZAkK^s)5+cVC85ORbRjS@9oIx-AR?cL2cG?0A!hQWD zi_tEua3x=-h^7*d$#+TL=|Px6t53;PD5Vv8Chdmz7~y7?`81Yo-VYwhw2ikZjYrQs zrxv{;I*)xQni8q=oGX7YH+ys)E{{ZsPEC~IzQ|NJqwS*>em`V|n}OhWQ*CM8lkhW6 zR??qeKkoZ;`nemAL=S;@^{>hVfoi9b@CyM`Ht z4jfb`Fh07kpc($9)GGC)svnfSWm%}IQ~10|koZ<-xku|W*6 zteaAELd2u-nD*$*Jt?kNE#<=uUZt6js4mQ1@F16~0#+PI^`~B5xsre5QO4iGDCVLrItGG^%<&5om|D4nO&;Ee zO?!0PGUGO>f3LRc=nM+BdUacwNt^b~x5y@K(u;itG0YI~cpqd}+Xr6r3HLy&=RbBx-pxiux&W* zM=2@R9E;lIS-byMyq>WQSnu!7)+Xzox|Z%esTq_x`*lp&CQlpS;&{EXeJ`=8Q2v_T z3_>m3-?qPdkA4PW?nu^C-D05!QI?&_(cTjn^s}0WuI3*wXqCWk8auE;arZ?7@9{IbIC+eH7b3z^W*<* zm=S2?=_mzr@fYD%Zu*vj{@~g22!;MVd}v4?^@x9O$73vfM-N$!*F4h7Ix~lt6^^4` z!na05V`?+P(8%g885O`hU|@ck=@YDR?UAT9U@_@U9MufU%bWmS^0D;K-3M0=FjWa{ zx5>}NUEeT=ZEj)dpmY=21`t5JJ-j+G9M(IY0vs(*w8u*JDQ*ua@&8~t^v>?5W|_!l zhb%U(!QjXru^-RA`ukVF6kC458z%IC?1;+AKP1k#e){{@x~qLy%+56>S+w?n#vd;} ztvkj3{VOx*q}bn=aH{|3f`2veKTZ1oyO+jzb4_??kLFBUfQY>#C5^;tzd>Y``-?F< zkF10-nSO&a*A3r58IngBhbc2mCwNlQ9JY!|UZvC^? zEte8gzD5d(3^eQr8=W*3R{<(C1HpBplc@#nF=|M}zXWE9rfXOK5esLPF$Sh#V=-u? z*GVKIz_g=iIjdj@W1zi=JvMGcdDy^BSI}7eof97RC74)v8+YL3C=Nr=8Ul!HV-J@! z=NuEc`Vf~j?O)d22gULb*u*{zoATpWQv!aOg#T80MHJ~yfqpNO>_Eb9zFoq$goo;}z@ z+<{4CP#9`)>%*nfz3&5w6tb)_2h5wAD{qz%ChAG3Trw&Cc4Ej5rhnWsO zq)<~FW{Q*J3ejovb8xb^G*)$R2uUtcKiA7fufI;CCwBaV{<)F+$A$3o!O=mEI+Xuh z{GVq3=Y{)!_o+Sh1H#ao16CK?WL4UnuNKakN$5Xf|Lo(Zf|~N_bP#{LpPgh-(}bb+ zQ`!H9FthZj)?H~ds|R_9{8UB9xNan8+^RvP@rir9{h?bBF(gH?fiiV`+bC8%Y5tMK zMiI}JrZ)4Q)pO-Ls3-a|Wa3MWfY)&n-z=!dGGS9`?0<878u%q@_m`-R|L&ro4`4s? z@+RVHV3JEy7^969Zr+(4_!Q?^z&5?yUGyScOFKyk_XdS~NO}$36DdMs2wEd(JH zE~%tOfkqZTsUWAx|2{VM=doWWk^4E}K;rjF&_2E%2vvmoDngwYkBc41MlJ?zdp{_6 zpfi^A=MI-mRMEcRTz4dsfS9tr6K2Y9D&O+~j!zKsH2nc)SzodOJ|Ki%niYfysWYqgbvMy(Rew4y@6 zc`p(7v>%WpMXv+4lF^@C^F6essgA&xQGdDSqccZX^U@hROQWeCqjRQg9ep~*7SN-f zw71YJcwi;+cLfMG#?4@hHDhDH+VH>XJ~@-}0XI3GQfA8<6TzH%*>DPZNuU+XV6H*^ zKd&m7SdAjGY-~@S;GJ&-!0TH`c#%Y1!4uz+p-B3r?As4tOjNt`rFBYV&rwnRXnYHJ z9uCj&qteqG_tv9TYo%eS&5aJj+4IHt8Cs~-psLR7*^eI;bBRuQ;jgnMxb*p%{8`gC z{z7~kD8YiLW4?lmVE@P+$n0jGT80Q!WoCn&aZR<=f?8*#JKsEL^IOaYN`mXZofx1T znqV7RGg664f1vcB{51Qt-(&pgaCo5^m0TWF9Fo2& zk?M~ZC$k?rQq;XfT}hs0`Wkf9aq7C`r8QI@^qC%4c*Y+x_3a-fSV9v8t8|++2$7Q$ zqzgh+&x`f#?q~4$F5*qTjww^-KX7Ty*&}*N7N7}B_)%*=*n3RSp>R)+!fY}+li2Qc zU<|H~=9Y`3aZTOA1c42#3O*K+@nINrnZQLjC5n;`oCJo?=Az`~{O{)({g!r9QVB3S zghZ&vpOVJ+`3KkYwLxd4CxHA|jL+57T+!dclmVOARjD@t;N|ESZBXL1kovT3qODUE zRFJ3yct6|KSIuAVd7!w7|6<+od?gbDFUV&AQtu&5^7r$>jMd40gBan%4HB=G#wf<~ z_3YDJj+%2kwhF4HkJzK6_rh6@}@|tzGU}a;;Fnx6A{5q?3O$4q$)SxM+D}g za#0=W9n8xGp?zmML6^4!>Yy_jz&(& z!x6*z9WK`tM#*k+&ezakl2SqVu=r6_Rh!S$&Lt#51$c0%`sF^fMC_G?xlkHNh$Tg0oP8i~t!LGSh<=mu|w z5Mji_iJY%2y!NhbYxGB9>UoYTJC3XCurc8*PIhe& zE1(extvX9?!_%j#j>GxY|6H&ipKX6xDofW?w>6FLTAs{CTb$wd81~KWHJP64YLnt^ ztwnayqd!L#DMr0rT(-CL57ornmrN~sJaJ$Hn8&R7T*y42ukXML>xOW>T;tbA51sIb z^R}wKE}jF=bfmt?Og579vQpxmn9YqdNR&M9MDy(IyW7D(*i(`_+hr*&&9o0do|Gc( z>KwRlT1v4K`;eXuZ9ia)o)MvX&{LCmPFY>HS!8GcV;~|UuP61*xM*S!lZfUqheN*8 zg2ReW1#?jt3DIQ#h$2+X@n?^~T=>7USIKSuk$1Shot!rVeZC=9Et>nIJ3l(B%vs#4 znq70upl9ZFXsNSPx$FZ41Q~tPzdLLl;L5rz3>*F#GmGNnbZk|n*wY%WiNrOZ6-{}# z_mMsqVRo{$He!Xl;tCdiQeP>Ji|6p1)I|cy7H|wJqO4dppk7JaZj0+q^ zIHbru;$lZ0S1jVOPsMXlmqhnp*JFGh48V&>0%~mJhgwPZQm;$iMYKL}Fi~@h1ZV!L zQpMuKK%%fq(peo#3QCvncMRb0wFOTsC!7jxvKABT#x@-Y`}f)dF(tkEFU5ttHA)5| zY!!16f>YS%J49MrB>-x|Y(6sz&<%f&-r3}k=&jT$44!(PVsXuPFDD(%6RZ6WeuR@V zh4n3kMJ9HaKB|a3%3b7@`D|kD3wH-k16m7t>JIcDsPESdr)FmHOCEx|bkU@}8=OBg zU`R?!aa-puRQ*#yBkjqrzB%;08-AdK=Df+#EaqAcQV01}#^LL;qqziZmwu(@?H?Td zL*WSPoyHvRBK*6oOCyZ8e_aUuYVNIp!czLe!Az?zdH2>YhUrm`f-zk&=i6Jh zZKYQ;CpU5QEk*VNBD#-$bbAlq1|^ye1GkdCGl?fjOU#q>eo;>^K+__xUfcy;O4^L` z-==}24!Dby?cW4Yb&x-zu@JiCxculqFimbKRPE+0HZsOk5>I3=4mqmF>7xRii6$pv z$|$+`*wvZvL{ZPYW8t4+YYIbRJ9ydO^$G+pr$E)%(#I6a=3IS|V;qbIXDau^-@zc& z;6EVMKV;eelBnIOT>{l^Hye7PA0ylF#_yaRnU1Pa`prO9QD$>?WbYwUB+0Y;?Fctwf}RM7<>qD}B{RH;+etenM{m z81Tw?5_aT-ughqjU=?nLx*2rSk)ZFCW!gZEQO-9*|5o^G?&=z8{K}Bom+gEDKm%2ibrgKab z%}`z##=wF>Zkud2i1E?ZwW~=R2~lo0!dn730>B8h0yf?!XdaO{Y^mb$XJpo27j#i98+0eM^Rr9jS(mKqhx|Hs*t=b$EPJDU+ zoy3z%G9s|>RDg#C+@j7P39UYX{=xgR&TN~gbRG3{Zk|j-n|pvo&?A3IXENe~*d5xa zl>6+=@et}g5_}uzH=cqYJ$V~aQE>kxC|qUnKePJ@{w;^2S`T=t*dz|V={I-0o zRNg*;?JWjWKUg2sZa;emntM|!aD-vw*O6Z)m;ST+!z&yQqTwItir{fU2`UQa!I_tV z{)b?X58fKk8*y^$Dd}T=x8)<>rgL zX-yk>6I5%+5c}})q`r2&{S(j0ho8>0tv^RvdcC@>c?0 zUV%#ng7<&(Rv7gEAVwt(vtCzq=kem{bNKAyI%X^9B4NEFaQ(1N-X&%gmiSy$K$nC` zOM?>}G-juDU@gSju^055MPGJl8)O{6B^8hHnbapEX3D@`oK?wv&rUG=yA)7C@vh)*p;@3V6Eb}gjzcMsEIAaIjsz({J5BpwU8W}q0un$+aH~m47 zfaO^eUwVFfd~#b$YZnY~U2n zab8^AX*6=8h*LOh#g7jr_QAZ%u&Wb&Bi;{-R~NPBM53%XM0-Y@Cbid?d`-xh*Xk56 z`Li<(#Ym;i4o$sfc??rm2S6E2Z*erLoUC!^a^vIXux^3QBpuM}x+HhNwAhoJ%De*~ znnjR?w@4*p0YCce{zBL}E`!AbB$|gg3f6eZ)hA(3OhnTg=2Z0fDXpy6IXr_3Zi&H| zm$tIv?j{15^r7yV+*f;K)(Lud%=kiLDbSZ5R7HPvD|acM3V{3rox5C%|O+h5k!2F#Ml)WT%zo4H=Go7 z5yP*g00rXBGYdj**KEhdX+>aNxa|vSpFp5qSrFGj{NvIB`l|qzn4Itg*96ue(1^H@ zQ!ulj7LMBGAj4M+TA$%yB@sO{F46|wX72d3MO2Q&=(!Ax%{`|-?HRK{C}if%UfYz& z&Fm>F|F7K#?yYSmUY9@^;)eSKDM~n}-hP!Mnwa?o9n({Kd1)yrMQ_YvMVvKY?3UuQ zYnpE$M(NHI)oMeMt8#(@^%DreFC2}JZAw@kl2o6INbT8QKF3Nz(%W9*wCRgh_WYFpt)8dnJUIn-(R&=U33O!S-%`J2X2Dt)m!Gn5O zU4p<87n{NfpZ>&7E`6_55Q~_wGFldU0kAd*QFj z?BQwdz{w$4ef{4fzxGk9L|fDc5|1}t!iLCj4sr31ZA`_^mBr1e?ZAuM^C9UU_f#dU z-=M;>w>af;>4ojSq3(ZLExDpzmSgu_a5`)zk6i90SR9H&JN0m|hre91`g{LfQaW7? zN+O~v*+|4D*VXRB)qPqHbR?71r2Wb)q5r?{36KkkbVzW|XKOn4T76reU9f8&o~k^t!SBSPB~)XDM0mG+gHbRf;$Z6$Q!lJgkmJhGAq<)a*Z<|=+r+NK?Q<{t zXTn_X`iTHi$wF<BS2o?1*?drgq(;3GNRX?CXhJC|z+oHTxZPAmaLt+f%B6q2EJFpK8 z;-3mDn=t!>5q|+!MWtfN)`wX8;SmKF#MHbxu}#(;7&JGFw5WfH$S$6V5f3NxP2ayu z%`%Q2qkdsYX6iLGwX64u<^NuStFIf2nMAJfz^l>O8_uM&g-0qs5P|++3F_?{!B;*3 z2M}UN``vv>;}uNd9wq?EQ5={{rF5)cBLs(T4FJ|qUhi>ig(0N+&z&%ewt&wrbY%HJ zA`Xo%4qj$9M_MX>hf%RVk<@)~ldR&JxvSPf$XM0^m}7Bx21UYmiyZ-HsPuas?N!=8 zqu;ua@R)yYY7S3yL$QQb z@6P+Esl5J{D?W>#4S@c|ToEEKFHja6K765R-2zWZ9#fTvdnF#tp@ur%3>k;xCMweG zY~u`}Ac|Mg{e?a4b=FQre-`t`mbiV@Q7F7jzx2~ zy=++2B#6KF9@sd2N<97CQ-JQVN}A7yukWp!a-$7d>u*E|3p7mr1dC~zt>*HHlTFtGMw6I!Sau^reP*UunnEEG-L5)ADQ8rJp z`GEJ0y0`YxM|@YuC zdL-NDJ8YF*s)N$%&3ky)HO~@w5&>yD7-BD2XAY`DgBQi}779U9s?1eu>*|Dwru~D+ z=l&vDQ}TKA{redMA*7G7_s)TAYCajb&jT;)-mjj9ug@zEWws9j)BTYLXL#`>HG$wj z5+K5Oe6SI~BQ?94j`%K@j!*~Wk|RY1A~mfXO2yk&MBMtrA3J$9 zVREY}iyAJ|zAhLaMVfS2PW%)^akc+6 z!(DIi!jAMWeeqWwKWgn=%}=x*fiIR^(zYSl-Xmx}&o3`;M`iy6_Cs7AZ)MF`j#C#de4 z!KLi*gP%unG4O&@>d;;K@#Vxczd6W@hYy?mTK#Gq@m#r!qmj7Q#!#KjHlKZR^*nd? zhN1X-L-Pae_}i@2KFm9x0Pb8O2F34k4Kb5I#4z5l5#m4jIyO`S( zj^*A?01pGpOrmn~m%=d7O!CTl2qgBfEa#Ge>-@)pVvDX%PJXZz)H=7W9dX6KtM*V_ zAx+5s{im{S4i6HuvR@nV-XCv%)z~DySr&IhQq>9$)ZC0m8G(qG(YaE@che164^3aj zUli36h}#kk$K_sd;rrm#Z8~}smo28vKr{sUVn>1uX9EK9TM6Des4CM__R(7EajqZ2 zRpYs89zy%nYv7K_n##a0sLR50c*ZyzUg~ki(hyx|cuo%P zo~X2Gne2s4uX?St!W54cn`g_MwuBvJPK}LmZYrzxvI3#vi_kVtQ3*U zFzkl2ll8*tUSDfue&dtR+zUL}M+~Y-AbDIMHh$L>OhDPYYnkGduU2rmkFm*eHb3=m zgok7~zK6DA3#on;#4q;Ql!8p2*Heq1(-GqrR5E^{Nz9-ibjj5YQKr$@+@5VI7=1HD zl2zU=yhwxE$%vJ&=dmK8jZOO``*BfYX<;XC#fJQcb3r~!-{eNd5-%Kc?m1s*S7~Z7 zb(;9uhwEP0MB6@(uAR#dw$PZ#bcBoY`Z+p6SU19@oTrQ}n$X@u&0K2u`y+ihxG>kr zqg2e8&nwU3fkxHE!_2wI@u3}#8b-rMdRVN{ffW9-#6tab${ObXsA)B30)Q!&^)~)a z%)5zIDlNR@y}7=MX@ISVYcSbrzjxj}1HHzXMIu6Z`Go4tXGHe@uSQ@v0 z@9>YpTl;cAsO#A#d{gj9kLyUHVbSxgYTkQytVK@-7Ox)sSS)-ZPh;a)uIe>x)In#v zoA4^bQeDR&|KZJ-)bVG9ag~ zPSozX;oquPkU|!eGW*ZTUj386RtEeDwgchch!SEJnjl|ofAlfm!W=OQTZ(^jAxB`o zhP~{1>p|6&!dA25bB*F_?d4(nV#fp&N(V?=jZO;CT{N8V^1#W{fE`VXe-TVY0}Ucg zva3qsA$;2hIs?}zNo)N3*afv~=5`zsNtuQ3zCS?w^FV=^O!^05w&b_wcJf~Pv(Y-^ zXTTs}Y_adSUpoi*H-M;K1|V4sJq6gcU4WET@sF|-K=|tF-@;daD}nu6N~2l!gB(?M z3z-&F7=X>Pb&QL0Znp`HUr8d}aIBVc0Vr~8S1B~l@CvG1lAuy9tg20dE>mZ{VPjD;^a zlU(vCtCXmgk&yw-^3az`ma|lr_W(ILnet07vgW6!(|%$B>}7;ULvwy8?p9!O`3PKS z3iX1wLWZ{QCUE;1!e+5H|DS?j=zZiQ3J-; zXtwN&J&4wig7gjA$O{bgh_5PJ3k?kqj_q8&Nb`aCqzpVOXwmf%)y44J+vozRGn?tK zECmB1Nu#V%NScfCg8*w2;vsgV%q<3{_{3{ZW!bvF;27id4a0xtR0~E#-HzcHGnPMGdTEtX{JK4` zNJ{2#R0POc9j&rikE;8|c)z=nQ%^M`?EciWIu^TX!-Vdn$5UOaJvwu|%sOU#XL1_j zh5k`QsGm~KL#%lP-VIc@j?=}y9P4Z8YtJ?hv!r8I{}SGko^V);-?$t?{BsI|xBPKI z*dmMRbec77wVk~W3i84~4$LGtd!L+qV>W3O_^a}8`IOJ6SKrN6M_Ngu zC5&XEils2Ec1((06|K?Tp;vTAN>$6hm8xPEDQWZTmm)xVcGqjLdb}3*#o8WeTCI07 zLnRLekEN8D>Ze=v%iK1euY!=OwN(;|mc0Oox@d36*Z$%s#FVfyyVN`nO`CJ}Gg8sP`n z;JyiWFVqggFCcKfbdi36B>6dZi>{zS$tw=&4O`b zie#c0swQKO1ge^k1gegMT#=AI6~9K-F{UK|VOoFW7($#@e!<|T$_BMp?SW;xD9LFk zA00Z{n)>Vd6Y~0xIjzM1$Y~7?E&n6;^^Xnyv)~u5ac7b8N$yLL?_frb^QSbQNoNSo z9^5a&MojCLH+DKs_b&TtLa0*5@Ku24!wRj274$>juTMm%0yYXork6|)KoR~Hx}LF{ zZHkKOqwJ^LG4kQU@m^nR=*m5SI@Dc%kewPd^vPWYZk%xMCDohRa9|o91mbN0r@2yc z1_+DhIs(lfd#BeN>XByLB^pDwAhfH%Aru;TTBp+yngNOq`})5CX|;*V>Kd>H8beC8 zkaU-qqvJ9*@ETABjJr+)2r;~er2!iV5fCT}ibWX$X-s0T|^Rhs7+}ydK?Q88v(qQ>6NqUM5N+ ziFCTmG|t=n$4)cyEj->#oCMi$C;!UBPF|PqruMQI9u=9E6c|42BpQ9O&!EL@j2q9- zjar3yb|e=zc3m=--?z|HEfS|ID1M*kw%WU+qU5v$!W20f`FcQ`?hS>Mt@nV^o!c+E zlI$ad;y0?mVe=2XMaVumdg-a23Pu1RNA#4jbhB!nSHr*|hHL zv!si~UC;^jkaK%|u6{K}JLpa+qRPvhE9Xtf|IyD-lVu2)djL$aq2zW{fC1; zHT0&DtioFz3yF$qqFNTYWrk~74eO3q>9(-yZL|{Ar1J0b2NPp^jB$S|Um=O^XTSdj zm%J+juN2gd(gwS>=i*y=?13uPq5X4N!&u~BDps-pt~%yeJR#Y(f>`TBE;)D#*W=VS z2;Qm#Nj;$a!Hf92(Z&do!H7e2@D(V`13cTocJM+3L$KFD18rw3&*x{F4t>2&d(8pG z{~*J)DAsnYX7Qh-y>Nv)kARFNym-Fq&X!^mdg?@5Mp4(T>=GiDj{o!AZb+w+aNb8sR0$TbMJaD;7gHGdP1bGa4>G z)XU!j`dEF%L=b;9)clj7d@}>R{GeB#J;L$sE^+>wBWmh&;cY<40FAH=<23kT9O;?`t;DMv0OTA+~8QN?}r8> z>Luq zt(!ku;|r7Q>?gJ+Uz*B+#oy|@|goL}VfRAIZ9G)u3d&^Qv?60=Z_LefGzFOlCKGZKB-<< z=Nll*=`0L{x@tZNKa=x^1|v`^KUAUU>`wiODYDPq%-9LZT?~i7tIsP-WJhdx`>El_ z)NC>Ef!a0L5(Sdv}FkS&IgkLTb2t#h)E_k7|4y1vQ(oT$~zPTs$m+5$Pt z7VuK|Daoea;L3KZ{v(eHNleyuYKUksyt)W$0&(OoiavBU1!SIzu^4mc|-jU$X#Ij@yJCBEV?@bUc$D8!|fjZH%~Hq z_zs3M{5W;^i0yPE9Cv1a(_$6AUFPz})MA;cc&$(DyiHbZS=08pzjdzuR`~i`+w9+2 z)h%>iUFd>UOFEIM#ZwDd~BnNZeKBZ3=12-``e{fc- z>_-Av-;V^aP=5{Ku9-Qw`I`_*)dkmcTi8dn5XZ|10iTpkXRRS?r=s2!)5CgI< zF4yjq6<-zjEm!q}0b$SYoTBune$^gUJ;K5rbNjpKjFakpArf7nG&MCdGr6X;4j8;Y zq_42Q#Ll6&HvfMnX!T#hZO!4vP~8^OZ17$xF7w01J_1~whh?#DizQa-*MVju$s;0{ z@7{b0Mm?2G>9PIhUk_6*X*!0dlvnG1css;V-2jnRs)o4V5?H8iQup5ySh&y+mt(%J z3wJAyz9UigS5o32$0Jk-Fix90VO*n2JQ9Hx%!B9CmFUQum<;9USCbRDh(tV%DA7Mz zG~hwXM%^VKe?Cl;GcX{YTJh=A9{->q9-j;!uTmew)_40)_9=qqjK_`kACxRU9!37x z$H+|XQ)CpFt4mr$l{Oo#luCUr)1q9}P!*o@|2|`lF?5$2q0 zupFauobqU5!nTjfA6fw9)2K7*p%0@jMx7lqg~v(6-li4)nRv<_H~a0B;u<25bZ;{L z%o<|+>KMGrZ{o)-?={1iT5P60M;+EN;_2zR8$3};GW205s&MqT$KVp4pqTF%JoqF~ z&jJZ|OKGvD@H%XJa`tX-h1EPZ@KDS|@rzg+qu_o<@RGvHsHbJ2YK(yao(3Z(*u;4(yi=YVlLPHM75-0h;HW3 zVG(*Xa$1dvu8wDre=d`Wg)gv^s#p3W7kfGDLp^L9`fW>;$oDe7sG4O?R^puR zxnbnxhLRZMdKpU*U3jAwr3gdATC6+HpMqq$&dT9+cyQYkR`G0pNsVArs#FjgXxZpX zW(+0;!w~!t+l~F&K=?e;j(DJr!@3;zOnC*br{Z_3wZ)5Zm-IED$7#%EsO^SX)@wz6 z@@W06dL~DeycA&yPx6mr$Y=2gqkP-#%~n0`X$r5!MxBbU{^e@~UnAK45I23m#;0-T zrPc}O7ox7R0snpHxAnIyFn9#7x)kDg|m^Xx@Fiv?vF0u|)E8Os0Y~U*8D7(q|Y%b+K zfw!-3Bx{&C2?ws}et6@7nMUQLH6wu}WJCv^xOR5^7EqYRhgA-PmQwYWdG!(OPJS@E}>6lhk7A)SoS6) zH_ldxFII}X;kZ?$->nv;3TI3>)ij~=%?HQfIk*Y3rP~P!%tNF)SueDmSUd|vBc-(a zP@YWwwAq;cM=8IuWbc~F%1}v#JU$ibVj8YRy=O(9IO_gnn?0=sefHx=l%kjw?n`1A zDbqm~mruUbICvTy(!!G7pHp-BBkeZaF!QLhX)VY{x>TbUn^Xg$+4nQ+uGv#wh?#PW z7K+m&_P~`TGT!K91>JVlB|Y491n>7!?i%7bjTR?2OxKoDGVfXw({lOyr+jF;(Zy!{mWTR^4bIHH9V_(G4cuIpTUF7sJYlzPpF7MN|gB9&`Dfig-*foNFX@z4PMhwQ_B|2?=pVtuj7b35M$NwI>JFAZ^ z^#v3$%fO6hk?{jPR=8f& z7vq^#4daU=y2|Z_&k{u?hI&}{*z@i*-mbt20t@R?15Pc5*-VWkvfk#cKDzaa6}&5|~$FeLwc4M)Y5F*tNA+zrI2Fn(cYQp+2gbA-`? z2P!t2p>M*>e`QZH%Od)L8b%2Es)VPADMzf`d)lvEi$jdgv& z8!6oKu^HP6j;e7JsB3Zz7=8d5Q@UUs7av-t_~-IB6%a4QqA%(--r=w*>?KP3>Tgb% zoPHvYi{rBfHVwW$ysOW?{$2dV^%`fF3D0{>cg%Hk+_{ z*GzRkCo88kD^ov%n>F9Ns&MiQRjdU-e(-)BWnnv~!Sz9Y%IR7KmW5W1my-o2+2w~c zJK*PM>e|pQ1p#;x1^grI0#LWEiw^Nw%h6JgvgZ-{p3+hTYi5*}=zWaSaj8;RW)L*- z%qiUET2Q3EkGb#Mq(UVL22FF=BF$(jd_@2SX)aJ!Y)s~W@C9piIW=) zwEO-yN6f6JXV|9D?PML)c#5ZaO_!O@yOG?$65;nC(rK(YAA3JVI=p|%GGZ}zLokaj z`CF)IfGwD4E)b5veQtyW&n%zZv)G%gU$RYCYI#j|?lrIdRda8As*L!Vy7%G$WS$%%@V^T#<7@e z0N=)|_brCs$H}S-o4TtOk*EB6r%LOauUW~s3RtqPgHG6vYq5!zff1{g%Zx&Au*Mdl z$S=*Ta%|J7Lk)YXD^@r=a11|N2{lmF5B2WlFD*_V8iyxkwHV}U)?%NMl){YUr;aAX zQrLtdW(t)fWBW)ma{%_#IeK*h9?pe zgnQ_Um(m9VqZ^pr^AdusO1j~viYzK5LtJ7^p^8{Tcrk3~c1cx!eDOQC-~h51sJ(A2 zD}9KT?*fbkw$`g36i6R@+cuL>>%EfsJn_+3lbE~d-LBO8N}+ZEAR^NlfB20Lm!|t! zU7Vi8L3F{wDg^1^#2ux|WM^04VaPWI7k7x~-LLBf3qL-gjF`C17@SB#nPfC0p2-w0 zEEz=YlrwHLEG2x#^pBEAhh0W$&|W)My7q$F7+l@H9B1rI%srr7S(Sg(q{QzgrM;tw z7kQa%aID`LdDjrU5@T=?s73B^qao1Z8X`>s>YqK1RaQA@CqAkIM{zHT1~{5bYlvj# zmayu$HQ^POWboX3(ri2Z?p5KQv2nLNzR`Z~2IjK)wavTwT?O_X`DHhGOWyJHV0a_O ze)0GyxrH|(n<%dA-cU7De2LhpaP*ootP>Y)E{JnrgFoBrXO3Iu^6!=EfV*eSUBF#s z?|}`arO+Q*ED#;Wct*uBj>woUqVjCP0&SmZTZ^SozDB$c{|2`cb#!;b4IfNlBM-&U zL-xH1FkH0csmEGlCog}4JMqtB$vtAX(;mhh=;IB4JhJ>+u{o!6 z_6RnwJ~nT&f0pLN@Z6PG(+s%FN5{l@XN!){vlCpGJbG?6bodJSul!-GeF@Pz40!ZP zM$B5`Q%^Nn?>m}&(PL}v#XX!9Rav6Sjm5~t3GttEY3Z02$&%gszeEbBZ^IMfmhcnq z2iFez%39{+Mgr5=HgGP$PDLvEo3=*#w@$QQ& zhNmmvD|mk4Q6-j8z8J=vJr~Nj2J5^*|BNQ#$sjN-QGutXQTTkt7kAr`{Q0W)YO%)7 zjGQeWJL2Y4cG_Ppte%{eFk3^cAvy^6EY4Hkau`aUVDjMK$8|-xUAUt5WN7{N4)Uq_ zP^~S-pJRkQwVdb6V26mF#KP^7NscgNo>C&3DiFgj)!CwDJ>bf`4>yI!a+t!Kf|5eg zYq6*3I!}*UsGsIms%4alM?3yF`i8!5R^Lp*=U?EhIf^Cv=tq6+_hGfTE?yhfX5Q6F;f1!S2i%wqn#es||Mo?)O+LqG~TinSOEDNsTc=ibt9W@PD>Yy^)08SMan? z#kB_}C5|Q~#a%Iir*n3yIke@>-)ZX%$K=Jv3j()T10&xn5r`S}D(6dhrR?|Nt5=Uy zQN7Pv@xAYP6*yXLZM!2=yTI(a3n+Cps780QXhb<7Z7ZSd6ZzLC^ba+nnz7x;&{fxS z5xR9p&O|qIRJ!F(QqBDE=$KK^Y8ll6yrg!4Vt1`fnHKW;+;CbETzVU@THF*Cf3^Ki z(mYCNwO#Iz(uobbNJQG9yDm0$(Wm##h@)%!cKr1*wv1Q4I@KqHKc)Ii@b;#1Gl+d@ z2;3J_ie4YH`eh=1b$0jss94Ji2W~Fo;1f1fKl4_|YD}e@lFDj9uc3J(aTU%TIGsYl zEf|ezyt`-D5Zw!P(@wHAOxcxPEx~B^8}G@v7gaof{B+FCdD6Lk`c*!Uh&?N znqnXgE+0J5jyB=z3(1?;l}Kg~ZjrybBbKi@kqYmg8~<7T(z$&*;QAF+2P^@d+Swh~ zG?}yM$vU93<-|nGDj9I1JLi3}(c_hzx{^9MHua)2T6HErnzK{Lqt2eJ;6&?r?=Q2+ zef{}-n(ea~4|7^q63tcB^_K7`frHCkgeskrnK#fqu-KgCkEoq{tymi)E88pFYlxOG z$usM$U7zz`h$`F2Ct^kg&a&{r1NpY9Z~-iP7Nsy#xL*zM&dr)T+>~pvq}*>)mnO2- zq8i6P8X8i~qg)bCKZ{4mC;Y0z2CzUuoH{JZxfMBD9}qVk<%XeCzH{MAjp8_yUsYs9 zIY$@r&-Ohq1X56GcMNhk1O(p*xLcXP1Bn{5&UOi{lt9@t*jULYu9j(Cx}t_9yfuTU z7_m4Y-47IhpDQAFibaEh*3UHk$4{15cSeh{RLGaKq%UW-?!KSC-DFk$@B_2A+ml7B zau*iKY-Pi?5b2YlUnY>wOY+!PMBA>NmOxwDuAkew_0`i>$8~SXT@c)+?18BhcE=?P z1hP?|-8jXf>;l>)+Ua|2i8T^8d{(W*v>P_&#y@r5xWW9iY%2US{!U+fv-@k_u1uA` zF3^njU`vH3lP7bFXc5YCUHV3HC2FM9K#_7GW2XsSWn0eT6fV9*UGZl(&*NSaEoATp z&a0{?%EyGAeuPJnQ?okUA9%1Ra~>zmB&=ebP42C9r}m5+V~JT=2wM+q(f`2VU-K1O zFDy)+JTKMQ>_I*e{Jv|0f_e(U{Z{1Tp@-g&yJs}g%@+xQP-SA`Ll8F1;61e(gURy@ zX$6DD(5e<|$S^#g3`RK11}u?$1F_&4cdiA)uy2uk`Wr9~lkQH3T?8xG_oHR+9Mc9& ziz)|<@&Y9{oRqVT?RC0uaCe;3K@*05KcnUXi~nZ~f3nF2tPYnLFpWJ!aG{=PKSQmp z^sw(k;P&PIS1rx_L5+_0{D<>JY*(q7ngl(`t4W#fng!i%q?ks}S$H@~N~gkK^r${X z=7rCGaz>To49zNz26;nciyN*LlTpH2L`J;NURhr%!F_TA*1lj9$pcL|u`AQi(tIOu zSgz|Rp2Ju)-i-M)GEgWaw$I)bz+SZ63Vj~W2u)L*PUSzic%+2Onded5-#uS3k+@-) zBKzoXK+#H741DbTI`^c>w2P0URt3?uAjy~rcE!~Gl$|7Y{EvF!*RIXn4Y~Rw z-TYg&HRV%Ec6$n$i${SFDDL4BR#Q@ML&cr#IYw%Wqbp>Vw)VitD;Nl#i-_U%-3iSqI-n}_Bn$a9WTnf`>la+EOSU`0nQ&vImM|cb-PVHO# z5URtiNf+0ryWu)94t>wQxj~jj-oyS0v7z>6=n+6q<1rZs3-R~YFs+kdTykSd^BJHxO*+^0-c8E(Y;9DJtWzi< z0Zl^5-&OyXBXZ z34YN~B2ko3{xfUHIgb*kYr(Gawjdp?$c)NjnP)-Q!TdOC0nPu5VD{IzLuuOp(gODIS~fmS`@>gc_mvW;oJKeXpC#|`EPKL_Hu)8198`B3VX=7H|evj z{$$)fdEJFEOZ5Q`UzJsLUnurI-HGWXHL_4@HKH=ZYu4r+Pw}Xpl~%hkWpJvYUacD5-Jb;9NstDlz0!jXOO<@k-S~|8xwSYHPQU0%r0vSQ-Ni@VXx`Adgrwa+kCr*g*k z^oSu`O;fswc7dR zwZXy4^S%NbMcU0F6@8PGqB-NLA^eXo*N)N&m^k@H^HD4X%@0Gkai9xxYIU=yL+ zGz8tIcV{cGYiE`Y9CvRBR;3yH(v&32rJyW(4e+I=`u9%LKWGkSj+id|2!*C&kPfn0 zmqG@#Out_?>?dGw7FdI|T(b*23Z|xDM!gm8lIP~s*SnTyl8Fv!k{gKp-auquC8@cP z_^bt+L%ybd+p1_v;q*thVQ964j+%7Mvx>_Cr5k63mjcKnY4_NzGAlt4O2h(QKTFsiB4jqhh{o!+?LofKL~#6cUg5kvBG>=*Au^+kL`Gd;>{0&L&e z&scsI(_Kqif4B8k!Q4|%HZ5r33+6(T^=yXY-~hQL_~b;E*8}*?rw3>Tv26QdU*r?Vwx_YN1rahsKOe@uB7Jzp&lI6-mfT|}ZmMN!bLaEs zx2K$(eY%U4+miW&9Jju(ERH%pMU#aG%aog#_Q1M1Mlu!&#g$Yq47(I8M1GOHqW)d- z(}CoQ6^7)vOfgKI^}lNw6Eie=^yw@a|~Hm5(98fM^|@~9h)KLuNQCP~~nL2TUt3*L;5+}1uJ zg{Zi?r1}JG0Zcy*mDr)YnQx1!xs9ioS`qzh?77Ms%>0&-4u`W>NZS3qj5&o>VM_2P z0EE@w0k|xlYYm|gf*zD>L4Im*+SBFf`bjP^YYLB#oN(n$F@B24v!fvgla0mQ#%+!6 zV9e+X<+l{HM}^i9odk!jc28F|Y!pqRSd+!hx3yx*VmWb%40{%veB(N?0>`WxAA`BY zl`7m*lB93AcWMEgJ>@u3rfrSYFwAJfjXm1qOM=#d_tIp>;CY>mEtuE~uh~~L3imF_ zox4ZeBs|{s^W=MlV2jtUrFh7{+Q}X!G#?}pfo%gts~eZfvG1jn_TBESkv}g^3Twtn zFc*;Rn(SHho-T!Tgw}7j_ z(0+W-vJmrb1+Eg8T@G!H`ix%ls34br&Io9$Fki>J>JTaEefwDGdI%w+3a zc(erRwY!7!B}5O4xVPr-icm;u4P3K0#UdA_CrWN$F4rEe%JlFTdGi5Tbl28Y@2P_r zaa(K!R{55adS^Rbsc?pt3ibV5?^_Na_WfmO3dPT(dfoOU(>cICvA9D7lMR`&Zrc*m z$K;Eh+XX_=cCoJtM;|}|)Qb|eSYi@wfPyKj=`ujTmt;=|@ty@h!LsNs(lcVQ4pf{k zhjP4cErJ_oaHg$GRU8m$FSX2|n37>@Skx5CMweFZwRNShbKWrC4k+mWd1*uC7vrNk zPKi6%9=96xyVd^@Fmv6t@HzS2$z40p*h=t$j$m|-=&;=dl@%j|D0i$vH9Km923DOH zT@*^h_38W(=XF7_MJ~#J+ZaTpxOGzDIkkrHCEhjIUyK(&V1bvB^e(P~yW*4|(Y!-qtS zfex3T?ObTYTGj$B@s(LrPSk_XJp&1GiQn#nJ9-9?XrGM3M<~2W4mT@PuG|<`>`CUq zb67*De+G=`8R+Jg+_2pQIwglOeGAxDM9YU_!wYqL{JxT*S1vP1G&G$od|og+PGA*{ z7|mN|ZDt($lpH4Tm|&3~$Gs{eDeSTEc%CGo?#w|e`b=ZM>5+_i{KFWBw)`T#%8>W{ z(2J=O;N@J76U0}(u?M-fYJ1Nt?b{P@qS2Vq1E=UwokF+#s1*o+nhmFd30B~GP^5=t zo)N#s(=elg_FDX=@I(ga?#NOWt4&-|N~M-Yg`R+RIa;^dbXs+>=$wm*f)|EKv?aN! z{D3PxAH5p0sN(Y8T>H7y8o~%>tnQ1s5!wE{tAnvSZon?&c^$Y^V(;j=J&XBZ%)ZyY z#j;k8dO?%JfeOXddGj3OCasse<`>MruL?9gxuAOA4chX1p{K8}3t?c{3{)l>cc`7_ zjg;*$6=0h;m)Gg1XDp9C-l+_q5Cn)(vzU#WBU?gR^|G&jqgWF!-#vAO?j&n` z#+$B`)3!Hj4mdod`@5S4&P?f^YJ&{9vJcOHtmJ$!v9HQc29R0k>1gC9@EH1#Ws+%2 z6sEYvTMzCL>HSdyL%9$8hI7Lu+{$v?;S+y{Uk_Nblee#5`(u}KoHpW;E0>3K<{veF z?`-~)6+G53dFay*3dBT&MI@q%HX{n&nmpcvEm^tTE(p6_0^McY+YdXowM+O8o^2zt>iwv)e{QRyPMPQ`73{KQEJ<_>AZ_AY15TQ4O zH+k!$VXR%^hM>L{neSyfP(kbO3V+|Ff8SR_ZyIFYk4G+|wjVzV&t+Kog5MgG+4dXO ziXw12vlPDbNUaU;vFv#?aXfD7Tv9)&`UZYVY!9OO#Ogm%RiPOEZJwjEilXwBfcas> zUqgK0X;awRJpqB%W)H+QxU2?(X$NQ|SnEzX)hvG5pdn+}Z~Dm{=I=*N9x7m~bb+2n zG`6!IFj?R5UrquRO~EohD@aHdpHP&u6KDDKU{pszm`8&WIP46ut*A(u8@$ym@rSYM zvCs_Ie&WzojHE(SMz#rftR@VvdJGx zT2TbyWVV$@{W!4*sG4U~jK|2Fzq;x+jL{N{Or#>~9KJ zga@lrI3-Qf;ON5xDCyMbZ7>5gN>Z=`2W+&b(28IYxAQI2{JNj#eq<7`3(^9J!V=d> zj>ivC7i)+KEzD2S&K1qFgSMpMgsX>T;<~>`>A=Eyz8T3cM0~`OgSfO$K08=>L)R#r z?_)gGDt+8>Cq-*<1ElAWG=j7nh$gTpmjC?u1;{hVl5L~xqtd;(6)sf8?+KRG{GW7! zw1Dnt#=f9Cb-Ox#4F0}vDGj4y)Uif6{Gf$^HxzG-#V8iUvabR_oWlb_LomJwJyzBX?hO%})f-&k2CWOg58WpS2B zp||aB>v7$nB7nOA(>77yNv{`=q%YNUn}*s;e4&UrFsMCCz@2pS&Ibck|7RwRF3JT= zM7jyv6lZ^3e^zvhN#fa3`As+MoUoC5#@9JmLKlFoxTbqPqJ??@i+?wW`dm)2uqQ<~ zAOII`R?f-28wX+erl*V7?a2=}E!zdAQ99y*t1-DD=eh1)lrFjoAhgxrCF`(J$M6;a z%q}YfU$2vV45rOp{i8{h80zWwJT@Tf=xh$y6tyKhEIVqEM>-N}5p&st z59;3n|b_&y~*Zitro0_IG|Xx6&d3$#lO1#s#P33cc}#7y1u)>6R}acBGx%3 zQh;kGTl&zeCN)gXgiI=UjZ6-zLnu+7&9IFj7X9*$ZR}*I97%yo*v=z4`qPvwLI&-; zS0uN4X8XRd8FP!9@svvu9cYLq$}Ctc1|Ec7-5IdPb)zkD70)ivv_21AHN_>8g9VyA zk$iNrnV5JQ8*^CJLvV{?1926wG52x7856~iw-*r=Ask|)(o-RaV(YJg8kSDKb{&p6 z>M7L*q88U>+CMjiE!t_uFpP|Uxmw=tT$&oWx@oB#`3Z0}!qQw4n%bstmBOb~kdY?A za8arj`%vy);p*m(tiWxx#}BTQx%e%)u@3x9HyPgS_#c?8-`mr78EeFB7w_LaCdzCf zqO9VGQ7p$f0;H_D;dVMhMVgKMMDT(M3Gj4&$G9#Tar z6$#;*<4ssHzU<|w32kYcjXA7^5w$3wb7JbhJ2kTPM>3}r!>EAucP5#~o4GF68L(`q zv!_6;Gc2ARBvkS68(mSmiMln5jaj9n0f=mB`9S}f(Tq&4I>6`@SOpO?aI3_#_nw8m zVN~CP@4JU(zB*4?*Mr^rBJQ8{E}Jb4$aJ57 zW^_lDeKaIa2z7^T=R%RWeFfQk+X30Rf_R*H{%7)?Nw4zw?fOb_8vfNj2_B>6D6i_5 z(O0DYM8XPS`HunA$xJz7TRE6t_ULSkl!M-*m{-FkhZpxU6x0fjjqREuN8m&lhn6R= z_zh1uic37%My6VQ?Q7Wxzc2=nAUBN2^*F&}XQB@4t&&<&`Sv}ESvnH%L@nqty3ud` z>6qcL8HoAafT?M{KEgJ>!7aaolBRIG?_&-)&fZoW`r65~LJYx6`?B#N=5;_)RT6)l ztx9l>pnp2g=%LZ@n#p5shS&SiPi%001*7p|WPQfMBH%UqTz$-DG_9uez7WGXn>U_}xfS_j<=k2yBX z($417)AkyPFq2C`h4#)5ZjN4;5q#7wZMYlnf1jJFIQ|?u(!&!5QZ>?~FcUOu+RPgxGvAZkB-7& zl{jX*z??bPex4_L7O|~I>|a^gCE%S4F*1E79<{J)qd#LNo%rg@A--ekp<@6p96vA{r;$ zFg2x?0An+S2UDBee6X(hP1u7&*U3o4aUE7;-Me4z0LK4mv%MWo#`B0{WgV`4~`$80HKGfAP`Z&ReyH#3dAr7 zk&m*kX4ijn$A|>CVnXAaF{AHA#jn@mX0Y9r{)fOgtQ291YsWCWJqs;+yu7U#ep2gQ zFv^pNH()Avql)tb4mCDlBJ8!eIc(LX5bpjuT$_70L@;TC-S}({<^3tFPWYH7uI`a0 zmatyu%CDe)hF+0!=9=I;vRwFvxzGId<#S3R`#VQD0V&`@QDRTDMtpNuu{F)O1B()cS>A*|1~Q!ZAa4MY4^WC zF&;jXIEryXQEm^7i7a`4(=-Ore_+h4EB~%~#MAv--KLYe><0)Sw^f2+>_x9sp% zl`ozji{|ck#fSOA-de2nTgy~+go@GrO0PeKQh!YhAPCx_oJh=6@YZ@IxJ{|{^1LB$ z9$`WcjFv$>0>oHzK597=oNK{K*N5yStew-d!|DCWaXsIDdY@oe3v$#U;A;&2K?&sW z>u0^<@=?>P!wOsnhB9mV`EoUlt)qg_28W|^qUkhh_FoN~Jv4>yQFOA)PwtE5$Mg)g zwX(F@Q8s-ztHnCeNV*g&J5*~vg%Z)W|C+lxx+wEQZ5Bm5b+v;yl?(pk6-X%QBv{CJ z8DgM?ybdY4}*RX8}Ap4ksc&+^FPy>riK;WY3LXKFo&L+$|5dcoJ zw_<%Xo^*!c(c7rU zU(VdVVpYF>_nw5`*19X~m3!B@!IbZ_Y~X*G4LNbbgv+lI4L<7I-(raMeBv`n!EvG~ zy%QRzOx{j-od*XfZVNbOtr2@iEORt|*IMa@_v-`ATx7N%lBN5i)W?QRgHjidXs@07 zPc~_UzLhk*l#Nc~iwd>auNe&If09Ksx5gcH|DH8wKY&a$br<&) z-npLViVks&`c&K{WPT8_4AOtz`P4VOm$!U^I{}~LW>5PJ!=aZe_uo6zuT^%xG0AW% zT4vj?&BNd*5!lr?CX*<#dqc=Y)=jU__g|(XmU|@n)=XoFyoAviaO~s3+?2+z8>@=! z*q;wlq`S}ZZ5-GQ;&0%dF8|nXyevRGzHqhuU~(V34>r-qGj2_8u}(U1-`!$Qh;)}( z+`sRqG%SU9fX6xQwTBxgTe`95#V6kYV~`;Ga7v?RNyqcUz9ZywB z%E+ITN>Fu3NLCL%4MvmUC!JmZ4+^Z6HvcQ~%L=DOxW}7UuIH8&VqNQe{J1J{#v1w2 zSr2Fp_K)E;(!-eZn&XyWuk|n1EdNi|tX1zgdvnoa5{}(H?V4)7Q)r;UVEVuxma6?F zKFgXl5qEtBcFq!W6^^Tlo*4;X3vIk{!{%KhvLsJ}-E(0#)zzox!Dz#e>)BUB*e}*mzak{u&hm-9Us6bTS3m5(Tz&ZM(XRM6#E)6zV8WB#$=h(u z=SNCflM9#Lz1X;4_W!W;UQtcGQP=O^1_~l5Dou!r2#SC-=|n^XMTm;@5)c&;DI&dX z6&0ybs?^Ynl!$-+9l)8Rv?djKLT?JI}M$Z_PQEzu~Zr z{~r&kzqC>hyXICC@e0Csg`6$UtR=oi`KOdF@d`7Uz@4^0{HSX*q7CcrM^{<8kLO}f zh0dSxy(s?~2Xj8`JXZc|2~J-t%gfW;Ex_-(qx>dT8js;q7b5@jX7sDw->hfU`P69$+7s$}k)si0mmgHIjV&=383Kk+)~Ztk02HE+KKNu(lkRA@@sT9lF)g7w*? zL^G1(7vF9wV{KAf<_9wDCQ`oaa6Y@+Zp)#rf)?3m$z7oG$)wvC9iCR%_RfjT(0wlX zh|N53@w$b2@S%m_<&GO^4S~;t{EWJ|EO- z9eC-U`VU^R0Kq1q@4}A{`xd{My6fLw`perNc%y@}B@3!C!Cj+m&`oh4y}WrjxbSzc!Z@-#()F~-L5gGI>c!~r9O#tI!;)@AK)cL$n0hRiX^B{eHXdnv;G z-q+s(fpfQfKlt$UCThsLi+?mSV%jXOLhYJ++r&g11Bc&LS`J_G$14FliFhpaFD$iT ze_lqUS>z|*HkzuBOJThylIw+Y=$*ACLj*V~&S`<^m~-2Ksd~8i&2SuM%&Fz+*%B;`p(feIlQv17u2!yDB8;}Za3NCLW|69&4L=>b{klv-@2|U) zwy>1GOoF!S>5%{WfAGHwOhCcDq#&vP2~A%)b_wb=xPJPnEW{xmt!(Z-i_re5A7NJp zHVS0(9^zC#V)tvLg5w#;_0tUas%T>W?-MLJ49H7u1Xo9O=7)d^^C(dSa#l37qxsT6P^CuuT8+hldHTgln|4 z>3x5S1)HBkI=welWq&jp@w5@(k?TR%TR^q^DzQBRB8U`&H$v|{_T6SIJi1Df%Z@{( zJ%>Zf?0~N9Xn5S-`{G&d4(MJwxH(+laj$g`I5qT5#2Fo3ns-&WGym-TDmQn1suqltOcA?F|LHpybB)v^&GQmc! z{(edQy@n|(Dtx;|CYtXT)|b|>2_=9dPXqj;JO-w@y8f=i(UiI+1N44N++OiIf$;~G z7PRL87}}`ARoaX}EGX2VrD+VsZl8lC+3X~lB1~)nC?KNL%m4zUEUl~H=%>@EflqH8oh zDeItQxlcJqe6SOHjwl~d?VYNUXg}=cql_(0WPE|~(8$A0`KKc_ zvSD@C$xjhlna6S0<$J+oE1$rb9`MlR$LakDPn?cE^9q?k&|F1%H%z*)2}o}rPOsa!jUS`QmZ;lGpNRVC2eIATP~tlNgF%%n-SurSJtKI;*@0AZLv` z7ym(X3sbQ31P9d``mochOUIpl@skitD6hF^XjN9dxo00_jKjRPytkMAZ<2o2 zN1Cp19r$Lz3R=7l90$`cMT9K>Ok4ko>Sk#fbf4Vqy$;nWXZocGsRdsiA}q@Wf4R`- zT67_l+iP8Y>q_Su&~@-%=$asF+4(TcLr)LKr6y`{?GhUW7`s^w3H!c_n4uL`unGoJ z(=!d!&(gYoAvdVMH!n$5fqUPZW}h5?cRBcT)2_F|DL&h%Rn#IID?u!{+i#JUb$p9u zTt4`(z_4Y7X3phSL4JE>Xbo$hjJm!83|9vn2)#M19Qg2D;C=0>xmJ5| zxen?S$Iswro^6F~V>2~JO}|3aHxfp^1BYOdPE zjDDN_u=%xTW1|}e>Z;H}0#*hM=m`$L`|%n1u$#Y;5g|0@Ss;rEX?UnFI6#nEx|Ey*9zg~J~Ikox}v&;z$` z1}k*_b06A^H=*HeH^SjSOHd3PICe%1<{_?06Q>Z&^j0?1RAdCzU`m;ee$%VsK!ZUzNX=z%$!Ay%YFor^ z&4%ZqX+-o-_IwHyis&K;BtYbkO$0ENkY>m@NEKRkk0DS~2`U=P@3@mTAnt~jwCHid z)W+&N?pVwV7z!wcmI(+IhL1%a&4<4q{a%au*KEKVh4nCBak4bCLX zpMo#mVjJNsYpx7}>>0A_rBm!G)IC+Ztr5A2L{ zF1Pi(;QspZ)}7_^UGF~XiQNVHZpG`^rE$_*xw} zzGUhWt;U*bg|7(uHqmybvRTQkS98Xx97)#L{GArL>FU8L=uK#{Q|IlWw)$ z+d2|80>mcwq{dq-#ei=nE6|BHjM)S;j%BF~X$3Jx#cQCm51TScfj*u5q088rOOhW0 zVnyi$HhIhg37NX_x3t+>D{+~g)j@Xh!PMJN1c&rBw?h&4Ap#7XA=eY=^>a=8qWxu2 zg`#5_({lq5tDECSxCX9Tz6uJo+Vk=7p+aF4EI@0dV}2-|Sg!kqBuKbzR4*k3K1gv$ z^Ua-vL}8w}zn_P|P2l=^Ti?Se8+aD;$yKauG0g>qLAitdo*3f&3x-_cCK3}alN2ZTe z`J|}oE$5yK3i>z$GEY%nO<`wV|CDs^wND}3(THM2XrMx__K)<%XsiXSRY8_rjJ<<3 zga){MJU&?BbZ;HjXx}q&>T^+4 z@n@zS{r*>0aS7h~nPwLzNtYyJTif0-W%30%R$Z@s9jmJ7i%3XP`ycHCc2u189cuhb zZYoq{9qmIs6P8lL4?u=|Q2y(e0flx2F@bS(?knQ|=4|J3GDmIOiws$9g9$69!jNTl zpmRH&kQc0i`kWn^!mNev!7S;|7H@ZcB5niR@x;KLXamNkzDv@pHQyIwV}i!4;1Mn| z(uGDg7c|Np(At!C7tF*MQad4h?H=<>HS>Zeu)fz=?)?D0dD3{Wtxu(m^T(`w(Fi7R z-DzPn7(ji9<;3O>MIpY+!lOK)?FEwY3JTh2rw7N_VX9`sh@Ke#R0F0pVOJ*CQdqg^ zrRgSARAvLOhXOZ~4Py|xaK;Sx4*Piuuu_05K|MZE4*)$^CQ2yj6llp6eDjXRgqwgi zG)6-}<3h!oi52EJ{nUIUXIEj+7*d78{sKj6TZ1pLs1CV6av_E$x85uQR^U@NiqK|o zn;kV+8sH^avm4z+rK6L_!EWqtYqb6PaYg?@C62uL@_mIq?ryG~rp%G6m2H$4+9k(a)7bv9YA6JQG1Y#1R)122DQTMG&2H!4Z(0XnpE`LLceAR5Ln{z>p ztn9d25!WLSiQ}o%ebu8I1mr6m71KalA*xe7D8V9(>6WTb>`H8}Ul;9q6X;W>U|KbB z&q8+qQx0GCbTII)!wct$t8a(4g~ybO%cP^9QGmrnR8qs7T0^tQ+sTl$wFhSxlzTRz zUO(n)-WxLS+CiWr7$!Hl8ALti0c*rH{XIc(^(|=ThddwuZ2~+|AvV^!Y7o~j;kw3> z3Qm9m*wXk&ls`Tu)Xr%jrVL|UUlc}~adI7CURvErRfyP7$lU%FFxaR})s zd^hIB8vMN0{GU3Ag(wv9I(*g&^-CnmeHf#WJr5N`&cYj$P7JMLutBtgRR5delN*<) z{+iz3HiCw05fmE9-ykp5%K|xl@09t}kN<(EtSa~u-@Ql8yLshNZG6M9j6!9**%#)8hi3hi?Srd zPG0R?@9vr`;1e)89ccWfuEa%4wgTMMx$b{q)W*l?Ep~Zrc+zJFVzNU)0W|^YxBVYj zIL+y}`rE2P@2Y@_FpV3548O?K+hO%p0JLB8fqdu4^$mjbSI0XepUQ|wyot30XBH1J zOTD>dF#gr=2JE0JB-;Rb&V1zSv|`W0f!U4YV!#RZn{U@6Sa z)U@3qhtU!7DOw9r9KxV~$kIDE&sKVpDVR$r?PF~Z^%O88?QfXWK_s(+810R`h}eEd zltuaWctCUlOukmVjjGt>@tM?ejsM>F5vR&cx`W<*0t`Q71fE@=ML5|BbrWB+G>xCM$TX(W8Hp4QEFchJ%( z=wcYLB(f}bp1jG~pi}KjPEh^wYi=I=5k75H*3GOOr^0utDu=x!hLUK~yy( zRMd79ACy#C*uHcDs-1^z0=uJ7T@hRpngCv^&9Sr@xRHkR`q1Whg(7d=Qjli0ENy@D zzU?DK?K%ro9oJlXPv>@i>UAB8qPxF5f3J?`!*?WiNa+0&E8$ffvGxe$eZEPXkwHa+3BfW<#@Un% z@>7{>^s+px{?1%mDinjJWh1h7=1NDId(_<{fq_pOBZh|~Icx2Xjc!7x#q1ZDg;Er^ zOBCcHi&1K7ZV;BEAAX%|widw{NVuF&(E{>4zlcskHXbuas3^yAHvyYYTW7^RIrfp<(s7buNth71orc5wznJwVbh=*Y9IC zg{@YMnk#dI+9jd23!9D5ALk(8fG{pwecWf`PaGzj6DfMINbaaxe(S@z#XYl!^?CV+ z?87$lXJ#2)ndi>u7iz^WYb03VfT_&b1NB}mG@nJS1ogwz?C<7uC!d&qz2||RI&)q=KYB@*qc!w&8t?4 zJ!h{SHDxVifY#QO41q1W4Czmf#`C}l5>PwpF}d#IogB2q9%Sn`pVdp&^*FwR^j(O< z<1`kQa)nB2?fm|r>%9CrO&iQWo4!UP-hV}jNn zgCJ(DSwoG6NRhfl-~^4%QGZ5bG_a%d)z`gb89Flo``uxCn=Zp_jSjkK$-P78QB8N; z%dC0gk+Mw}k0=~oz81zv!O5V0izE=jCXb6aOksU4ZLe#hwn0i)UaoVUEl#hLYEWjY zRaLV?^Ja1lBND9q3L*g-k@ZmSV7GpAuHPLd9GKe39;Y5s38P}L8#TmE7VGmE^`ElG zEma1s!c##i9D=uVg+92|KF2K}eVFas;t-ROQVnVx#idS6;7zvNH4ANdyOkoC;P`pzU79lOnyXS;uY2k5xC=tq*IDgu;cJO;k z)sY2FmKWy*HggvkwH@QGr7gEDA_-DXC=+{k$j@QrZ%oifmVILzK*$7j>gVRcnMC{* z@9OZ$;gX$IQ(<9skKp^oJFAx#erR=fWPF;XTusP!Smx(^bR7#iVQ*N!Sy#+lH$eFH z$K>)F_DO~P=k~hkp6&k055fnGXCLW|a`RtA#9$i2{J+Y=r2za23x!~+dtV^Kb42GE z!$FHo?;bxKLCOr%OZ~qZ}+S8hwq&z||jNzq&hQeCpqC zFSa<%_EeyJ0hocO$=f=or$}Db7b}174qN=#^6k_DBkuHHEgMfsj4f#V=r+6Wpz!=fvyLcEQvdsl&@E#|(97O}AI*%y?CVfw%2lZ%cnL7{ zSl@w5F;*{?e0+>$5=ugN{R<-=%H|R7G@4A3T-4?9I{Y|PpR+5FpR>O&=m-^){rLpx zyIP0Nk1xV}^EpR!z>nYU#{sSz4p^v^z}eXdF06r1sjj~nN>4ggshd~^MSm~(gs;my z#qQ^!0ReI!fqpFrn#ZN9SD%u^0yVOWaH^L$0$uY6{!y9|OaPpFxRo|cVDJs?O-`b} z`UbRDiDl|-M2}{CdLMH76v}aU3EG@5oWs;^$hWl_fmB$}R!JjPQ_xFfNNbClq79DQPI7=?Mfweaq6z%jNq9dkzBu zvlcw*j8Lq`=<6%7_wTrNZs^AT+xmch+$V8#h){%1*X3lnc^Y_}^4Rz)TR?g;mYR&; zgqmO@p#CNtwEg-$D~jBm!U%c0U12ErGcxHAqp z4hU8k7xc<6qK=n0Me+pAAp|g2Stu;?2&R8y(OqIKmR|cN$oEz(}u3vCo9-L|I5CD_1(y0>6CaTs9w;)`88CADTAvKx4b({~9m2u)ua3cJOLPoDDF zBX5NO>mGS()I6MQ|8@feiJ_P;scMFPESSoC=o?Nr2Iemm{7w-J4l3Vi=jNX)#CTk) zhr;IzF|h<~5(6FN2d+!>?3SW{fvF$ce$=+$!jhWrf3WdD=XDBv1hx?kOe2SN)t6@Q z>OAl^Q!M}7+go50Hx+mMmRCAh4UvAn{uC{|n}o3Hv|0I=f=1@+PS+EbSi??-FqPDf z{$!=UV4=~?CGLN7+-m5H2CKE60Pe}R)P!2c)$dDSi8Z*u4Gj(2-vwN|fQk1xaOTu{ z7L6{mT9N5wK%HsW7a~Nz*sj=M>%$gCIju5E#^?IjpTU;5PQD%r#BG0rC`dB%m#|ThH!^$QUAOY2qR9gc;)|hO!j6@HC`}_@`M@Td@Nes1< zuTYu%8&D^lGT-z8j-#pF)aa!bV$;&LFljst_?!Ulo1w}=@2Mthf%}Hlkk7^&v|8%! zC#4Y|N&_x17s)_CotlmA_7tSpUsxPG+>vUpK17uPa0_?@L`EQnZRn1*5SrGBPHEV) zIV*=FZqOTm(V>mvq!Qzxp4NWI)juG*-icUn1oJL()7}ytZ@1Y6aVeckAs6C2zRAz)xU0vgZXBU0<;+*D zrXmszHK~{I%=sOp-*yhZdtp=jLS@5pc!L|Q&6S}W6J$KZiQIZ$frhp7@1<)~R9a8# zY$7&`Cld}FeAYPU38`8}^!%^1yBT!SkHs8s*bOy)zlwX!(ibonK+&tL#L|C^X!c)p z=?2zo1o#6$o@jc?WtmI}S_@=PN9x3Zb-Jg{A2^tieejs9mLtc-^AZ;?rYoFzeWi9K zEI%Ep_%FV~lvYx^QDW^aHFD-OkD2L_+wb*^&uj3UQaz@3@NhH*BzSlAOt1#RyK(ai z6Z4bAH_scWy@}P{L6oUZFLZ`O-YR3xS4t-(MSlpes#I_}cfBrNw?sgs9-2909;U3q zcS;SfZ}Zc&W_QuDk+*Bm-=9oMgV|Sow>_r8-|T;*2v#cnK|1)egW#M%#dkU&jly2c zUqJE8s@E^;$n@8kAyFZEWdjwKkUF_9*s;wT|JP{p0_Q863(03A#ss{&qtdn$*fIj^CxN}{ za~I(9g$Zp)* zA+Wu`n1}gR^I3Q z#uX$i7(V=1_+00UBVo*1mdK?44Q_VOv@v^Eab4b_H###SFZNL~$4s?z%w9Qeik>Zs zQkJV{EMWASLtHg<4gF*~3$EUp;-1Uz&zJ5=I+5A>{Jy(~i7=2hE; zRJRs}k?m)y_#$lhbEcRqbc(l?Rl3{S4Lq(I%R?SK>(3u*Gl6bjGYqoid zVDwB~H%8J+NZe{`M{Qkx>A9;cAFVQ-@LVF;VN|afq*dv!G-?>^&G{3UHh#+)y8Z9i zMZVb3`Va90t36-F*Hfkvg2He&NOxxZL86A^$QQd84PCH`^&2m~QP{W&Hvp^Gt!Ic% zNP11SYwdbISq37tmjB6rcxvy|@fVdvIE#<-e|DN{u3iIJ}D z;f4@KMJwDjUCHi_=PpOdL`2O#%9tBD41Ew45Xif~j82qhzqE#k17|Bl(w zM;R1`OH9Mmy@amJL;Nlc9I29ae|oovo9QyL*HEpf0ff-;3q4Q_j42U0YDf3@eav;m zo32ll6ZemqY|EhbDB?Wx z$_dr=>we`O2}k#Hao?l|4HLV#JX(Gg!M%K^=E-;%bkup;>Bk63ou`rQf>>;}%8iYh zfGfXm4gv|A%wdk2uBHFx{k}O$(O{%dA@Cp|%BxaT!~wSMh7cYfyizlQ{Q)nza+_Uu z1o=Mw!DENrBx}b+z#f$Ccmm3gqxvE|Wq+_A+4xFrw4&m8yfJxstt z#wi?LEWzp`=v*ljH`U@F>)RytSIn#!?pkGMQ8WFX^Glh$b0|HS5A4?QDV#Oqcpp)N zIBKCd>jOJ!RtXxJjw*PHy~WpzK?}HIJ&5ram96q-@g9Aj*zH{(B#t z&qJz;gF2njqa2?YCPfO@2$R>fP3*1abRMskH^N4aKsSR;3_pU$4zlTwz|6jKHG<&g zplM!VNdw1KgTi)s)NkicBU~Gic(F~j>H|^8SMI_cb)?(XB`=F4oZg!nUMs|^KI5w6 z|NH07hb^hs4U3^p(ro}yANsmS*nC@#?^P?E4KPzY`~10&zdmGE*r{~jsMk6W>KJ3N zdW`q-v}wUk&Q^-=PCuvfNlmDMN}Sl~bwJ=VLh9tWgjE$%1BXUQUEW0aN)Y}SATG3= z0!X(U^w$x0djX49>azv|27oEwrMuoJjm2*Yj{Vu>QC#2+YhZG>5&g|^?ut{#Wh9F< z?pXG-G_)p;a9#J#82xPZReO;H1Ve^4419fk30%tJ8lR!BPU$9W`jpQ?Epv!$nUo#s zC&rOwC7o-?QuV;CVAyF#O^|a@=F9gW7QxNIGIlW+9k5J_emi!?XXf{f@mHc$Ynyl( zX3R^CW76#5QI)^MUi|&-;N(-n-CCaiJd6sH5Qt)no3@&3{j4gr#SMN0wOF2#&&3^k zO@CgGAe+P%VLcaRp)L<|TwW=dPK?-182M8LnO6OGv+MM%rfg0rSoGs$?7(LUWo4!J zEcunREY!vrPhLe8y$ap}n@ih;6E^m{Q;CbouF)<-t7qqY~l$%a9?*cMb7`5XO$kpiil3KYVqnO#!NO zcyxE^nD&f--8Sd3ZT**?{cERY8n4DG>mQagON)+L^E0*9QR1x`I71RX|J}d)my_XRgq+Eb^oDtmL)i67qMOL4cjGWS3m+Q!MVXMqJdEzI`dg-A1Wy z5NBGy>h~Z|P1?n0DVAC8naQ;HQnhtt_S1jQ++|yA#UMH#fLxHP6;^y6v0^~SUnM+K ztrXZW1Y>+wQhY}sTJ4l4wA7QB+N-`=R8A)5ys8+8r6cMrX$W&_KAjt`geUBlc;~J{ zZuMlKxJvD zCf=>_dt(x>NZbXq7gG5Pl?p3~4hfwx+xRWcaUs{b0|37N_eX9$Vg2}Pckw(8uLbeB zGmZ?${dbKV1AU3lacME2!up-iFjfbyl1 z#0RsjdHdns#w11FUJLII@$>J1EyS6ug6A2)ZLu{}aQeB|YK<%q5kDts^eLXj9)P@BSbA(J`Q2Dc|V?3Ayp+f&>LR467|0__M!?|9wfHn*!M;`#{^y z(EcxvzU~u`$|Eh0SH;(Gtx7VJpP>cMX$I^lxUBg&hjgM9?ax|_B<8BSu3X)OvwTPJ z!1-pFVRyVn%#9|Yi}0OlT($;fLVKl<{!?|&o7kV@qqh9VvDLjkr0t$bB^2aeJWXi% zX&l5pmG8S+T$zhyauF0Z4?qBY7Mnwu)#8tW!>jiT5P=t+e`I!jJq>Bb}R!te76yx%Iigoe?@b29%?3qrOXNGl}F!Q`CmMY&6bZAhCL z!%RnQ^8rg8ILIG6c`S)r!|Fewf>M<`-2)Dn?`ox3SxyYDd|1AKzWMA&56W#C#^7Y~ z1|FqnvBj9YZ*Q{&FtvL%3IJHYT&#Ja_ekb_*!e@q_JOEsPT7~L+bJpu9q&2wgtkQ^ zkXd0Da#UK;^BEz}9XjsdgYNDn*;{8 z>z(9L_PWO+1Pr9vV2`^2`{epEQV4#azfbf7mk*WtgP_?bKb6oQG- zi}p9AxO%JaWmiwW9@cNtWCIUh4Sp8%;SkVxiXp1>`5^bt4q zXTAQwoa9-Txzo_V+8LrN;u~>|5&VLo1k+RxB+tS0S-qQG&D@@v1r2ezTNhU`o~;IY zzF#e-K$jZ+6J-q30S*%i1sdyj-1K4JK-7PFKhJ-ZE+4pfywu-lOZ%X@Aj&Hrlxbhw zt@B^(2<#~^%G2BQ6NGfa`R2x_9mE@QzE-MJ#@^sOp!Xk%4xB+HyQLOGjVETuc$CZw zaW=W+PfB$nnXlnIov0Z+N<1}y9ZrY z(l?T&>*o`qFYn2OzYW1QrU$Q3?@!UhUzwrSap%+r zSN_a-Nv&JkWH(+cWExq1>R zuXFt=v%})#hm{Q#kYLE#ewzxN@a{xc<*V$h_YsYm@QDi3GNGWKFD|E8z3=*@*6O}< zu7qeT1+@u5u~EviZg=fZw3cs@Q9qd|l8+vKZQ?4V4}oIu-Z9Y%zR`@X$NG+z)Kqt0 zMGe*c@7ml3Xc}2O=gv^fx(w%Mo<03l-5pVyD36l-D?MHXa z^EF`{wQqQpUe;xF5+20Zw<7p1r6su3GED-ofl9HyxLIqPf7K< zx+)R3l7Y_qJK&+nngHWp1LrF&cLfV|Xivzn#WL2MUb5ojcIs1`E${QVCTBMvOBX zv7fSLd4jzs1HJvGo9L|C%hI)4anf&GY6u{|Q|nSMcbXldpi#|vg5%q^oH0}jrbB{; zWMB={6w+T`g5jA29Bm0@ zQp!wR=Wuk~=V_+Hw%(mT&axg?eZI8`{su9x7@Y5KzH8?=z`p< zN0l7YJd4Qho#_@vVp-f}a89$sLpxkzZIwQm>B`H?N$ zLVmnp_|eu~Ap~tO%9O93PWBc>z5xgG`qZ{B?d_9iPyzgkSDs9cArsIG4}XfhN+|Qm z6ZXCbqju=lUBz9DoJiC8Bk{jk0Ov3%vq~eF>OG4lh~*Y(zvb`X9QXMKwFOzXmIz(A zrM6;NVwq(c2}PL8XOGSJ$OSU?ONT6Vo-JMrQu}V*aAnXLN~{&98bcpVUL|^oRepUo z%uctDXZusu+jwR^yMAn0aRck&J-Dw6CDZaQ9b*IoeO-OnR|?Hw;|<9RZ;!1jaPzd> z|7GbCNm>4Z{j-bCvX{OY&iWys&7j9l>gL&PG|?f}_4j#~Z>h8EMhh+L+PRiW%@S-? zeiKkFb6fJ$Npfq(iJaX7z2~i<6u*`6{waT~gmu6+cYlgXSsx^KhvS31AhTU6M|u_R zX0?gEh@KwwgHT(Zxx=h63vm+yVOtzq2K+PKZrcfNP%+k_CrRulHP%;(pfsfGq9GS4 zpk~oeDoEa@(1BZtE_B>!HH!_vPhm0;`O`J&$K1XLA&|4bL1s$HAVs;<&;(E-si@Ws z#hlTL$C*7HI-q6ldPuIZyV6)BpyL9Od)O+bEkYpXgzDD$&L%lu#+8#{=Z(L6_{z?& zOhV3GOP^FWb6jeO&q*c*ChcbjJ)Nqeaksl%I|n`jkMxVMhgF*H9k3kT=lwa@j21N( zmKZSI=l;r;^{oH8%AhC)RIM?5#;f?Mv^aE#eYB%A<>Kd{&cb^wH#_+1n+w<;GT#C3 za_)%l>;AbSVb)k)qMQM=bbix*mWh1NbO0866D5bJ?qM^z)Cpm0+ViS6C%}*E#*>WVyRLdnjN?6Tgr&8|Ah4+BxJ9a)U!QXOLNlrd)HvBR+aV! zO^v8)bzl8-?N56X*rwF*H-{^7Prk7^?C9P5nwthg?W{{XHcDl$O5rr-J?zF~n<48k z^E<`49S-En`>(`cr%BoimLgvdU=Q0fD>E=qBZsir1yp1ycU>*%9(#%H_5JV1(|*1* z?Q9O%#YnBVUqHV&3?9x{)Y)c-(seQbp>k%Tyu+^%!)Fyenf9?Awkny%PD5PR!IxUi1b^8+_1JZnL$*voHzR&pjL@mrvIHuy|Plx>n+TFNksUFhSj6 z-0Veb*qQjkD`;xP@$LRBr8Ovmh-a-?vM#+_axsTg{btFIH}zceqAI>d#pEhMuv(Sr zAoBh7&Wk;4Vs1uU*JjDhGkIomPptPtES`WTpA7w~eqXKYI=#7ameqc7)A{zWgOA%7 zy0=X#z%VMGdec+E9Skn7*l!?^<${eeErLH`o?Jzl0p(+zT%OE~^m!>$ zn0v>CP@wEN?w*oit?cA`Q-56ZA$@fd7G`wsm~1LvIBS`!K^c=@4|jbI^O=6DRB$||AD ziZ(|ej4H2g;tGt?{7|bbU7XY27z(hewBo3>b~~qh$`^4C_4in2CGMiSJzRJ#4?@Qg1wV zz^XfB*EHKlY_by$s)lPFs>f|nR>_-jhO|T@Q182M6cLZ$0_Q6d#1&^j5 z5MM)`w-aw?cNrlZj1YSGpv|*`|M3A6Uwg3AR@virZz=xcEmnn!{=p*Br{$9)*)&*x zZ6`jrF=Cd!ur{7rWM?R4s)@A~$nP&A$K`P0VK4t0`?9-2wNcRNI_ob00CW-Z^0w}@ z`7ch25@bI}v` zd(w%i?tn5p;VLmIi9h>$bl2*g!l*9A3v%;^dM_&@0C)*)B0xtYe?*hzsfTS{WK9XD2^83?i{5)+kYlu;FlRJL(c4|>n z@>iPV{oK;aF?qGItM!a(%D)k?nZjH`9WRG&zYp2P9xARkO044DRO!oX4olJY^`}!5I#S&|L*S!zI5!aSwb1X3?`qTKd6jGAY*x z&t9^r5CXalh=oX|>dMT1WzK?64l_nS{zpF^deFW(6gOJIJ@Y6mS<@3z&=nx)?VUN_eC{PBt6OsEumbY9rd zn=7!9f1e$?1^ov54x0{TkUlXN4#zp1+g{>vvlwLv?VwI|66Z_a@$Vpdu%%%5u4@rA zM-%^7u>JmdbJ#-hbfE>{E_DH0TAJzWtc75y?VELvBVD+=_KNooN!*K-PweKy_W0IAui?`d#|4f#>9xZITEooRy0%s8 zUu8s_T72-CN*h`9e9`#@aqb`>k7$A$<>$_+F4XYSOxGgMKjT$rMi~>vVKJ8t{-%y~ z#)vzVj^g_tJGyq?EhDFtI^A=+f6M{xKjHkocv-eIN24 z96aiHP)VnZ*(^z<{(03lsLMY4La+m1Ucj2Zr0#!Km9$g6@n+|;D#g@ zLV|0&ybdajj+}EP<#@%)Qx8Ty4nE4jB)vD|8YCG%*MdCe@cRk3pwq|D(UZo(MrFCSY|8;myHP>IW#lrf zLUIlDU1x+~lJ)4fizKOrRm}VJUeJwp>4EH66RvleMZ3(9%%>TEswpOpIm46*n6Ay5 zP&g^S@U3Q@gO1$4{9o%XyX^xnWz(TBAOpIUHxy$pNXzRu{+u2x-nZ_CxFM~es{ZXi zY>8lNp&yh!M|Q|Z=+qQ9f-yH?F_1vOdqaWXz$Yr+&fN}3T%(j%tO_aJHJbq^_nGFhl-y2^O@W+T9OplY_f)@5glkJ*{y81L#CN3c z`oMp0o-y84EJx!s^yZ(d>VC90dig%fyvkDeUT zpb%s@x>fnI??iEN!oEyEVbTZ}v?X%bS(z@%|2KZ!kEsN9KIt%hn1Q=>JvK<@nG^Yx2KPW^wB2q|7Ig*8(?zl9bGJiws0 zOxi3TWRQK%d*ZbtNjm1C)U#hX^;;T6R!#T*eYN#>R^d-8Sg(we;dpKKZ!+2ig>nZKY{2%Jx`Ynq8jUHA)T0lTVN#d4~7r`@Np$UwAHmKrd%!hMC!U-S;`?KIhbN zVApXPZsz!HmGp}Bgi@dWnt~zgqq;5wz;;SfsS_O;aub&E$SW063W(4aH{cfUO~Q9` z=YVA<_CAdbH8-tiBp;YYyv=d7~-ET86Zb|i2j(#??qOJ2XtdySJCUJ~Ipf$a2`{Y-y}O1a7hpXO7<8kh40WJnn@( zi%-C(W9DA%GEmctVy|vZJE7cD49!y^KFTCtiPdLouo>j8cxp__@z8Di#u|#!(Ot{Y ztM48E#Ht}n`1qTMx~W}CDV=pl@3^`B9_v=hmC%G2#Gq_tzqHd$s$8$S+iLodyEacI z_uC2N=;u*N6FVqLX;fuCca>31!d1z7pN_-)hazBtKnTQGXzgOg3Vw>7YR(#nJH((a zc$E(Wqr{uH4$9l)+KL^V^x0t)XtaY)er;N(*p<8fb}M$y3N6pA;!qLB*o+izE1U)L&^>z13ilS!??5K? zl^t?_knr9{)+J-R7j;6B$%~~!p;gJ_BNflLS5*4ezk4;kaPf(QxU4fV07eMS3Fq#? zJ5Q|oX@@Mq;)I4PYD%=2<0PA{2XDqypm-5zNUb%95J$&;W}e~rm$8^oY|u62t`XU*RL*hnCqb#0H#eOO&M(2U?_&6TIoxijt<%U1vYP7U8(r^1 zhz(*>lH#%OixKl={0l7D@yBhG9^WrrD2|fe>OPk6K@{gIH+U4#RV5G>Vt80~7(ITI zKTYdU0v4o~=03wQB8d#b{HQPnY36;CbtpDr+!yG3@b@0NjC|U&3xd`nFvEoZ?z9G` z56(<6Yt&`l&cENs1}4|H7a2KJ4E9@wZdCh`&pbF5E$kC{Ng?r8LozbOO0k=s_7iUb zk8w!)P|Wo<uP_mwVnQy3v(1}Seu zN_K6_A?3hH#qkw%(8ptjhGB0B$-(xC03eL<_TZOsWF`yx>C? z#1c%2#d9hcz{ThmkHGpq^FHa-V{%57Wg4_@++n>}{G-G4q*}y=M{~J$b<~8DZc-_eL2@@IV?gku&)ZY_=WF?e}i4Np*b9=vn^;@9i0JODxcD1^H&| zGOn%oY-uNs`7K%7!L;r$n-D@GntIm)vlfJTSrj8C^Se}ABGM_CseVolvSMWQqYk$M zv1H(%gq^4CEv?Jpj?3^TpS2ump%+`_o#>q3Jg5ZN;ePw>xM!SnIJzH)ujMZ;#ZQFC z)7%$qxa%W;6krE3mITrT^Ah%khV@JSJqyjgk9fC!B0xkyZ8?rjVRW^p@#VzA8bg&U zzF!d}ZO~tpF!A82o>Pg95qgMMyQa^Bq~qs@pI?2)<4#g$$CYhDARN#Am&)2V*O@Rn z^X-y5I>97VJH|lTFh#~4I`qa8ajiu7UxD{@lMF+=F^@ey!qSHAgTu%%%o(lFEh@~8 ziaxJVA6mB~+h7xFss;Q6B#n8+4=FK5K7p`^pwuF}GA3q^9(oPh^(EbVt6pry-?E*qv1b&ND=+MyCD`JHKI1#r`D&$g2fnP^YVD*Fp(LsB6i*7{tFg*}!FOx!-xu}jWNSs_Uh(&FB*yCuPA(sLyX+Zy zkXU9*@`9qi-w|9DsyvtUXoQ%mgm&17na{oVTD!4B^_M*bo>dhmTt3oyJ=p-Bnu`hK z_#Y+WqUlPuwQLf0BRs9dNB!50YWfgqoP4seOnGT&_~t6tQ}cVBtXSzNmV`msize66 z9&TZ!`1ZhY+$hA0F71822bZzL&nn*)=sr?Ed|_?-C%{1dbx{M*mRFU;{VJU`KdW7W z26-*ix?&g?QR)}vq5Rj1PVG#aVXHAHa607F6uP;LzMR0roZcV zfvWt!x6q~Mwihf{2YHhffLvL2^V2%yyR8W0{i1t{0zKMwlxX1 z=_S~$*A>Z2+ecbz-pxuTOOzi-nQoP@1eq*39*WX627Q5Hp91$KJ4i6h(M!-nEsgq3 zMQw8Kmun41Lbo96kXD_g$0bbM1OW&x@c@DBVI=qmvK@B4(OBNBQ!_6qcgvmX{wyuN ziB-!EPFgfQTKp5btL~Hp_n@%6)`A;hiCmM{Wox=reS9fI9E7t{Z5=K|8pu4?eQpXi zSQHu9+|{$2fStRMQ^c40%1tsoqs;cfmzL{_+z)fkR%?bnuW!tX@=mYv5^ZB2x z9k_k_2bTI_be=H|bQ8I_<}D3J)kPHiAYZ>}*~G_4TGh)fLr+a!8K1Fp{vRBsktRMU zkn(i>;K7E^;+2EP`J0AHT%Y(nDoh;Lr?V3Oc4zt5&cB)@ z+5!FEI8dhFz0SFf9zQ^9{d)uDL>j%J>JG1eJ^92vX=qkLQT7OSK;O*cx8!%A^(Ta) z3eAf$HsVBfpDH#e;ri36hKB~LcgBsVhvw4HTd`zg@rW$5by2t8(qD>3aI}$sq0Wz>eN)Eh? zsZ^IlAW)LSUTRb$R|s1>uNz#fslAhn@_eI`4T7}UFeM1s3PsLl6+m`lo&PW_bLraK zMCl7M}kbwj%! zIsCPEx}j57JDKTRzrrc#`-^2gqoN}bot6K4I*+X{r)GNop3spKD1VvxgLC&0b&0cX zxXG5r7*2dR2*LFwz>*}Gqj}j=`m!7>o>ZoBfL~~^4N{?4lYemPD8Dx}p^tTJK#K!> zWk&I`#=9ZLp8u4Lz@Rd{>kF!L0AApln%rN5ED`2 zRwFre0!K63^jc4pLA4~%T!)K$`XNn&bc+}K&Z(!f-2uNh^yrkS6^fP5@?hLBmSzWO z0Q{!i#BxJlijphU>{^Fk?5<~lm4iiLRQ(@Hn49<6KjlO^wOk3jYg|1DOLB#;Gt77% zYFS`vMm2kH3h9X`6he{TCcFE|@Ut+!CK083(sBVpJAo)p>9dkS<-6?H<4+8u2-Up1 z9jOvp|59J#6C<<^g%q;A*ZE1X?;Lk2_p|C0Y-U(4-$xEmTygg{g`5LQo@QyV1HS{G zG1k&X!TC!BBu^T5oKo#Mk`pC#-oK{e)>7Np311XP^n;?o?=kfG*bB%Fts3O>UZ=#< zFqGAUb@+fdYnJ<>p9gusvSZ-LCs10=Bn&Wcn_;(fsfyQcey>{ShyD0i0w~$It+ToL zedq7|!YR8B4@iaK!K^F~g)a5i-x%_Ppf2IVIp04k#udyg^2w>N0E)v`@5d|eUTw?2 zz5ca8gb$)rH+Mcvaiu`T^!3ZvP0bj}t0x9~Wxhm4ooR@BFof?RtKFx^tx;{gKslJ5 zN#u=7i2bsyLw%fKEcWO4AyjNIkoEHt`T2C{EggCaa^9tv9LaEYQUcz8 zw>sdRW3!tSdeeM#q>G8;yWHgxz6}n8+R7$k)r@3?W+d~!jeo-r%?hz^u(@B+ao48N zzD~ouD@KEcTT}g={nOEYD~5zrm1YhZG#g;T!p+k}RHW?P5>9L$CEa+Zm^fj%MNLfUG_IAY_ zOZn|)e8~V>Uu>AHEn>@w?#H{X2v(0_i^4}_ToQf??j=tN(kGzPadt-X*r;M)A zNp;4K!BHrtmG!;${QzoBDyKjgO62jWV{z<@c?avxfdQ-wEj_tdfm`sLTD<4;3y2=N(~JH_6R3XsT5)7m0@0&W7cVz_ycW0k zZMyyI)Y}T2E|2#K?yB<(5~+NTIR1lw2obS$lrrhVe)iBH&v^AbJ2B&a&b!7kzXXkS zEJen?#l8+zWP^5#e9JDCDPS zFGs2w?kuZ}M(nqrX}t$Nt!eb2i`xil5ke$c243X&KqSb}y$EBHq4uE~AqFT5NZy(;W6;C3ca!o#Th- z(+|(0fX*j4vlq{SdE#4u0&q2t>$%mSiIg&*8mso_xSN}!a<~-NuP1n9d&}EJRZY%F zZM11awM5WEl{r4x?PwlPMpOkWaAq5vS27t}B7k}>_m2#d#M)ULq9gG`kqm@D7@j5G zSB<>eSUG!+2<$IDqogAQ2y}wkPGfx^s9}h)PYAatun9%BSp42M%~Ea1|EWysT0s2u zT0k-qk_z)HH2E0Ps~VwyGe;aj?B?8^#Tj-M%06n~$x!?9nd>wD>&2@aX$qStxKHyN zM@p5HMC(|QDVfI!odfc@C`wUv^pNNNA)NS(Ai^xd&_9-=A4P%1C;rlhwu23eO+)NWry-^; zpw&UZMk-*2`&hFl40K_H?&e60Y}{;2i`AEvEoXe zLT5{n!(>-NLF}`k%~og##$)~3!~kBvLQd;y|m&F5@|yk>WGMqv$K@GIn^64JbueE6s8VJReNt{ z*B$FWQ04!vXB%8>$#28g22VTW_R=oV;W~I-IkZ+aAsBNU{D`Hky0>iJEPQT(S8w^O z`WAL5sg36N8rh@G9xWP%Jbfe+itRBVR`{&kk(jYApH!XH58+>9_ycN-D6ZZ;B4{pU zIt<0$B=#oeHHB4fxxOFQ%b{Hl!v54n+)OfAm1om=52JcS6tvI_4dAID)-R+hO|SSt z2=H$5W{^XONYlPtpDYRZMC!dSNPKBVUHY1@c{GYsU{{OKC|CznHkn0V)ZzO&{Mfli zfWwADLd7q&XrBY&c(KFCXbk`)O1oH_>2JK}xGW}MVVQg-xdE-Ne{`gLDiE3bNKmW6 z&VpB?h5Oxp9Hl$~O_%hczO4jH8qYcj&O%Wa1fuWjI^lB&YT;YMR_ToeStlvy&ekUa zd7Ku)hhf2;N8R#i+@}zZocE+y$5$P6>hH7OgOCjMPFXp!l%xw?lA? zm)Ekau3xVhsl#134P!T08DwW+A0I=42S1C?e_6I>u_VV{2vcGyu^xg2@nPQeQfUhY zF(I$l=3XJa(UY5&v4qF(YlDRMzfYgj7s&7C(1|O@T72?+^*##^ASWF8WH7Ik^MgYp=L<~! zODO*Msbx9U&w5F3{=h$h%g5D6$6DSCGq(vobB1wSOO))hzy6N*`VJk2Bl44kyoTc~ zvXO{yxm_X>GCYD>j6wiy)Fvz+Z)U05nLa!|rg|8HH!hD)Ey2WxmX-7=4wEv<@gl`p z@Pvh!ZwcPvWVUJh|LX?Zvbe3wSHzTy^*az0d+i;>0`C`w>x(i)?3F(Q5 zrY#)LR}1c#&oHTZ5DDXU8*w;Q>A%mquJ-mH>_ZxBg=1l-kWR=YoFZcuug+(GeboRE zWqa1$Gp1hdsZ|nf7w!UYoVn{|w0{d1B7az>LK2iAGZ3@{Us_%Y!dYa|YMtxx*kri$ z%wN|e1OeqpjU@T*Bt#n3b=xAlMVs~EcOnmhN>3d#$myYUAzH%_97pfKWzfX!-C-E2 zzfriqu3Oe;By_`cfG4Qw(-XE;GQr!oZ}czh_GoivpAUkX#qj%HHDV4#uAjQ&~#jz*5v!^0f&q%b}1!Ro3Fm)+@!kl1j= z&y}Sca%W=N@%5w%IlD@y0=M*VyKY*-FKV(c#^YGQg`wZUqM3L0s~d%Osf%O`it}R< z#AhA^$zPJ!V|yT8zvnVlSkdroVq6zSZ6#U1_RcHy@9m}lEoBySWI3StN5FUQtUeWB z3cm>lL_Y3NN1}wl6``EPb}FMnk11zvU3d~}3WU7~)<19H-i32epAXgKTdH5Lj@4}5 zL0Hb)4#K?ZRC?8jOLLq}8=t}k_%dM%2LZfWl3e3I%8|BKp2mJx#l-H*S!M`XqDM6! zO#VARaKHoiD_@fPx*;)2K@l--UJ@ph_o&xND2=>)to3H}t(>_TTaHfE#7`GpF7gRa z4K{cx!~Nv~=vQ*EURDL)p{iQCl7@nA0+s(tgwBcfS|{8mcXuhT7|)T*Zqu;OUuzUG zrT|@hIgpe!9GP3Ye}Bxo)Mfm9>g`?dHVaASiYdcZ?w%v8wco?qF}d5+Ct4QV>d&@k z@;24?ie1_<2?BgFmQJ7t5#zmKu65RJP0R30W|oPERum^4=(1YDh?hIR2C2a^iHybS zbqTD8K|z7(j4#0qTPHUQch~tSRWwnPwbQ-zD~1v~)E}aZb;7cq$EKUvQ7L1KAf`b3 zmm7C#9)=`*sTx^?jp^5u-LtgrC?vNh)TS_+GP;Uz-KR@I#_=k%5O}Jax$r!fJ0!-C zS&^!VYW@LRbDapaXZ(B_is16oojUN0+*&tPiC^HMCUg^C`@Fd82YIYYbwG8TWw(OC zMv?92x_+ac&^(_*6!MSu3kG3uHe^UtD{~mq#Oo}^hIw=ZgFseDI^F> zEtvQ;@(8cuKH^_Jj=Hv6#pzMlT1S;)2fFTgX9>BPeC}`l-_~qSW;ni7xJ9^@z?_uf#X}=3G16s zzhIN|yn;Id+S$RK`h{6sg8u(FzW-ZQI&D_gBS?_ZeiDk|Vlg7#xQAcb3eV`_=bIzP zkqCmLpt_r^B!Pc!ZuwmO5q>O{AJkE%x(`7`?{{93F<~Wf0T8NB4Md^eG|! z*E01r@%XM@zNj7Zw>=kus+&(Lnq8md@hij6a^G zkaD@|4qCL#k`#686W#{6LxG9@;8ZLQ}&h-{7ni`|m&j)y&S2 z(u!O>qQv1luVgj~1Lttu^>171u^$3{AyL6P%~=PLXUf+dF*pbDUl*_&`#wUR)7NP? zW$=E?m6nJL@ym{>CSyyp%xm}m(rRbbU+cPLS343upy@_uy);%rrHMf4|a_ zwtw;Px$g2)k7z@cF{x8!!9&JM&P;24=X8?SPT^nr8wAcp% zW>^hff&{L|cyGcZuA5yeg??mA5D$r#?Td!ZsD~=+;L9xcmb)p8%qqP#(eo%6EFE_U zNUnBXhS?s{o{KAJmutUTMh_92F+IAB6Tkn+X@H=u3Ouk8Y)>dF?dQU*aco*tlcGt6 zIp&=NGX^Y#u9WkrXtc?R=mJM3+A2& zOzE-4%=8&srqvp=>L*Z-Fjhp|L4jpC`TZbH6(_oT%%aPkyIv)8Lf4n!0cnuJXPO6` zVwVUe?Z-E?CI`rqIobHjk7&_CqRzuhrC)Jw);7sDDXfG^!o-;155I+V-Y7_dc(*d| zH7LY*G9)zs@rpsD3An^s>uZ|(3UGpb5Y&`dWy~a`oiy5aUl6sa6Y@_z_Ek|Y*v=@T z!p`6>90?ue&kW){NpaMK$`Lnyj+`mi9tFiqq;Onr6x;&(4HzY_^)Ydz|3ef!u<0;i zmg(jZ?d%xzT%L=MoR4ciK%f$907%?f?nDbs!t(EZvgIRMVH*aoF!Du+=MnlNu`C*W zi-?5nrpBFd!AK`DA+qVO(W1W%+l>jdQ>=`83Vt!{ruU0>I>&)bg;w&?0|DNB+FL3` zTr-lFh|eT1jOh9UXqOtes&qG@@L5)9^-W9cKWh}qdV2A{_7E;t0}<15#v{HG8Z&wE z@c*`d;0Vx}#~du|O2`RNno_Qmk7p!x?%m;3t0~XlN`I~YdY=EWw&F>JT?vHlnexL) zxFY-i#MoWiWf1G9mur?j#d(*1a1k1NQf;j*^)=Bb1fR_Rxe)g2i|*Q76#}*<)`=aH zFXIa1b0Uml!f~Yd*6w*kBwhtk3Cel%Xl21w50Wd0Qk{xf8Ht#n%>8s*pw2Yhb` z+g9N8TRP9QNfd0q4mkjD*2Y%QD)wR9sOwWf1 zVC~~#b)PUU0M-u?2GX1RPL!duNN|d?y6?+Pdujz9?(+porJR^joiw#ScmJkaPaJA{ zT-hg*j(WtZY{ebuP%RY%+yy<1*v9eO@6Rjbj0f0$Wx8a1(Jpam)jtds7I`pEhPz3! z68=CDCbR{2(&T#E;?q-p`-)qh0O+m*-$dfivz3Lm;X6--Z(qTWuHR;%AE;=5<8Fk@ zr31|i*VW%O%B4&db}c4uM+X*x-7gW_B&*r|HQFgyvpeu;60TbOtOnQFS(8fE*a-a= zlcVSau-3QZLcf~7I$A87{OQ;RsP06jq%S&b!t))*qt0$$)i4Gzw5M2 zl3Sm$Erwn_UA2C&YW2Orj9A@^$4EyL!&{(vl-1LQA8&FhDCUKFSg}(=Dq4!=-cXhPME9a?v)w-JfG84YgiVX zGjdV&k1(`w`Xf2&7JEi37y^yylS(}6Jj-)WvxX^cJO?GIAuLQMXP`wd+5+^hSPR91 z!uE$iAPfX$;98@m0AaX)2JFv&kTlJ?GBq(+yU`Q3W5yh(K*eR}{}4M+%@MEwX2UbT zE#%*wcoK%p=)a0pPxy2ETNs)-Qu(;!wK?!i_~z#r(@qVYbgR(Yr5lK{%b%i5Cld@c zrPBc3?GVjFEy@3#Tz;WfzVr*`54=)S;%IS2XtssfG;fOakDs}T!`-bR!q6w$j6+q} zjIMx|SuE*D?78@<(5Vmy)j2mHE zp#F+&;rkR)`k;YtAWQPeK=Ve{=@LHWk1m#XiFXBz6Qz<@zBPZV&J%bM^^&7*fp@PQ zyD4h=J4nj^k1!V0zf)p2(#DU`+VtbFHk(dmlW=6p`l2G@L%ugvNv z8qE^TYQ9@<4$j(Ms5Yw4D)pZ00dN8s4EVcOdLEYpc;e09zF7U%nEHLy1P{|-d#7x9QdMnzs;Q{O&~V83*I(rz z&c<(2e7*f_i><^M6`~E@LrSUKZ3}nl(;`^M#{rT*^{NiS` zNo^9-I~G%b7!UUw_w_bIWGd_lZ3XU?aeW6(`sNqXh2DH?yg`Teb~7F2w57-1V38Q2 zKh2sKJF|TKevSg`hC+r4Tnq}a(|`ZOu_k|*MA5aQxi`%KMqYb1m6u{1FZgS9)D^&z zF|Pbv*^gASCTc>V>2YGE;<5}=?c_t5()2Kw(Tf&f-u1Ap47_LmE~|GEH$KW)reLs+ zu#IdZdgD*jQa569nVW)Ac06vaCNO@h5U|tT-Rr;zCB#$TRWB|e9`wW$)~g?;Xq@H0&@VZ ze{A%r4P|Y_*opGF%`m5VxEX)i2Q^MVUxdN_$}2A#PQp(PGU0;tn>nsm_H}A$Z!mxV z{vG=mmBBJgv42=ck2jJLLa;Stc|c3% zY49Cy8UR##9Kzch+uiv^&9~6C(OP1$e^XZ9fIty3;r_0_>>TNO0Ud{ zHiuzd1M|bcFp%@W6a+EpcC@w?N|2zctQ1*5A|h?_i)sqqj%VFHTG)7&@SuZ`F2(@X ziT>+~$N{rj>lf;a8`yaR$2!Y#m@&A6>LPkle5}dq;(J#$k1Ex+8h5G7FC4p;)FvKR zh}14xf6_8ObcaU9KZZQBdn)|5q1wBKyINHz2dU<<8V3@4)uMLOk3;ph_1>IQ;@DF& zOC-U4f=K>(=N*Bqze^kI9JMCesDvX06OBW-$AN66jX!8PyrM%8`&I)@ z6H)0EYn>!NWVi!a6g@=hLzDcmJA7-Q4`0)3;x*4LS&{$o6UVth6yujTpDVd{vl?K| zyz?C|5%~OeRTU1~aGD3#G8*^aPOplWFa{|oaM9a@pIG~4!9qU0Isc|Mx>Q02%J9xU zO)}>$_PH?kJk4tKK8a^2*Dd7x3?WKm&1M=jt5R-XbN!zfu+L3=mC^RPyM6QE(uIm; zigl!@#C--7U=fHIJ9zWzGC}I3_r-Q8ml8iZW~@rxEAXK+HvY|UzI$Ysj&z!QmI z*p})>3=OaBh~*7pnN!9JC zH`!&*e0_)ztnm0XWK~E*FFJp z#0ByIYcnK!QT?!^Zt)Vata$!Ig=S0=dWmP)Gr*ZKV}EL{)aA0(f+8D@+VViam)v%I zqp=*6kYu^DaIHMxmhs=%^^5tbL0pz^Z;#F8;XfNf_SHdtB{8%Sn^Jd6uD2s274-3fTv{&zx>Quedf;M?NNdcIX3NIW}Z*|_E zYvVL95J%d+d7|5Q5jFd}1_fmOPR)Ugot(#Iu`C<0A0BIp zB>(aU$FhIGajV>0rHu!Z&(o3(RlA@cT^ct^PoSr4WQn$oNigvbz8kQX1cxT4`^IC) z_fOWVd<=P?SJy4BH8kcQYbSX$f)Y>xJ$A4HDZ8SNX>9ZhN8(n)-XxqWgU?ID-;`s$ z9MYJh1K@}f6E1%k%M%1jhj2&53Kk+8CdAw)ykB}M6A!COUO%kO==b0FMjJigoLoy@ zdETlr_j)dYlWUdc7W-;}lyS&?tFGifE>ipZwqmQ47(&u#w-Ij$m?4&=I1*9`I$c^J z1%XTD&-X()*1R`LE%6+ZZ^HTR96xoWT>a3)g5e-vP0!s%-^b{Dxp(`{a016#lZ(C% z8Svww=Fg{|Uh9eF*2LgBTNXiD1SDa|L)ZiFZ3nFK?ENJtDT$8&(- z|EMMJqW{0=?Dri8?^-{igkdX|X|}cnlRE za&rkgt9;Wrk2Em_ecYZLeKR5ic zdGEYih}V=o8?T;s|GQ4w)O7LJXrNpWt2}V2g~|I@Ql4_^*x8@&NNu+5=gYPZjPhPVOM5_6J-EZ=d>g5^YKB!caT8VlxDwuHO=k~}Nqx?4I zpmg%K4VQ`DF)I25f;sa3E90mInj;xW9sQsIEv}f8*DmhjX2oR7N`U@sPX^m&Q5+lc zLHV1@+&CA#-8;WQO|staZ7=}0c~IT3Q$2yj7< zQjfe#`7?`aRQx;W+lCLDg&lwYn_GF7Hl)YY8-x|w494o;3C1GKT#H|YJ%s+o(J+rN zWklQ(u9f3`mvB_F9QSlr>zNR!0|VcNbh(qcvsx|Wf>&Sy(*`&j`|DPj^^|`^@aIK) zg^=emO&!))#NI!+5zsquoTC{w_0zE870+*bmxa~%pROM)1rnXWn4KSxrKbznpD;l< zw#{l-{}D{u?z8`{IsBzU=xyrn4oGb6=~5u2o%}idG$T%gD+K8p;*a-S9R6_Hc{>Yu zVl~iiz$If*`fb&);K{)6PALofnzdw`-PDmo@eMd+(K)i+{)=M~kjpEL0kk+d#Q9fpn`oCTPj=Ml@ZmkM8c0PRTnp+Q3}V*|!v zw>7)B8^-!4hM}lQK4FS*URRGGAMNDHGi_sbVnV z4XlCIk`4{)7f2#8OPGABnC9voa1dS6zJu8C2Y+@nI$r_EGmv4 z_2H#2dEUt&1RRGSlm`76W>tQB$Mer;c&7k~W!MX!A7LgR#JjFnKnI~|*?IS_y;0!p z<@rTwg?ZAu&Cxae_ktGU%(aiiG%3~8k_D6WCl=jz?6<;^Sb^rF%a!YxM7%<;$=$a$ zljIJMxn(kCIW^Km^ma@MRu>ewer_qw*jBfpi_IjK~v>{0ylFDwmcVv}0-($t?oKWKU^V*k@B{rY~ zDScJEx4pl+lCCV?$@<G~}Jor6I>IL|x??hPQut!n)Vsoa|5nn6@vYxwXzKaN2ue zXVCnh0r0PpXV4O$=-m~*J7B**=XGr8{QkGu_HwPMvTfJZ?60F}%CsFeYeOn^N zrJgo_$15kMkeLO4q&R+gDkNf8J41$u3>P}#XHK~+6OfDD@?PH0^llIK9J&!rIM=qcXl2F%0 zyC2pCoE%|m5s04i{xE9=_Zz(eQ@LFaWG`O&7?_lSKZd$)Nu7Wd2&`Rac#&Yzeye(H zA%^1g5d{i@X`>wdIqkWjHgy3pf%%5|S)zBXAemX-XdBUqt3fAQHF_updwLWL1IJV5z6OSh)L2^rheh#p^BypWWo!QdFST%3$#n;4&mDE?`(aZM&xq z`$LI8%^Cxww4CONe&~J`@z^IoSEg`(kxHMQ&=#E-13CM+r*gST1k-2XGK#oQ!~FIbc!aq+7N5s_)-ouh&YAZU_B}l z=(yFu^@9ZD&VO4my*F!|@Z^`Aa60vp62&N@_*?xNsDdp>kT z3{C*Dy0U*$pB^=Uk+M|aLZYdRB_v(5&R>ONHqL@P6a1(i|xkS!~DrA&dD!G`)IC z-GAK=5OTkatOr28lZ#QZP0CK0M*&-H8NviO7B;@Eh(f(a0HPx!VM zy#sx59Q&&ui~)bG;W5%-ZgZ%^ROy7v2OVN@B#fPP`QXiBBs5&DlDeCM4+5Zo1u9Xm zFE>t#pQ0c1()GI2V~vkSP9(qknBcrJJ)D^3g)Te=pF;X?8yB{cD7u@{uLh9C@k6`L z)p?GvlfPS)eL{f-F{)PgBe{p@Wm_a8Mp4#Uu`h{}rXEL*&%WIrG`GzV7v`>dm@>fiOjWFd1w4k+PE`H~Mk| zviMNM0DtGu$$NDqbc`cbhP?vQA`|RThjrfqgL8}9j}%v%ir%0yr`=j8oW1Pu0(6ed z@mWAj%@31D?Y#X97#($6g3J6H%vwg4cStoiT$UC4(pfzxG3(|gy+<~sL6P+MhHYHc zVS^)TLt*UVn5Y3@gPEY{L9u$r!Wk0#4tlBI{HKfGKZ|Mp-V_Q>71RgSSh|T{ zfAG86;9Qm(jog2_m`B+Mf2yskFD*fp^y$x|TK`M!|Vna&Tg(|aj! zo%C~LGO_^!m-LCLM&M5YI{E5%3TGqOVKbE$$Kz+3(g%sgxZ}XF$a8(O84vl-G-xe|Jt`CfVwcs0jX`-gUOgdi$9H#oT5Ha@U>TY-O zOswp=!6OfFH2)#)=<-O*KLfX-29Q9Ny|G7*FA>NSqdQPIXu;UkvVUf?m7sOZV9NmN z?3<)yPY*e4V&~lx5c@TQns%v>^wOqdRT9vzjB)I6K)H4CYwhokD~-}`xB&Mi5m-+= zC(mT^x%5(=P3VX;Pt2PFI+(d~zJiKl3~WAz3%H7bf#O?E|AC#PGvpxs4kSuLXbUC_ znv%g_M<8*iR5yhjBK-m&3zdCT?F4KhbcY)pNRiy zzpJo_%wqkPZ7aKLh5mJA6bjP1tQSy>*lLI~U^AF8V{=>VW#4TIE7!sOrj|df2f6=x z%#Bw)`CZ0CAxYi($CW_kOyK;B#Z%KB_j&)ss=4~)d78=R44-741bsCv^;?*G*#gEqhX+pglCwS4pTHT=lj89A+A16MyDXK6)tLP| z_CqD1LrAH^%5B+goyMIB-f|44Knc`Nvrl#Kmx#fsyBkK>p@+(vX7w|ce?}!YeA)J- z&QOz@qvZn3&fVEIH?wX5v-(Khng!=Rfvr^Yn7w>}-}15wIVri7bLQfP9y)?-wbLji z!$DM>wD77RH%1i%yQ_@=gzK7~e(x>x-FHzhfzvG5orQAsEu@nb-LXDD^lQsyhmfj@ znN#m0M3{9)lbl+0&(s1bK$R&xsi|rdK|Gdvb1%M#YDt{X)1XPUocII#Q_lh&_)}wv zXm!~^Sc$?VC37};LN48FIX>m)yN=7E=8oMdmbPooVv=m|)*Iw)xxf*^AgQe79;`LM zlo&@Q9L3md0{bDw_UpBJ^DR-lJNq#3?*3~fz~T2mWRxe)eW3qOCn^PrPBJSV5pW3Xp_vLx8W6m1H_tZa+i!keOdF(i>_v_@m-r{2*D;RQ zaKi0p`wV&r`k^z&j|Vn4Ej)RA@rPeMDaOeOtb3@#S~N6&N-Ss zwL72F<)|h5Oq)z)sv!yJ&W+7SWO?1!;-jo{*OfRs#ws7goI}%z)ARsBq9i2wA~OIE zrKJku+B&Rd#0~zgovpl!YF+o-3U`gwt9Bes9+cg9KQEIq?Hq5r^ZE-?S#(VrcK}L4_eZ2hnhA8_DA zD=W&e(dWl%qV+)E3GXU!m4cHU_$E#7XRoHr>Qn8jEI0Mwm9A&G6uxKl(@#bM&C~Pnwhs!V>p3C=VDOrrA$tcH4j(C`DtGr zjn*(Ta{_INsI}++8tG}YyjvWPf_4Y zdQb?c9Thn^e0PbGT==XMyRZ&9QXWWj0V$U;Fw0o`>Z?2h00u4y%3ikOZ{5VmUhImj zTKLS4vIx!T7$X*vV1_GHGMO!7n$jxsqy8B@%9!N$)bfP0s zvA5YAHnmCVX?&c*oN0qDc{>_mgjn`jD`;0M=APn3`NRW#P#mw(aU}F*7U=yr&9@ba zDZQje(WYCJs>(68LbSb;N6$-(fR7xDNA$SJhjaqRd2O?{_8q-PP)5|pFEHpSWYv6F z@^XUh^pA@FH~cSg9KtvPo=bQddx%16{GQ<^ERZef1sx;rrFLDAhD11bF0X}5Y<^N@ z^ejG1p}fC15KKHH_1MZ6$*&!IKfY7s#`(dS>+Ks;dM$w;I)YoyB2)QIPjW(h@jwgg zTc+A3pLw2sXrAuni{9fiEuO-O}9Ky?(7Yg`zph(>)Di@}; zd`ZC@w8r@Elecy14n^jbA(|y#%3%(PYAbz z%n1?0d^bCBz1?yqXGVa`jk)(|D)OB2tU}d3QLNm!@pK%hsemxRdikF}YKE?s3F7=F zfVi^vxent^yt=Qhgtq$s1cpz1K9vHLh%JW4>M*fK2mTlfVmtusJm5SpE%wm^xGlc9 z!tfRY>Yvp#h7aBAsr8A*p>}Rbjiv+Ivi}cNZygrZ8+8qfMF|KgoM)I z2uL?54FgJd2#CZWA)s`F$Pm&XDUAq2_mIQXd5^#6eZTAZF8&*ab8cqNeeb>3UVE)B z%XYy+BTHA0es^uZcP^k-^fhYcuT$U*EOi(~Hz7Y=^qn7-8$B*k zFNb`kqtme*dY!M&5{Xxt{Ebe37LKPC>LL(D{!d!+P3gjW80LxRdl*hzAeoO61HNyU z8)*s83M_ z+oywjRF~#%EyW}p_b(OCU?(ftB^Bz4*O?VCA-K0W3lr5=U^Bf2Nk$MC&yD8D0E@}Y z-Xxan-b9v6O2yML37UPIAtt z_%FkyQ>T-YybL)Vs|GSF{cVNM#Laj#+Xkmwe}uL^fPu0D1Lpq0fei#`vxkxyX3Bti zy~+ogwu=BUJi*}OG!9)sBcVPjy2v7380I8me^#ZhOEbFLigla~sl zfJQqW!V%ALqh%vHb)|-Rfv76mMF;QyI{i2B`BmDovb6uEia#hZ(6>Fo7*HZEym;Ka%$*G=%Yf zu#4^{)K5wAo1|zzQRq|;VMEo=Ov!~}v(1vWwRdf}=e@SG01yU>QiEf$G5Ze<$ec7oL>?!#SD3#BW4fdV62bQ#z=ZTe4@=rWyE$wDc&A{EZ8L(VCZ0|cT zD|s=|hbhrPhL*(8@)iHn9ZD7uzO$`Bon;q)?`aO-6Nvc+9QP)mj)wmo&Kh?6Z{&Bk z3^BE0|AwDX=XG6yPf=?%@#XK4y0{a47MY?zy;zTr-o5jaA4V;h3;pvfj$g~2T(h6P zF#$@%a|bu0zOYQnFQXo;*~feUkrjT=Il?IH;G`^=WInP8f4(5{13%TYdH&=}kb&dH z2psa|`p<+~KdUC90T{2({=+m}q2qlz>fD1W+RXx8srilqg*Aip4TH}U-cMin?PxzgB$%mILKPhQ%3bpVdF*T7|ykWgX2cmwduSFLitK zSh@Y(ir?$}VOq4k+f9HZ!a4Kg+JhEuaFBtTPNQ^rKWSE+u$q&KqU!#fWBYCImBqiJ z#O=@qoOVl!_Jcx4mv%#RcHcbWt2se-(uQ{Bo( zGOoRN2GDuZbc~j38jaEVB56I~EZ<)6L(U?!Io0$1ItTpAAMYf^NhkrsK=d>~yLzn@ zur(>|jyyIxZ zQ0CQ!AT&9_%rf&t0E58ItvmLfZZ9PQg;bDF?EY)|DV+f=msR*f?T4t`H!&&zpZ07@ z%o0a3Fk8?!VQQb7%MM#5WlDSa48qO!c1r&fB8pJg`nCb)kJHaAoXx})-lBeCQ$vRH z4(U{Kdi=quzx5nGvQ0slS+WW&)?%L7N9%uF-3!TTs503iKlOH8- zlM&)>IDeY{r(Pn;Ujyu%(~{N1Vyo7-@4dYY2ryB!`~BP}=D0{Z zAW8OM_B2zzIxG=%638cShAT$LGFT{nnBd=c8jUEwWn0PC|fs)bN%{| z>YeK%zcsZCXjY~LO5pPZy-d9P1`b_0q_u36qMC-^-iD;t9s? zbYWX7XaX7wIU*{HW5IfF{L;#_IF6fYe`+4E9JpLUS50#BTmy1xW!C)4DggBeTckoM z%OmaB6;3*w@9$apBWN89J`m~bK}ST6gZzB()Ms+rJR1|;+1!;k1rC{$5HFl`I2p76 zicy;J@5dCd6jKT{;mV!d!3|UHkqR%9wijB6ZgK>#uMo!Td5}y&^9WGHNvK|+zY0+OrY_URxb7mEYWON64s2tWHWaxQ? zUOj=rjxbK~#=QZR%Pqk2NH+e~@4K500X%K8!;1nJ{K#sPA&iZImQJs6DV+&t5dqi4}F# z(PTxxkn~;zu9J697+fHtL;EV^i;So;^z2=7O#Wl~d4S+sc%PjjrS~q$A<#j+@-yw(AYR+- z;n1giuFpCV#S_^=t^X`C)m(^)7H3#?S9Q#@GpzY$LxGF=o4P-CH-g`d~3R5 z{#i0d;z^v5lcPXGqY#~=@LN3Z{d|hH)ZEZ|Wl`|k`#H!8hjn&U*H7(>aE%24+)Cw% z=~qlmjJRmWzwPV($+ih3I_bk~MCh5^N+2P>&m|H{UwUsMx{XOtn%PLx*asi^^`=xG z#5`)2QTJ60n|f*d#-H|g#$TPn7vP*L1bd_BX2SvTkN}3qLbER|H&O12t5DV3C!~GL zs0+M?#fub&@Zmq5G%I20h4x>9@x016UdBjtU2sH(A3|!0neLtPBtcF&6%`1#qg>dA z{c(m*YA?_j8xt_nQSsw=Q`ApSF>&aT8Qq10{;4mI&guzg@&u8f6>_VsYAePH$`4eq zA=HWaq|msCQ(8gM;IUE(+xnTv=jWu4W_gR{ZxnynXsRlUAsz+Lx&TyWEm>u4&aE=x zs`Gv7>F3Vr!gs7)Bz*;)o+Lz<-+6Di(`59$8z`NUa55I++iB3XoN~uM$2G7mz-rED z06S!p|Jq`OMKRk{J6-VAxpdU%r{XF*4oFB4vk3MA%upiK;^?1tf7kxl@uw`+kN$^v zi0zRIvpwAV*+&I`@l)UMCbnZr+`*-BgQ%e-7q=C%BtLzyoc`K#@l1opN~pg8_xZ9q zkfia|N!52tW0V|Qa&Onm_~`HtYS+&a;#uAD;3@KLAI|x^)aH~!#RgjI0p;^-lC;pw74mJ088c%m7@6`s%JJa9%^A05e~Dfq#Y=;{zk#KXX2LY%Emho%W} zD;5hq7P_rjRfQ&&SFIn#B)o)T9B+J~T?^nq?E2!C2(>`fAsR{8{O_kvCbWA7IBNsA zw+>(ju=;DP2e2Q#z|U`I&+>k`t}lK+fZSqjwv^cgaPaExbCuU0SS{b;){gS%n!O%U z`&+F{tzj~$oEA)9Pj^H$q}(fFL;D~WIeyamU*41%eB?K!zcR^}lYB}(eyqCgQ*MJx zmz~CX?mbMZeY-w2TC7?~h(u|HYU|S^&|Ls>#c<3ZrsC8YI)8N3G>4z*d{6A%dL7W< z$Q96W(wc8Wul7;iyX~X#yk=NePOiu{mHe@#uy6{Ii%Q;#pO5&La5-nvEQopmt{Umo`xX0= ztGeyry1bW)izdo!Z)^Hm201Mb}2&?RGK9mO@i4V0f| z^6!X=XG$vi;f`l|=;I=Dv3Sybxd~_ZqLXdJ0=cQfidJ~u9$DEu+ceq}xOyhS6YCC9 zhopf%K6z-)yJ9ID9+F0@A@>w&P!fIXD?yyO=m)p$T6Az`k?@{`(}(H4k6)f;F+aFG@a-ldM(_*4TuuFk zmVXovp+$nvevA4ZSSUGkRr-bgdZ0csX@8Wx?P|4|>r08pT+q6y|17GP2QA=ryG5$L zQ(_jB0YY#$XkWoli9o3bkrZygtVLaIC6sCvb~&`m1Dkg&iQrC@ z;qv)U4U0syk>`&|Pbuz!$N$OsIE8-Qvd`2ltBX|+H=jWgE5+U_U zt=!O_9*(J*0ScnuUpI`$$A=-pEYB|>-DNwviqtSae!i-D8)PD4wrpV; zQwM2q3|j&Zlu0SXm>; z?`3zKfNd}*XH*ZJYf8DBDQs;U5sC6@H^3HTmsIXS z)*_#_b$`Sm-RltrM9Ca7tNmkD?ucrz85niJM)+gm&{$CMb_T!c+rDdQmA&6c8jL-q z;J_S3sb(g?v%D0}P+GbkG?y|Z#R|JxY&2fcqW9UZna+Q?bI-^Atj~;&trB9BeI%J5 z9eCr&Ov>mjj-urE0;1DwzIg$@0H2G%!utSmss5`?d8;Ci9E|tIcy=-q2VR=A7Zq+x zS#7_V7kqp-Iq#fdqf&nDoz?3fo#N1mO6YBet1-x`{Gz%AsL#rp-D5t>MdmcerToF5 zr+sodCexAhD|=wg-=xzfyy&y5s`@3MPJV3Y27Ui z+6=J<68j5;K+!uE53tg>_d@YE#n<7?H|4*>*UwA9+hE~XDAR-@;jU_jyaK^UrD|=5 zs9`v>zHj-92c5PWxqT9X9Ts?>@W)56a@)hw-mWhjvk67(yp|rtLX)(Ec^17EgjfCq z9#Ck#^jFgl1y<}EdDlRmEXFu2PG0?2%3^GhHcNYg!UNWTE%|QjG7whXLvLQK=g}aS zDrJ?GgN4<1y^V+Eq+XJ5M3o$2&cdz{N2GA8N6xsO$>m1A39MXq zHWd#^apt-BvoEM2lTRPRlb}jZH@OICoW}KlFyK4>T3ABIzh-z)WF>q$&C;b_d;*>J z?4Iuj@r)zAWg(3e$Mnvu>vIZoUpftHJ)6PkyPuSpn!`KMAE#9YjbZ7b;W>bX_PH6} zP9n+BQ#Cl!PImi?es4Tc1B=hXmH!CByugrD_CcYr*E-t0UmJ(~?pBKMaXN~BSY6pY zytfAAC@x%>e4X4P9HK^%@IHv@wIrbRub3zeITQ%OmoT9TQSFcK_@N29p0j_kPzA<~ z^8SV#ZOyavaq;JCLqE?5_~nDZJ$j#In~S6M=k2Tq2!J5Ez7o}4zx}X_w$46^0cyeH z@uCv8t}ay>Rdb#M2DOf5qvha>rLK1DK8p{ttiUsI+6!2NM8xZ04CE~Zhm>}^tQ$%r za9q9;($v+xhhwW5C8(usF<<*iHqXh|&C zew`Myx0y`dZ+~AretU_qNN9C~{op1{-dH3o5oV?d>qK%86q7F*P5gR5dWKr#Pa9eO zry&ZOm2Q>wymN2#)Ncs5CRfzjirsKcdncty%15(ru-uw5Bym>+_;`yS>+;UvlRlRB0xpwe`F`0wzl!QJ7C2J=_Jm?NDy~Lh z;nsH_s~V&{Jz|_eCNanVe0`%kzwFhMvR>=yW3)=X0>KY=b{3_7HL41dKFeQY2)Ve}190F}bu4v)WK#9s@M zZP%AiEt@^8Ou$J2lU5hgt;rJI*??~qpo^{>LnDXy^`lwB!_-d+)%-q8O0JD-PTFT^ z!H*ITM6+}8F%cg-pEzZK7YxEh3|tIe+Lt3g6+(iQG%GD-Q3s&5mE*vE`iZ+dS%Pyr z!E-Pe&*1CuAe?F7N?2Jx7=_5{EU2VE$QF8@qqRk908*pVJRc+ z&4*r>nW1vov&u$t2$S5T(diW`5f!fCs}UA_@mz|!Z1;SV(DWIZ#PmARlO6aeph)PJ zkZ`bF$ZrtMM;)OzQ3&gs)^rNnshe04DBv9*{h4QuB;n@;q#c+W!*a|(%TcRE?Z641 zqfL3Zpqc_fNOGQ0ZwJ;}1(pjQoJ03oo)uRiBCmMNJ9QXgcAQo`Uy`QwLg>7)e3T)0 z;)Nr0$pcPfUne@0@@T5b!3>P~X)Jn3wAS<|G(HEI#Jsl>WXv8w|Gpu$e0hPQC4$3R zu^Wtl6eZR@lfqm=wWfD)r|=tf!qn_p!_$)#bCD^rUgMEoWvSi^nSoAofr-{UEwvhp zk!xA>0w0zN^wOI{I&7q?t~>NW%p$?4yBrV;8Q*-JHsmYPW3q{^;={QTeU?jtu>;qM zl7N4KaE$Ky4cVR_Z%(O}VH#A9o-v>I=p){JejwcrBr;xNcCp~=J^g>NNjm;OXS5wh zNc6byFK5ZmErGZTw20BlF1!lXPUyL^y}R660rT^?XC+zrK$xBr3Jb!6#t4UyAb{w4 zt3SYtSXF&BS(15ueWxq|?zI}mWAN$lXV$S(E3V#g_{G&9b{4R!vG)xr!IiV6J~2Ep zwTwJ=gQ@o8bzP!*t3R(&oenmnU6=nwO0^%~hqxY*Z;+=z=qUw9mv|Mv74uioZxBRg zsc+rjS=}IL+*Ke+p(X9kg%x)piKZ+&uV!Cyou41XH91YBL+Y zECK<8fWvRJ;0*lU=pS;%eGW?>u>!HO=k=8EsjB^>SH9@O;i7Un0bWVj)U;=Ck+l(C^cy!)|>D zm+1q5DNd&9376qb&4~K6bNI`Z2Mq?!{W0USSq6VpKOR4&zP_g;Nnvet zB`Y@4VC;;xU!n7z`}HR)I+L7g>jNOr;0-L4t|kSzo!W!*>8KGTRI$rl19`Qw z3*Dx1?7TRGe}34Rl6%jf9YEoe4q;MX@wz=4cu;5e2oHT5A;KWP40Nam0nb0FnjJ|` zac>14$m z(csu~Hq^2D?V}z;aVh8>rYn;wdMmw5wh!*mjQ<_4qNAFuFE6&>349|?&w(OP#Pg-C zu5`o3*y@lo4ce4v_xCY{nf-0iC#uO3VjKeA?68=dSH8U~y!|wW-lV3F(6l(KZ+RbE&cy8bZn3 zDbw`D&pg`=2JWc*PURq=Dl)9@a?tD&E^FeXL+U&k%LbT*dttTcZ5nIK<~UqiM`qv> zNxW9xJA|rIKimo07!w77jhw%#v35m5+QZnXxF=RMdB2c2Dt&cW60QrCwAEQi;Mg!E zqfst8um`m_t+*dEO{TuVk)|xbO{19O*U8`$S33uvqHEyDnSOX%{NwX)Z@Q^Bte`W()*;v_~8;>s^|_pGE4ytLa9G>}<5uC(te zR^rKHA-JcDrh=?PgRtLWb3N{+6IXN$G*iai_3!fCFdBSm z68t60=<*$J(QlhiwkavyXZAtyG#`>ZagJP%RYJwyaOsvuJ+aO9!qV!A^Sn!3>6Ngd z<6Q!V&N@l&Ji9KThvzlAR%K!_FHE(}2Fdh*adBtW+m7Nw|m5j;R_3YVk(5fLMx`1eR{@1uiB9gsq)A~l;+gu1#b*gG6E-zlIhO*jQ2T%vENe#LLhG00tpFG z>uyw9B}b((wb4ZXBG#-TcQPgxcwnCvKSPa5H@X)Zu+jILlf_(|NH9a8vf)MP->*UC zw&P;IpN;VSn5LprQk)UdBY7vI#zXr~3ieut0D4z2(e(%xY@BO^3Pf?*hS-;p5lLS_ z!mQ~$udpuS)SYSCSNh_y@chu{>S{Hy(JcUV{-D*9tYy=$${oUF|6S`jixK=*6GVxq zBtCYPPTw2L{W!flS^Rt5i-^$d1#kkAKKyxoQTXQ-jmZCdAyjPX|L;O0c-{QlMSw(aU9@QUP{@$;?*@TSFZ#yH9btYe2Xso!(@Xdp)}|!c zyJP#VehrKRUXNK_hliRyQ(y3$y@+);KqlE#6Be3li4A?HO{AYzOW>zM3=_TLGc>6*g2#LfC0qE6J#78Tj29RAu?%1|rmUcbr7VofHU+ zLj00iHO)3czSSV`Mv^dH9TGza>4RjMEafNv7aX6gQh}s?x!XS3H#@ne{c&;a7O#}0 zFVJx7oGKVuL>25!{A+s2t{KQR4dn+&cZ$zB!qz%nb$^w{khWbEeP5fQdQDA5BqzgVj26iL7bEQeCc?7Org$qy3dKR<=r zcfQwSf}x*VD5!Gbg))zi=l%=Xg^)K*z$KQsX5JYvf9>@28#9gXn`f^V(puBKn_V79igyj&cq&CZ z?UrZz*-I++Q;yWvp5Kw)zrdc28|;+&0&2$$|}t8Gu>&=e=4h6H$JHI6?l_QulS250bKy z62g^IIo{)hyF3jZd?ODI$$A=m>XbiwHQt-Kffq27Q+N5M?P6j2d6)PRQzA*mO1RKH zv$&J^=l3`Nor-fLt4VXOrL;de?u&l^b@Pxw6)nz6Ez(Uom$3M+g5Trrz5An5aiEMj zG(nJRb`v(42V(}4yClS^4Jn=-_{Le4y4!-z?5d2I_G16gI75*geuF)uD@Ks5L7S7s zRG{Q-e<~+kdWCvttn2rXp5EJ6{geeVcwbUG(e|6_fxkBSi@x^rs)9<>s}_9BjTWHH z^<%`9JDk5WH3O-ex$Lrx1n@8Q7t!GH^?%<5sF@qM+~O3C*!zmF5vwS?!_42&I8B~` z)Xl%rXl+A6O3v2@pZ##ITz`7MI+iv4`EdU+nmC^9=vK`;y0|669TpXmUhblKgBW88 z$^UN==ftTG3zC3x5F>*jM`-`_a~nKYdbe?SHKyX4_?vF!R87 zOw<`I^(s$3Tc;to!B^fn>tC8?C5mD$tmiD02AMiia970#w|TiK(PA|Ngv8K$=ie3j?TdLXMYy&2#*r5{ zBGT((4l(4~F;qz;M!nhEeGsIQ%8<;{f6b00yPD2bs#`Q+RVpDQmiTo0hcA*~vFhjM z-mj8iPAmh;3IvV&UTwyZL4T5um(ix2NYpYCGGhI{2X@~VpNLpkmV*LIfy+Ov#tYPb z-%etMRxQ$_*d#pk7+WU$MT5{sV^tg?-rxHGqe=^=e+oKBvo=W)+(~i*dyTu5j>ua6 zN(flPlTVh6k}SA3x%y!jsQ9Nx5TlR>leWdWNlpksC1lv}}BWJDt|e%@ah+FpNx$u^Nl`*YvTVP$Zna!P(TO zoJC?;^?Tb~{aJylw|e?6U^^KoOutZ%)Sx4qmilW|>Pbf@g#wS4hyAB#BFGg&Qwy5o zKeE@$k5fEi*f38nyR;vLrV3hRmoj(@ATT@My8q2cosVLznfdvP&%_&v zmdCbf|AVzIM?<9c8vEFHU0^T_91;;H(ryxPKDI{O{TqTU8_WI*SO)IHqChTPqzYAV z$)m?f=NAg>v2fo%(qfH*eCM=rInwr9w{{(1#l)otR7*isS^hFZMQ6<6R>pWAhQ(ELMedIkgsZFROcu)2Psl&{9UScJ+gzM`LoSS|?DY^UC{=e3a) zPmQuzGpDdB(rueHQqro6|F7i>meantn&g3z>IsG26|g!xBrJc&!}DGq1O)-K?>T7x zK^6)Gf86fgnLS3TCH(eYp+xADuDjowXi(2=S-%}oIEAQWQF&6y?^SzXwo8yK6Tvn@ z^eGQ|IAT`Yq&6n&eAGR6G*S=7qQj+xYy(arZzWu=oA#LXAU5H!2e_?4j?d|hqSmux z9;bbf&tFyHlFe=y`{9qANVuq#bbYS-?_WQgCLB}tgE8SXHa=nEh646EM&)MI|3+D^ zE<{bDo93M!GoD52TWwF+`jsm3m7COX34KJ|4Z`n2sp1Hi@NSJq$JD#0W-Gva?fS|= z;2{N~M;gheh`zFs;mz7dCE!!zkZtRngpevau}xS&7i-5B5ZFJ$W=5Yb`JwC?^|0?L zjtEQ%*P_l$h8781%uEa;uj4~gJ2rQrOfWn_P)IfYr%=Q%HI`1(0h7e|HBN?0qi%fC ztRHT>0u{AUDOLGl0rFnu7C9+P6Y$3gXniEw>-k5K@Exdv0hz>GbDhW2DyzB*=@y@B z-lu4}KD3}suAjYmOvZg|V3H>1r72*6P!7|Bi}J^$3fBL_>CMNADa)T~?^!QD=#2FL(*lSiY!L-g>%S)mR^dE9Vvg=y-tIh? zcj0&@yZ+&5x~a`@&E#-B^CcN5ilX0qQYo+h*06akRqH?WSsh^|!E9xIlezRsV;5|t zD`F*f2*&7!K>j)!OyvbdwGi()tX~CVRUp#mc$je?$4cj2Zl@&)VB+pVJek?bA%>z% z@~?>Xza(-zO=<#5#SUw21k;7x*Em`b(FKh+iD@%jKODkV3x*SJ?N9By|Cr_In08fo z+;n9d{T=UWN3eI#O^um3>V8NmbFGQVi^S?>fzSYo$5vp#+v{a)OcZI#{A!+fAgiOi z7fV-Ij#o0RvcRWmOgXp-d!%ajoAGo_N{fJX+nDZyhjpE+x;f-KB?(f!9WLGAqfa{s zqWZwiz|S{gnEY|qZqNDtD>N9EZv%SY^9vapI#(gs_uXf-5fUoHKe@5hqCt2qsc))u z55W~w+wMulp`%s?RUn|TMMtOA^^nb=pGVYIG9e{_v(YJ5JQGW()^jRWREYl)rmQ57 z457k{Lu|~$qlno*zE(FbV(R`q2jvLj#@@%BU-CmS2D3M)as%(cPP4|_blT_V@h1@P z>EUXp^u)lceeYDfIfp++5O0k^tZ?D|!x(tZ$?N7FJ_xn+!AuDhJ*~zt(Cs}fi4DX{ zErf%tGx8Nx8(MGriMGaX3Px!AZ=dT0F7lq%Cb5yl^&X6x!zHCaN!aYZ~3nYsx%5?caEo zxv_a}UwZKjo2FP@1+hMp@NI%!fRJJcAYxf|T%ebj7Y7_)vHbm5IJ$^6_N*&6{3hRa z90`Mg^4BW^FAUNqYsT9AOM9JC7j9GMfYR1aKkJ(~H4Ef3$@k3Meb&;P>4l@CZi0w? zA-gpfIW@Kjv`P}n3)a&K#7AsE*R3Uj0~IrT>e~0;grC!zSX%ElINDqP5TOGYJ51vI zcn>A*rY9jGAlfBRuKI-TZkDE#*HQq!Pd>^4^3CK2p)e8i%5U^L8arD)MeWwI-qd4a zEx#ul`y7y^_xGrHPh(l0o-WQHxYk-0qT^Q4n-sNx>(eDa4JT|TJ=2(E`$x9|dz|ji znSfjEU2K>>T}BZbp)&}2OvQ@#WrFS>Y7KU3^@ISGujWiJ^FW#NSsS%V3hc6}->a(i zng-2Ou{#!|u3a3`5%UWm>tUbcmke^)qdP%5612;FxYx4zk`$m+$a=LvhnL-)LA+}? z1g3ux3Kk|sZ}iQQIdZOm;*3787YQUZiC6jTW&{YlfO{fjK@wM%G%HVd7Ym+e#sTlK z@L82ZGoUtR7lQ=T0K`9ZoAj!z%#-O0X!vI=64BmeIe&BYIOSfaxh|?pQI@wQJwDd6 zvi_^yVEF(l&6fhP%U#DTBG+u{gOAP4WrMX)e*0*^TllyIpS24nvoX*5;Ig`ps6m=) zmDQiNlJ1A(^x<^P{QdK)t;t$VrV0ci zl_bDPu9^x8r0SCX2fovAlGWX|=Rdy7yHhDf5cknK8W9e_(FuXjezXF?O<vMhmo1)lPw_Up|LM4>*IKkk z7b!eLE{Od*fhoK3^;Pc87aK zABQqueosvCE>SwX34wRD`rDzjXHbhMfd|MbpvT_7s*eC=749|QR|^=rb)=U+oWlF*bOsM-VkTAI!M#)$*|s(V}kV^h)dxv8UQw*j&G|&-I1jn;;%&B zJW}f=vx%@nGKh}LQVaLO-=GPFsxPd{Rx~$uHkPaR640CI_kzlQxqKY1Rjy32^tr1n zS!^!%Rgs`^O)r7eguCqMGh(H?Tw*dlUihR5GF#rl@{!+!W`f5E2u5R<=l6hMKrp5I z0=QKeg11ppWuVKG2j_IC#)=~Y@{NqX8%T}zXZ8r(A%7L(uVeE#%7y;PhokZ<%0Y@2 zrga7R4ys?931kYSQ_+o};W7DEE#v*Z<;RbA&YMiJ%UZBN{-BG%Ws0UHFLRR?r(z5# zTlg;(-4*Muz_iqv52z$*rM2{6?e+Y}Og%{^Q_o%4H_ps9M0(*6bkM^D^Fr%RL4k`6oS)2=0`m%`#@^grX z`PQJOwy6oPbnq3!sF37PWrxMys$cqc)$l!%SdP4M9MmJWZUO>>2tRxNW~Gp)tr^U4}}C zaT8&KcuPW9tlYY$R+sl9vg~rbE~wn7j=9;1sz>P_Sb zPT-L~pe7KGh0fn`5USat(XYM2&9BQ0Yrh;h=~le>Q&FQ{aQjoIPBSGsdvUh#hf+>e z@?JDlK675dkiGn&NsS?OX0)C8+`F=f)gcF6sqe|k<}Q`i^J_IvZCU|A#>l8pvz$dj z8c~_>+g}9Ik}5Lf7Q(De^l2A9%Um0#w}xz1aV zO_iJ}Y|c&(xYq0e^gm9m(K9f-I+`>@H|ToE_uRLbvqOfP6zn_|l@{#^I9Jq=L6h!s zyA=zrve|`^bLN4ZN35kNzTzAXmP9V-NdTvR0k3sm{gd%qz6*4c?|OGhzDkgmgQ4A#b!0LbgxKYsRl@{DRAD)J+D5)k^kia9j2lP zB>AtD@IMXA8H`w)?yFffL{&l+`iG5)uBlq5jemKS+@TXMan(#~Dm0>{^C;7C-GtHH zNHSi7aYB|_n|}3VS!)AEfg0W9IM_ZvL@m!CnxAb`T3I3ywm} z-Qa#$n3FLe8ylmW)+nXa$2Ftt#|AT_rhJ$zkQIN!rGcf6eY(@i^eK5vzb`h9k*TeN zS9#JIe<*SRn6l>$$)JdywZA+0EB!-uPsSx`ti%$LqB<$|Bs}tSKZVgMErLijpw zWZs7jujxWj_K6`QzDt&jaTU;5lP6*YPFKexegtKSsyh#70f zQ!`&c0{-7x_PV~CC{aDU_uo>0YuZ1%{@!5w>7zy55(19d*O(T#g*9eE_%9mnttH-|Kr)w z-qY?dk2PA8Y5}@AF@|MpIuJ|KFXRKczDsnNQ%5Se9O3!O?RsguJ(HAm>Gn}s?B3D! zc2dOE<#3?WHZ!UUh7{W7TSxc#pq(yhpUEg;q}&#pJ+_N8ofaZqI^O1+boYO%L%BUG zX45SONAt{1s3?fSlZ@w=6JuRhwvvJsPPd~p0JA#>&B(-~(>73%>KxRPVidpM5vq~I zWck~Dze*k80FH>aSuYS8>?oyu`|?aw5=E%HPOV_>1?*4rs#ODTT3y!zo&uALZE3?w z2v=21Cuf-*nb%|jB;C`q)Co5ClADaK<&OdgU|ahj*SJxa#zNPlu6~Y=>sxlsjKOEGV#_x`Nl#pf;Vz#T&HtY3cy3kp z#5rM*uS`bhn?>eZ{KvP~O0LKgWqcMaVud|UKNy{MCEIGor{|xt14wuMW0MHZ;GJe< z7pjj#M)*~n z_6CzJzZl*8eC>kWbnyjOu9W`xJExRcPjBNSZ_ z`16&bG~N1Xo*&4>g>^NpARQd2d8jX3_sf_kg*rt4V?U)rG~%K5Ck0bgN-(O5TFsD_ zHAb7-3khq=a{!$DaHoWHa{SGV8lmFX7uy;(A$XnJB+fnsYdTrKFmF2V52)}q!QSO>@g~!*pf%oz zbGgCZMO@|~MEzS0}G!8(ei7l98+xeGt8Wbf58@mwS3%fqTXeToz{Ly+p3 z7;+`N5}n|FY5k3DBQ*JbB@tzvvuj9gx^nZibM}(@0Z^I{u>VFB5e6 z;d$4jE+m2cJWQ`-<64NWff*Z(gty{(!?k?CF|X z*ae%WrL*+CF@(cPLG|fxnks;wmjs`+@9dC_eU~*INn5P4^z?n-w*KK(It5fnE+8zvd|);+`p8t+E^_{$Tkd zWJ&~P%x@^!B@`id^0?wdMJDpFm9XP*+@bw`SDGh)4{WOxOMk~dWIq!9<_mzYlmMCD zmfGJ(Az_^>=gSYzt17&JZ&(gB`7BE=Rv@nvigIfJ&d~0q-|>Ah?W^X2h01e!Q$!)#;xSLm%B#Dz=1U1Hd?1}jRM-S{fVKXkDhIXeFn-lF@96c_y0 z-|sgH6gZ>JsH&b(@P4~;k3K3T)hUt}2>B)ZkJN<0T+1}cMr-M=x`&>0ZvHm5q;qSz zv^!~Ddjr-pWG6=pf5@RGr6HxCx@Mk16mPN0RIkD&GU~_Zdk++tUB|S_A~cYMY+mMv zwI9GOP;6#D^{eoHR@~!~45htlWTF*nHB;5P^C5ZHud#~EM*=9D#by5W z-5lSg)s>@0pdKk>iW>~oeD@KrU$~TS>mQ$>W%CXumS4D9w-T=3aQV!)0cl!}-|@%E zex;QBa*u7xAFuO)UT6m1xs`jK**6n^d^uW*#$EKHvp1WVe#`GKpCec;t$yoV*~&#W z>6^~K{+nW`dFRO`Ve|qan$XZfm@;#ES^QSAsneiqzpAMM0t#AWUCNB7-l3(Sty3Yc z^8eFTolP>RJ2rdft9?nz-*Q9GVSKQ~mcA#4rxH?_rEie8@jqny1nnJ$IhzSfW-CMF zDEs$AcCi1@dbH?08fgsm=XGiLZ8ZOcs*i&rQfzSLL7C8^e%(EgiAJ0Rgm%s#_D0$X zrXTgRgYbOpEKWe3A8OTOz*mG6f#0v#>ekF+RzLAk*h(3wi>4_jXvm9kIyZ)Gz-@$s&w)VSddGqbwJce7SE7z=nw8 zUuQ#ryE3w|)yf$tTsCM|33;y}p!sO#F+azb7@)3g2awDDiV*qpu1KtqyWD~aX7S?) zW>_TY_vK|A^DYfwRBpj;HyUCQIXE-7`#HdFIEN@CkWntkWHz89Xt z3giDn))YpWmy&w^5;r2X-LhYe7{urzch-@<*yXnU<;`WVtLo6)ln-ZQ2LeP13xrIx zH{KD$e8E12c!1RvyLBBT?s=Z?MLRs1Xu*Tc!=7JAD&GQjm@6bN--HS!qWFJUJI|=5 znz!AnsDKD4NN*}qM35#;fgrsINbf|XO9w%EM0y8N1VKYbq=eof6zS5DP^9-J1PFwX zWS{MG%KQ93owMF`7T;Kz>^*xXvuE!6x_-AD!g4+9fo)jcmyU`D7quaLg7hW$oQZx= z)bE@yUg#a)o@ClGxQPpiS5gI&qSRU+@T$9a&Jzw}K_4e$`K{cr>y-h!(JbHU&(4@# zkLO?jyz@?EbEw0KFW!nnQXr6y2P1m9Us+`6```S|8W)&Mai@m@jQ5V^npHjGSYy%m zlyZ1$D$@#RC?m<9ERu~g%5VUAu?4QQlfd9nD-+0zWj7I=v4U4>+G&wAUQhArTo9;5 zY0$n3HCqO_rGwdSliH+go$z>>`4?KP5P4D&*td^Tw&>4$to5)9Nq1%$INm+l`B6MW zN=4NfK}`vkTK^Qej;C}T)lT*v9Tq-Vl;~V(`#cCCECkwMR!~73I=aU^fqVvk6qr6rNzA+G5UsV_dnh=k~~B>NZr=9els?7b(xjibzrsg3xr=*c=k$)Ix&@Q@5qP~5R zc{e7pOEuc@xSrqu{_=NL=i&Y6eX~C{^ zPYg>tK26ui7j%Wp$|ldZv|;praB~)muP6kOc#(TzZ`PUY)qAGdRb=glXlbgz zL~7@fC{M6*_frDkb25F{@8^8V7e}*!?ZT?xX12_8A_W`M{;$@!7d`s5E1Gvk<50{tmO60d$R&n zH#Aq)L(?m%yl|Ohm(U?P4v7ogUQWFW3>SCEdf48WOA_^ZPzTm}Gs=&92yWRwRuBkCFrkVH z1@lpxxw+u4wa{q^nN$w2R~8(X%J2U$G;)^0=sbQ zY{MWkB~8exFQKQF*T7N1#Bs6V+3bjw9?Z;lJ^joIJhRCc5_l|yha*W>t0Eo^1&1s? z^afKe*np=LBUmSdfLSTA80Kk!{pF36H)FH^^1UiU4lw(*+Gh50{RGU*?L%P|yb=?}w)Ruvb=qTIe=c{r$t;fHn-QxDkl&^%w_o~mK*+ik?^$1Zn8y_SghG9swWys zG&SWt(;v!^lKawFFR~Nnwce-imCIh+cPF~}jsJMOYPR@eTu90Gj@Ym$0eZ~I3F%3) z(IGQskIiD96*X1#75Ob-%c9@zRvbFnN^#S1_m)yb^GiTYhxJPh@P^Ibn6c%^;TLsK z;1mIj8iz}81iJekEwII%^?bb*^!aG@_dzVwJl5w)#|8ulA3-kAKktxlrh$#zV7q#p zLoW3U7?c3S1A)qY4eH42%&ZR^H*_8=6L2>3po=rWzws>1c&`yyZxmyx%?CIm+xnk z1J;rmE5rvwFAGmOK+Ee0xC~hN8N+7$V7fj}YDYGA^QtPEEFj8ZwR1$K-*hhNE2>Y3 z)qcV^!n^jU-4&lye7LbRWpj!YY00P~43NAg@aJ7>e^J74lx8wi_p?E(`K#2L{|EEQ zg7Sk$v^&>kwQl7+=(E~u2)?_79e?qg2qxV{h|R}!pE^>sWw?k1NGpnrPVVCxIz;=G zLE_7>{)^Xyb%OL;s^g%1d18jNfb(crRzC|5Ua8EXoD@1w`98umrc?V4a~+ms21KoYMW%yuS)gmyp( zosj8~XBGj1U~AZN&gg~U0wO(Lin%zdpG6BfQOC{G|Ps^c(X5{MSNLKlF|pdv

Vk*5NWgF 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 PHLx!Yk*XDDd+pa|*8?owvYorgrmwL=9J-_NP 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 G;r|C4la@jN literal 0 HcmV?d00001 diff --git a/assets/eip-4910/eip-4910-royalties.png b/assets/eip-4910/eip-4910-royalties.png new file mode 100644 index 0000000000000000000000000000000000000000..ddf6951d02a39a1d2d02b4cbe87f66802c969ab5 GIT binary patch literal 748811 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%0DD=2`oML_~h`k8OuJFyt585DPW_v= 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Π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 z

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 z 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π!j#04TsA7cJKVqljWiCPNeZ(D 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

67?JYc*sSIJ41m+3{O^!aG0gu9cIT5>zc~ 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≶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 literal 0 HcmV?d00001 From a32f465175f0509781b52615b1e29bed03a5fed5 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 15 Mar 2022 09:45:00 -0700 Subject: [PATCH 03/22] Resolving figure reendering issue --- EIPS/eip-4910.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index cfa641a1c3858..52a969ca7dc6e 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -23,12 +23,12 @@ The above is especially true for a hierarchy of royalties, where one or more ass In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. -![Fig1](./assets/eip-4910/eip-4910-print-families.png) +![Fig1](/assets/eip-4910/eip-4910-print-families.png) The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. -![Fig2](./assets/eip-4910/eip-4910-royalties.png) +![Fig2](/assets/eip-4910/eip-4910-royalties.png) In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. From 22b2dbfe6f95e57f064ddafd1c68a0fba1fff9c1 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Tue, 22 Mar 2022 21:19:31 -0700 Subject: [PATCH 04/22] Update EIPS/eip-4910.md Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com> --- EIPS/eip-4910.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 52a969ca7dc6e..b74b1a78ec3ed 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -12,7 +12,7 @@ requires: 721, 165, 2771 --- ## Abstract -The proposal directly connects NFTs and royalties in a smart contract architecture extending the ERC721 standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. +The proposal directly connects NFTs and royalties in a smart contract architecture extending the [ERC-721](./eip-721.md) standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. The proposal builds upon the [OpenZeppelin Smart Contract Toolbox](https://github.com/OpenZeppelin/openzeppelin-contracts) architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/De-Listing/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. From 7866d0afb6e87aae0217fab71d42a20d286dbbfd Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 22 Mar 2022 22:35:14 -0700 Subject: [PATCH 05/22] Requested changes as per @lightclient requests from 3-22-2022 - Removed dependency on EIP-2771 - Added file with link to reference implementation since I could not add the entire reference implementation repo as a folder under assets/eip-4910 --- EIPS/eip-4910.md | 10 ++++++---- assets/eip-4910/eip-4910-reference-implementation.md | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 assets/eip-4910/eip-4910-reference-implementation.md diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index b74b1a78ec3ed..801ca933cef3e 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -8,7 +8,7 @@ status: Draft type: Standards Track category: ERC created: 2022-03-14 -requires: 721, 165, 2771 +requires: 721, 165 --- ## Abstract @@ -393,7 +393,7 @@ constructor( } ``` -Note, that his document is using `_msgSender()` to align with the [Open Zeppelin implementation of the ERC2771 standard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) in place of `msg.sender`. +Note, that his document is using the nomenclature of `_msgSender()` to align with the [Open Zeppelin implementation of the ERC2771 standard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. #### **[O4]** @@ -423,6 +423,8 @@ _setupRole(PAUSER_ROLE, _msgSender()); _setupRole(CREATOR_ROLE, creatorAddress); ``` +Note, to limit attack vectors, implementations may consider enforcing additional security rules such as that `_msgSender()` should not be a contract, or that `creatorAddress` should also not be a contract. + #### **[O7]** *The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* @@ -783,7 +785,7 @@ As noted before, a buyer will always pay the NFT contract directly and not the s /// @param tokenType is the type of payment token /// @param trxntype is the type of payment transaction -- minimally direct sales or exchange-mediated -function executePayment (address receiver, address seller, uint 256[] tokenIds, uint256 payment, string tokenType, int256 trxntype) public virtual returns (bool) +function executePayment (address receiver, address seller, uint 256[] tokenIds, uint256 payment, string tokenType, int256 trxntype) public virtual nonReentrant returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. @@ -1079,7 +1081,7 @@ This EIP is backwards compatible to the ERC721 standard introducing new interfac A full test suite is part of the reference implementation. ## Reference Implementation -The Treetrunk reference implementation of the standard can be found [here](https://github.com/treetrunkio/treetrunk-nft-reference-implementation). +The Treetrunk reference implementation of the standard can be found [here](/assets/eip-4910/eip-4910-reference-implementation.md). ## Security Considerations Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: diff --git a/assets/eip-4910/eip-4910-reference-implementation.md b/assets/eip-4910/eip-4910-reference-implementation.md new file mode 100644 index 0000000000000..8df21cd6afd60 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation.md @@ -0,0 +1 @@ +https://github.com/treetrunkio/treetrunk-nft-reference-implementation/tree/main \ No newline at end of file From ddc805f8cffc09018b47e74af71555aab06f0a3b Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Thu, 24 Mar 2022 23:22:19 -0700 Subject: [PATCH 06/22] adding reference implementation folder --- EIPS/eip-4910.md | 2 +- .../eip-4910-reference-implementation.md | 1 - .../.gitignore | 6 + .../.prettierrc.json | 7 + .../eip-4910-reference-implementation/.secret | 1 + .../.solcover.js | 6 + .../eip-4910-reference-implementation/LICENSE | 223 +++++++ .../contracts/Migrations.sol | 19 + .../contracts/PaymentModule.sol | 139 +++++ .../contracts/RoyaltyBearingToken.sol | 579 ++++++++++++++++++ .../contracts/RoyaltyBearingTokenStorage.sol | 36 ++ .../contracts/RoyaltyModule.sol | 298 +++++++++ .../contracts/StorageStructure.sol | 80 +++ .../contracts/test/SomeERC20.sol | 16 + .../contracts/test/faucet.sol | 53 ++ .../coverage.json | 1 + ...thXPro-Report-PaymentModule-03-22-2022.pdf | Bin 0 -> 119450 bytes ...t-RoyaltyBearingTokenModule-03-22-2022.pdf | Bin 0 -> 32597 bytes ...thXPro-Report-RoyaltyModule-03-22-2022.pdf | Bin 0 -> 155080 bytes .../migrations/1_initial_migration.js | 6 + .../migrations/2_deploy_contracts.js | 51 ++ .../migrations/3_faucet.js | 52 ++ .../package.json | 29 + .../readme.md | 171 ++++++ .../test/.gitkeep | 0 .../test/coverage/PaymentModule.test.js | 37 ++ .../test/coverage/RoyaltyBearingToken.test.js | 494 +++++++++++++++ .../test/coverage/RoyaltyModule.test.js | 42 ++ .../test/royaltySplit.test.js | 84 +++ .../test/royaltySplitUpdate.test.js | 162 +++++ .../scenarios/sellWithZeroRoyalty.test.js | 51 ++ .../test/stressBatchMint.test.js | 58 ++ .../test/stressDeepRoyalty.test.js | 68 ++ .../test/transferByERC20_trxntype_0.test.js | 103 ++++ .../test/transferByERC20_trxntype_1.test.js | 114 ++++ .../test/transferByETH_trxnttype_0.test.js | 96 +++ .../test/transferByETH_trxnttype_1.test.js | 109 ++++ .../truffle-config.js | 113 ++++ 38 files changed, 3305 insertions(+), 2 deletions(-) delete mode 100644 assets/eip-4910/eip-4910-reference-implementation.md create mode 100644 assets/eip-4910/eip-4910-reference-implementation/.gitignore create mode 100644 assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json create mode 100644 assets/eip-4910/eip-4910-reference-implementation/.secret create mode 100644 assets/eip-4910/eip-4910-reference-implementation/.solcover.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/LICENSE create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol create mode 100644 assets/eip-4910/eip-4910-reference-implementation/coverage.json create mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf create mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyBearingTokenModule-03-22-2022.pdf create mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf create mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/package.json create mode 100644 assets/eip-4910/eip-4910-reference-implementation/readme.md create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js create mode 100644 assets/eip-4910/eip-4910-reference-implementation/truffle-config.js diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 801ca933cef3e..ab412cab96cd0 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -1081,7 +1081,7 @@ This EIP is backwards compatible to the ERC721 standard introducing new interfac A full test suite is part of the reference implementation. ## Reference Implementation -The Treetrunk reference implementation of the standard can be found [here](/assets/eip-4910/eip-4910-reference-implementation.md). +The Treetrunk reference implementation of the standard can be found [here](https://github.com/ethereum/EIPs/tree/master/assets/eip-4910/eip-4910-reference-implementation/). ## Security Considerations Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: diff --git a/assets/eip-4910/eip-4910-reference-implementation.md b/assets/eip-4910/eip-4910-reference-implementation.md deleted file mode 100644 index 8df21cd6afd60..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation.md +++ /dev/null @@ -1 +0,0 @@ -https://github.com/treetrunkio/treetrunk-nft-reference-implementation/tree/main \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/.gitignore b/assets/eip-4910/eip-4910-reference-implementation/.gitignore new file mode 100644 index 0000000000000..a3498bdd45468 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/.gitignore @@ -0,0 +1,6 @@ +bin +build +node_modules +.coverage* +package-lock.json +.vscode diff --git a/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json b/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json new file mode 100644 index 0000000000000..246b3b7f02ad2 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "printWidth": 200, + "trailingComma": "all", + "tabWidth": 4, + "semi": true, + "singleQuote": true +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/.secret b/assets/eip-4910/eip-4910-reference-implementation/.secret new file mode 100644 index 0000000000000..fc2fc96e528eb --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/.secret @@ -0,0 +1 @@ +hen token assume same own mail afraid pet leader short system reward \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/.solcover.js b/assets/eip-4910/eip-4910-reference-implementation/.solcover.js new file mode 100644 index 0000000000000..4dcf60b9a586a --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/.solcover.js @@ -0,0 +1,6 @@ +module.exports = { + norpc: false, + port: 8555, + buildDirPath: '/build/contracts', + skipFiles: ['Migrations.sol','test/faucet.sol','test/SomeERC20.sol'], +}; \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/LICENSE b/assets/eip-4910/eip-4910-reference-implementation/LICENSE new file mode 100644 index 0000000000000..affddfe8deba3 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/LICENSE @@ -0,0 +1,223 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + The MIT License (MIT) + +Copyright (c) 2018 Truffle + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol new file mode 100644 index 0000000000000..fcbf5cb3218f6 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Migrations { + address public owner = msg.sender; + uint256 public last_completed_migration; + + modifier restricted() { + require( + msg.sender == owner, + "This function is restricted to the contract's owner" + ); + _; + } + + function setCompleted(uint256 completed) public restricted { + last_completed_migration = completed; + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol new file mode 100644 index 0000000000000..c530a701fb557 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol @@ -0,0 +1,139 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity 0.8.10; + +import '@openzeppelin/contracts/access/Ownable.sol'; +import './StorageStructure.sol'; +import 'abdk-libraries-solidity/ABDKMathQuad.sol'; + +contract PaymentModule is StorageStructure, Ownable { + mapping(uint256 => RegisteredPayment) private registeredPayment; //A mapping with a struct for a registered payment + mapping(uint256 => ListedNFT) private listedNFT; //A mapping for listing NFTs to be sold + mapping(uint256 => bool) private tokenLock; // lock listed token for sure one time list + + uint256[] private listedNFTList; // List of all listed NFT + + uint256 private _maxListingNumber; //Max token count int listing + + constructor(address owner, uint256 maxListingNumber) { + transferOwnership(owner); + require(maxListingNumber > 0, 'Max number must be > 0'); + _maxListingNumber = maxListingNumber; + } + + function updatelistinglimit(uint256 maxListingNumber) public onlyOwner returns (bool) { + require(maxListingNumber > 0, 'Max number must be > 0'); + _maxListingNumber = maxListingNumber; + return true; + } + + function addListNFT( + address seller, + uint256[] calldata tokenIds, + uint256 price, + string calldata tokenType + ) public virtual onlyOwner { + require(price > 0, 'Zero Price not allowed'); + require(!existsInListNFT(tokenIds), 'Already exists'); + require(tokenIds.length <= _maxListingNumber, 'Too many NFTs listed'); + listedNFT[tokenIds[0]] = ListedNFT({seller: seller, listedtokens: tokenIds, tokenType: tokenType, price: price}); + //lock tokens + for (uint256 i = 0; i < tokenIds.length; i++) { + tokenLock[tokenIds[i]] = true; + } + //add to list index + listedNFTList.push(tokenIds[0]); + } + + function existsInListNFT(uint256[] memory tokenIds) public view virtual returns (bool) { + if (listedNFT[tokenIds[0]].seller != address(0)) return true; + + for (uint256 i = 0; i < tokenIds.length; i++) { + if (tokenLock[tokenIds[i]]) return true; + } + return false; + } + + function removeListNFT(uint256 tokenId) public virtual onlyOwner { + require(registeredPayment[tokenId].buyer == address(0), 'RegisterPayment exists for NFT'); + //unlock token + for (uint256 i = 0; i < listedNFT[tokenId].listedtokens.length; i++) { + tokenLock[listedNFT[tokenId].listedtokens[i]] = false; + } + //delete from index + for (uint256 i = 0; i < listedNFTList.length; i++) { + if (listedNFTList[i] == tokenId) { + listedNFTList[i] = listedNFTList[listedNFTList.length - 1]; + listedNFTList.pop(); + break; + } + } + + delete listedNFT[tokenId]; + } + + function getListNFT(uint256 tokenId) public view returns (ListedNFT memory) { + require(listedNFT[tokenId].seller != address(0), 'Listing not exist'); + return listedNFT[tokenId]; + } + + function getAllListNFT() public view returns (uint256[] memory) { + return listedNFTList; + } + + function isValidPaymentMetadata( + address seller, + uint256[] calldata tokenIds, + uint256 payment, + string calldata tokenType + ) public view virtual returns (bool) { + //check if NFT(s) are even listed + require(listedNFT[tokenIds[0]].seller != address(0), 'NFT(s) not listed'); + //check if seller is really a seller + require(listedNFT[tokenIds[0]].seller == seller, 'Submitted Seller is not Seller'); + //check if payment is sufficient + require(listedNFT[tokenIds[0]].price <= payment, 'Payment is too low'); + //check if token type supported + require(_isSameString(listedNFT[tokenIds[0]].tokenType, tokenType), 'Payment token does not match list token type'); + //check if listed NFT(s) match NFT(s) in the payment and are controlled by seller + uint256[] memory listedTokens = listedNFT[tokenIds[0]].listedtokens; + for (uint256 i = 0; i < listedTokens.length; i++) { + require(tokenIds[i] == listedTokens[i], 'One or more tokens are not listed'); + } + return true; + } + + function addRegisterPayment( + address buyer, + uint256[] calldata tokenIds, + uint256 payment, + string calldata tokenType + ) public virtual onlyOwner { + require(registeredPayment[tokenIds[0]].buyer == address(0), 'RegisterPayment already exists'); + registeredPayment[tokenIds[0]] = RegisteredPayment({buyer: buyer, boughtTokens: tokenIds, tokenType: tokenType, payment: payment}); + } + + function getRegisterPayment(uint256 tokenId) public view virtual returns (RegisteredPayment memory) { + return registeredPayment[tokenId]; + } + + function checkRegisterPayment(uint256 tokenId, address buyer) public view virtual returns (uint256) { + if (registeredPayment[tokenId].buyer == buyer) return registeredPayment[tokenId].payment; + else return 0; + } + + function checkRegisterPayment( + uint256 tokenId, + address buyer, + string memory tokenType + ) public view virtual returns (uint256) { + if (registeredPayment[tokenId].buyer == buyer) { + require(_isSameString(tokenType, registeredPayment[tokenId].tokenType), 'TokenType mismatch'); + return registeredPayment[tokenId].payment; + } else return 0; + } + + function removeRegisterPayment(address buyer, uint256 tokenId) public virtual onlyOwner { + require(registeredPayment[tokenId].buyer == buyer, 'RegisterPayment not found'); + delete registeredPayment[tokenId]; + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol new file mode 100644 index 0000000000000..bab09b42e7d5e --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol @@ -0,0 +1,579 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity 0.8.10; + +import '@openzeppelin/contracts/token/ERC20/IERC20.sol'; +import '@openzeppelin/contracts/token/ERC721/ERC721.sol'; +import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol'; +import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol'; +import '@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol'; +import '@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol'; +import '@openzeppelin/contracts/access/AccessControlEnumerable.sol'; +import '@openzeppelin/contracts/utils/Address.sol'; +import '@openzeppelin/contracts/utils/Counters.sol'; +import '@openzeppelin/contracts/security/ReentrancyGuard.sol'; +import './RoyaltyBearingTokenStorage.sol'; +import './RoyaltyModule.sol'; +import './PaymentModule.sol'; + +contract RoyaltyBearingToken is ERC721, ERC721Burnable, ERC721Pausable, ERC721URIStorage, AccessControlEnumerable, RoyaltyBearingTokenStorage, IERC721Receiver, ReentrancyGuard { + using Address for address; + using Counters for Counters.Counter; + bool private onlyOnce = false; + + constructor( + string memory name, + string memory symbol, + string memory baseTokenURI, + string[] memory allowedTokenTypes, + address[] memory allowedTokenAddresses, + address creatorAddress, + uint256 numGenerations + ) ERC721(name, symbol) { + require(_msgSender() == tx.origin, 'Caller must not be a contract'); + require(!creatorAddress.isContract(), 'Creator must not be a contract'); + require(allowedTokenTypes.length == allowedTokenAddresses.length, 'Numbers of allowed tokens'); + _baseTokenURI = baseTokenURI; + _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); + _setupRole(MINTER_ROLE, _msgSender()); + _setupRole(PAUSER_ROLE, _msgSender()); + _setupRole(CREATOR_ROLE, creatorAddress); + + _numGenerations = numGenerations; + + for (uint256 i = 0; i < allowedTokenTypes.length; i++) { + addAllowedTokenType(allowedTokenTypes[i], allowedTokenAddresses[i]); + } + + //For tree logic we need start id from 1 not 0; + _tokenIdTracker.increment(); + } + + function init(address royaltyModuleAddress, address paymentModuleAddress) public virtual { + require(!onlyOnce, 'Init was called before'); + require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()), 'Admin role required'); + royaltyModule = RoyaltyModule(royaltyModuleAddress); + paymentModule = PaymentModule(paymentModuleAddress); + onlyOnce = true; + } + + function updatelistinglimit(uint256 maxListingNumber) public virtual returns (bool) { + //ensure that msg.sender has the creater role or internal call + require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); + return paymentModule.updatelistinglimit(maxListingNumber); + } + + function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual returns (bool) { + //ensure that msg.sender has the creater role or internal call + require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); + return royaltyModule.updateRAccountLimits(maxSubAccounts, minRoyaltySplit); + } + + function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool) { + //ensure that msg.sender has the creater role or internal call + require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); + _numGenerations = newMaxNumber; + return true; + } + + function getModules() public view returns (address, address) { + return (address(royaltyModule), address(paymentModule)); + } + + function delegateAuthority( + bytes4 functionSig, + bytes calldata _functionData, + bytes32 documentHash, + uint8[] memory sigV, + bytes32[] memory sigR, + bytes32[] memory sigS, + uint256 chainid + ) public virtual returns (bool) { + require(chainid == block.chainid, 'Wrong blockchain'); + require(functionSigMap[functionSig], 'Not a valid function'); + + bytes32 prefixedProof = keccak256(abi.encodePacked('\x19Ethereum Signed Message:\n32', documentHash)); + address recovered = ecrecover(prefixedProof, sigV[0], sigR[0], sigS[0]); + + require(hasRole(CREATOR_ROLE, recovered), 'Signature'); //Signature was not from creator + + (bool success, ) = address(this).call(_functionData); + require(success); + return true; + } + + //Note that functionSig must be calculated as follows + //bytes4(keccak256("updateMaxGenerations(uint256)") + function setFunctionSignature(bytes4 functionSig) public virtual returns (bool) { + require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()) || hasRole(CREATOR_ROLE, _msgSender()), 'Admin or Creator role required'); + functionSigMap[functionSig] = true; + return true; + } + + function onERC721Received( + address, /*operator*/ + address from, + uint256, /*tokenId*/ + bytes calldata /*data*/ + ) external pure returns (bytes4) { + require(from == address(0), 'Only minted'); + //required to allow transfer mined token to this contract + return bytes4(keccak256('onERC721Received(address,address,uint256,bytes)')); + } + + function addAllowedTokenType(string memory tokenName, address tokenAddress) public { + require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()), 'Admin role required'); + if (_isEthToken(tokenName)) { + tokenAddress = address(this); + } else { + require(tokenAddress != address(0x0) && tokenAddress.isContract(), 'Token must be contact'); + } + require(allowedTokenContract[tokenAddress] == 0, 'Token is duplicate'); + + allowedToken[string(tokenName)] = tokenAddress; + allowedTokenList.push(tokenAddress); + allowedTokenContract[tokenAddress] = allowedTokenList.length; + } + + function getAllowedTokens() public view returns (address[] memory) { + return (allowedTokenList); + } + + //Royalty module functions + //Get a Royalty Account through the NFT token index + function getRoyaltyAccount(uint256 tokenId) + public + view + virtual + returns ( + address accountId, + RoyaltyAccount memory account, + RASubAccount[] memory subaccounts + ) + { + require(_exists(tokenId), 'NFT does not exist'); + return royaltyModule.getAccount(tokenId); + } + + // Rules: + // Only subaccount owner can decrease splitRoyalty for this subaccount + // Only parent token owner can decrease royalty subaccount splitRoyalty + function updateRoyaltyAccount(uint256 tokenId, RASubAccount[] memory affectedSubaccounts) public virtual { + uint256 parentId = ancestry[tokenId].parentId; + bool isTokenOwner = getApproved(parentId) == _msgSender(); + + royaltyModule.updateRoyaltyAccount(tokenId, affectedSubaccounts, _msgSender(), isTokenOwner); + } + + /** + * @dev Creates a new token for `to`. Its token ID will be automatically + * assigned (and available on the emitted {IERC721-Transfer} event), and the token + * URI autogenerated based on the base URI passed at construction. + * + * See {ERC721-_mint}. + * + * Requirements: + * + * - the caller must have the `MINTER_ROLE`. + */ + function mint( + address to, + NFTToken[] memory nfttokens, + string memory tokenType + ) public virtual { + require(nfttokens.length > 0, 'nfttokens has no value'); + require(hasRole(MINTER_ROLE, _msgSender()) || hasRole(CREATOR_ROLE, _msgSender()), 'Minter or Creator role required'); + //ensure to address is not a contract + require(to != address(0x0), 'Zero Address cannot have active NFTs!'); + //require(!to.isContract(), 'Cannot be minted to contracts'); + if (to == _msgSender()) { + require(tx.origin == to, 'To must not be contracts'); + } else { + require(!to.isContract(), 'To must not be contracts'); + } + + //token type must exist + require(allowedToken[tokenType] != address(0x0), 'Token Type not supported!'); + + //Loop through the array of tokens to be minted + for (uint256 i = 0; i < nfttokens.length; i++) { + NFTToken memory token = nfttokens[i]; + + //royaltySplitForItsChildren must be less or equal to 100% + require(token.royaltySplitForItsChildren <= 10000, 'Royalty Split is > 100%'); + + //If the token cannot have offspring royaltySplitForItsChildren must be zero + if (!token.canBeParent) { + token.royaltySplitForItsChildren = 0; + } + + //create RA account identifier + uint256 tokenId = _tokenIdTracker.current(); + + //enforce business rules + if (token.parent > 0) { + require(_exists(token.parent), 'Parent NFT does not exist'); + + //update ancestry struct and mapping + require(ancestry[token.parent].ancestryLevel < _numGenerations, 'Generation limit'); + require(ancestry[token.parent].children.length < ancestry[token.parent].maxChildren, 'Offspring limit'); + ancestry[token.parent].children.push(tokenId); + // store link to parent + ancestry[tokenId].parentId = token.parent; + ancestry[tokenId].ancestryLevel = ancestry[token.parent].ancestryLevel + 1; + } + + // We cannot just use balanceOf to create the new tokenId because tokens + // can be burned (destroyed), so we need a separate counter. + // The NFT contract address(this) must be the owner + _safeMint(address(this), tokenId); + + //give to address minter role unless it has it already + _grantRole(MINTER_ROLE, to); + + // after successful minting, the to address will be approved as an NFT controller. + _approve(to, tokenId); + + //Create and link royalty account + royaltyModule.createRoyaltyAccount(to, token.parent, tokenId, tokenType, token.royaltySplitForItsChildren); + + //set token URI + _setTokenURI(tokenId, token.uri); + + //if new token can have children instantiate struct and add to mapping + if (token.canBeParent) { + ancestry[tokenId].maxChildren = token.maxChildren; + } + + //increment token counter to know which is the next token index that can be minted + _tokenIdTracker.increment(); + } + } + + function updateMaxChildren(uint256 tokenId, uint256 newMaxChildren) public virtual returns (bool) { + //ensure that msg.sender has the role minter + require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); + require(newMaxChildren > ancestry[tokenId].children.length, 'Max < Actual'); + ancestry[tokenId].maxChildren = newMaxChildren; + + return true; + } + + //Functions for support ERC721 extensions + function tokenURI(uint256 tokenId) public view virtual override(ERC721, ERC721URIStorage) returns (string memory) { + return super.tokenURI(tokenId); + } + + function _baseURI() internal view virtual override returns (string memory) { + return _baseTokenURI; + } + + function pause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), 'Pauser role required'); + _pause(); + } + + function unpause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), 'Pauser role required'); + _unpause(); + } + + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override(ERC721, ERC721Pausable) { + super._beforeTokenTransfer(from, to, tokenId); + } + + function supportsInterface(bytes4 interfaceId) public view virtual override(AccessControlEnumerable, ERC721) returns (bool) { + return super.supportsInterface(interfaceId); + } + + function _burn(uint256 tokenId) internal virtual override(ERC721, ERC721URIStorage) { + super._burn(tokenId); + } + + function burn(uint256 tokenId) public virtual override { + require(getApproved(tokenId) == _msgSender(), 'Sender not authorized to burn'); + require(ancestry[tokenId].children.length == 0, 'NFT must not have children'); + //delete token from royalty (check for 0 balance included) + royaltyModule.deleteRoyaltyAccount(tokenId); + + _burn(tokenId); + + uint256 parentId = ancestry[tokenId].parentId; + uint256 length = ancestry[parentId].children.length; + //delete burned token from ancestry + for (uint256 i = 0; i < length; i++) { + if (ancestry[parentId].children[i] == tokenId) { + //swap with last and delete last element for less gas + ancestry[parentId].children[i] = ancestry[parentId].children[length - 1]; + delete ancestry[parentId].children[length - 1]; + break; + } + } + } + + function transferFrom( + address, + address, + uint256 + ) public pure override { + revert('Function not allowed'); + } + + function safeTransferFrom( + address, + address, + uint256 + ) public virtual override { + revert('Function not allowed'); + } + + function _getTokenBalance(address tokenAddress) private view returns (uint256) { + return IERC20(tokenAddress).balanceOf(address(this)); + } + + function _isEthToken(string memory tokenType) internal pure returns (bool) { + return keccak256(abi.encodePacked(tokenType)) == keccak256(abi.encodePacked('ETH')); + } + + function listNFT( + uint256[] calldata tokenIds, + uint256 price, + string calldata tokenType + ) public virtual returns (bool) { + + for (uint256 i = 0; i < tokenIds.length; i++) { + require(getApproved(tokenIds[i]) == _msgSender(), 'Must be token owner'); + require(royaltyModule.isSupportedTokenType(tokenIds[i], tokenType), 'Unsupported token type'); + } + //Put tokens to listed + paymentModule.addListNFT(_msgSender(), tokenIds, price, tokenType); + return true; + } + + function removeNFTListing(uint256 tokenId) public virtual returns (bool) { + require(_msgSender() == getApproved(tokenId), 'Must be token owner'); + paymentModule.removeListNFT(tokenId); + return true; + } + + function _requireExistsAndOwned(uint256[] memory tokenIds, address seller) internal view { + for (uint256 i = 0; i < tokenIds.length; i++) { + require(_exists(tokenIds[i]), 'Token does not exist'); + require(seller == getApproved(tokenIds[i]), 'Seller is not owner'); + } + } + + // ERC20 royalty payment + function executePayment( + address receiver, + address seller, + uint256[] calldata tokenIds, + uint256 payment, + string calldata tokenType, + int256 trxntype + ) public virtual nonReentrant returns (bool) { + require(payment > 0, 'Payments cannot be 0!'); + require(trxntype == 0 || trxntype == 1, 'Trxn type not supported'); + require(receiver != address(0), 'Receiver must not be zero'); + _requireExistsAndOwned(tokenIds, seller); + + paymentModule.isValidPaymentMetadata(seller, tokenIds, payment, tokenType); + + //Execute ERC20 payment + address payToken = allowedToken[tokenType]; + { + require(payToken != address(0x0), 'Unsupported token type'); + //Check for ERC20 approval + uint256 allowed = IERC20(payToken).allowance(_msgSender(), address(this)); + require(allowed >= payment, 'Insufficient token allowance'); + + uint256 balanceBefore = _getTokenBalance(payToken); + + //Transfer ERC20 token to contact + bool success = IERC20(payToken).transferFrom(_msgSender(), address(this), payment); + require(success && payment == _getTokenBalance(payToken) - balanceBefore, 'ERC20 transfer failed'); + } + + //If the transfer is successful, the registeredPayment mapping is updated if trxntype = 1 + if (trxntype == 1) { + paymentModule.addRegisterPayment(_msgSender(), tokenIds, payment, tokenType); + } + //if trxntype = 0, an internal version of the safeTransferFrom function must be called to transfer the NFTs to the buyer + else if (trxntype == 0) { + //encode payment data for transfer(s) + bytes memory data = abi.encode(seller, _msgSender(), receiver, tokenIds, tokenType, payment, payToken, block.chainid); + + //transfer NFT(s) + _safeTransferFrom(seller, _msgSender(), tokenIds[0], data); + } + + return true; + } + + function checkPayment( + uint256 tokenId, + string memory tokenType, + address buyer + ) public view virtual returns (uint256) { + return paymentModule.checkRegisterPayment(tokenId, buyer, tokenType); + } + + function reversePayment(uint256 tokenId, string memory tokenType) public virtual nonReentrant returns (bool) { + uint256 payment = checkPayment(tokenId, tokenType, _msgSender()); + require(payment > 0, 'No payment registered'); + + bool success; + if (_isEthToken(tokenType)) { + //ETH reverse payment + (success, ) = _msgSender().call{value: payment}(''); + require(success, 'Ether payout issue'); + } else { + //ERC20 reverse payment + success = IERC20(allowedToken[tokenType]).transfer(_msgSender(), payment); + require(success, 'ERC20 transfer failed'); + } + paymentModule.removeRegisterPayment(_msgSender(), tokenId); + + return success; + } + + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes memory data + ) public override { + ( + address _seller, + address _buyer, + address _receiver, + uint256[] memory _tokenIds, + string memory _tokenType, + uint256 _payment, /*address _tokenTypeAddress*/ + , + uint256 _chainId + ) = abi.decode(data, (address, address, address, uint256[], string, uint256, address, uint256)); + + require(_seller == from, 'Seller not From address'); + require(_receiver == to, 'Receiver not To address'); + require(_tokenIds[0] == tokenId, 'Wrong NFT listing'); + require(_chainId == block.chainid, 'Transfer on wrong Blockchain'); + + //check register payment + require(paymentModule.checkRegisterPayment(_buyer, _tokenIds, _payment, _tokenType)); + + _requireExistsAndOwned(_tokenIds, _seller); + + //remove register payment + paymentModule.removeRegisterPayment(to, tokenId); + + //Transfer token + _safeTransferFrom(from, to, tokenId, data); + } + + function _safeTransferFrom( + address from, + address to, + uint256, /*tokenId*/ + bytes memory data + ) internal virtual { + (, , , uint256[] memory _tokenIds, string memory tokenType, uint256 payment, address _tokenTypeAddress, ) = abi.decode( + data, + (address, address, address, uint256[], string, uint256, address, uint256) + ); + + require(allowedToken[tokenType] != address(0x0), 'Unsupported token type'); + + if (_isEthToken(tokenType)) { + //Royalty pay in ether + require(_tokenTypeAddress == address(this), 'token address must be contract'); + } + + //Get payments split + uint256[] memory _payments = royaltyModule.splitSum(payment, _tokenIds.length); + + for (uint256 i = 0; i < _tokenIds.length; i++) { + //Distribute royalty payment + royaltyModule.distributePayment(_tokenIds[i], _payments[i]); + + //base transfer after royalty pay + _approve(to, _tokenIds[i]); + //super.safeTransferFrom(from, to, _tokenId, data); + + //give to address minter role unless it has it already -- new in ver 1.3 + _grantRole(MINTER_ROLE, to); + + //Force royalty payout for old account + uint256 balance = royaltyModule.getBalance(_tokenIds[i], payable(from)); + if (balance > 0) _royaltyPayOut(_tokenIds[i], payable(from), payable(from), balance); + + //Transfer RA ownership + royaltyModule.transferRAOwnership(from, _tokenIds[i], to); + } + + paymentModule.removeListNFT(_tokenIds[0]); + } + + receive() external payable {} + + fallback() external payable { + // decode msg.data to decide which transfer route to take + (address seller, uint256[] memory tokenIds, address receiver, int256 trxntype) = abi.decode(msg.data, (address, uint256[], address, int256)); + + _requireExistsAndOwned(tokenIds, seller); + + paymentModule.isValidPaymentMetadata(seller, tokenIds, msg.value, 'ETH'); + //decide which transfer path to go based on trxntype (0 = direct purchase, 1 = exchange purchase) + if (trxntype == 1) { + //register payment for exchange based purchases which require a separate, external call to safeTransferFrom function + paymentModule.addRegisterPayment(_msgSender(), tokenIds, msg.value, 'ETH'); + } else if (trxntype == 0) { + //encode payment data for transfer(s) + bytes memory data = abi.encode(seller, _msgSender(), receiver, tokenIds, 'ETH', msg.value, address(this), block.chainid); + + //transfer NFT(s) + _safeTransferFrom(seller, _msgSender(), tokenIds[0], data); + } else { + //if the trxn type is not supported then we need to revert the entire transaction. + revert('Trxn type not supported'); + } + } + + function royaltyPayOut( + uint256 tokenId, + address RAsubaccount, + address payable payoutAccount, + uint256 amount + ) public virtual returns (bool) { + require(_msgSender() == RAsubaccount, 'Sender must be subaccount owner'); + return _royaltyPayOut(tokenId, RAsubaccount, payoutAccount, amount); + } + + function _royaltyPayOut( + uint256 tokenId, + address RAsubaccount, + address payable payoutAccount, + uint256 amount + ) internal virtual returns (bool) { + royaltyModule.checkBalanceForPayout(tokenId, RAsubaccount, amount); + string memory tokenType = royaltyModule.getTokenType(tokenId); + //Reentrancy defence + royaltyModule.withdrawBalance(tokenId, RAsubaccount, amount); + + //payout in Ether + if (_isEthToken(tokenType)) { + (bool success, ) = payoutAccount.call{value: amount}(''); + require(success, 'Ether payout issue'); + } + //payout in tokens + else { + bool success = IERC20(allowedToken[tokenType]).transfer(payoutAccount, amount); + require(success, 'ERC20 transfer failed'); + } + + return true; + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol new file mode 100644 index 0000000000000..23fbe4f989959 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity 0.8.10; + +import './StorageStructure.sol'; +import '@openzeppelin/contracts/utils/Address.sol'; +import '@openzeppelin/contracts/utils/Counters.sol'; +import '@openzeppelin/contracts/access/AccessControlEnumerable.sol'; +import './RoyaltyModule.sol'; +import './PaymentModule.sol'; + +contract RoyaltyBearingTokenStorage is StorageStructure, AccessControlEnumerable { + using Address for address; + using Counters for Counters.Counter; + + bytes32 public constant MINTER_ROLE = keccak256('MINTER_ROLE'); + bytes32 public constant PAUSER_ROLE = keccak256('PAUSER_ROLE'); + bytes32 public constant CREATOR_ROLE = keccak256('CREATOR_ROLE'); + string internal _baseTokenURI; + Counters.Counter internal _tokenIdTracker; + + mapping(uint256 => Child) internal ancestry; //An ancestry mapping of the parent-to-child NFT relationship + mapping(string => address) internal allowedToken; //A mapping of supported token types to their origin contracts + mapping(address => uint256) internal allowedTokenContract; //A mapping of supported token types to their origin contracts + address[] internal allowedTokenList; + mapping(bytes4 => bool) internal functionSigMap; //functionSig mapping + + RoyaltyModule internal royaltyModule; + PaymentModule internal paymentModule; + //address internal logicModule; + + uint256 internal _numGenerations; + address internal _ttAddress; + uint256 internal _royaltySplitTT; + + event Received(address sender, uint256 amount, uint256 tokenId); +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol new file mode 100644 index 0000000000000..ac06718a6f9cf --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol @@ -0,0 +1,298 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity 0.8.10; + +import '@openzeppelin/contracts/access/Ownable.sol'; +import './StorageStructure.sol'; +import 'abdk-libraries-solidity/ABDKMathQuad.sol'; + +contract RoyaltyModule is StorageStructure, Ownable { + mapping(uint256 => address) private _tokenindextoRA; //Mapping a tokenId to an raAccountID in order to connect a RA raAccountId to a tokenId + mapping(address => RoyaltyAccount) private _royaltyaccount; //Mapping the raAccountID to a RoyaltyAccount in order to connect the account identifier to the actual account. + mapping(address => RASubAccount[]) private _royaltysubaccounts; //workaround for array in struct + mapping(uint256 => Child) private ancestry; //An ancestry mapping of the parent-to-child NFT relationship + + event RoyalyDistributed(uint256 tokenId, address to, uint256 amount, uint256 assetId); + address private _ttAddress; + uint256 private _royaltySplitTT; + uint256 private _maxSubAccount; + uint256 private _minRoyaltySplit; + + constructor( + address owner, + address ttAddress, + uint256 royaltySplitTT, + uint256 minRoyaltySplit, + uint256 maxSubAccounts + ) { + transferOwnership(owner); + require(royaltySplitTT < 10000, 'Royalty Split to TT is > 100%'); //new v1.3 + require(royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); + require(ttAddress != address(0), 'Zero Address cannot be TT roaylty account'); + _ttAddress = ttAddress; + _royaltySplitTT = royaltySplitTT; + _maxSubAccount = maxSubAccounts; + _minRoyaltySplit = minRoyaltySplit; + } + + function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual onlyOwner returns (bool) { + require(_royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); + _maxSubAccount = maxSubAccounts; + _minRoyaltySplit = minRoyaltySplit; + return true; + } + + function getAccount(uint256 tokenId) + public + view + returns ( + address, + RoyaltyAccount memory, + RASubAccount[] memory + ) + { + address royaltyAccount = _tokenindextoRA[tokenId]; + return (royaltyAccount, _royaltyaccount[royaltyAccount], _royaltysubaccounts[royaltyAccount]); + } + + // Lib variant + // Rules: + // Only subaccount owner can decrease splitRoyalty for this subaccount + // Only parent token owner can decrease royalty subaccount splitRoyalty + function updateRoyaltyAccount( + uint256 tokenId, + RASubAccount[] memory affectedSubaccounts, + address sender, + bool isTokenOwner + ) public virtual onlyOwner { + address royaltyAccount = _tokenindextoRA[tokenId]; + //Check total sum of royaltySplit was not changed + uint256 oldSum; + uint256 newSum; + for (uint256 i = 0; i < affectedSubaccounts.length; i++) { + require(affectedSubaccounts[i].royaltySplit >= _minRoyaltySplit, 'Royalty Split is smaller then set limit'); + newSum += affectedSubaccounts[i].royaltySplit; + (bool found, uint256 indexOld) = _findSubaccountIndex(royaltyAccount, affectedSubaccounts[i].accountId); + if (found) { + RASubAccount storage foundAcc = _royaltysubaccounts[royaltyAccount][indexOld]; + oldSum += foundAcc.royaltySplit; + //Check rights to decrease royalty split + if (affectedSubaccounts[i].royaltySplit < foundAcc.royaltySplit) { + if (foundAcc.isIndividual) { + require(affectedSubaccounts[i].accountId == sender, 'Only individual subaccount owner can decrease royaltySplit'); + } else { + require(isTokenOwner, 'Only parent token owner can decrease royalty subaccount royaltySplit'); + } + } + } + //New subaccounts must be individual + else { + require(affectedSubaccounts[i].isIndividual, 'New subaccounts must be individual'); + } + } + require(oldSum == newSum, 'Total royaltySplit must be 10000'); + + //Update royalty split for subaccounts and add new subaccounts + for (uint256 i = 0; i < affectedSubaccounts.length; i++) { + (bool found, uint256 indexOld) = _findSubaccountIndex(royaltyAccount, affectedSubaccounts[i].accountId); + if (found) { + _royaltysubaccounts[royaltyAccount][indexOld].royaltySplit = affectedSubaccounts[i].royaltySplit; + } else { + require(_royaltysubaccounts[royaltyAccount].length < _maxSubAccount, 'Too many Royalty subaccounts'); + _royaltysubaccounts[royaltyAccount].push(RASubAccount(true, affectedSubaccounts[i].royaltySplit, 0, affectedSubaccounts[i].accountId)); + } + } + } + + //Deleting a Royalty Account + function deleteRoyaltyAccount(uint256 tokenId) public virtual onlyOwner { + address royaltyAccount = _tokenindextoRA[tokenId]; + for (uint256 i = 0; i < _royaltysubaccounts[royaltyAccount].length; i++) { + if (_royaltysubaccounts[royaltyAccount][i].isIndividual) { + require(_royaltysubaccounts[royaltyAccount][i].royaltyBalance == 0, "Can't delete non empty royalty account"); + } + } + delete _royaltyaccount[royaltyAccount]; + delete _royaltysubaccounts[royaltyAccount]; + delete _tokenindextoRA[tokenId]; + } + + function createRoyaltyAccount( + address to, + uint256 parentTokenId, + uint256 tokenId, + string calldata tokenType, + uint256 royaltySplitForItsChildren + ) public onlyOwner returns (address) { + require(royaltySplitForItsChildren <= 10000, 'Royalty Split to be received from children is > 100%'); + + require(_royaltySplitTT + royaltySplitForItsChildren <= 10000, 'Royalty Splits sum is > 100%'); + address raAccountId = address(bytes20(keccak256(abi.encodePacked(tokenId, to, block.number)))); + if (parentTokenId == 0) { + //Create Royalty account without parent + + //create the RA subaccount for the to address + _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: 10000 - _royaltySplitTT, royaltyBalance: 0, accountId: to})); + + //create the RA subaccount for TreeTrunk + _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: _royaltySplitTT, royaltyBalance: 0, accountId: _ttAddress})); + + //now create the Royalty Account + //map assetID to RA + _royaltyaccount[raAccountId] = RoyaltyAccount({assetId: tokenId, parentId: 0, royaltySplitForItsChildren: royaltySplitForItsChildren, tokenType: tokenType, balance: 0}); + } else { + //Create royalty account with parent + + address parentRoyaltyAccount = _tokenindextoRA[parentTokenId]; + //tokenType must be same as in parent + require(_isSameString(tokenType, _royaltyaccount[parentRoyaltyAccount].tokenType), 'tokenType must be same as in parent'); + + RoyaltyAccount memory parentRA = _royaltyaccount[parentRoyaltyAccount]; + //create the RA subaccount for the to address + _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: 10000 - parentRA.royaltySplitForItsChildren - _royaltySplitTT, royaltyBalance: 0, accountId: to})); + + //create the RA subaccount for TreeTrunk + _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: _royaltySplitTT, royaltyBalance: 0, accountId: _ttAddress})); + + //create the RA subaccount for the RA address of the ancestor + _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: false, royaltySplit: parentRA.royaltySplitForItsChildren, royaltyBalance: 0, accountId: parentRoyaltyAccount})); + + //now create the Royalty Account + //map assetID to RA + _royaltyaccount[raAccountId] = RoyaltyAccount({assetId: tokenId, parentId: parentRA.assetId, royaltySplitForItsChildren: royaltySplitForItsChildren, tokenType: tokenType, balance: 0}); + } + require(_royaltysubaccounts[raAccountId].length <= _maxSubAccount, 'Too many Royalty subaccounts'); + _tokenindextoRA[tokenId] = raAccountId; + return raAccountId; + } + + //Function for recursive distribution royalty for RA tree + function distributePayment(uint256 tokenId, uint256 payment) public virtual onlyOwner returns (bool) { + address royaltyAccount = _tokenindextoRA[tokenId]; + return _distributePayment(royaltyAccount, payment, tokenId); + } + + function _distributePayment( + address royaltyAccount, + uint256 payment, + uint256 tokenId + ) internal virtual returns (bool) { + uint256 remainsValue = payment; + uint256 remainsSplit = 10000; + uint256 assetId = _royaltyaccount[royaltyAccount].assetId; + for (uint256 i = 0; i < _royaltysubaccounts[royaltyAccount].length; i++) { + //skip calculate for 0% subaccounts + if (_royaltysubaccounts[royaltyAccount][i].royaltySplit == 0) continue; + //calculate royalty split sum + uint256 paymentSplit = mulDiv(remainsValue, _royaltysubaccounts[royaltyAccount][i].royaltySplit, remainsSplit); + remainsValue -= paymentSplit; + remainsSplit -= _royaltysubaccounts[royaltyAccount][i].royaltySplit; + //distribute if IND subaccount + if (_royaltysubaccounts[royaltyAccount][i].isIndividual == true) { + _royaltysubaccounts[royaltyAccount][i].royaltyBalance += paymentSplit; + emit RoyalyDistributed(tokenId, _royaltysubaccounts[royaltyAccount][i].accountId, paymentSplit, assetId); + } + //distribute if RA subaccounts + else { + _distributePayment(_royaltysubaccounts[royaltyAccount][i].accountId, paymentSplit, tokenId); + } + } + return true; + } + + function isSupportedTokenType(uint256 tokenId, string calldata tokenType) public view returns (bool) { + return _isSameString(tokenType, _royaltyaccount[_tokenindextoRA[tokenId]].tokenType); + } + + function getTokenType(uint256 tokenId) public view returns (string memory) { + return _royaltyaccount[_tokenindextoRA[tokenId]].tokenType; + } + + function findSubaccountIndex(uint256 tokenId, address subaccount) public view virtual returns (bool, uint256) { + address royaltyAccount = _tokenindextoRA[tokenId]; + return _findSubaccountIndex(royaltyAccount, subaccount); + } + + function checkBalanceForPayout( + uint256 tokenId, + address subaccount, + uint256 amount + ) public view virtual returns (bool) { + (bool subaccountFound, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); + require(subaccountFound, 'Subaccount not found'); + RASubAccount memory subAccount = getSubaccount(tokenId, subaccountIndex); + require(subAccount.isIndividual == true, 'Subaccount must be individual'); + require(subAccount.royaltyBalance >= amount, 'Insufficient royalty balance'); + return true; + } + + function getSubaccount(uint256 tokenId, uint256 subaccountIndex) public view virtual returns (RASubAccount memory) { + return _royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex]; + } + + function getBalance(uint256 tokenId, address subaccount) public view virtual returns (uint256) { + (bool found, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); + if (!found) return 0; + return getSubaccount(tokenId, subaccountIndex).royaltyBalance; + } + + //Used for reduce royalty ballance after payout + //Used only in RoyaltyBearingToken._royaltyPayOut(uint256,address,address,uint256) + function withdrawBalance( + uint256 tokenId, + address subaccount, + uint256 amount + ) public virtual onlyOwner { + (bool subaccountFound, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); + require(subaccountFound, 'Subaccount not found'); + require(_royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex].royaltyBalance >= amount, 'Insufficient royalty balance'); + _royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex].royaltyBalance -= amount; + } + + //Used in RoyaltyBearingToken._safeTransferFrom(address, address,uint256, bytes) + //for transfer royalty account ownership after tranfer token ownership + function transferRAOwnership( + address seller, + uint256 tokenId, + address buyer + ) public virtual onlyOwner { + address royaltyAccount = _tokenindextoRA[tokenId]; + (bool found, uint256 index) = _findSubaccountIndex(royaltyAccount, seller); + require(found, 'Seller subaccount not found'); + require(_royaltysubaccounts[royaltyAccount][index].royaltyBalance == uint256(0), 'Seller subaccount must have 0 balance'); + + //replace owner of subaccount + _royaltysubaccounts[royaltyAccount][index].accountId = buyer; + } + + // Find subaccount index by subaccount address + function _findSubaccountIndex(address royaltyAccount, address subaccount) internal view virtual returns (bool, uint256) { + //local variable decrease contract code size + RASubAccount[] storage subAccounts = _royaltysubaccounts[royaltyAccount]; + for (uint256 i = 0; i < subAccounts.length; i++) { + if (subAccounts[i].accountId == subaccount) { + return (true, i); + } + } + return (false, 0); + } + + //Util function for split royalty payment + function mulDiv( + uint256 x, + uint256 y, + uint256 z + ) public pure returns (uint256) { + return ABDKMathQuad.toUInt(ABDKMathQuad.div(ABDKMathQuad.mul(ABDKMathQuad.fromUInt(x), ABDKMathQuad.fromUInt(y)), ABDKMathQuad.fromUInt(z))); + } + + //Util function for split value by pieces without remains + function splitSum(uint256 sum, uint256 pieces) public pure virtual returns (uint256[] memory) { + uint256[] memory result = new uint256[](pieces); + uint256 remains = sum; + for (uint256 i = 0; i < pieces; i++) { + result[i] = mulDiv(remains, 1, pieces - i); + remains -= result[i]; + } + return result; + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol new file mode 100644 index 0000000000000..9f829ea0e6ac8 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity 0.8.10; + +contract StorageStructure { + struct RoyaltyAccount { + //assetId is the tokenId of the NFT the RA belongs to + uint256 assetId; + //parentId is the tokenId of the NFT from which this NFT is derived + uint256 parentId; + //royaltySplit to be paid to RA from its direct offspring + uint256 royaltySplitForItsChildren; + //tokenType of the balance in this RA account + string tokenType; + //Account balance is the total RA account balance and must be equal to the sum of the subaccount balances + uint256 balance; + //the struct array for sub accounts (Not supported in eth) + //RASubAccount[] rasubaccount; + } + + struct RASubAccount { + //accounttype is defined as isIndividual, and is a boolean variable, and if set to true, the account is that of an individual, if set to false, the account is an RA account ID + bool isIndividual; + // royalty split gives the percentage as a decimal value smaller than 1 + uint256 royaltySplit; + //balance of the subaccount + uint256 royaltyBalance; + //we need the account id which we define as a bytes32 such that it is easy to convert to an address and can also be used to identity an RA acount by a hash value + address accountId; + } + + struct Child { + //link to parent token + uint256 parentId; + //maximum number of children + uint256 maxChildren; + //ancestry level of NFT used to determine level of children + uint256 ancestryLevel; //new in v1.3 + //link to children tokens + uint256[] children; + } + + struct NFTToken { + //the parent of the (child) token, if 0 then there is no parent + uint256 parent; + //whether the token can be a parent + bool canBeParent; + //how many children the token can have + uint256 maxChildren; + //what the Royalty Split For Its Child is + uint256 royaltySplitForItsChildren; + //token URI + string uri; + } + + struct RegisteredPayment { + //Buyer + address buyer; + //tokens bought + uint256[] boughtTokens; + //Type of Payment Token + string tokenType; + //Payment amount + uint256 payment; + } + + struct ListedNFT { + //Seller + address seller; + //tokens listed + uint256[] listedtokens; + //Type of Payment Token + string tokenType; + //List price + uint256 price; + } + + function _isSameString(string memory left, string memory right) internal pure returns (bool) { + return keccak256(abi.encodePacked(left)) == keccak256(abi.encodePacked(right)); + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol new file mode 100644 index 0000000000000..60f3aa493c528 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: Unlicenzed +pragma solidity ^0.8.0; + +import "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol"; + +contract WETH_Mock is ERC20PresetMinterPauser { + constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} +} + +contract SomeERC20_1 is ERC20PresetMinterPauser { + constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} +} + +contract SomeERC20_2 is ERC20PresetMinterPauser { + constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol new file mode 100644 index 0000000000000..f1cc9e995df42 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: Unlicensed +pragma solidity ^0.8.10; + +//import '@openzeppelin/contracts/token/ERC20/IERC20.sol' + +interface ERC20 { + function transfer(address to, uint256 value) external returns (bool); + + function balanceOf(address account) external view returns (uint256); + + event Transfer(address indexed from, address indexed to, uint256 value); +} + +contract Faucet { + uint256 public constant tokenAmount = 100000000000000000000; + uint256 public constant waitTime = 10 minutes; + + ERC20 public tokenInstance; + + mapping(address => uint256) lastAccessTime; + + constructor(address _tokenInstance) { + require(_tokenInstance != address(0)); + tokenInstance = ERC20(_tokenInstance); + } + + function getTokeInstance() public view returns (address) { + return address(tokenInstance); + } + + function getBalance() public view returns (uint256) { + return tokenInstance.balanceOf(address(this)); + } + + function requestTokens() public { + requestTokensTo(msg.sender); + } + + function requestTokensTo(address _receiver) public { + require(allowedToWithdraw(_receiver)); + tokenInstance.transfer(_receiver, tokenAmount); + lastAccessTime[_receiver] = block.timestamp + waitTime; + } + + function allowedToWithdraw(address _address) public view returns (bool) { + if (lastAccessTime[_address] == 0) { + return true; + } else if (block.timestamp >= lastAccessTime[_address]) { + return true; + } + return false; + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/coverage.json b/assets/eip-4910/eip-4910-reference-implementation/coverage.json new file mode 100644 index 0000000000000..a8d0488973487 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/coverage.json @@ -0,0 +1 @@ +{"contracts/PaymentModule.sol":{"l":{"18":3,"19":3,"20":3,"24":2,"25":2,"26":2,"35":27,"36":27,"37":23,"38":21,"40":21,"41":26,"44":21,"48":27,"50":25,"51":34,"53":23,"57":22,"59":20,"60":25,"63":20,"64":21,"65":20,"66":20,"67":20,"71":20,"75":1,"76":1,"80":1,"90":34,"92":34,"94":34,"96":32,"98":28,"99":28,"100":37,"102":26,"111":7,"112":5,"116":1,"124":10,"125":6,"126":5,"138":11,"140":9,"142":7,"144":5,"145":5,"146":7,"148":5,"153":5,"154":5},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/PaymentModule.sol","s":{"1":3,"2":3,"3":3,"4":2,"5":2,"6":2,"7":27,"8":27,"9":23,"10":21,"11":21,"12":26,"13":21,"14":27,"15":2,"16":25,"17":34,"18":2,"19":23,"20":22,"21":20,"22":25,"23":20,"24":21,"25":20,"26":20,"27":1,"28":1,"29":1,"30":34,"31":34,"32":34,"33":32,"34":28,"35":28,"36":37,"37":26,"38":7,"39":5,"40":1,"41":10,"42":6,"43":5,"44":4,"45":11,"46":9,"47":7,"48":5,"49":5,"50":7,"51":5,"52":5},"b":{"1":[3,0],"2":[2,0],"3":[27,0],"4":[23,4],"5":[21,2],"6":[2,25],"7":[2,32],"8":[20,2],"9":[20,1],"10":[1,0],"11":[34,0],"12":[34,0],"13":[32,2],"14":[28,4],"15":[35,2],"16":[5,2],"17":[6,4],"18":[5,1],"19":[9,2],"20":[7,2],"21":[5,2],"22":[7,0],"23":[5,0]},"f":{"1":3,"2":2,"3":27,"4":27,"5":22,"6":1,"7":1,"8":34,"9":7,"10":1,"11":10,"12":11,"13":5},"fnMap":{"1":{"name":"constructor","line":17,"loc":{"start":{"line":17,"column":4},"end":{"line":21,"column":4}}},"2":{"name":"updatelistinglimit","line":23,"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":4}}},"3":{"name":"addListNFT","line":34,"loc":{"start":{"line":29,"column":4},"end":{"line":45,"column":4}}},"4":{"name":"existsInListNFT","line":47,"loc":{"start":{"line":47,"column":4},"end":{"line":54,"column":4}}},"5":{"name":"removeListNFT","line":56,"loc":{"start":{"line":56,"column":4},"end":{"line":72,"column":4}}},"6":{"name":"getListNFT","line":74,"loc":{"start":{"line":74,"column":4},"end":{"line":77,"column":4}}},"7":{"name":"getAllListNFT","line":79,"loc":{"start":{"line":79,"column":4},"end":{"line":81,"column":4}}},"8":{"name":"isValidPaymentMetadata","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":103,"column":4}}},"9":{"name":"addRegisterPayment","line":110,"loc":{"start":{"line":105,"column":4},"end":{"line":113,"column":4}}},"10":{"name":"getRegisterPayment","line":115,"loc":{"start":{"line":115,"column":4},"end":{"line":117,"column":4}}},"11":{"name":"checkRegisterPayment","line":119,"loc":{"start":{"line":119,"column":4},"end":{"line":128,"column":4}}},"12":{"name":"checkRegisterPayment","line":132,"loc":{"start":{"line":132,"column":4},"end":{"line":149,"column":4}}},"13":{"name":"removeRegisterPayment","line":152,"loc":{"start":{"line":152,"column":4},"end":{"line":155,"column":4}}}},"statementMap":{"1":{"start":{"line":18,"column":8},"end":{"line":18,"column":31}},"2":{"start":{"line":19,"column":8},"end":{"line":19,"column":62}},"3":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"4":{"start":{"line":24,"column":8},"end":{"line":24,"column":62}},"5":{"start":{"line":25,"column":8},"end":{"line":25,"column":43}},"6":{"start":{"line":26,"column":8},"end":{"line":26,"column":19}},"7":{"start":{"line":35,"column":8},"end":{"line":35,"column":51}},"8":{"start":{"line":36,"column":8},"end":{"line":36,"column":60}},"9":{"start":{"line":37,"column":8},"end":{"line":37,"column":76}},"10":{"start":{"line":38,"column":8},"end":{"line":38,"column":119}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":1671}},"12":{"start":{"line":41,"column":12},"end":{"line":41,"column":40}},"13":{"start":{"line":44,"column":8},"end":{"line":44,"column":38}},"14":{"start":{"line":48,"column":8},"end":{"line":48,"column":68}},"15":{"start":{"line":48,"column":57},"end":{"line":48,"column":68}},"16":{"start":{"line":50,"column":8},"end":{"line":50,"column":2020}},"17":{"start":{"line":51,"column":12},"end":{"line":51,"column":51}},"18":{"start":{"line":51,"column":40},"end":{"line":51,"column":51}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":20}},"20":{"start":{"line":57,"column":8},"end":{"line":57,"column":96}},"21":{"start":{"line":59,"column":8},"end":{"line":59,"column":2361}},"22":{"start":{"line":60,"column":12},"end":{"line":60,"column":64}},"23":{"start":{"line":63,"column":8},"end":{"line":63,"column":2545}},"24":{"start":{"line":64,"column":12},"end":{"line":64,"column":2614}},"25":{"start":{"line":65,"column":16},"end":{"line":65,"column":73}},"26":{"start":{"line":66,"column":16},"end":{"line":66,"column":34}},"27":{"start":{"line":75,"column":8},"end":{"line":75,"column":76}},"28":{"start":{"line":76,"column":8},"end":{"line":76,"column":33}},"29":{"start":{"line":80,"column":8},"end":{"line":80,"column":28}},"30":{"start":{"line":90,"column":8},"end":{"line":90,"column":80}},"31":{"start":{"line":92,"column":8},"end":{"line":92,"column":89}},"32":{"start":{"line":94,"column":8},"end":{"line":94,"column":77}},"33":{"start":{"line":96,"column":8},"end":{"line":96,"column":122}},"34":{"start":{"line":98,"column":8},"end":{"line":98,"column":75}},"35":{"start":{"line":99,"column":8},"end":{"line":99,"column":4081}},"36":{"start":{"line":100,"column":12},"end":{"line":100,"column":87}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":19}},"38":{"start":{"line":111,"column":8},"end":{"line":111,"column":100}},"39":{"start":{"line":112,"column":8},"end":{"line":112,"column":137}},"40":{"start":{"line":116,"column":8},"end":{"line":116,"column":41}},"41":{"start":{"line":124,"column":8},"end":{"line":124,"column":5036}},"42":{"start":{"line":125,"column":12},"end":{"line":125,"column":104}},"43":{"start":{"line":126,"column":12},"end":{"line":126,"column":53}},"44":{"start":{"line":127,"column":15},"end":{"line":127,"column":23}},"45":{"start":{"line":138,"column":8},"end":{"line":138,"column":90}},"46":{"start":{"line":140,"column":8},"end":{"line":140,"column":86}},"47":{"start":{"line":142,"column":8},"end":{"line":142,"column":105}},"48":{"start":{"line":144,"column":8},"end":{"line":144,"column":75}},"49":{"start":{"line":145,"column":8},"end":{"line":145,"column":6055}},"50":{"start":{"line":146,"column":12},"end":{"line":146,"column":77}},"51":{"start":{"line":148,"column":8},"end":{"line":148,"column":19}},"52":{"start":{"line":153,"column":8},"end":{"line":153,"column":86}}},"branchMap":{"1":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":8}},{"start":{"line":19,"column":8},"end":{"line":19,"column":8}}]},"2":{"line":24,"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":8}},{"start":{"line":24,"column":8},"end":{"line":24,"column":8}}]},"3":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":8}},{"start":{"line":35,"column":8},"end":{"line":35,"column":8}}]},"4":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":8}},{"start":{"line":36,"column":8},"end":{"line":36,"column":8}}]},"5":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":37,"column":8}},{"start":{"line":37,"column":8},"end":{"line":37,"column":8}}]},"6":{"line":48,"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":8}},{"start":{"line":48,"column":8},"end":{"line":48,"column":8}}]},"7":{"line":51,"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":12}},{"start":{"line":51,"column":12},"end":{"line":51,"column":12}}]},"8":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":8}},{"start":{"line":57,"column":8},"end":{"line":57,"column":8}}]},"9":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":12}},{"start":{"line":64,"column":12},"end":{"line":64,"column":12}}]},"10":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":8}},{"start":{"line":75,"column":8},"end":{"line":75,"column":8}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":8}},{"start":{"line":90,"column":8},"end":{"line":90,"column":8}}]},"12":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":8}},{"start":{"line":92,"column":8},"end":{"line":92,"column":8}}]},"13":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":8}},{"start":{"line":94,"column":8},"end":{"line":94,"column":8}}]},"14":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":8}},{"start":{"line":96,"column":8},"end":{"line":96,"column":8}}]},"15":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":12}},{"start":{"line":100,"column":12},"end":{"line":100,"column":12}}]},"16":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":111,"column":8}},{"start":{"line":111,"column":8},"end":{"line":111,"column":8}}]},"17":{"line":124,"type":"if","locations":[{"start":{"line":124,"column":8},"end":{"line":124,"column":8}},{"start":{"line":124,"column":8},"end":{"line":124,"column":8}}]},"18":{"line":125,"type":"if","locations":[{"start":{"line":125,"column":12},"end":{"line":125,"column":12}},{"start":{"line":125,"column":12},"end":{"line":125,"column":12}}]},"19":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":8}},{"start":{"line":138,"column":8},"end":{"line":138,"column":8}}]},"20":{"line":140,"type":"if","locations":[{"start":{"line":140,"column":8},"end":{"line":140,"column":8}},{"start":{"line":140,"column":8},"end":{"line":140,"column":8}}]},"21":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":8}},{"start":{"line":142,"column":8},"end":{"line":142,"column":8}}]},"22":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":12}},{"start":{"line":146,"column":12},"end":{"line":146,"column":12}}]},"23":{"line":153,"type":"if","locations":[{"start":{"line":153,"column":8},"end":{"line":153,"column":8}},{"start":{"line":153,"column":8},"end":{"line":153,"column":8}}]}}},"contracts/RoyaltyBearingToken.sol":{"l":{"32":3,"33":3,"34":3,"36":3,"37":3,"38":3,"39":3,"40":3,"42":3,"44":3,"45":9,"49":3,"53":3,"54":1,"55":1,"56":1,"57":1,"62":4,"63":2,"68":5,"69":3,"75":6,"76":4,"77":4,"81":1,"94":4,"95":4,"97":2,"98":2,"100":2,"102":0,"103":0,"104":0,"111":3,"112":1,"113":1,"122":649,"124":648,"128":15,"129":13,"130":3,"132":10,"134":11,"136":9,"137":9,"138":9,"142":1,"157":35,"158":34,"166":16,"167":16,"169":16,"189":54,"190":52,"192":50,"194":48,"195":0,"197":48,"201":46,"204":44,"205":654,"208":654,"211":652,"212":2,"216":652,"219":652,"220":641,"223":639,"224":637,"225":637,"227":637,"228":637,"234":648,"237":648,"241":648,"244":648,"247":648,"250":648,"251":646,"255":648,"262":5,"263":3,"264":1,"266":1,"271":2,"275":1,"279":3,"280":1,"284":3,"285":1,"293":649,"297":1,"301":1,"305":9,"308":5,"310":3,"312":1,"314":1,"315":1,"317":1,"318":1,"320":1,"321":1,"322":1,"332":1,"340":2,"344":38,"348":60,"361":33,"362":48,"363":44,"366":27,"367":21,"371":5,"372":3,"373":1,"377":45,"378":62,"379":60,"393":43,"394":41,"395":37,"397":35,"399":29,"402":21,"403":21,"407":21,"408":21,"410":19,"413":19,"415":19,"419":19,"420":5,"425":14,"428":14,"431":17,"441":9,"445":4,"446":4,"448":2,"449":2,"451":1,"452":1,"455":1,"456":1,"458":2,"460":2,"471":19,"482":19,"483":17,"484":15,"485":13,"488":11,"490":5,"497":3,"500":3,"511":19,"516":19,"518":19,"520":3,"524":19,"526":19,"528":24,"532":24,"536":24,"540":24,"541":24,"544":24,"547":19,"555":5,"557":5,"559":5,"561":5,"563":2,"566":2,"569":2,"572":1,"583":12,"584":6,"594":30,"595":26,"597":26,"600":26,"601":5,"602":5,"606":21,"607":21,"610":26},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyBearingToken.sol","s":{"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":3,"11":9,"12":3,"13":3,"14":1,"15":1,"16":1,"17":1,"18":4,"19":2,"20":5,"21":3,"22":6,"23":4,"24":4,"25":1,"26":4,"27":4,"28":2,"29":2,"30":2,"31":0,"32":0,"33":0,"34":3,"35":1,"36":1,"37":649,"38":648,"39":15,"40":13,"41":3,"42":10,"43":11,"44":9,"45":9,"46":9,"47":1,"48":35,"49":34,"50":16,"51":16,"52":16,"53":54,"54":52,"55":50,"56":48,"57":0,"58":48,"59":46,"60":44,"61":654,"62":654,"63":652,"64":2,"65":652,"66":652,"67":641,"68":639,"69":637,"70":637,"71":637,"72":637,"73":648,"74":648,"75":648,"76":648,"77":648,"78":648,"79":646,"80":648,"81":5,"82":3,"83":1,"84":1,"85":2,"86":1,"87":3,"88":1,"89":3,"90":1,"91":649,"92":1,"93":1,"94":9,"95":5,"96":3,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":2,"105":38,"106":60,"107":33,"108":48,"109":44,"110":27,"111":21,"112":5,"113":3,"114":1,"115":45,"116":62,"117":60,"118":43,"119":41,"120":37,"121":35,"122":29,"123":21,"124":21,"125":21,"126":19,"127":19,"128":19,"129":19,"130":5,"131":14,"132":14,"133":14,"134":17,"135":9,"136":4,"137":4,"138":2,"139":2,"140":1,"141":1,"142":1,"143":1,"144":2,"145":2,"146":19,"147":19,"148":17,"149":15,"150":13,"151":11,"152":5,"153":3,"154":3,"155":19,"156":19,"157":19,"158":3,"159":19,"160":19,"161":24,"162":24,"163":24,"164":24,"165":24,"166":24,"167":24,"168":19,"169":5,"170":5,"171":5,"172":5,"173":2,"174":3,"175":2,"176":2,"177":1,"178":12,"179":6,"180":30,"181":26,"182":26,"183":26,"184":5,"185":5,"186":21,"187":21,"188":26},"b":{"1":[3,0],"2":[3,0],"3":[3,0],"4":[1,2],"5":[1,0],"6":[2,2],"7":[3,2],"8":[4,2],"9":[4,0],"10":[2,2],"11":[0,2],"12":[0,0],"13":[1,2],"14":[648,1],"15":[13,2],"16":[3,10],"17":[8,2],"18":[9,2],"19":[34,1],"20":[52,2],"21":[50,2],"22":[48,2],"23":[0,48],"24":[0,0],"25":[46,2],"26":[44,2],"27":[652,2],"28":[2,650],"29":[641,11],"30":[639,2],"31":[637,2],"32":[637,0],"33":[646,2],"34":[3,2],"35":[1,2],"36":[1,2],"37":[1,2],"38":[5,4],"39":[3,2],"40":[1,0],"41":[44,4],"42":[42,2],"43":[3,2],"44":[60,2],"45":[54,6],"46":[41,2],"47":[37,4],"48":[35,2],"49":[19,2],"50":[19,0],"51":[5,14],"52":[14,0],"53":[2,2],"54":[1,1],"55":[1,0],"56":[1,0],"57":[17,2],"58":[15,2],"59":[13,2],"60":[11,2],"61":[5,6],"62":[19,0],"63":[3,16],"64":[3,0],"65":[24,0],"66":[2,3],"67":[2,1],"68":[6,6],"69":[5,21],"70":[5,0],"71":[21,0]},"f":{"1":3,"2":3,"3":4,"4":5,"5":6,"6":1,"7":4,"8":3,"9":649,"10":15,"11":1,"12":35,"13":16,"14":54,"15":5,"16":2,"17":1,"18":3,"19":3,"20":649,"21":1,"22":1,"23":9,"24":1,"25":2,"26":38,"27":60,"28":33,"29":5,"30":45,"31":43,"32":9,"33":4,"34":19,"35":19,"36":5,"37":12,"38":30},"fnMap":{"1":{"name":"constructor","line":31,"loc":{"start":{"line":23,"column":4},"end":{"line":50,"column":4}}},"2":{"name":"init","line":52,"loc":{"start":{"line":52,"column":4},"end":{"line":58,"column":4}}},"3":{"name":"updatelistinglimit","line":60,"loc":{"start":{"line":60,"column":4},"end":{"line":64,"column":4}}},"4":{"name":"updateRAccountLimits","line":66,"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":4}}},"5":{"name":"updateMaxGenerations","line":73,"loc":{"start":{"line":73,"column":4},"end":{"line":78,"column":4}}},"6":{"name":"getModules","line":80,"loc":{"start":{"line":80,"column":4},"end":{"line":82,"column":4}}},"7":{"name":"delegateAuthority","line":85,"loc":{"start":{"line":85,"column":4},"end":{"line":105,"column":4}}},"8":{"name":"setFunctionSignature","line":110,"loc":{"start":{"line":110,"column":4},"end":{"line":114,"column":4}}},"9":{"name":"onERC721Received","line":116,"loc":{"start":{"line":116,"column":4},"end":{"line":125,"column":4}}},"10":{"name":"addAllowedTokenType","line":127,"loc":{"start":{"line":127,"column":4},"end":{"line":139,"column":4}}},"11":{"name":"getAllowedTokens","line":141,"loc":{"start":{"line":141,"column":4},"end":{"line":143,"column":4}}},"12":{"name":"getRoyaltyAccount","line":147,"loc":{"start":{"line":147,"column":4},"end":{"line":159,"column":4}}},"13":{"name":"updateRoyaltyAccount","line":165,"loc":{"start":{"line":165,"column":4},"end":{"line":170,"column":4}}},"14":{"name":"mint","line":184,"loc":{"start":{"line":184,"column":4},"end":{"line":257,"column":4}}},"15":{"name":"updateMaxChildren","line":260,"loc":{"start":{"line":260,"column":4},"end":{"line":267,"column":4}}},"16":{"name":"tokenURI","line":270,"loc":{"start":{"line":270,"column":4},"end":{"line":272,"column":4}}},"17":{"name":"_baseURI","line":274,"loc":{"start":{"line":274,"column":4},"end":{"line":276,"column":4}}},"18":{"name":"pause","line":278,"loc":{"start":{"line":278,"column":4},"end":{"line":281,"column":4}}},"19":{"name":"unpause","line":283,"loc":{"start":{"line":283,"column":4},"end":{"line":286,"column":4}}},"20":{"name":"_beforeTokenTransfer","line":288,"loc":{"start":{"line":288,"column":4},"end":{"line":294,"column":4}}},"21":{"name":"supportsInterface","line":296,"loc":{"start":{"line":296,"column":4},"end":{"line":298,"column":4}}},"22":{"name":"_burn","line":300,"loc":{"start":{"line":300,"column":4},"end":{"line":302,"column":4}}},"23":{"name":"burn","line":304,"loc":{"start":{"line":304,"column":4},"end":{"line":325,"column":4}}},"24":{"name":"transferFrom","line":327,"loc":{"start":{"line":327,"column":4},"end":{"line":333,"column":4}}},"25":{"name":"safeTransferFrom","line":335,"loc":{"start":{"line":335,"column":4},"end":{"line":341,"column":4}}},"26":{"name":"_getTokenBalance","line":343,"loc":{"start":{"line":343,"column":4},"end":{"line":345,"column":4}}},"27":{"name":"_isEthToken","line":347,"loc":{"start":{"line":347,"column":4},"end":{"line":349,"column":4}}},"28":{"name":"listNFT","line":352,"loc":{"start":{"line":352,"column":4},"end":{"line":368,"column":4}}},"29":{"name":"removeNFTListing","line":370,"loc":{"start":{"line":370,"column":4},"end":{"line":374,"column":4}}},"30":{"name":"_requireExistsAndOwned","line":376,"loc":{"start":{"line":376,"column":4},"end":{"line":381,"column":4}}},"31":{"name":"executePayment","line":392,"loc":{"start":{"line":385,"column":4},"end":{"line":432,"column":4}}},"32":{"name":"checkPayment","line":434,"loc":{"start":{"line":434,"column":4},"end":{"line":442,"column":4}}},"33":{"name":"reversePayment","line":444,"loc":{"start":{"line":444,"column":4},"end":{"line":461,"column":4}}},"34":{"name":"safeTransferFrom","line":464,"loc":{"start":{"line":464,"column":4},"end":{"line":501,"column":4}}},"35":{"name":"_safeTransferFrom","line":504,"loc":{"start":{"line":504,"column":4},"end":{"line":548,"column":4}}},"36":{"name":null,"line":553,"loc":{"start":{"line":553,"column":4},"end":{"line":574,"column":4}}},"37":{"name":"royaltyPayOut","line":577,"loc":{"start":{"line":577,"column":4},"end":{"line":585,"column":4}}},"38":{"name":"_royaltyPayOut","line":588,"loc":{"start":{"line":588,"column":4},"end":{"line":611,"column":4}}}},"statementMap":{"1":{"start":{"line":32,"column":8},"end":{"line":32,"column":74}},"2":{"start":{"line":33,"column":8},"end":{"line":33,"column":78}},"3":{"start":{"line":34,"column":8},"end":{"line":34,"column":101}},"4":{"start":{"line":36,"column":8},"end":{"line":36,"column":35}},"5":{"start":{"line":37,"column":8},"end":{"line":37,"column":51}},"6":{"start":{"line":38,"column":8},"end":{"line":38,"column":44}},"7":{"start":{"line":39,"column":8},"end":{"line":39,"column":44}},"8":{"start":{"line":40,"column":8},"end":{"line":40,"column":47}},"9":{"start":{"line":42,"column":8},"end":{"line":42,"column":39}},"10":{"start":{"line":44,"column":8},"end":{"line":44,"column":1981}},"11":{"start":{"line":45,"column":12},"end":{"line":45,"column":78}},"12":{"start":{"line":49,"column":8},"end":{"line":49,"column":34}},"13":{"start":{"line":53,"column":8},"end":{"line":53,"column":51}},"14":{"start":{"line":54,"column":8},"end":{"line":54,"column":80}},"15":{"start":{"line":55,"column":8},"end":{"line":55,"column":58}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":58}},"17":{"start":{"line":57,"column":8},"end":{"line":57,"column":22}},"18":{"start":{"line":62,"column":8},"end":{"line":62,"column":109}},"19":{"start":{"line":63,"column":8},"end":{"line":63,"column":65}},"20":{"start":{"line":68,"column":8},"end":{"line":68,"column":109}},"21":{"start":{"line":69,"column":8},"end":{"line":69,"column":82}},"22":{"start":{"line":75,"column":8},"end":{"line":75,"column":109}},"23":{"start":{"line":76,"column":8},"end":{"line":76,"column":37}},"24":{"start":{"line":77,"column":8},"end":{"line":77,"column":19}},"25":{"start":{"line":81,"column":8},"end":{"line":81,"column":63}},"26":{"start":{"line":94,"column":8},"end":{"line":94,"column":60}},"27":{"start":{"line":95,"column":8},"end":{"line":95,"column":67}},"28":{"start":{"line":97,"column":8},"end":{"line":97,"column":109}},"29":{"start":{"line":98,"column":8},"end":{"line":98,"column":79}},"30":{"start":{"line":100,"column":8},"end":{"line":100,"column":61}},"31":{"start":{"line":102,"column":8},"end":{"line":102,"column":60}},"32":{"start":{"line":103,"column":8},"end":{"line":103,"column":23}},"33":{"start":{"line":104,"column":8},"end":{"line":104,"column":19}},"34":{"start":{"line":111,"column":8},"end":{"line":111,"column":130}},"35":{"start":{"line":112,"column":8},"end":{"line":112,"column":41}},"36":{"start":{"line":113,"column":8},"end":{"line":113,"column":19}},"37":{"start":{"line":122,"column":8},"end":{"line":122,"column":49}},"38":{"start":{"line":124,"column":8},"end":{"line":124,"column":83}},"39":{"start":{"line":128,"column":8},"end":{"line":128,"column":80}},"40":{"start":{"line":129,"column":8},"end":{"line":129,"column":5810}},"41":{"start":{"line":130,"column":12},"end":{"line":130,"column":39}},"42":{"start":{"line":132,"column":12},"end":{"line":132,"column":102}},"43":{"start":{"line":134,"column":8},"end":{"line":134,"column":77}},"44":{"start":{"line":136,"column":8},"end":{"line":136,"column":53}},"45":{"start":{"line":137,"column":8},"end":{"line":137,"column":42}},"46":{"start":{"line":138,"column":8},"end":{"line":138,"column":67}},"47":{"start":{"line":142,"column":8},"end":{"line":142,"column":33}},"48":{"start":{"line":157,"column":8},"end":{"line":157,"column":54}},"49":{"start":{"line":158,"column":8},"end":{"line":158,"column":48}},"50":{"start":{"line":166,"column":8},"end":{"line":166,"column":53}},"51":{"start":{"line":167,"column":8},"end":{"line":167,"column":65}},"52":{"start":{"line":169,"column":8},"end":{"line":169,"column":99}},"53":{"start":{"line":189,"column":8},"end":{"line":189,"column":62}},"54":{"start":{"line":190,"column":8},"end":{"line":190,"column":124}},"55":{"start":{"line":192,"column":8},"end":{"line":192,"column":75}},"56":{"start":{"line":194,"column":8},"end":{"line":194,"column":8413}},"57":{"start":{"line":195,"column":12},"end":{"line":195,"column":63}},"58":{"start":{"line":197,"column":12},"end":{"line":197,"column":64}},"59":{"start":{"line":201,"column":8},"end":{"line":201,"column":84}},"60":{"start":{"line":204,"column":8},"end":{"line":204,"column":8784}},"61":{"start":{"line":205,"column":12},"end":{"line":205,"column":48}},"62":{"start":{"line":208,"column":12},"end":{"line":208,"column":88}},"63":{"start":{"line":211,"column":12},"end":{"line":211,"column":9152}},"64":{"start":{"line":212,"column":16},"end":{"line":212,"column":51}},"65":{"start":{"line":216,"column":12},"end":{"line":216,"column":55}},"66":{"start":{"line":219,"column":12},"end":{"line":219,"column":9397}},"67":{"start":{"line":220,"column":16},"end":{"line":220,"column":74}},"68":{"start":{"line":223,"column":16},"end":{"line":223,"column":98}},"69":{"start":{"line":224,"column":16},"end":{"line":224,"column":118}},"70":{"start":{"line":225,"column":16},"end":{"line":225,"column":60}},"71":{"start":{"line":227,"column":16},"end":{"line":227,"column":56}},"72":{"start":{"line":228,"column":16},"end":{"line":228,"column":89}},"73":{"start":{"line":234,"column":12},"end":{"line":234,"column":44}},"74":{"start":{"line":237,"column":12},"end":{"line":237,"column":38}},"75":{"start":{"line":241,"column":12},"end":{"line":241,"column":32}},"76":{"start":{"line":244,"column":12},"end":{"line":244,"column":117}},"77":{"start":{"line":247,"column":12},"end":{"line":247,"column":43}},"78":{"start":{"line":250,"column":12},"end":{"line":250,"column":10960}},"79":{"start":{"line":251,"column":16},"end":{"line":251,"column":64}},"80":{"start":{"line":255,"column":12},"end":{"line":255,"column":38}},"81":{"start":{"line":262,"column":8},"end":{"line":262,"column":109}},"82":{"start":{"line":263,"column":8},"end":{"line":263,"column":82}},"83":{"start":{"line":264,"column":8},"end":{"line":264,"column":53}},"84":{"start":{"line":266,"column":8},"end":{"line":266,"column":19}},"85":{"start":{"line":271,"column":8},"end":{"line":271,"column":38}},"86":{"start":{"line":275,"column":8},"end":{"line":275,"column":28}},"87":{"start":{"line":279,"column":8},"end":{"line":279,"column":74}},"88":{"start":{"line":280,"column":8},"end":{"line":280,"column":15}},"89":{"start":{"line":284,"column":8},"end":{"line":284,"column":74}},"90":{"start":{"line":285,"column":8},"end":{"line":285,"column":17}},"91":{"start":{"line":293,"column":8},"end":{"line":293,"column":52}},"92":{"start":{"line":297,"column":8},"end":{"line":297,"column":51}},"93":{"start":{"line":301,"column":8},"end":{"line":301,"column":27}},"94":{"start":{"line":305,"column":8},"end":{"line":305,"column":85}},"95":{"start":{"line":308,"column":8},"end":{"line":308,"column":84}},"96":{"start":{"line":310,"column":8},"end":{"line":310,"column":50}},"97":{"start":{"line":312,"column":8},"end":{"line":312,"column":21}},"98":{"start":{"line":314,"column":8},"end":{"line":314,"column":53}},"99":{"start":{"line":315,"column":8},"end":{"line":315,"column":59}},"100":{"start":{"line":317,"column":8},"end":{"line":317,"column":13540}},"101":{"start":{"line":318,"column":12},"end":{"line":318,"column":13595}},"102":{"start":{"line":320,"column":16},"end":{"line":320,"column":87}},"103":{"start":{"line":332,"column":8},"end":{"line":332,"column":37}},"104":{"start":{"line":340,"column":8},"end":{"line":340,"column":37}},"105":{"start":{"line":344,"column":8},"end":{"line":344,"column":60}},"106":{"start":{"line":348,"column":8},"end":{"line":348,"column":91}},"107":{"start":{"line":361,"column":8},"end":{"line":361,"column":15023}},"108":{"start":{"line":362,"column":12},"end":{"line":362,"column":83}},"109":{"start":{"line":363,"column":12},"end":{"line":363,"column":104}},"110":{"start":{"line":366,"column":8},"end":{"line":366,"column":73}},"111":{"start":{"line":367,"column":8},"end":{"line":367,"column":19}},"112":{"start":{"line":371,"column":8},"end":{"line":371,"column":75}},"113":{"start":{"line":372,"column":8},"end":{"line":372,"column":43}},"114":{"start":{"line":373,"column":8},"end":{"line":373,"column":19}},"115":{"start":{"line":377,"column":8},"end":{"line":377,"column":15743}},"116":{"start":{"line":378,"column":12},"end":{"line":378,"column":64}},"117":{"start":{"line":379,"column":12},"end":{"line":379,"column":77}},"118":{"start":{"line":393,"column":8},"end":{"line":393,"column":52}},"119":{"start":{"line":394,"column":8},"end":{"line":394,"column":73}},"120":{"start":{"line":395,"column":8},"end":{"line":395,"column":67}},"121":{"start":{"line":397,"column":8},"end":{"line":397,"column":47}},"122":{"start":{"line":399,"column":8},"end":{"line":399,"column":81}},"123":{"start":{"line":402,"column":8},"end":{"line":402,"column":50}},"124":{"start":{"line":407,"column":12},"end":{"line":407,"column":85}},"125":{"start":{"line":408,"column":12},"end":{"line":408,"column":70}},"126":{"start":{"line":410,"column":12},"end":{"line":410,"column":62}},"127":{"start":{"line":413,"column":12},"end":{"line":413,"column":94}},"128":{"start":{"line":415,"column":12},"end":{"line":415,"column":109}},"129":{"start":{"line":419,"column":8},"end":{"line":419,"column":17762}},"130":{"start":{"line":420,"column":12},"end":{"line":420,"column":87}},"131":{"start":{"line":423,"column":13},"end":{"line":423,"column":18025}},"132":{"start":{"line":425,"column":12},"end":{"line":425,"column":129}},"133":{"start":{"line":428,"column":12},"end":{"line":428,"column":69}},"134":{"start":{"line":431,"column":8},"end":{"line":431,"column":19}},"135":{"start":{"line":441,"column":8},"end":{"line":441,"column":76}},"136":{"start":{"line":445,"column":8},"end":{"line":445,"column":72}},"137":{"start":{"line":446,"column":8},"end":{"line":446,"column":52}},"138":{"start":{"line":448,"column":8},"end":{"line":448,"column":20}},"139":{"start":{"line":449,"column":8},"end":{"line":449,"column":19049}},"140":{"start":{"line":451,"column":12},"end":{"line":451,"column":62}},"141":{"start":{"line":452,"column":12},"end":{"line":452,"column":49}},"142":{"start":{"line":455,"column":12},"end":{"line":455,"column":84}},"143":{"start":{"line":456,"column":12},"end":{"line":456,"column":52}},"144":{"start":{"line":458,"column":8},"end":{"line":458,"column":65}},"145":{"start":{"line":460,"column":8},"end":{"line":460,"column":22}},"146":{"start":{"line":471,"column":8},"end":{"line":471,"column":20018}},"147":{"start":{"line":482,"column":8},"end":{"line":482,"column":58}},"148":{"start":{"line":483,"column":8},"end":{"line":483,"column":58}},"149":{"start":{"line":484,"column":8},"end":{"line":484,"column":60}},"150":{"start":{"line":485,"column":8},"end":{"line":485,"column":73}},"151":{"start":{"line":488,"column":8},"end":{"line":488,"column":91}},"152":{"start":{"line":490,"column":8},"end":{"line":490,"column":49}},"153":{"start":{"line":497,"column":8},"end":{"line":497,"column":55}},"154":{"start":{"line":500,"column":8},"end":{"line":500,"column":49}},"155":{"start":{"line":511,"column":8},"end":{"line":511,"column":21692}},"156":{"start":{"line":516,"column":8},"end":{"line":516,"column":81}},"157":{"start":{"line":518,"column":8},"end":{"line":518,"column":22020}},"158":{"start":{"line":520,"column":12},"end":{"line":520,"column":88}},"159":{"start":{"line":524,"column":8},"end":{"line":524,"column":86}},"160":{"start":{"line":526,"column":8},"end":{"line":526,"column":22313}},"161":{"start":{"line":528,"column":12},"end":{"line":528,"column":70}},"162":{"start":{"line":532,"column":12},"end":{"line":532,"column":37}},"163":{"start":{"line":536,"column":12},"end":{"line":536,"column":38}},"164":{"start":{"line":540,"column":12},"end":{"line":540,"column":83}},"165":{"start":{"line":541,"column":12},"end":{"line":541,"column":96}},"166":{"start":{"line":541,"column":29},"end":{"line":541,"column":95}},"167":{"start":{"line":544,"column":12},"end":{"line":544,"column":68}},"168":{"start":{"line":547,"column":8},"end":{"line":547,"column":48}},"169":{"start":{"line":555,"column":8},"end":{"line":555,"column":148}},"170":{"start":{"line":557,"column":8},"end":{"line":557,"column":47}},"171":{"start":{"line":559,"column":8},"end":{"line":559,"column":79}},"172":{"start":{"line":561,"column":8},"end":{"line":561,"column":24086}},"173":{"start":{"line":563,"column":12},"end":{"line":563,"column":85}},"174":{"start":{"line":564,"column":15},"end":{"line":564,"column":24339}},"175":{"start":{"line":566,"column":12},"end":{"line":566,"column":132}},"176":{"start":{"line":569,"column":12},"end":{"line":569,"column":69}},"177":{"start":{"line":572,"column":12},"end":{"line":572,"column":44}},"178":{"start":{"line":583,"column":8},"end":{"line":583,"column":79}},"179":{"start":{"line":584,"column":8},"end":{"line":584,"column":75}},"180":{"start":{"line":594,"column":8},"end":{"line":594,"column":73}},"181":{"start":{"line":595,"column":8},"end":{"line":595,"column":69}},"182":{"start":{"line":597,"column":8},"end":{"line":597,"column":67}},"183":{"start":{"line":600,"column":8},"end":{"line":600,"column":25821}},"184":{"start":{"line":601,"column":12},"end":{"line":601,"column":68}},"185":{"start":{"line":602,"column":12},"end":{"line":602,"column":49}},"186":{"start":{"line":606,"column":12},"end":{"line":606,"column":90}},"187":{"start":{"line":607,"column":12},"end":{"line":607,"column":52}},"188":{"start":{"line":610,"column":8},"end":{"line":610,"column":19}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":8}},{"start":{"line":32,"column":8},"end":{"line":32,"column":8}}]},"2":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":8}},{"start":{"line":33,"column":8},"end":{"line":33,"column":8}}]},"3":{"line":34,"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":34,"column":8}},{"start":{"line":34,"column":8},"end":{"line":34,"column":8}}]},"4":{"line":53,"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":8}},{"start":{"line":53,"column":8},"end":{"line":53,"column":8}}]},"5":{"line":54,"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":8}},{"start":{"line":54,"column":8},"end":{"line":54,"column":8}}]},"6":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":8}},{"start":{"line":62,"column":8},"end":{"line":62,"column":8}}]},"7":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":8}},{"start":{"line":68,"column":8},"end":{"line":68,"column":8}}]},"8":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":8}},{"start":{"line":75,"column":8},"end":{"line":75,"column":8}}]},"9":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":8}},{"start":{"line":94,"column":8},"end":{"line":94,"column":8}}]},"10":{"line":95,"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":95,"column":8}},{"start":{"line":95,"column":8},"end":{"line":95,"column":8}}]},"11":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":8},"end":{"line":100,"column":8}},{"start":{"line":100,"column":8},"end":{"line":100,"column":8}}]},"12":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":8}},{"start":{"line":103,"column":8},"end":{"line":103,"column":8}}]},"13":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":111,"column":8}},{"start":{"line":111,"column":8},"end":{"line":111,"column":8}}]},"14":{"line":122,"type":"if","locations":[{"start":{"line":122,"column":8},"end":{"line":122,"column":8}},{"start":{"line":122,"column":8},"end":{"line":122,"column":8}}]},"15":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":128,"column":8}},{"start":{"line":128,"column":8},"end":{"line":128,"column":8}}]},"16":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"17":{"line":132,"type":"if","locations":[{"start":{"line":132,"column":12},"end":{"line":132,"column":12}},{"start":{"line":132,"column":12},"end":{"line":132,"column":12}}]},"18":{"line":134,"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":134,"column":8}},{"start":{"line":134,"column":8},"end":{"line":134,"column":8}}]},"19":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":157,"column":8}},{"start":{"line":157,"column":8},"end":{"line":157,"column":8}}]},"20":{"line":189,"type":"if","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":8}},{"start":{"line":189,"column":8},"end":{"line":189,"column":8}}]},"21":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":8},"end":{"line":190,"column":8}},{"start":{"line":190,"column":8},"end":{"line":190,"column":8}}]},"22":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":8}},{"start":{"line":192,"column":8},"end":{"line":192,"column":8}}]},"23":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":8},"end":{"line":194,"column":8}},{"start":{"line":194,"column":8},"end":{"line":194,"column":8}}]},"24":{"line":195,"type":"if","locations":[{"start":{"line":195,"column":12},"end":{"line":195,"column":12}},{"start":{"line":195,"column":12},"end":{"line":195,"column":12}}]},"25":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"26":{"line":201,"type":"if","locations":[{"start":{"line":201,"column":8},"end":{"line":201,"column":8}},{"start":{"line":201,"column":8},"end":{"line":201,"column":8}}]},"27":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"28":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":12},"end":{"line":211,"column":12}},{"start":{"line":211,"column":12},"end":{"line":211,"column":12}}]},"29":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":219,"column":12}},{"start":{"line":219,"column":12},"end":{"line":219,"column":12}}]},"30":{"line":220,"type":"if","locations":[{"start":{"line":220,"column":16},"end":{"line":220,"column":16}},{"start":{"line":220,"column":16},"end":{"line":220,"column":16}}]},"31":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":16},"end":{"line":223,"column":16}},{"start":{"line":223,"column":16},"end":{"line":223,"column":16}}]},"32":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":16},"end":{"line":224,"column":16}},{"start":{"line":224,"column":16},"end":{"line":224,"column":16}}]},"33":{"line":250,"type":"if","locations":[{"start":{"line":250,"column":12},"end":{"line":250,"column":12}},{"start":{"line":250,"column":12},"end":{"line":250,"column":12}}]},"34":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":262,"column":8}},{"start":{"line":262,"column":8},"end":{"line":262,"column":8}}]},"35":{"line":263,"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":263,"column":8}},{"start":{"line":263,"column":8},"end":{"line":263,"column":8}}]},"36":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":8},"end":{"line":279,"column":8}},{"start":{"line":279,"column":8},"end":{"line":279,"column":8}}]},"37":{"line":284,"type":"if","locations":[{"start":{"line":284,"column":8},"end":{"line":284,"column":8}},{"start":{"line":284,"column":8},"end":{"line":284,"column":8}}]},"38":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":8},"end":{"line":305,"column":8}},{"start":{"line":305,"column":8},"end":{"line":305,"column":8}}]},"39":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":8}},{"start":{"line":308,"column":8},"end":{"line":308,"column":8}}]},"40":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":12},"end":{"line":318,"column":12}},{"start":{"line":318,"column":12},"end":{"line":318,"column":12}}]},"41":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":12},"end":{"line":362,"column":12}},{"start":{"line":362,"column":12},"end":{"line":362,"column":12}}]},"42":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":12},"end":{"line":363,"column":12}},{"start":{"line":363,"column":12},"end":{"line":363,"column":12}}]},"43":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":371,"column":8}},{"start":{"line":371,"column":8},"end":{"line":371,"column":8}}]},"44":{"line":378,"type":"if","locations":[{"start":{"line":378,"column":12},"end":{"line":378,"column":12}},{"start":{"line":378,"column":12},"end":{"line":378,"column":12}}]},"45":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":12}},{"start":{"line":379,"column":12},"end":{"line":379,"column":12}}]},"46":{"line":393,"type":"if","locations":[{"start":{"line":393,"column":8},"end":{"line":393,"column":8}},{"start":{"line":393,"column":8},"end":{"line":393,"column":8}}]},"47":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":8},"end":{"line":394,"column":8}},{"start":{"line":394,"column":8},"end":{"line":394,"column":8}}]},"48":{"line":395,"type":"if","locations":[{"start":{"line":395,"column":8},"end":{"line":395,"column":8}},{"start":{"line":395,"column":8},"end":{"line":395,"column":8}}]},"49":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":12},"end":{"line":408,"column":12}},{"start":{"line":408,"column":12},"end":{"line":408,"column":12}}]},"50":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":12}},{"start":{"line":415,"column":12},"end":{"line":415,"column":12}}]},"51":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":8},"end":{"line":419,"column":8}},{"start":{"line":419,"column":8},"end":{"line":419,"column":8}}]},"52":{"line":423,"type":"if","locations":[{"start":{"line":423,"column":13},"end":{"line":423,"column":13}},{"start":{"line":423,"column":13},"end":{"line":423,"column":13}}]},"53":{"line":446,"type":"if","locations":[{"start":{"line":446,"column":8},"end":{"line":446,"column":8}},{"start":{"line":446,"column":8},"end":{"line":446,"column":8}}]},"54":{"line":449,"type":"if","locations":[{"start":{"line":449,"column":8},"end":{"line":449,"column":8}},{"start":{"line":449,"column":8},"end":{"line":449,"column":8}}]},"55":{"line":452,"type":"if","locations":[{"start":{"line":452,"column":12},"end":{"line":452,"column":12}},{"start":{"line":452,"column":12},"end":{"line":452,"column":12}}]},"56":{"line":456,"type":"if","locations":[{"start":{"line":456,"column":12},"end":{"line":456,"column":12}},{"start":{"line":456,"column":12},"end":{"line":456,"column":12}}]},"57":{"line":482,"type":"if","locations":[{"start":{"line":482,"column":8},"end":{"line":482,"column":8}},{"start":{"line":482,"column":8},"end":{"line":482,"column":8}}]},"58":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":8},"end":{"line":483,"column":8}},{"start":{"line":483,"column":8},"end":{"line":483,"column":8}}]},"59":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":8},"end":{"line":484,"column":8}},{"start":{"line":484,"column":8},"end":{"line":484,"column":8}}]},"60":{"line":485,"type":"if","locations":[{"start":{"line":485,"column":8},"end":{"line":485,"column":8}},{"start":{"line":485,"column":8},"end":{"line":485,"column":8}}]},"61":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":8},"end":{"line":488,"column":8}},{"start":{"line":488,"column":8},"end":{"line":488,"column":8}}]},"62":{"line":516,"type":"if","locations":[{"start":{"line":516,"column":8},"end":{"line":516,"column":8}},{"start":{"line":516,"column":8},"end":{"line":516,"column":8}}]},"63":{"line":518,"type":"if","locations":[{"start":{"line":518,"column":8},"end":{"line":518,"column":8}},{"start":{"line":518,"column":8},"end":{"line":518,"column":8}}]},"64":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"65":{"line":541,"type":"if","locations":[{"start":{"line":541,"column":12},"end":{"line":541,"column":12}},{"start":{"line":541,"column":12},"end":{"line":541,"column":12}}]},"66":{"line":561,"type":"if","locations":[{"start":{"line":561,"column":8},"end":{"line":561,"column":8}},{"start":{"line":561,"column":8},"end":{"line":561,"column":8}}]},"67":{"line":564,"type":"if","locations":[{"start":{"line":564,"column":15},"end":{"line":564,"column":15}},{"start":{"line":564,"column":15},"end":{"line":564,"column":15}}]},"68":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":8},"end":{"line":583,"column":8}},{"start":{"line":583,"column":8},"end":{"line":583,"column":8}}]},"69":{"line":600,"type":"if","locations":[{"start":{"line":600,"column":8},"end":{"line":600,"column":8}},{"start":{"line":600,"column":8},"end":{"line":600,"column":8}}]},"70":{"line":602,"type":"if","locations":[{"start":{"line":602,"column":12},"end":{"line":602,"column":12}},{"start":{"line":602,"column":12},"end":{"line":602,"column":12}}]},"71":{"line":607,"type":"if","locations":[{"start":{"line":607,"column":12},"end":{"line":607,"column":12}},{"start":{"line":607,"column":12},"end":{"line":607,"column":12}}]}}},"contracts/RoyaltyBearingTokenStorage.sol":{"l":{},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyBearingTokenStorage.sol","s":{},"b":{},"f":{},"fnMap":{},"statementMap":{},"branchMap":{}},"contracts/RoyaltyModule.sol":{"l":{"27":3,"28":3,"29":3,"30":3,"31":3,"32":3,"33":3,"34":3,"38":3,"39":1,"40":1,"41":1,"53":34,"54":34,"68":16,"70":16,"71":16,"72":16,"73":35,"74":33,"75":33,"76":33,"77":18,"78":18,"80":18,"81":10,"82":7,"84":3,"90":15,"93":8,"96":4,"97":11,"98":11,"99":6,"101":5,"102":3,"109":3,"110":3,"111":7,"112":6,"115":1,"116":1,"117":1,"127":648,"129":648,"130":648,"131":648,"135":11,"138":11,"142":11,"146":637,"148":637,"150":637,"152":637,"155":637,"158":637,"162":637,"164":648,"165":648,"166":648,"172":24,"173":24,"181":478,"182":478,"183":478,"184":478,"186":1411,"188":1410,"189":1410,"190":1410,"192":1410,"193":956,"194":956,"198":454,"201":478,"205":44,"209":26,"213":81,"214":81,"222":30,"223":30,"224":28,"225":28,"226":28,"227":26,"231":52,"235":25,"236":25,"237":24,"247":26,"248":26,"249":26,"250":26,"261":24,"262":24,"263":24,"264":24,"267":24,"273":149,"274":149,"275":218,"276":126,"279":23,"289":1434,"294":19,"295":19,"296":19,"297":24,"298":24,"300":19},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyModule.sol","s":{"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":1,"11":1,"12":1,"13":34,"14":34,"15":16,"16":16,"17":16,"18":16,"19":35,"20":33,"21":33,"22":33,"23":18,"24":18,"25":18,"26":10,"27":7,"28":3,"29":15,"30":8,"31":4,"32":11,"33":11,"34":6,"35":5,"36":3,"37":3,"38":3,"39":7,"40":6,"41":648,"42":648,"43":648,"44":648,"45":11,"46":11,"47":11,"48":637,"49":637,"50":637,"51":637,"52":637,"53":637,"54":637,"55":648,"56":648,"57":648,"58":24,"59":24,"60":478,"61":478,"62":478,"63":478,"64":1411,"65":1410,"66":1410,"67":1410,"68":1410,"69":956,"70":956,"71":454,"72":478,"73":44,"74":26,"75":81,"76":81,"77":30,"78":30,"79":28,"80":28,"81":28,"82":26,"83":52,"84":25,"85":25,"86":1,"87":24,"88":26,"89":26,"90":26,"91":26,"92":24,"93":24,"94":24,"95":24,"96":24,"97":149,"98":149,"99":218,"100":126,"101":23,"102":1434,"103":19,"104":19,"105":19,"106":24,"107":24,"108":19},"b":{"1":[3,0],"2":[3,0],"3":[3,0],"4":[1,2],"5":[33,2],"6":[18,15],"7":[10,8],"8":[7,3],"9":[5,2],"10":[1,2],"11":[13,2],"12":[4,4],"13":[6,5],"14":[3,2],"15":[6,1],"16":[4,2],"17":[648,0],"18":[648,0],"19":[11,637],"20":[637,0],"21":[648,0],"22":[1,1410],"23":[956,454],"24":[28,2],"25":[28,0],"26":[26,2],"27":[1,24],"28":[26,0],"29":[26,0],"30":[24,0],"31":[24,0],"32":[126,92]},"f":{"1":3,"2":3,"3":34,"4":16,"5":3,"6":648,"7":24,"8":478,"9":44,"10":26,"11":81,"12":30,"13":52,"14":25,"15":26,"16":24,"17":149,"18":1434,"19":19},"fnMap":{"1":{"name":"constructor","line":20,"loc":{"start":{"line":20,"column":4},"end":{"line":35,"column":4}}},"2":{"name":"updateRAccountLimits","line":37,"loc":{"start":{"line":37,"column":4},"end":{"line":42,"column":4}}},"3":{"name":"getAccount","line":44,"loc":{"start":{"line":44,"column":4},"end":{"line":55,"column":4}}},"4":{"name":"updateRoyaltyAccount","line":67,"loc":{"start":{"line":62,"column":4},"end":{"line":105,"column":4}}},"5":{"name":"deleteRoyaltyAccount","line":108,"loc":{"start":{"line":108,"column":4},"end":{"line":118,"column":4}}},"6":{"name":"createRoyaltyAccount","line":126,"loc":{"start":{"line":120,"column":4},"end":{"line":167,"column":4}}},"7":{"name":"distributePayment","line":171,"loc":{"start":{"line":171,"column":4},"end":{"line":174,"column":4}}},"8":{"name":"_distributePayment","line":176,"loc":{"start":{"line":176,"column":4},"end":{"line":202,"column":4}}},"9":{"name":"isSupportedTokenType","line":204,"loc":{"start":{"line":204,"column":4},"end":{"line":206,"column":4}}},"10":{"name":"getTokenType","line":208,"loc":{"start":{"line":208,"column":4},"end":{"line":210,"column":4}}},"11":{"name":"findSubaccountIndex","line":212,"loc":{"start":{"line":212,"column":4},"end":{"line":215,"column":4}}},"12":{"name":"checkBalanceForPayout","line":217,"loc":{"start":{"line":217,"column":4},"end":{"line":228,"column":4}}},"13":{"name":"getSubaccount","line":230,"loc":{"start":{"line":230,"column":4},"end":{"line":232,"column":4}}},"14":{"name":"getBalance","line":234,"loc":{"start":{"line":234,"column":4},"end":{"line":238,"column":4}}},"15":{"name":"withdrawBalance","line":246,"loc":{"start":{"line":242,"column":4},"end":{"line":251,"column":4}}},"16":{"name":"transferRAOwnership","line":260,"loc":{"start":{"line":256,"column":4},"end":{"line":268,"column":4}}},"17":{"name":"_findSubaccountIndex","line":271,"loc":{"start":{"line":271,"column":4},"end":{"line":280,"column":4}}},"18":{"name":"mulDiv","line":284,"loc":{"start":{"line":284,"column":4},"end":{"line":290,"column":4}}},"19":{"name":"splitSum","line":293,"loc":{"start":{"line":293,"column":4},"end":{"line":301,"column":4}}}},"statementMap":{"1":{"start":{"line":27,"column":8},"end":{"line":27,"column":31}},"2":{"start":{"line":28,"column":8},"end":{"line":28,"column":71}},"3":{"start":{"line":29,"column":8},"end":{"line":29,"column":105}},"4":{"start":{"line":30,"column":8},"end":{"line":30,"column":84}},"5":{"start":{"line":31,"column":8},"end":{"line":31,"column":29}},"6":{"start":{"line":32,"column":8},"end":{"line":32,"column":39}},"7":{"start":{"line":33,"column":8},"end":{"line":33,"column":38}},"8":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"9":{"start":{"line":38,"column":8},"end":{"line":38,"column":106}},"10":{"start":{"line":39,"column":8},"end":{"line":39,"column":38}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":41}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":19}},"13":{"start":{"line":53,"column":8},"end":{"line":53,"column":57}},"14":{"start":{"line":54,"column":8},"end":{"line":54,"column":101}},"15":{"start":{"line":68,"column":8},"end":{"line":68,"column":57}},"16":{"start":{"line":70,"column":8},"end":{"line":70,"column":22}},"17":{"start":{"line":71,"column":8},"end":{"line":71,"column":22}},"18":{"start":{"line":72,"column":8},"end":{"line":72,"column":3028}},"19":{"start":{"line":73,"column":12},"end":{"line":73,"column":118}},"20":{"start":{"line":74,"column":12},"end":{"line":74,"column":56}},"21":{"start":{"line":75,"column":12},"end":{"line":75,"column":115}},"22":{"start":{"line":76,"column":12},"end":{"line":76,"column":3400}},"23":{"start":{"line":77,"column":16},"end":{"line":77,"column":93}},"24":{"start":{"line":78,"column":16},"end":{"line":78,"column":46}},"25":{"start":{"line":80,"column":16},"end":{"line":80,"column":3634}},"26":{"start":{"line":81,"column":20},"end":{"line":81,"column":3725}},"27":{"start":{"line":82,"column":24},"end":{"line":82,"column":136}},"28":{"start":{"line":84,"column":24},"end":{"line":84,"column":116}},"29":{"start":{"line":90,"column":16},"end":{"line":90,"column":97}},"30":{"start":{"line":93,"column":8},"end":{"line":93,"column":68}},"31":{"start":{"line":96,"column":8},"end":{"line":96,"column":4426}},"32":{"start":{"line":97,"column":12},"end":{"line":97,"column":115}},"33":{"start":{"line":98,"column":12},"end":{"line":98,"column":4618}},"34":{"start":{"line":99,"column":16},"end":{"line":99,"column":111}},"35":{"start":{"line":101,"column":16},"end":{"line":101,"column":115}},"36":{"start":{"line":102,"column":16},"end":{"line":102,"column":149}},"37":{"start":{"line":109,"column":8},"end":{"line":109,"column":57}},"38":{"start":{"line":110,"column":8},"end":{"line":110,"column":5241}},"39":{"start":{"line":111,"column":12},"end":{"line":111,"column":5332}},"40":{"start":{"line":112,"column":16},"end":{"line":112,"column":124}},"41":{"start":{"line":127,"column":8},"end":{"line":127,"column":107}},"42":{"start":{"line":129,"column":8},"end":{"line":129,"column":101}},"43":{"start":{"line":130,"column":8},"end":{"line":130,"column":102}},"44":{"start":{"line":131,"column":8},"end":{"line":131,"column":6245}},"45":{"start":{"line":135,"column":12},"end":{"line":135,"column":157}},"46":{"start":{"line":138,"column":12},"end":{"line":138,"column":157}},"47":{"start":{"line":142,"column":12},"end":{"line":142,"column":179}},"48":{"start":{"line":146,"column":12},"end":{"line":146,"column":73}},"49":{"start":{"line":148,"column":12},"end":{"line":148,"column":132}},"50":{"start":{"line":150,"column":12},"end":{"line":150,"column":82}},"51":{"start":{"line":152,"column":12},"end":{"line":152,"column":195}},"52":{"start":{"line":155,"column":12},"end":{"line":155,"column":157}},"53":{"start":{"line":158,"column":12},"end":{"line":158,"column":188}},"54":{"start":{"line":162,"column":12},"end":{"line":162,"column":194}},"55":{"start":{"line":164,"column":8},"end":{"line":164,"column":105}},"56":{"start":{"line":165,"column":8},"end":{"line":165,"column":45}},"57":{"start":{"line":166,"column":8},"end":{"line":166,"column":26}},"58":{"start":{"line":172,"column":8},"end":{"line":172,"column":57}},"59":{"start":{"line":173,"column":8},"end":{"line":173,"column":67}},"60":{"start":{"line":181,"column":8},"end":{"line":181,"column":38}},"61":{"start":{"line":182,"column":8},"end":{"line":182,"column":36}},"62":{"start":{"line":183,"column":8},"end":{"line":183,"column":65}},"63":{"start":{"line":184,"column":8},"end":{"line":184,"column":9358}},"64":{"start":{"line":186,"column":12},"end":{"line":186,"column":82}},"65":{"start":{"line":188,"column":12},"end":{"line":188,"column":122}},"66":{"start":{"line":189,"column":12},"end":{"line":189,"column":39}},"67":{"start":{"line":190,"column":12},"end":{"line":190,"column":78}},"68":{"start":{"line":192,"column":12},"end":{"line":192,"column":9913}},"69":{"start":{"line":193,"column":16},"end":{"line":193,"column":84}},"70":{"start":{"line":194,"column":16},"end":{"line":194,"column":120}},"71":{"start":{"line":198,"column":16},"end":{"line":198,"column":106}},"72":{"start":{"line":201,"column":8},"end":{"line":201,"column":19}},"73":{"start":{"line":205,"column":8},"end":{"line":205,"column":92}},"74":{"start":{"line":209,"column":8},"end":{"line":209,"column":66}},"75":{"start":{"line":213,"column":8},"end":{"line":213,"column":57}},"76":{"start":{"line":214,"column":8},"end":{"line":214,"column":63}},"77":{"start":{"line":222,"column":8},"end":{"line":222,"column":98}},"78":{"start":{"line":223,"column":8},"end":{"line":223,"column":55}},"79":{"start":{"line":224,"column":8},"end":{"line":224,"column":80}},"80":{"start":{"line":225,"column":8},"end":{"line":225,"column":80}},"81":{"start":{"line":226,"column":8},"end":{"line":226,"column":83}},"82":{"start":{"line":227,"column":8},"end":{"line":227,"column":19}},"83":{"start":{"line":231,"column":8},"end":{"line":231,"column":77}},"84":{"start":{"line":235,"column":8},"end":{"line":235,"column":88}},"85":{"start":{"line":236,"column":8},"end":{"line":236,"column":28}},"86":{"start":{"line":236,"column":20},"end":{"line":236,"column":28}},"87":{"start":{"line":237,"column":8},"end":{"line":237,"column":69}},"88":{"start":{"line":247,"column":8},"end":{"line":247,"column":98}},"89":{"start":{"line":248,"column":8},"end":{"line":248,"column":55}},"90":{"start":{"line":249,"column":8},"end":{"line":249,"column":135}},"91":{"start":{"line":250,"column":8},"end":{"line":250,"column":94}},"92":{"start":{"line":261,"column":8},"end":{"line":261,"column":57}},"93":{"start":{"line":262,"column":8},"end":{"line":262,"column":82}},"94":{"start":{"line":263,"column":8},"end":{"line":263,"column":52}},"95":{"start":{"line":264,"column":8},"end":{"line":264,"column":128}},"96":{"start":{"line":267,"column":8},"end":{"line":267,"column":67}},"97":{"start":{"line":273,"column":8},"end":{"line":273,"column":80}},"98":{"start":{"line":274,"column":8},"end":{"line":274,"column":13987}},"99":{"start":{"line":275,"column":12},"end":{"line":275,"column":14054}},"100":{"start":{"line":276,"column":16},"end":{"line":276,"column":32}},"101":{"start":{"line":279,"column":8},"end":{"line":279,"column":25}},"102":{"start":{"line":289,"column":8},"end":{"line":289,"column":148}},"103":{"start":{"line":294,"column":8},"end":{"line":294,"column":55}},"104":{"start":{"line":295,"column":8},"end":{"line":295,"column":29}},"105":{"start":{"line":296,"column":8},"end":{"line":296,"column":14846}},"106":{"start":{"line":297,"column":12},"end":{"line":297,"column":53}},"107":{"start":{"line":298,"column":12},"end":{"line":298,"column":31}},"108":{"start":{"line":300,"column":8},"end":{"line":300,"column":21}}},"branchMap":{"1":{"line":28,"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":8}},{"start":{"line":28,"column":8},"end":{"line":28,"column":8}}]},"2":{"line":29,"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":8}},{"start":{"line":29,"column":8},"end":{"line":29,"column":8}}]},"3":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":8}},{"start":{"line":30,"column":8},"end":{"line":30,"column":8}}]},"4":{"line":38,"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":8}},{"start":{"line":38,"column":8},"end":{"line":38,"column":8}}]},"5":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]},"6":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":12},"end":{"line":76,"column":12}},{"start":{"line":76,"column":12},"end":{"line":76,"column":12}}]},"7":{"line":80,"type":"if","locations":[{"start":{"line":80,"column":16},"end":{"line":80,"column":16}},{"start":{"line":80,"column":16},"end":{"line":80,"column":16}}]},"8":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":20},"end":{"line":81,"column":20}},{"start":{"line":81,"column":20},"end":{"line":81,"column":20}}]},"9":{"line":82,"type":"if","locations":[{"start":{"line":82,"column":24},"end":{"line":82,"column":24}},{"start":{"line":82,"column":24},"end":{"line":82,"column":24}}]},"10":{"line":84,"type":"if","locations":[{"start":{"line":84,"column":24},"end":{"line":84,"column":24}},{"start":{"line":84,"column":24},"end":{"line":84,"column":24}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":16},"end":{"line":90,"column":16}},{"start":{"line":90,"column":16},"end":{"line":90,"column":16}}]},"12":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":93,"column":8}},{"start":{"line":93,"column":8},"end":{"line":93,"column":8}}]},"13":{"line":98,"type":"if","locations":[{"start":{"line":98,"column":12},"end":{"line":98,"column":12}},{"start":{"line":98,"column":12},"end":{"line":98,"column":12}}]},"14":{"line":101,"type":"if","locations":[{"start":{"line":101,"column":16},"end":{"line":101,"column":16}},{"start":{"line":101,"column":16},"end":{"line":101,"column":16}}]},"15":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":12},"end":{"line":111,"column":12}},{"start":{"line":111,"column":12},"end":{"line":111,"column":12}}]},"16":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":16},"end":{"line":112,"column":16}},{"start":{"line":112,"column":16},"end":{"line":112,"column":16}}]},"17":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":127,"column":8}},{"start":{"line":127,"column":8},"end":{"line":127,"column":8}}]},"18":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"19":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":8}},{"start":{"line":131,"column":8},"end":{"line":131,"column":8}}]},"20":{"line":148,"type":"if","locations":[{"start":{"line":148,"column":12},"end":{"line":148,"column":12}},{"start":{"line":148,"column":12},"end":{"line":148,"column":12}}]},"21":{"line":164,"type":"if","locations":[{"start":{"line":164,"column":8},"end":{"line":164,"column":8}},{"start":{"line":164,"column":8},"end":{"line":164,"column":8}}]},"22":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":12}},{"start":{"line":186,"column":12},"end":{"line":186,"column":12}}]},"23":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"24":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":8},"end":{"line":223,"column":8}},{"start":{"line":223,"column":8},"end":{"line":223,"column":8}}]},"25":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"26":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":226,"column":8}},{"start":{"line":226,"column":8},"end":{"line":226,"column":8}}]},"27":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":236,"column":8}},{"start":{"line":236,"column":8},"end":{"line":236,"column":8}}]},"28":{"line":248,"type":"if","locations":[{"start":{"line":248,"column":8},"end":{"line":248,"column":8}},{"start":{"line":248,"column":8},"end":{"line":248,"column":8}}]},"29":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":8},"end":{"line":249,"column":8}},{"start":{"line":249,"column":8},"end":{"line":249,"column":8}}]},"30":{"line":263,"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":263,"column":8}},{"start":{"line":263,"column":8},"end":{"line":263,"column":8}}]},"31":{"line":264,"type":"if","locations":[{"start":{"line":264,"column":8},"end":{"line":264,"column":8}},{"start":{"line":264,"column":8},"end":{"line":264,"column":8}}]},"32":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":275,"column":12}},{"start":{"line":275,"column":12},"end":{"line":275,"column":12}}]}}},"contracts/StorageStructure.sol":{"l":{"84":726},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/StorageStructure.sol","s":{"1":726},"b":{},"f":{"1":726},"fnMap":{"1":{"name":"_isSameString","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":85,"column":4}}}},"statementMap":{"1":{"start":{"line":84,"column":8},"end":{"line":84,"column":86}}},"branchMap":{}}} \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf b/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf new file mode 100644 index 0000000000000000000000000000000000000000..be5f5e6b0a945f18b01d50ca98f65f06d278580f GIT binary patch literal 119450 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%0AZOb+P`+-&d_dQpgWMvY-&GAtT5b`V@Y~2Yzn1l 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 Szb-n62gna3U}S_TN&PR9j7&`c literal 0 HcmV?d00001 diff --git a/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf b/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b7615a6fac5532c6a2c7f03989930b9c061f480 GIT binary patch literal 155080 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

n*WD>)wJX6`QEvE8^R^gCQ`8WbK(v=%l zOsP83Qd3*9tagz(s%6Vc^vK#6JneEq)smT3E!!y4nevmYGtd=tcEK>dpvj6#bZc+o z$7gwF2ShTPhhGQ_yFb7{QObO-Af{1%)uT%n-YXU|-2HR|8?wi?k~3+Cq-VO~3u+cP z`se!1AkDU7w_qu>WBu1*)e%C2_PWre8_jjGf2w=1J{1Bd;zylmtkGX3$5=P{^sYml zSXkm@m0fS#MzJ7i7%Ti60`12hEX4-!hBV#-Z|-xR2%;W;kgPDakdQMqz#Bg-f)@`G zEgNWRT$(7ld=wgtb1T2^C>t?+kV*!roXj1zRfPjLr51$OBeRTgRH2~Emf0?56H*(C zHrpyCE57V#HB9ziKFTE+g!bzJM>g$9FIBw)UG*++zMJZ-003)Vv;?U-z7?StRLgAH zgk<9N6T#ds-5=h@3P1!#@1ybE>@}F|k{iS}1MRM#T)JNkX*ju|yo3v?&;^bRdO{Fc z1YDgI@pT&m0_Vg$R-Ol+7DV=1*49Y2?MWXbm064CQZB4ja74Ck1A;y#w=D)7C)_r| zqHQlk#1WA!(>nxa)e${g7GI6a+y)uGsc?>IwDxJt9-@SigF?cgjWozkYhIFnYf!9u zMUhywn+q~2?0W;sCOS7fD3jc5{c@vXx=08#ZyKzeaXD6p12!0+?n{*k3`s6+&tR|& zWYCayhYb!`bXnwx2*pLH7C_s;qL0LvBs;s=23Y3dlju}Mv&8}--EYH+{Rc<4srw8^ zHI*;?!MS;g7e0%5Q7m1EmO3Mop!q$KWn;a3dxKG9_+qpa(Zy4PU;=9O*2LFKVh>Q( zajMr7w&YvmqfsUr;WZS_w#I0MoOi8^5yDS;vc|^6MdMhWNOkXTboIg_i|VGnccec* zarx-wI1yWIaB1~j7r3B;eem)@6kyg6@#^gKGo7|?I79NaG)+`;v-C6mlv*YN3Do zB89)P`dYbYhV@#WOUU+2BU6vwxp=w_?RoCfmV zT_C=sZXE&{e}7tX8#4@OkQH#Auc_g?1XqmRfpYIJWp-qetx+&g5za}BfMNpANSQ3%sS=NE zVPZ@fY#uqt5RXgG^}Vq}E58M~1KG#tn0LbE-=?c`2lD$1vI<%IxaLp0QO$TYr|8k( zRKGOs!CqmOt)Ujara_wkbM?W_It-8BwdxGtHwy4D0oO5OgaS2K@E1?V2S|?RW5JvE z!OjsLn1@JLvg2Uc_u0UP1h6rmFunie?H|}W(t}<~xQ!Xl@2Saqb<_T1o282I8M)7M zTiErnlU%o@xTv+aElZQ$M7%hCHWIh4-T`M_lmJ$S-koAz=jTsp!0m@@MvU9FwWfpp_3l~zqTrZUXqxOW?wEPW07v7;4L z@e9MfnrT6t?>b$i@7>LTiLp^S@H2#VV}kVz@E6B%X>v1Q;eHNXAy#7+L5Ka_48~i; z9GAwiCVEC#Jj{2G=+tXiSo@?F8vNN0ylLQIQR=tO6QuzJevs z6Y3!Wbwwgiv7)of1LdM?X}<13rqH9zeu4TzmT5NZX{wEKZouRVkCuYiaV?jE?maQC zu+{V#O|Dvnobwmu^P#?=U|P%D!&w)|3+$s63w>LyKKHSeHO$HkHlkDYLg2FL&w*cT zb}ECu!VgLo^nsRBLu(Fao4lE=Hh(!{G)F+D*KzFs%nyDf=k2BE1&Nw+-sq?st4^hn zTCE~=1bOcjIsfOEk(Gpmj1url$`%RX8{wrN(iSZk!5ExuK#*1M@5E7Mmq zz}NLDR@ua9mes84YldR^Ygp-$YVO#w>dXbo&Dyf*n?TVSp(mkXW)k+gpl-5AERwSw zk?zU(q%xzb_>{1J>M92ibgKMF36kRvj3qe`3b{w!LVvu@x?n?C#wy?q>hq{sJ*sjX^) z{O+3f6C;812eZLhV!a*VI2WOcvs6qI5!}z&fVPR3_GO{^gq(pHXX4X%>4E#vG9rWx zzL~?gxh#)@9>Isj3@xLbCZFB&iz|TKHIMMwT*sOBCn`lPCt`uCHh=BCE@9sY?d;+& z5BTM+?;P9Ecvoc;UUh=ze;McRbptpa2tRMU^KIzI*2QN$d5+rVJ>oatHVEsk3F`I+ zSvJBy^*9FZd7MNw5S+wT2~Oh#g)^>yzrLS?S-zK*Aq@g3z_TtGepCExfZy9ffY%ps z_k{g_;XJsFZ>Y^ok#e5%GZq&o7k{-Zs(|EBCL?5YKZNQ27U*p5*oIce`giUe$mQZp!_MYd*)v zn|Uo6;gX_r%}2Sz;A$imw^**#Vq`8ieyW&Y?5eFRpQm~kI{8)v?vG~e`}36V(o;@` zQd*_9a%HJpn8mUr8q>DRtUsq)rV5%j<=4J+R^+p`&&Yf_@JmxfSsz&n5~pHJ&xb&I z+15ajxq{^P>8`LgN!i4wEPi~xJ(Pv#-{$;-Pv`mvpKeM`9|MoFs7Lr8d^%eRmq|s_M;rF(DS!yW2E+>k%9GfaVCaMe^>l%@|6bWBU}4=y6n7id;2jEzLVo9e!Vh zlRs=TQr^r1CC!%*$4>?>zR!51nr79{Gn42*OrM~HXATp^KC0!ibJvhaWE~ zXkBx!1|y_w7BIrJCaks2yn?SkwjQ>Zqn6c_s6_?ZI9aa5@gf1FJmM}|C}Ooa{}Dzc z-OX!DLlh@1A)jZ`k%50+W$iqVZp%Y zJ@N#97)jiQ+qaf3XudM^s*v#XbSA*E=Sy zYF%!bg^m|2&%|Ggm=BQ&f32dFBFSzejPk!ex{g-vnFD;59$`}061ara7d-dMU%K8i zoRt1nry~D-`j`n&Te6S-AmAi+{<pLK7nD0;d z!=FC_gnEz-oii7!W~w(ocsk|P(JjU)P)^97xxX#<(n++5s{j@Yus71!_FWIH_=KgN z)jq0jL<79v*q4!S%Pzlt=KT&@FXk*RCf?ZvQa$uXu7Ok!zG*TGp>|?DndiIgdHPKcRg)@zK?ToY+Sy4&ytySl9ElQb*r|3nHo3d2GYJ>$+!Pz8pT(hac+42 zuF~;*_H6yfCnzAG>KgKGdCNPXONrQ-LE}IZUWl_r4N{@?Z|Cogdw(`7fvW|tk6iwF zrq9<|xT{eJEB-Le5`-@mKFE&f4nB!9Ebbq0Y>U4tbj$9S5IeimWLK+gs!|K|G%nLx z-7*(h4MT~x^}Von`S(CuizjXkpkY+|dI-Wi{O#tR414N5pnU`O_NPBj9-eVd=!6ZH zUlQ6LyM0U_iF}(}19zU!6@+Yj$$k`y-eZ5bjJr=(c#M+gg_=DSa^ z;8J(NS802-I%%;wlqY?Ub8PXg0~%CKuR649l8zTDklQ$#0iQn-f^(hPU0ZX|`MW@y zT7z|NJw@Ny>h{E53le=&J}FUD@IL3;h2tjnKa3Va-K#n9OdBhaT=)92P82HbVdcNw zavlLaYnh7WJ)U6FzR3>V)zvjkt>x@pC}LDL_Jjz@kW(Oe_MD7EFu5qbm*QowlUpr6 z-Ds#_R?hsGzVj$OO*IXQWL{u0W4)AW)%ZIc;-szQ5x=p9AVHqO);V#2$G{RORKV zM)N>j+69msiQ>{)$YoqIXQ#!lb4o|Rc~eZ%>W{7%slr_*Vg2W_4$|Swv&{mhcD>od z;L&M=lE(&%!Nihz3QkDOT_QK#U0}7TPB0us0p;=~#fiZM%Yjo&$5^?HCYjRuA!941 zrU!N>9Of?VLSFKlqO)C+_DYVD$7>g-J>DuWZ=u-eVWPw9tC0>-bMihiH8^!@64G&! zl57gWOb+FYr3)6Ui}bEZmfvx=0;8rpmt!|B)7nZBX$($`&bjUNPdB%p+k`J^qCVJ1ZWZkU`nEha7?J;LTX*o&c?%!r+ojDSb3>g1y zX{tD+n3Y(?f`?xNlFTXZ&KXZJkcoq%7}Pa6S}LjlIi*LHa*dNo3Y#D2T|c$ZQ0e}V zVN_6P$^u$5Z5)OPlRjq4DL&fGl{$n66K&Q6W7LSnQ%$tX3_kH<81jg?SN~jXyG~(5r zZX!e&hss_ca*NVjEU|mXxAv;(wuD^~?ULcBg97;)S(V}s7~AveP$tXi@5Ndeei#s~ zXl`^;Y^X{Wo#DE7(3}uJ%|(G01-}FZG^vDp)pk;)Z3)-nGm2rft(T&tXFSe^zGg@Stdj%fMet66gPseV#E`&!@&awE>{ zlp_j2yA;WiIA2=eTSh>lG*Ol2Nz;UnKLIC>eo^vo!;maMw*nvF64u z7N1$C?h>SBVu7S$OD}Q|pu~Qc9+k-ri^8|r--J+#WoxRc-FcA9EoZF)371yq{}bDq z*%XpkrKp0lWqM<&D{D-bS{1pRCsLLNgw@x{?-)c?TTR#V6nUkw8rK_>hClOH6{1U( z!lb#BMyzz|fhnyeqDa_KWJ)-~dM_g10SU`p6q+Hm_-kPg_Wm^dj8o>fIHkRv?iy@- z!>1rr#@P?=pIwMLyvr>F%jm0*Zz6g`hDKXrr*Z+(gh~ecU0)MQdY_zv7I`{B@?F|w zmGg>e@KIWRw@~DN$lxU#q>h*5x@Iq3veNV|<@dA-CX4;Q2`#3xM)fMtP$NPz4pW8@ z8B`f`pT@a%RJTxHkrKdHY5wT~|FhY#`ct(~bhu!JWg)kz3dUE|*DlBc0WV50V{_r* zZA8T=VioOV`Eopx-Ygbqa}79cBZMdmxy!bgp9H;K{pU0A{-rZEni+G6PUr6>W4het zu!=^;rmOg>#UQ?tIy^2(r$jSC2rdIo(iFYZnLi-FUihc zdo5oFwvYF;7yI`HYpZc1`33r!)_ojlx3-9Nn?AJ7Y_qnl+RQWpPir}3$EMk&bRx|= zBBwKF+Kes~4sTpe=wQu?)i<@aJ_$mMna3u#Zb3Tb>LIDp;^b@D4y2F2!^p7fQ|nX+ zDAs@7ke zq{HX=H@BioBzsV{-O<+-_%G9;mu!1-d9bgN>#ya4_ybh>6WkT&ukoKt&!G`Uyv%ll zHNH?|OX$voIW~l!0$j`b-=EFc=ai1#n{-I?fTASNA`bKf(_ynHKVb&yWo2z7*gNc3=Xm6ABIn@~( zxo@to8Ch}2MmCY+tV4P=VIh8G^L;mN25vLOn+G^>r!&^ti?EOHxz?@Ym;8_`mCGMjbt7f2^HxvC%U-n{(BVR9E-%2BZ3Mq_H}9^Ak5-u0zr*~9%Uq8;9N+V}m z%FV4xI&9>H&+c4R;tQt#KKbE&&|8^NMl)r!HCxIx^he?o&qv_ACsfi4&y#>YDebAb`b8pKHFsKvoN9fy;H#Ow)-bP#Zxu#W0Y^96 z4XeFono!WkgG)qlcsxu}8p!4b`cn6ZM00;W1+vp^cZJYatdiT~f`nQNu!GJr)^*^_ zL2&*Cz6^lO{=EtHpv~_4EZk<0lll8wg!YX%$FTru+IB8vcz)~N#Dn*!_FUqKaQyok z<7d&!Y2{{mn2coQdd{VbNw-YBg^Dcnb{B&b^3_iL0@nC8wTLTy>j(%*hxQ2!jd;V+ z=PjjW)m{*7ozA%jj;?XKi$V4hUQ6-)oeW|^_Jn%o_R$HC0&F54-gFV49VanuNldoRTe`pFYPKDk>?<` z4Qf6@a>2^9&(ByyKi|v3P&RpkuI=?n=fX)D!g|w zC96vHlou4a%Cwjx6sVtu?%#@Drx{&dgI%#s4UEMcNtv#-kcPrFXZ_>-?o?aJ6=rKc ze0rlc%k;5xG7V&$OQX70-#R#(O2&XjsX})=g_`4@AeNH%ji>eOX-8PSq8(Qcycg#! z@^zW%4DT#f^8bUecZ!lUXu3w*wrzXb=Cp0wwl!_r?w+=7+qN}r+tYu|`=0OSKWClw z-DG7x8I_e07q#-qh`l!_oOwefIl|-g*%+h=AAl@aO^NURm(`UQBW$o*BMFuPwbzN8xEg%UPsSk{zv-!IKtw~oKpk4a+ zBft3da=%G_fh?}2R*H;{ch`E@uHF?J_j@aH^D2afk9^1mCzsztSNYf2R+ znO?J@@Va?kvk{BE;~;VbcT! z^u9=mKs?71SeMnL&2@+(I7YJs*iqZQf1cN%K7njn?xJznxB)vi=B&tBWntaKVmMDQ zHr->3IHt81bVHes2jib^vmt5x>K4;*3%Cfquci*9r=QzWh>XZrpk+_njLTPzQ2YCi z^V0-1#+g~p;}T?5mLC+aGrr0!`~_$U2EKny7@V#J34DsS66z9j2-&A@jGohIULI+5 z8_5jB&^?R1&mhVX{4&}PNu#MvW^eI83s_4Ujp$R01Y&>n=aE}AUSDlY>2h-=|24|n zA1teD%FpI~SulDNAb;DoRq?;?igggJH$@j=97A?nNvNx)b&Rc=rEGrfX!9Q5NtCZ_ z$ZtV};E22U(s1n8EJ#2xCX|oO3c$X6*P&~;)`IboOi0rrR^jgj_{We~AkLO+aE*3Y zm@H_YK;yi;p_&3Zoiw=aziJuthIHVE5Dpb@b$^I8Oyyva8a@uj$xbWv^866%J4MDK zHE@R=k+ADTHD(Q4{V<3Ye%qOHAI6HnLF~g4V)%r^BE5a`#Ufq0u!}}!`VjBK3g~Dx zh$dpV8N{mgaTk4XILwm29sw|p@DIKW!$hWr~clKKnD?v>w^LA)UFfW zYx$@XMylDxr6rTzjX)m&C^OLxbq8+<<*MeG!wDkL16h5c)J}Ox))6+XZ7yGEjML2gu?#F# zQEF?K?2g6>Av8KFo7!EU<+5^Mb+@Vyuf>hC1(QFRx$`Oj_WE+4`X=#_5*tWs6! zHjqQG;%ENo#fl|pn=a z(wqa~nn_1=SIF;MM<@=2s>~DIaghVuml6_*OaDRb4}c)-_G`HLNZ4~pL!Z~GfVKBF zf4n?Q;r&fLA}j4U;uWYmJ3&~m{nwS}%{Kp)QWNOa;zmk+&kcfP_0P67ryRd{XooO} z=$%98sW;<_(3A>02)9(@mr4D8+Ok1|5%Zqw040c%nTB>?DQscx$zupA)3IZ^Ea^>S z15{VeNwaK5mY)4@V5nQvk^gr}h2?*%kj~8Xe<`GI#^Q1%`mU;P3_8M0@fS zW$|ff^oWIVpC>o|d@Go}f1O?*^snyHzIkq+w75_XY?*k61Q7iT1=P=u&S_Vomblyd z$_>syYFD_(INofe%R$u}8xajlvsz#qi!)yfY3!uuGc)+vLl~{f8q}20qUuL{ z<;Xg4U?kzBPLGXYt@@8_s>HBLEo!lU&_|u_x9#gaI)=2LK=`l!kWKAVffgrY0Fo;C z$`e-eKQ>F0mibK^)2qG|DKePb7erB3r|X3ausU$%4es+bI$(kF9v%DqWr>xGB5Ot6 z!(lT1ur~A%^eor?KQif|jNygI>KdAOzXa`FSus?JnY>F64a95*j4c1+9E&SR_47oz zrKewB#FJW#Tk84MhPL+Ob`D$q6!)*_|Gm7S&PQiB9PKE%(Vl(5YU8qwCTL&+@Jp7tWmr2u(gq6d&8z+kRjb`e^br^y6)Glm|2?^3(O zmo@)EQ$h+aOUjtgvp(=4YT0Axe`tKqq}aj9W54@*QQ4 zSw4d1$9TM8oOBZZv?i}4V&2Uk z0Skvg4#RB>T8z<9(%U(QpCD}_p&+XTN_%GWgdoBc+%e^nlgRqEAaZy-;REB@8ODr5 zoTJS~gJ{JkaLUQKpvuXyz{<(jfyzT_!Iq%5(hFjl2t~5?+{P=9HPDizS5Ha{K3OHx zld}ozA_Ve{0MYnyy&aZu1>%TaPx|z&aU|iReD(%ZNQtZYn18t^xI)t+MquTfEGSh|8LlR z*!9raj^;z^N!mB}0?+lsyWDz-gWS%W#_qhd!zHQrFq>YEFXgg3FJ%4!`Igwm17?O2 zR*6dD#5y${ffQ9Up_9B9p!|lVi{{Lg?GX=PLY?C^MzwG0yvG` ztNfU*i|9M%o~Au{o94Pn&2RiI)*S?|85F&7)s^(}CIYg50%e*$+`9THW#yt}>V`WtQJ4Nzu3+(V8O;5$!A}! zR+yVx?d^qdcE+{PJHMb_QY)ch!ReoOeuBlA=UsCnzP(d=QwYeS{QXDfhD>kb&rNaCYdYbE zWY@HSE#;li*Sw^kcTO<#cbuG)D}LUjm_3VtCgdVkjA{>8IObTE1>-Jq5F<`X*s8G2YUym1%8s02^~A zQG1D+aMC2Mw5s?I?0tG?(s)fv~8}Tj!1nvKDXKc>;Dg z=-2NVk}t;dr8wF=Bl-nJ=?Vp$5nzioVw~>y1_6nVVCbM^&T%6_MZ2!a-uQ z&H-`->?!JvaAH|(v0)-`flz@#K%yg=UJ;9|yx&ObM|#<`?LyqXjqiPW1vntlah|!v zRjWCxUOl|`0W2T`6()ioGnAU{f;NSQYN$%g7A-u$3a@61PpDAO<)9a9w0@clfyIjNUPM7{?9;Ail)8@uN=rLGZ6HSuM~0fswnbP0lE?<9O!T0Us1FyK zeh?o8M}cldBeBDrU2W`@M&=GYe!=#pOPrGVbo2tM67`g%q1qu)CCJ39R#`){(#%g? z6|f9cUk38jfD21&%|WYX=m4yCc}-t+wOu<0K?GK3{OHiXvj7VFfdoeUTt!f~w(Vsh zO&Cnp7rTxM;cYEXe>oT*y4L7DV&s0)zKsduGx5P5jXaw&&19)DA5C2XS1ZhYK0Y^+ zYSk3jbop4sR}48CT&ms#V;;@2?1ca9>1YxTqU5qN_?VyGJ|W(O7GnZB7;VnqC)=bn zE$)O!A5%t!dg@_0cA;LI&bCEmKuovcl@T+p3Ep zGFLcBZQV$3K*Bzg;x&K?#*IQaY7j<@jro_cI-Mj`Qxq)K{QVbE8l~tNHf(tjqR6C& z6vJ~uS(1fC2Pa#G?A=f{8h=ab8@b$~L{I=R$})nkmhg{5DeaP>-%L%zd(%zHeJWJS zisr5$DIPncj?K)~*HS9LN^Zl@)0Gi4A%`e*JNg9!1vd#KR7YbtN?%scyx1bbXw3-* z7~SNjrhf5+7BFMv^*AQFtqeux4mabWw8kfZS^k~{^?S9WqG!hmSl0z5&qJ~wKE-tZoMN>jlzxMf~ z3hNmxZILsB(UmT4hVye~i@#f1C>dn=A>`U~DgoA<1}5*90G0ucM*niO@b1SF2*PvQ z``^_humYZlw45JCr4^EF9UI{*)6uVmd|d8semo}!k1`?ns>9Q$qa1lY7W(oHkeYhC zd%fvyGxPGQu;<5I@0N05C*5AMNk7t)ba$^zmDAQYOIhUWVX2!so8DRJv1ijtvP#LV z!(Q&=q*H%qs+=qD^+pMT&A^Tzm@3D?#J*;w$gpTCsM)h{Wy%$8>y_QRgd%FMr|YH5$$ah@-mI9SrQ4a3S=5bc%@B#| zX3T+>^L`59G*kN?8i=#HapTUyzuMj?&$aKs%gQ`INbEa<%rMYEh|FJYTXgcVa#G@UzBCb6QtvB({Q(EUsILV zC`Ct-e4VVv6zHGMs?cN9{cd;tk{70Q2ELz|}~*RuPP@bCetMX%mw9u*}RzkK+iJysJu=UyX9q z%0pkoys&>eG*`d3)rz1iwT%!in70#_!rhRSxJ!0JRpKn(X3`i-BfX+vA~uxngdVrG z63}*bZExKuZ&DsA_!yUJ)ceke+^3 z6RscMf}Joi``Dc?W{CI~6WszxN2CPNX_8O_unb-V^tObA;ps70i%4_V3t-<*N(7c1 z+j$bLK)a-Dg<;T%oL+*&R}g`S?lg1| z?%a3o1-M6ulsjjKl|5(o8h#h-HfW&W2lzfPdH2qO9ac#fJ|G}wX>brEd7fJQf_Q)t zB){>{sTotLL70q$i-7d;8o3oKDtAn-zY2oEn9In0kkbQ^q)lpsg|MecY|!fp>a_Z{gnw!J z9xe)w1B=6yL+CJk;)Wv@9SO1$Glm&xdHkHfBRW16fm z|B_tFx_t?~e7Jq}o7;C^Faln%F5+4Q{IPPS)E&DnfA!qg4F;S($UAd75Su0lQd#Nq z%eU=tDR=Uw$`5rK#vPzWREgh42yW>5kfiT>KY%^Cc=5cK=g!(Q%FmUR>!o>>D6-JI zsVEhiAMUD2*6N_G-ix*p*Va+xmZWs%oLMcf!s=BLYdsKgAkZG?*lqEIdG5F6?3u)p%bpa{#+sT0+#5k#O#C9H?_1h7rD~Z>R8_r>Ab@CoB5^R zny0RjSE$%{3ET}d)pK~Fyd+Wx>>V7QBtrwq-?iz8ic5O_*Q3h&6>&ba(a3I3U?_hk zvVF`5@<+Mzvw-ceP6s0Rk563pnTRvQ*thm|tQF4fH7qr9frcMYj+8cVAXg}_ulRBS zFlFaEoY`2&HW(c?2F6Hb95&G)IRG0qN<^XhNZ9*hVk&T6UnrRVvp;~|7B5&x9j7Oh zR6r}h&TbtGEEF2Iuuq#^3^+v%6gNmv;6HPSLezVyF^YZ4>|y~NHgF>_xP@I7HqrN9 z2F7S$a;~Ci*+7SN4q9|H1MN;(Q)44#r~-z@tfVnEa6d}%0t=7!yL7t1C@&7=IYY#E z2P3+Jp|h`~1%YuvgAh4EQOf!l;^QGGKtcuTFvt{t?GjOg+rY^P7#K@bfbWCCxU}PIDn=AWF&Mps4(e_$#dtQ9 z5V>6EGp_G^*}8@ea5pf-A_$5wn(a;&IMW8sl#o7p%&NzRH*V`LB^a{xPY&!m{N3?K#0nR+A z&Tkb^0GM9)5RKKEX*8sP7JEoSD4x(2a7&NT z8Wjs`u>}a~dD0!N^8>ezsQ+<&qcbMVx-8Y2o$x3hZ;ER-&D&A%**cqJ;@B=;yx%LS z_x9$3vE%-`;|4Vy%Kf|nZ!b?NA)D~<%PigOJ>lN6y_BT}hNim3#uh$%YL#yDR*r zs)64f5|bUmG7ILzLl?tXN3)Ubk8AvB#`l^(d0!mKtZ-!Cpa4ZlFS&evN)3zJiUDAvS90s;-kiO?jwo7M?3-^c(1mj~Q6a zQyhKgsC~Xo3ipatrWPqhmd@_x{ymYT?)7-fzsvQe?>X`>HMdeob2x zaE#MS=2)T4Du3Ax@6&f-UZJC*z!uB-Gu!+9rNaODKDns>Z70|Jd6TqNs|HIl<3TU- zd3d&adqUA;^G4^@uRAUpo|aw{RGN?V^;zU96(wz% zzQ0OotJdAtmer=Y{X6<({#S@-(ES+BUK3WYR&E%(l`av+sPax<-#s!2?pE>JQ@OGP z1g3UK|GUC?ILT^Jc%_MT5BhzjKiNz+R=JBN_3<4(TzkL9&Efog61l7p_;(y4(eF# zD}F!vy@yf3FbdsQ;C`ovUp?&6(@mF$`Oy!&RK{Ax8A}jmW3}y3Qx~(4I`|S+7Qd$} zQK8l|)YO-ecoaU!Fj?Xo{uZ^J_c)Xb;=DRg2`tDy7REp~$%3YV(|T9i8XHaMwh7Hg z$>=nyw`2o#9&QP8ox=5&F}|w6g?Gwo_)tCm;n-<^bLKXLv_8(u?L$2dsDyD8QR%Nr z|GDINSJ`M7wGFv|hz51mugjE0K2%1Io)eUvN(ADOpe3{-`12+{T}9$`=Dkf?rZS?A z?`OTPkrwzD;$;i0>KW|96Y^89J3Dy4w6wj(cyT$gB;P<7$XGF^B?leCg)@!*K*7Ed z(DST^R>L@`Z{ovMIEzYQVNFZab$S~LRX>d)*>+ydH!V#mzc(LaV!(j-YgU05aoWdcA!2zPRK3YU(AGU(5;2M`_y*M zrM08_e$aEx?`=A#eKWgu00QMQgrs@M%Py0MQeHz@jO3$7y+)XwOvkF6lqh|Zkj#4N zSzpQ0S%;*oq0;a%jiP47Tu4klTx5`KxJ5k-HLY3d4oxivB~YtIEiC5P!sM|K3SVvk z8uqg(z(mOvj=g&Z9^2A5JK8gg2zQ+VhP|7CLrzd|&?u4p4{TpPOC`#WqV84L6~Rnj z;Czk76L1`+s?L13`w)0oW03RP_+Q-M3nGM(E+aAtemvhMP`cEY2_c2;51Nq+IP%p>BDArIRW$VnbbBQPk-7qHjrZuUaT+Gih%x_b2`Lik& zGJTg-d#19FHtqW~*PP9-KTXdyc6S!*(+lieoxk(QGD@iAen>>De4X0HH8&K@V2{+g zo29p|LOY5+QvR)V@PTlP^?!eST+M5g2XH4HN~Ty*@-i}Lm<{cj5QcSslmbv49W^uG zSC41C`>c~NoK)qZe($rWJ@o?iyL(QyRad({RJ(nd)gkJcxYv#s!}dmRBN1=aD|wE$ z_vP~Ah{^*!e1b}*0G0sd24S?;L;J4=qY!ofC3Gh)nKqTPb}@V1dYd6cev6RayH3QT zMvf!*x1H~3LLF3_F9c%f_3{!*OC~iLB_ZKi{pJ0EUG$o3E#HIDz7B2my zN-I`1UV4bCpJn9d?*;qBhx0@617Xs4eB(>K0GnOyPQD4M*gbs7pLEyr^Jm!g{Ir#6 z7ua3+nl1EEy*A#-H$S3=v?*Nf10c%Y+OK!!qF%h zaf*yRebeLRxO@A{U& z%9wjrWaEv`V9b0_juu|`WIb$KjlZQp2mR6#KacVX4+a7i?lr@KaX>wJha4$ zI&D)X#uS5QyHy-=5~w{gTY$7e*aQjGT)d`n*=?qGB#BD~p$n|r!e-d4Jhfe3@5IS) z=O-2eY5KU48lfwxsV)R+o06?Y&KX&A8=0Dd=F)<9>f>+ZFy$<`V=99s{-%h*7-nG7 zS?FkM;lx~4Y;@wPD3%O3ZuNGXMETb;HP!tJa$vqd4I^KQH})#(*bdA!>{3V;WTaSB zcwCi4dt{LV3m=e=_$df;5pbsI##8#37-aV}gAf%YFBOJBBFMob@J2VYXEnf-8Zo=wPK;I241Q{`rG^ROC)D(eOjU&__A9}_ z6oWT_0;Ez0$``DeivGwptPc*g*(kW~60aRpA=r&p9#u8|H3-($4-L=fx-O^_?B`x= z1US!`YapAOO0Ff(ygP}4^?XP0J9p$GnZ?wobm{eoyq+S_0G*Z^Chmz`O;udc1>D1S zI>OLz4o#CdBzh8yUmbK zxA!IcxOD#L>6Og~CgjCY6m4z>93I6k+!oE?&L0Hiyq;~V7r8elKRP1=`Dar=YC<0Fbfu===kTCEDsX@&0;_h-w?*~G@?2aV))zj0I3mZ#OY zVHnq=D|UBmYvUHGli$vsx43THcFiRi1_p@S&z(p|FF+_TO?6%DueC^9Z_aZniHu?2SLQO}5H%2?#r53R#M!rhlAGSE|-dO&+)!WSR+1_gd?`1>+-R)g2 zxp?_?dwW^&_ofB;oViY<@zZ8q+GjZ$PHivt;}{5^HfKtyrBpU2rvNQH@< zQkmnC=x}2OI2FeId;)_U;Qnlq@Ss=P3{vlwlHZ=F_!vem)!U0aYG8|8-Y_eNY_@+4 zS_l8RT{7+7bvWH^+}PcRSa-^NVX$*1z!4m51i|15!$m28&Z2_9sy8%CO)UIGDde>c_^z7^tp(^3g$1iME!fRr6nJqEb z(a|Kvq~x&oH;A^#fbGR^8IHVYug?Lh8I4vgzw0!S%#B{!f_Y`m*}Oqg3{hSC7slf$ z6?-&@YNkX zM6B?pcGX2qwba$aY`QMYx-=#9YL_kGv9I{<9~ZHH*wFCfu@VWWFHfd;>|ZUZUnBbO z$c+kQ`f;@vSFh6S-1OkV;N(D(?Q$N@u9jX6?_JNvUqqi8A|qsUPTuxi>vzwrlBzK| zg`YxJ8N4&u>-4(_Z_=z6<7lqrVr*&t;pPr2FGDDTL@yoSOeIjsc66oY8yn#X+nNJk z68`+@A;A2&o0E85jgAk0F(V`DLtn+iqx=w1cYW#d2^sukGN`FBEALvYmD*ZF-mhmg zrRe(`|AI=cn++V;VHHf&B)doAxU2AjIb&zeRg7Xwj-vWPl=%*Uc|(sZ>6*xxF{*9& zh|n|eZX~t3Lopt*b)`*#r?qOND0GINcC*^|1Vhkyr9GwpVTQi%y~-Ijf5X+z^t8(v z_SS2q-Si=qc|0rnJ?Q~X%X)gP9h`H**=I6G8+*&u4j49RrW#J$(?#M72wTS%hr1Q% zUGhXNR60)eMq+HQ2e4F@i=C;*E?{xr6E%ogo>u0ri!Bs7ce^9RW@lP|0`693VSJ*L zrL}g|ux)ocbPV?#ZC7UF6Sa(2%@Z~B1;Fzm%`!W97S;Qim>g|g>7|gxCrNysD(~~_ zGc#dd!R`Dq=ct&t_o$8nB}yd@%X2NGhf;*nYpNyKW!*^b*0rxP=gLkRHe=V)nQg80 z3+od#1PGCnR3ak;krRwQjdvlh6SWbm3n=F(9s?A!)2)V)T39eHz^<9BS}(Rh;AYu0 zVRakCa;}#dGMTVP2Bc4(*||U&>Jvh4Xw4O z7!m>`BT|Gi4)&l&ypcz1oM{I?0I|9TM8IRGJ!Kyd4&Z{PgU^w$jqVfyrx&%(#6l@z z>MIA)G6;LeA;B+iMnJT9ogm8=v{KERcylZgrSH7{RJz1hBD>v@VY4WG z(M_Q74#J@BesKbDDMhJsP}i{y@#NdZq$c-$Jkeib*d^VG0NwkoN(`$Iw+8V=Ou{;)_CelzDH;ghh8v1?WP z%!qrz<@8L}67Kd&D**eS%q3{b+~T$2{&tS%>=D`@=jwB{sW3fwcD;(A!`XeB>Wq$y zWt!>;<*bfgDeHp^erLWhgKEC{ivDvjYv;GP)`Bwkux+#f6Z-|k_K7&}8bmO5)lweV zC)AWyf=UN{A^n=g%|Yl!wjWF0O5ZuY5B%?|Qxz&4E#;!L8|9($EeamNrJn z{AzZZDkjf+DRHCHh?;wPHl)>*|oCt8gN38d_Fr+w0onc!<;jA0}H?hQnJUHX3Ht_-k9$23!hk-E>jAhV=1l z$o4Un4u~DYFu1jo0D}gH`Vo$c^SM&dvsP=M>zH}_s}a!&_{A?Qiy|gTaO?g=<&Qwu zzFaLCBPtC@8#-tDU#3JvGDiA!2y4~3=v9Uc=Hf9d9)3$}5SP&}fNqz zdexv?Lnho04_&=pevB&c=Y~e}3k(PUC9M1eb;V2A6%YU+$Ms)w1HQg3U&X$*jyhTm z*zC&5%Pnjh@Qb}GwK{|&eVVg*qkn%eq~plpp(hs08b@s_6vIE_!TRnRprc5wQE9~u zm4L-BOXy>-WNVWl#=tm@S)KQ{7T}^Dkg$nQs?6%Lw=*qYcqQceup7DHPF9Y!vctyV zxy(7@jxKk6I_bf73Jj`qk{AB)l3-RfV^of;cvh)fB+{iOKDfCovQ7%L+3TPUpd>K`oZKl?)0Z!72Fw~h1<}N zmcR@OVVL|p)-j}`P$mD`pw{78(Tg5%qElU*@vNwmyQ659NI9d~k#VF2 zZlv(4Z=cR*Q4ghQWsrk!65r+ySZ^#s-R-~m)>dqO&Krh>?OcE3>(ORii5;j2e9u8YD zWJ)3NnkuDebKAt*7Or7o1}?+-FmtMBIu<_|tbb<7WW;VYc#=WNi^$#%$GFzM0&vQF zsgm&a_ES5mVMbpz|gZ^n8_Bvk527`E5os6_oSaZA7)wa8)=0 zx`AhO_DdXiS?B3P8Jc7}u9;7@TWG?CJ1mUH!AiE5;YdApF1b3rYxwYv(xODn<8&iI>(~vPSb~rzR?1)2qHgbYpX2pK2*9#+jSb zb|W_9eLh_o$cmMtLE9pk&ik@=U^Iu`fDRtJ%iB2&g4WO{(XxC|G zqHAUq-Yo^rv`<|h~6X7qPa&?Qc zuO8p)6#<$3`k5S*Z<^|(N{4!>)yld`T$i9(x1Cn23$BiSRT?H$6gIzKyK zIZGpJ-7}u&RxgXwHL1{=1s74XP8PAjfG18~-~e614u>+9uI*C>EAI3g_WUz^|4N#U zr{G~O>G0=^Bjsr6)J|6Cvdy(U57%D};)cX(lE!bls|4S4juvq@;hP?@#l^Sot8ES* z-_JUjkXU78eO>nA45-*HMoL*xh3~77E|+(Oq~lTCRk$O|CdFOjX#=xG{@ZIoFA=!T z@XD3y%4308>);!Oyv&L_L0>DYamdOYol6p71!fZfGgDnwL9wkO}V5#$7Dz{!vBhA8P$lv(|#kczRT@X7D*bD+1L zxu8pRPmbNDkaST0H}IDh0AyimXX5PQWNK*puV-&$1;g^c)zxO^`oDFx?a0~_0C0z; z2N1ajKVS@qr9~@&O^ZIlxz5~?-=+rU--Hfe<0g1!^(rZ<#nQ8}rm|^rs)>$>%n#vO z(bGr%kfQqjT6?2^9ur+>&Tg;X_WcQ)5Ty6M+d=;^NRdB;RYkbfZ;TAue}CP^eRFX5?Nk4K zyXAQAkYG^Puh$`4nFp5xm&WvHJ{P>f^Jmv?<+P9H=S39xFWe!F@E_da-NP-EGD4b_ z!b_egV~HydYD&7{f8Y*1d`t2G{-{nl%fAxXbYz5zf4G~c6-nQ(`qQ&9^B(ed;~|lq1&U1Lc`0Qy^n{8>vT38HX1e(bQ#ZdK0nwgFL4ZSr(YYOez<8LEH8$`TiE;p< zBGql{7-9l(q+H>}=HLsC*9hYZRV~}b9kwIu9~jywRHW1D*pc5FHOS@zfU6mTrH`M*fR-kP_D~-?*l3tSi;-QfBBF+?u!yLSY>b?U$Wpi!y@4KB9G$AXuf+gVwZm z#VM|w&q);7XEN`wF-Ntm+fvyftQsS`%iU$U6C?^x_Vj(#(;n|KTLhOBuat-|SwKm4 zcdXu0XU!WfOGij%S|LbHFFREv<%X!IwydS+puky4jMyolKTAL3!(1q#r_RDiGH%Lh zDWU`KQp;AEOG_@!N1zEQ_(5Hnx`z_O$4((SQo?>2)>9-ET~RL##QjJf5Y|Ih_gKu2 z-9(NCw~=T8>??^DI)r=y_qJpk5fh@bNaw-$LJ1cP0&eVZb>}U8B#krM-BEq_^oJl_zTCtY(2dclrl-Fpo6dp8_ zfdE0JXCX$18jpf$iosy1O2_?(>l67-K<A5p9Fx>|HnwsOJNotF4Xtb` z9_`7iR>(8dCWij+h9U8MiO;i(!Mxt&Y;K>glb{+7u5m}pf+taah(~a5sn7G7_JM$mCTRCzPt{GbHpa|2Pw$dDRccOQQ4^-l;qthKD|lc>95%+ylMLzxsR zUwqS5;E0qC+79XyUL|N6yHKv7eX6-qU1=P0(f=S1A?zG9VMLfi%J#f19A&)b;Mn;5 zd0wQ^YNUm0iz@&O!QFVrXlXn_9?2Ijy|4LuY;Z{E!)&=AT<3mG3)O=DXfr z9^r*|z~AN;J^dOU1{6%rRBnCOs*kNHg0b2rUapI^ML%Xr-fMZ!&tx7sxv!%kxY6cQ z7s|W!&mC?_rnj1$A?fD74mo7ES^h4GdDTh5@!zLpnC^*lR!j18k{*m--%Uv-)JeTb zawy5r?pI`7A#od$ubBeezi)(@SRWYQFjc&V4n-{Pwu z?%J2F`h;cH7B|0-c#b|7&hK^D=|j%bU>YmWqb+ek@xRNuS{w(yuj&$pa)2h$**hfUNe+P zQzkO|w`*@;{KY8?pl*k|*`7Wt$qf6;h0T8OEF23KS7bj4L#3AJa+zA=Bhr7&PUvn= zXGAecHp?l3!zyIPmU5%o+7PG$OO=Rt&|5M~4F1YN?bPHi6h;5TJw!sQ===sS zMpaUN{7H8W>OL3;(M;6o@k_nze<}D!?xcDY>+wT~3~`>WzQ1BEp3LzGn!^|pfP8rF zyNG;$hwRl0WJKJ95zeGj3o&t^f?$y>9<_8{iJHX&CnDkU{h<=ZLh~Qw1KMl`omKUd zMN#&)a9UV@Hk{XP(PirFItylb|Fkrm6Y}ioZ1$iqwOXN$&um@m4xHft5xHCgUp`6J zugArZ#`VBiHPrYs;}+U%Wn}h+C=1e1R#PnWAhb`czi^$&)(SNd14J=6bR}p(5gS_+ zUsy9MlyT)+ec9GUHImalJDE>D%UW=LynA8L`wnG|^L6AD)LhgQ>Cl>@67Z8#?Ug81 z3mvD_WD_R8)1m^jEM$Vzq% z2mDasA$0I-r5Co!r8 z?=_+-&^S&gJ|^!JBZP>I?a#Uvr30{x1- zk!ra}YM7oE2`d^fp_943OhN2ymAB!Je5_@j!X&q+#q%Gt4#A@Nc zup^@9;ggh~S2POLo2SYCF{7e=&a~|2M>a(yYJNlr>C_PW>9OL>N4cqZ3%S8TX-Zu( z&ez1sEHeWWn-&_3G6rX4ehy?fpL#e&8_B=XF)tHfg+2b$m}am!IWYWKqbVXeR4?HY zEg__pusx8HMhcA$7M-St+X??SV#mD%XQ*&}p-aRB@Cfo{#^p~w6$QV#tMy%ML1T~* zrnFCXSb<*lB6$VPKh(6a6|7PFW}Q;kZ%J44E{kV*N8k7LFSIWnvHxmyzVq0d9`K@s*C6Yz_^vxL_ z^TU!wUBB0=Ms&gDi~OLH^&l0QL?e-kjlrbnLhTikf0k_2uhY%%MQ)JHc5kpJAO%Fq zfH0C(03|53dKSFVCLAV})QY%U|3>*gjJ4ceml zxoMrC!i%(vCf)OS2hpNG-}EcohHM%2SNhp=g3VPCpW2zyFUFDfH0GFm4@Z1tySiMM zhek4$t^rhjem?h=D>t1g%Wf&vO4AC>4y~p7j_pJ18Qmw@%hCwx=}8~-B(_tP;&bF5 z(!BYb`7|^vx|RpPj__Lse{=Mznn7n$Jh)+f%$_ohus()ciar;+@elDV+_N(^bea3M zIsJ)%mJmf70*%^0%YIEda~O*TP)SM%AJ$6~bRHfP>oaB;M-ze7__fhIGA-z@+T)5IQj3Vl1EIrj7EdqOLvPN)~?j z1Nv0Cx~-MxCToR`X-_4%l-c62l=U;CNit))$0+r}>Lskh7~#BGryl0Pro(vFWQI&NBmZq$S|B0(7x`Z4pdX zbb@oDXHOMe+trQgb?FZB{MGlY43uzJ9-3xz6t1(CstElWJuR*EOU4 zA_Mo?>Wh8dUOsZ=tM-0@h}8<@*%aGmPq6v-bIO-4<`KV5NU*1gdaG?n@HrFBCiOr+ z%Yd$fzi0bjGN;A`V~&==sQVb_ulhABwLdcZjTqYA%;3Tl474ToUN47=dMrV+rPDMqz4!Q+P%K)bHe6R}!aAFUdPChI;Fv)3T1=}j0l zjx3qQWD50U?a~-5AOm-7Yk#~i^+_7_vA{l*bS{}o?i0-#3u_OBLQ5{^f$Qc4R5 zzSk_v0Ea;_Lf5vfA4YjQ2C%#qZG#d$4O5GyO6!#GnGa!c~uo?&Hl3V{r#cj~*VK1`jk4i~=C~Em^wh&nH*2u8OKh%Lu@F*i( zYtccdO_|7*^l5n1&d*584_ERO-@6_cD7-SYr4N4nU&?_qHk|#e3j3poSA?{m@B#ST zCh{m3<*daIqlnd~sm(ZlGsNE=KO#VZ*8ddzX5;u(>%TZ*UT?-~;oG7v(-E+(qX0&A(? z??;%k$giFzgRBP!84|ge86rt2gQ%j5WH(AOkp8A1Y)IgS76Ya(f&mW8GVt?ffhnt1 zFrXs*17`@?f~tamL_61&$6w=d{(w-G2e91_g?dMQ3FYhCqTS%|RHh zE`8)%{L4iaI8;4#DFPmkW6+BP{rS6(taxUnVXN0`v$LT_`(kN& zGuE3EL`J*+GVRx+{VoEs6xgAj2Lk=QPo~;?FQIN7hg}#bC|sR3+}~9*|559^Ab(++ z1YtHOSVqTQj5O0No3!|?-n8yLsL_Wj=0A{IZ4DI;z`-wu0d^PI{qT=rP=oE4h{=GR zCALf;l{dD`hUq6?M1a3;=4hL+Dv86m2|E%e{r!`*h#VjLP7hVQa${@!C?&9WSmw5k zuB#2PgQ3%o|7aU=z^%os?7!{%;YdUdqGKa03&W*lCn07Ge=DI|odza}Z`zwOgXs#F zGK1ORxmlTa;ZrQ)NGBRXPL4`=wFm1}siZC5ixPOtY|Sa-%97xgfLB*QSzJVsM=q`orsaB%DD&lsMjaVB0sR(j!0 z&)I$5NXsdknUaymxG*#E2!QfT%R$g9O3zW=vN7@qAitV=2%>0@K83XOjiP56;d-EAL?B6>J9d+A2Tpo2s{}g#^C?3c7**E+!fo<_lRs zD1?A`I_NT|T!mq!mcka&k>43+Ut^ zLW>p)wBxCP8lwd)?E&ZRlQ*U+_~>P%vkJsh>T@e1pRj}N0|DzjI^QINzcK2gs#L;W`J%hu|TVfqZX+AbYA|~ zjhf3rGgzsR^I1cWCEC!5N09;gvqBBqvdFyIq6KAY_G@obV9sj%z`sBP75-6MgRqX3 z_|(6E@(9HgM-xxNX^%8-Bb?tqBeWYFD>n!d;fo~CuOPe+Tto;`B@ahR0+<(Z0KY6M zfkMC|DG4ZotOQ?yg;dqwnNm{6Jl)_BrFuv|&pgC|;Npm5MFB3zge*^i1zL=-F5esp zhmzz%V2&hCUPK;Pw83xe1y+>#CR)V|TJaan?>31t4!}q^uPo}mx3B_@-b?#xkc=_= zYS3-GW6j=+J%q4jJIIy){SJ6$QTy9CWc~KniTF2J^b2L%=q{sZL+{4EHgzlBu@wKS z*a8iGe90PrxN0$cI4VTRh~<*#Q2TOnKNbX7ug6++aB@>7Y9&MK4{Dd^|6$-L_h-dB zUJtPI%=!(zddsnbwl1+`C0Sc+*&Kvfo{^xr8cGOTXZ9R5bhYi+K@YO+UtuA{={x@p zC}G4|ztiXZ%PnN2lB(UZs0BBnw*(eQX5)UaMbXFxM7}a7ut2-hi*VzdXoh*@=Zvm% zS|pdNef63jS0joMzy9S>>*pXnx3ABJS6lULY{}E}9ZC z&`L(=Qt4|KMn>2|l2G%r4GP6PV|V%9LT#>GnodRNMnbLsB$;+@H5##%F^Ei&U2At+ z1+rqRlhDlLkco?kDq+($#)&jZ3U&qZmPVMgg#g5G$}$`U%rA%%U2yiXj*v$X3gUo{ z9>i+}S{Ycz&tkDE7;DqkH=A~ASQ?8g%WuWS-h>>nm8EinN16UdMGpR78o6P?je3@@ z^YghuSQs06yP5-yojqU9^jml{w=+GB#@>Hcbhe2e*pIZjj4%@BxaFTQ}MC`J}24S+%&HaQ-ZxU{yQv&4%d zl|mB1s;CohAKRH#tpSiXauW-Dzw3Kr$4*JlvldRzCl?HIdP}-XfQc=T|G55Vq@eeCe>|=6Z7J3J zeh$Z98ApT%C>)4iw-2@t*CKx$IKvLlP$NZ^bmj*tqoMZAl$j!1rdt;#diw{5NNo%F zy|10{!>-U$6XA+NW29LgAmvq<0NWov9lHO|D~Y}dO3pFOFs?v&(3{YICb> ze#vm0pw139)5!);sIE^54wj>5&fQK4=kr|*C-|KJ%QW>s%ewf{PkH!%WD8tF63cqN zmiDfmdm6DJr-Jw@UfTGeT{;eZ~n!TI03WQ}OhvKZ!G|F%Cs9ki$k)&RER_a)V-v;k-r02;p6- zc1cdOo6wLgP1D*3YCW(H= zXo-8RSNZCtX;J(2Q(Nm^N!eqLg%^vCxv&@nA_Gz`O>$STUg9dF2VMq$z2w^;N z;D(KnaCMu`L2hS9y{pI@2C0mU=2#1+qo4(Aq^8({L#e3QkyZOsTVvDrEmS*T6+7Btv68?L}fWQ^7(> z6=I?!i2*}NrTzddF3by9^<^-~QBPiB4c z-|@$W*+8xDAb|WZZLFMX5;@MYX5JY`o!kGeaX`^||J$hgd3i>(YaHr1U2pFB{!OFh zZv6vi#jG9YB|X^}UrS9Z=hi3Z1~kX~`O+;={udu(wS$+o#aDzL-74HG3jclDalS>l z>HSYZoX-^Ws*H_*AanPuiri+EPf|=n*~C_JdE(#sq0mlRCpL_1Cx4WB5YHg|CwP|J z=-KJ)m{_?l5+rwU0(cPUx7>7X73`;>n7F(;o&HOEm{`{Qy?9T4p2Hvf@Ig7hGdG_r z<4ZKxFLj)&{E4$Lam=^$u2}PYdTf5y)yvPn0uUdXoB8x|xapBra5Gi3anJdxP2msJ zGV-;ZFHHE;q4Azmd3?rj(L=wy41(@8o$3-rNKNkG=OqhFo$*&BiR5X0=H-MSv%fD$ zdOGBg+*?j&uE^_Rt{mpt~89WmTqT5+(%naEMA;V_-{xLq5f={FI(Qz)J) z07@LKvsYj>W6Et>4wQ9pf#$`Wbpe1Nu)&CrWtNpaihsE>&?>l(?>1)%3n%#prk_=@ zV?fFjdP$%Wg^YuS?|NYwMwSzrZj|8!%S=$NL(EA@3cqFtjMSPINV`Y3VtvZ&N83Sb z^f!v={GKE)F+EQVouqEeTA}!ZIbOSw(f1)EeQ_=SqESEtI;rfQ5=V?VdRrHr^GoT; z1Gh6=l8&fnB{Y+ZbM|89M9{V*KBICeBe?8m{P`9nZ8|V$lMNZX4XJ%c72NOX{L^ct zttIWzq`Z&a3+-w7WeE$#J`vkX$ih$ylwJ%|P9=i#Gs|%Cl918rlvWc>IU9%@9M;sw zyGCOmWgSQqNsN+U7Gt!;d8(EJ0%c|+76N%@*k6umH5Bg~htK2^9%TAD=2^7?qiO1v zzy8(|u;SJ_gg2}2XXwc9cYCv zN;-B>?}V`@K<^UpAsZ^s4CVs*tBN-O5At>2=6ltus`dM(D601s8qJ$e24V+mHW8SHkKlK8K4W=_+ z(*i7H3X2X)DT-l7CoX92Qb@|M8exKG3HOTj>ah`OuoDYe*&z|a4WjApwd9nhL}}54 zsEq>o?lr5a<|G`aoUH+6@dm0VO+tknaJyS#(g+ae3&B)^_n(qE@>I+R<;Kp~p-0P` zO3pyxNYS#)caIa`vQL922vk^B6D3CJX(VUN`mi>)8KwZj%KF8ytS0xATZE0C&HRDF zc^~p-Y$8+h*@D+FZaP{#Xh>&!idK!I#{DcU*sl!AvWS&*kAp*t7nRiJzvw9i zbULrL-{TG`*B#D~o2er+*5R8hilSslJ-XT{>GdW=jcGwW(8cR31yF^9H}`}05<}3h z0ZR(TWEFViE|Px+i2jl#nk+rV4S*|_S3N|QkIVJipf=^e0_n<&DkZKB#gNxsJTdQ4 z1K(tQX-B3HbqajKB(GBLSYy8?7)$2P}hZff15 z$y41oDkkw>?1E1FY2a+8UG+s{pn27T%cCQ_d_U9k=k-%NH_&PG7?o-Uxh`S7Dz_tV zC%<*1-IS-urX0$e{N8=bfAbn9I_C-)#i(bVn{Fk-dThrBIi&<|QPo)o_ja=@)h7dT zZqdJ;g!M3(Tz|<{YY&abwOTR9;$YHe;UN7|+SB>IVs^u>auxs3QM*cqLsRP5pq8Ia zHUsnc7FACEkW~#UnN@k^Qf(ol?fi-^>I6L1K0^@>-UT|MZv7RP&cK~)t1qN-Nv08; zP20M3{*9|wR&_Ad%w6Z}g=)|248NSnr<$xaEntQztBtGe^8sptA#n;XI>W$&qT*_X z3-@@gbD*#j#f>_)q&(wIK(Dpzs0n$H1i9=+3ObpuyG33`lzX1Mr1)SpY1bS+J>>8a zj|o<&!?($-w5glEe|gD8Bg&hH>re%LoTrrDZ2R$#W66?Y6<&_ZvwP~7B+se=Sm5#Hc~8n!tpJym8s{X^CZdS^T5Y`*5gSKT}Ro4-;n1bROuw2$8> zF1_yGqC+!Zd^Y=5f;L`tH;@Fob#)Fr4G8w$fqPV(h$9STh54GoKWI0gN_K78V)UU3 zf@sqM%zdCsC|J6={V0j9&#Zb;L>h?G3KW|4p@^`yUqu)|=N`~x6wS>5qbrKNJT<2` zp{7iEG9yj!9RTO4jOhJI9OxF>@S_Y%neIagZvUx_vJNIA*ysjULNSOaqbLEGEzYU= z-<;wMpovgv1=@e~BOG}BD4{^%9Jt9j?t&TrTD3xgi;v2Ja{NY9{j1Qv0RmT3c?pB# zP{RgCoKoOX2s1A~)v>bchWh~xe#?un+u98dqfbfD_~YknAVM4vuli4A0!7%}K)jD1 zN+*&)>QEBoy-E**z+NKqvjMpjke!BjgUc1wluW()iBKish$Lgk?v)OpYM7Tm={S2I;+ZBScccur|TUL-1^ikZ2%EC z^QTt6wNfOR`xZp?EZgu92p`iGcwGj%hOUL2F=r!bg>J$MsQeG|&I~n&BwkR{MfgD0 zcdq!y&_tuDE2$K{;{XU~oeyDrh#z&c&0dna$;Q^?D;ZVQ*^;I|G|bsL9lASfO?Y9* zHTTrSlNxPCjs!%qK;wRz|5V{@3e7+8^F@%Z{gD^o2PUA=hYk~hNCBj-$N;Tx=g$ta zjYtC0sziXi=lD}iz>DBWC;*ZX{UiHgNIVnKDIZu;;E@djg*uK(MQu4^P8H�P9@p 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 IsP(ab0>G;*?f?J) literal 0 HcmV?d00001 diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js new file mode 100644 index 0000000000000..3334d08060844 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js @@ -0,0 +1,6 @@ +var Migrations = artifacts.require("./Migrations.sol"); + + +module.exports = function (deployer) { + deployer.deploy(Migrations); +}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js new file mode 100644 index 0000000000000..59db8b5c3b6ed --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js @@ -0,0 +1,51 @@ +const RoyaltyModule = artifacts.require('RoyaltyModule'); +const PaymentModule = artifacts.require('PaymentModule'); +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +const numGenerations = 100; + +module.exports = function (deployer, network, accounts) { + console.log('Deploy to network:', network); + if (network == 'development' || network == 'soliditycoverage' || network == 'mumbai') { + deployer.then(async () => { + const ERC20_1 = await deployer.deploy(SomeERC20_1, 'Some test token #1', 'ST1'); + const ERC20_2 = await deployer.deploy(SomeERC20_2, 'Some test token #2', 'ST2'); + + const token = await deployer.deploy( + RoyaltyBearingToken, + 'RoyaltyBearingToken', + 'RBT', + 'https:\\\\some.base.url\\', + ['ETH', 'ST1', 'ST2'], + ['0x0000000000000000000000000000000000000000', ERC20_1.address, ERC20_2.address], + accounts[0], + 100, //numGenerations + ); + + const royaltyModule = await deployer.deploy( + RoyaltyModule, + token.address, + accounts[0], //TT Royalty, + 1000, // royaltySplitTT 1000 = 10%, + 500, //minRoyaltySplit + 5, //maxSubAccount + ); + const paymentModule = await deployer.deploy( + PaymentModule, + token.address, + 10, //maxListingNumber + ); + + await token.init(royaltyModule.address, paymentModule.address); + + console.log('token:', token.address); + }); + /* + deployer.deploy(RoyaltyBearingToken, 'A', 'RBT', 'C').then((contract) => { + console.log("Token deployed with address", contract.address); + }); + */ + } +}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js new file mode 100644 index 0000000000000..f7cb0084e5f02 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js @@ -0,0 +1,52 @@ +const Faucet = artifacts.require('Faucet'); +const WETH_Mock = artifacts.require('WETH_Mock'); + +//const WETHaddress = '0xb225B1a0873B933004AcF480Bc62cBF67533c2Bd'; +const TokenToMint = '10000000000000000000000000000000000000'; + +module.exports = function (deployer, network, accounts) { + if (network == 'mumbai') { + console.log('Deploy Faucet to network:', network); + /* + deployer.then(async () => { + const mockWETH = await deployer.deploy(WETH_Mock,'WETH Mock token', 'WETH'); + const faucet = await deployer.deploy(Faucet, mockWETH.address); + await mockWETH.mint(faucet.address, TokenToMint); + const balance = await faucet.getBalance(); + + console.log('WETH mock:', mockWETH.address); + console.log('Faucet:', faucet.address); + console.log('Faucet balance:', balance.toString()); + + }); + */ + + deployer.then(async () => { + const faucet = await Faucet.at('0xf1D50435131169e4A176ef502917eCaAeA958b62'); + const mockWETH = await WETH_Mock.at('0xF087BBD87Dc6188914572C4F184998bD509c480f'); + //const faucet = await deployer.deploy(Faucet, mockWETH.address); + await mockWETH.mint(faucet.address, TokenToMint); + + const listToMint = [ + //'0x93F4c85915BCbe0dAF8C5466D9Ec796672336584', + //'0x7Dfc51EB31eaE117d4c81E8C61622d8407bA1C0e', + //'0xB22cD6298c234f7Ca2e9eE34D7B24E0A80f71C5b', + //'0x9D2E14F6E616d1348c9ddb89883fE73ae0Ca5BE5', + //'0x6e58E675F0D05bC5ab14806246cb7EA41D4C6dc2', + //'0xB22cD6298c234f7Ca2e9eE34D7B24E0A80f71C5b', + //'0xd2a54f534D65bb1C34fC8c63Adc3c91E963390E8', + //'0xcd3497E7769aD22Aab2470DC5CA4494433c08180', + ]; + + console.log('Faucet:', faucet.address); + for (let i = 0; i < listToMint.length; i++) { + try { + await faucet.requestTokensTo(listToMint[i]); + console.log('Token sent to:', listToMint[i], (await mockWETH.balanceOf(listToMint[i])).toString()); + } catch (ex) { + console.log('Token not sent:', listToMint[i], ex); + } + } + }); + } +}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/package.json b/assets/eip-4910/eip-4910-reference-implementation/package.json new file mode 100644 index 0000000000000..a6d98824ccca7 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/package.json @@ -0,0 +1,29 @@ +{ + "name": "nft-royalty", + "version": "1.0.0", + "description": "Royalty Bearing NFTs: Extending the ERC721 Standard to include Royalty Allocations", + "main": "truffle.js", + "directories": { + "test": "test" + }, + "scripts": { + "dev": "lite-server", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "eth-gas-reporter": "^0.2.22", + "lite-server": "^2.6.1", + "prettier": "^2.4.1", + "prettier-plugin-solidity": "^1.0.0-beta.18", + "solidity-coverage": "^0.7.18" + }, + "dependencies": { + "@openzeppelin/contracts": "^4.3.2", + "@truffle/hdwallet-provider": "^2.0.0", + "abdk-libraries-solidity": "^3.0.0", + "truffle-assertions": "^0.9.2", + "truffle-contract-size": "^2.0.1" + } +} diff --git a/assets/eip-4910/eip-4910-reference-implementation/readme.md b/assets/eip-4910/eip-4910-reference-implementation/readme.md new file mode 100644 index 0000000000000..2c8dd02588c09 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/readme.md @@ -0,0 +1,171 @@ +# Reference Implementation of the proposed Royalty Bearing NFT Smart Contract Standard from Treetrunk.io + +## Abstract +The proposal directly connects NFTs and royalties in a smart contract architecture extending the ERC721 standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. + +The proposal builds upon the [OpenZeppelin Smart Contract Toolbox](https://github.com/OpenZeppelin/openzeppelin-contracts) architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/Unlisting/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. + +## Motivation +The management of royalties is an age-old problem characterized by complex contracts, opaque management, plenty of cheating and fraud. + +The above is especially true for a hierarchy of royalties, where one or more assets is derived from an original asset such as a print from an original painting, or a song is used in the creation of another song, or distribution rights and compensation are managed through a series of affiliates. + +In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. + +![Fig1](https://i.imgur.com/Py6bYQw.png) + + +The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. + +![Fig2](https://i.imgur.com/7MtWzBV.png) + + +In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. + +This affords creators, and the distributors of art derived from the original, the opportunity to achieve passive income from the creative process, enhancing the value of an NFT, since it now not only has intrinsic value but also comes with an attached cash flow. + +## Specification Outline + +This proposal introduces several new concepts as extensions to the ERC721 standard: +* **Royalty Account (RA)** + * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. +* **Account Type** + * This specifies if an RA Sub Account belongs to an individual (user) or is another RA. If there is another RA as an RA Sub Account, the allocated balance needs to be reallocated to the Sub Accounts making up the referenced RA. +* **Royalty Split** + * The percentage each Sub Account receives based on a sale of an NFT that is associated with an RA +* **Royalty Balance** + * The royalty balance associated with an RA +* **Sub Account Royalty Balance** + * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. +* **Token Type** + * Token Type is given as either ETH or the symbol of the supported ERC 20/223/777 tokens such as `DAI` +* **Asset ID** + * This is the `tokenId` the RA belongs to. +* **Parent** + * This indicates which `tokenId` is the immediate parent of the `tokenId` to which an RA belongs. + +### Data Structures + +In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: + +* Adding structs for a Royalty Account and associated Royalty Sub Accounts to establish the concept of a Royalty Account with sub accounts. +* Defining an `raAccountId` as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber` +* Mapping a `tokenId` to an `raAccountID` in order to connect an RA `raAccountId` to a `tokenId` +* Mapping the `raAccountID` to a `RoyaltyAccount` in order to connect the account identifier to the actual account. +* An `ancestry` mapping of the parent-to-child NFT relationship +* A mapping of supported token types to their origin contracts and last validated balance (for trading and royalty payment purposes) +* A mapping with a struct for a registered payment to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the mapping. +* A mapping for listing NFTs to be sold + +### Royalty Account Functions + +Definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Because the RA is created in the minting function, there is no need to have a function to create a royalty account separately. + +### Minting of a royalty bearing NFT + +When an NFT is minted, an RA must be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's RA. To this end the specification utilizes the `_safemint` function in a newly defined `mint` function and applies various business rules on the input variables. + +### Listing NFTs for Sale and removing a listing + +Authorized user addresses can list NFTs for sale for non-exchange mediated NFT purchases. + +### Payment Function from Buyer to Seller + +To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. + +The payment process depends on whether the payment is received in ETH or an ERC 20 token: +* ERC 20 Token + 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC20 contract address). + 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. +* For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. + +### Modified NFT Transfer function including required Trade data to allocate royalties + +The input parameters must satisfy several requirements for the NFT to be transferred AFTER the royalties have been properly distributed. Furthermore, the ability to transfer more than one token at a time is also considered. + +The proposal defines: +* Input parameter validation +* Payment Parameter Validation +* Distributing Royalties +* Update RA ownership with payout +* Transferring Ownership of the NFT +* Removing the Payment entry in `registeredPayment` after successful transfer + +##### Distributing Royalties + +The approach to distributing royalties is to break down the hierarchical structure of interconnected RAs into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the RA chain until the root ancestor and associated RA is reached. + +### Paying out Royalties to the NFT owner -- `from` address in `safeTransferFrom` function + +This is the final part of the proposal. + +There are two versions of the payout function -- a `public` function and an `internal` function. + +The public function has the following interface: +``` +function royaltyPayOut (uint256 tokenId, address _RAsubaccount, address payable _payoutaccount, payable uint256 _amount) public virtual nonReentrant returns (bool) +``` + +where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has [`nonReentrant` modifier protection](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol), because funds are being payed out. + +#### Sending a Payout Payment + +The following steps need to be taken: +* find the RA Sub Account based on `RAaccount` and the `subaccountPos` and extract the balance +* extract `tokentype` from the Sub Account +* based on the token type, send the payout payment (not exceeding the available balance) + +## Installation & Tests + +Follow the steps below to run the smart contracts test and generate coverage reports: + +- Fork this repo +- [Install NodeJS](https://nodejs.org/en/download/) +- [Install a NodeJS Lite Server](https://www.npmjs.com/package/lite-server) +- [Install Truffle](https://trufflesuite.com/docs/truffle/getting-started/installation.html) +- [Install Truffle Assertions Library](https://www.npmjs.com/package/truffle-assertions) +- [Install Truffle Contract Size Library](https://www.npmjs.com/package/truffle-contract-size) +- [Select & Install an Ethereum client of your choice for local testing only](https://trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client) +- [Install Prettier](https://www.npmjs.com/package/prettier) and its [Solidity Plugin](https://www.npmjs.com/package/prettier-plugin-solidity) +- [Install Solidity Test Coverage](https://www.npmjs.com/package/solidity-coverage) +- [Install the Eth Gas Reporter](https://www.npmjs.com/package/eth-gas-reporter) +- [Install the Open Zeppelin Contract Module](https://www.npmjs.com/package/@openzeppelin/contracts) +- [Install the ABDK Numerical Solidity Libraries](https://www.npmjs.com/package/abdk-libraries-solidity) +- Run Migrations +- Run the Truffle tests in the different test folders + +Note that we are pointing to the Polygon Mumbai Test network in `truffle-config.js`. Please, adjust this if you want a different network. + +### Coverage Report +To generate a coverage report, this command needs to be executed: +```sh +truffle run coverage +``` +The generated HTML report can be found in the `/coverage` folder. + +### Smart Contracts Test +The following commands should be performed to run a specific test: +```sh +truffle test test/transferByERC20_trxntype_0.test.js +``` +or to run a group of tests: +```sh +truffle test test/transfer* +``` + +## Security Testing + +The MythX Pro deep analysis security reports of the contracts can be found [here](https://github.com/treetrunkio/treetrunk-nft-reference-implementation/blob/main/docs). + +## Licensing + +This repo is licensed under [Apache 2.0](https://github.com/treetrunkio/treetrunk-nft-reference-implementation/blob/main/LICENSE). + +## Authors +- Andreas Freund (@Therecanbeonlyone1969) +- Alexander Pyatakov (@Pyatakov) +- Volodymyr Shvets (@vshvets-bc) + +## Contact + +andreas.freund@treetrunk.io \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep b/assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js new file mode 100644 index 0000000000000..5ee4ef46cc8e2 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js @@ -0,0 +1,37 @@ +const PaymentModule = artifacts.require('PaymentModule'); +const truffleAssert = require('truffle-assertions'); + +const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +contract('PaymentModule', (accounts) => { + const accAdmin = accounts[0]; + const accUser1 = accounts[1]; + const accUser2 = accounts[2]; + + let paymentModule; + + before(async () => { + paymentModule = await PaymentModule.deployed(); + }); + + describe('Only owner can call update functions', async () => { + it('addListNFT', async () => { + await truffleAssert.reverts(paymentModule.addListNFT(ZERO_ADDRESS, [0], 0, '', { from: accAdmin }), ''); + }); + it('addRegisterPayment', async () => { + await truffleAssert.reverts(paymentModule.addRegisterPayment(ZERO_ADDRESS, [0], 0, '', { from: accAdmin }), ''); + }); + it('removeRegisterPayment', async () => { + await truffleAssert.reverts(paymentModule.removeRegisterPayment(ZERO_ADDRESS, [0], { from: accAdmin }), ''); + }); + }); + describe('Getter functions', async () => { + it('getRegisterPayment for empty token', async () => { + const result = await paymentModule.getRegisterPayment(1, { from: accAdmin }); + assert.equal(result.payment, 0); + }); + it('checkRegisterPayment for empty token', async () => { + const payment = await paymentModule.checkRegisterPayment(1, accUser1, { from: accAdmin }); + assert.equal(payment, 0); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js new file mode 100644 index 0000000000000..5599503efec03 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js @@ -0,0 +1,494 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const PaymentModule = artifacts.require('PaymentModule'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +const truffleAssert = require('truffle-assertions'); +const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +const MINTER_ROLE = web3.utils.keccak256('MINTER_ROLE'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accSeller = accounts[1]; + const accBuyer = accounts[2]; + const accReceiver = accounts[3]; + const accOtherBuyer = accounts[4]; + const accSomeOther = accounts[5]; + + const costOfNFT = 100; + const token_1 = 1; + const token_1_1 = 2; + const token_1_1_1 = 3; + const token_1_1_2 = 4; + const token_2 = 5; + const token_not_exists = 999; + + let token; + let someToken1; + let someToken2; + let paymentModule; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + paymentModule = await PaymentModule.deployed(); + + //Mint some ERC20 tokens + await someToken1.mint(accBuyer, 100000000, { from: accAdmin }); + await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); + await someToken2.mint(accOtherBuyer, 100000000, { from: accAdmin }); + }); + + describe('addAllowedTokenType restrictions', async () => { + it('Caller must have admin role', async () => { + await truffleAssert.reverts(token.addAllowedTokenType('ST1', someToken1.address, { from: accSomeOther }), 'Admin role required'); + }); + it('Duplicate not allowed', async () => { + await truffleAssert.reverts(token.addAllowedTokenType('ST1_1', someToken1.address), 'Token is duplicate'); + }); + it('Token address must be contract', async () => { + await truffleAssert.reverts(token.addAllowedTokenType('ST_Err', accSomeOther, { from: accAdmin }), 'Token must be contact'); + }); + }); + + describe('Mint restrictions', async () => { + it('Caller must have minter role', async () => { + await truffleAssert.reverts(token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accSeller }), 'Minter or Creator role required'); + }); + it('To must not be zero', async () => { + await truffleAssert.reverts(token.mint(ZERO_ADDRESS, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), 'Zero Address cannot have active NFTs!'); + }); + it('To must not be contract', async () => { + await truffleAssert.reverts(token.mint(someToken2.address, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), ' To must not be contracts'); + }); + it('Parent must be zero or existing token', async () => { + await truffleAssert.reverts(token.mint(accSeller, [[999, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), 'Parent NFT does not exist'); + }); + it('Royalty split must be < 10000', async () => { + await truffleAssert.reverts(token.mint(accSeller, [[0, true, 10, 10000 + 1, 'uri_1']], 'ST2', { from: accAdmin }), 'Royalty Split is > 100%'); + }); + it('Token list required', async () => { + await truffleAssert.reverts(token.mint(accSeller, [], 'ST2', { from: accAdmin }), 'nfttokens has no value'); + }); + it('Token for payment must be registered', async () => { + await truffleAssert.reverts(token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST3', { from: accAdmin }), 'Token Type not supported!'); + }); + it('Mint some tokens', async () => { + //ERC20 tokens + await token.mint( + accSeller, + [ + [0x0, true, 10, 1000, 'uri_1'], // id = 1 + [0x1, true, 10, 1000, 'uri_1.1'], // id = 2 + [0x2, false, 10, 1000, 'uri_1.1.1'], // id = 3 + [0x2, false, 10, 1000, 'uri_1.1.2'], // id = 4 + ], + 'ST2', + { from: accAdmin }, + ); + //ETH tokens + await token.mint( + accSeller, + [ + [0x0, true, 10, 1000, 'uri_2'], // id = 5 + ], + 'ETH', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 5, 'Token balance must changed'); + assert.equal(await token.hasRole(MINTER_ROLE, accSeller), true, 'CREATOR role must granted'); + assert.equal(await token.getApproved(1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(2), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(3), accSeller, 'Token approved for owner'); + }); + }); + describe('listNFT restriction', async () => { + it('Caller must be token owner', async () => { + await truffleAssert.reverts(token.listNFT([1, 2, 3], costOfNFT, 'ST2', { from: accBuyer }), 'Must be token owner'); + }); + it('Token must exists', async () => { + await truffleAssert.reverts(token.listNFT([1, 2, 99], costOfNFT, 'ST2', { from: accSeller }), 'ERC721: approved query for nonexistent token'); + }); + it('Payment token must be supported', async () => { + await truffleAssert.reverts(token.listNFT([1, 2, 3], costOfNFT, 'ST3', { from: accSeller }), 'Unsupported token type'); + }); + it('Numbers of tokens must be less than limit', async () => { + await token.updatelistinglimit(1, { from: accAdmin }); + await truffleAssert.reverts(token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }), 'Too many NFTs listed'); + await token.updatelistinglimit(10, { from: accAdmin }); + }); + it('List NFT (2,3)', async () => { + await token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }); + }); + it('Only one list allowed. Try list (2,3) when (2,3) are listed', async () => { + await truffleAssert.reverts(token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }), 'Already exists'); + }); + it('Token can listed only once in bundles. Try (1,2) when (2,3) are listed', async () => { + await truffleAssert.reverts(token.listNFT([1, 2], costOfNFT, 'ST2', { from: accSeller }), 'Already exists'); + }); + it('List NFT (1)', async () => { + await token.listNFT([1], costOfNFT, 'ST2', { from: accSeller }); + }); + it('List NFT (5) by ETH', async () => { + await token.listNFT([5], costOfNFT, 'ETH', { from: accSeller }); + }); + }); + describe('removeNFTListing restriction', async () => { + it('Caller must be token owner', async () => { + await truffleAssert.reverts(token.removeNFTListing(1, { from: accBuyer }), 'Must be token owner'); + }); + it('Unlist NFT (1)', async () => { + await token.removeNFTListing(1, { from: accSeller }); + }); + it('List NFT (1)', async () => { + await token.listNFT([1], costOfNFT, 'ST2', { from: accSeller }); + }); + }); + describe('PaymentModule', async () => { + it('getListNFT function', async () => { + const result = await paymentModule.getListNFT(1); + assert.equal(result.seller, accSeller); + assert.equal(result.tokenType, 'ST2'); + assert.equal(result.price, 100); + }); + it('getAllListNFT function', async () => { + const result = await paymentModule.getAllListNFT(); + assert.equal(result[0].toNumber(), 2); + assert.equal(result[1].toNumber(), 5); + assert.equal(result[2].toNumber(), 1); + }); + }); + + describe('executePayment restriction', (async) => { + it('Only supported transaction type allowed', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 2, { from: accBuyer }), 'Trxn type not supported'); + }); + it('Receiver must be non zero', async () => { + await truffleAssert.reverts(token.executePayment(ZERO_ADDRESS, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Receiver must not be zero'); + }); + it('Only supported token type allowed', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST1', 0, { from: accBuyer }), 'Payment token does not match list token type'); + }); + it('Token allowance must be set', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Insufficient token allowance'); + }); + it('Payment must be for existing list', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [token_not_exists], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Token does not exist'); + }); + it('Seller must be equals to seller in list', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSomeOther, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Seller is not owner'); + }); + it('Payment must be not low', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT * 0.5, 'ST2', 0, { from: accBuyer }), 'Payment is too low'); + }); + it('Token list must mach to listed tokens', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 1], costOfNFT, 'ST2', 0, { from: accBuyer }), 'One or more tokens are not listed'); + }); + it('Payment nust be > 0', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], 0, 'ST2', 0, { from: accBuyer }), 'Payments cannot be 0!'); + }); + it('Payment ignore other trxntype', async () => { + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 4, { from: accBuyer }), 'Trxn type not supported'); + }); + + it('Payment for (2,3) trxntype=0 success', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + await token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }); + assert.equal(await token.getApproved(2), accBuyer, 'Token must transfer to buyer'); + assert.equal(await token.getApproved(3), accBuyer, 'Token must transfer to buyer'); + }); + it('Only 1 payment allowed for (2,3). (2,3) was already sold', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Seller is not owner'); + }); + it('Payment for (1) trxntype=1 must have right token type', async () => { + await someToken1.approve(token.address, costOfNFT, { from: accBuyer }); + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST1', 1, { from: accBuyer }), 'Payment token does not match list token type'); + }); + it('Payment for (1) trxntype=1 success', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + await token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accBuyer }); + assert.equal(await token.getApproved(1), accSeller, 'Token must transfer manual later'); + }); + it('Undo payment for (1) trxntype=1 success', async () => { + await token.reversePayment(1, 'ST2', { from: accBuyer }); + }); + it('Retry payment for (1) trxntype=1 success', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + await token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accBuyer }); + }); + it('Second payment for (1) trxntype=1 not allowed', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accOtherBuyer }); + await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accOtherBuyer }), 'RegisterPayment already exists'); + }); + it('Can not unlist token after pay', async () => { + await truffleAssert.reverts(token.removeNFTListing(1, { from: accSeller }), 'RegisterPayment exists for NFT'); + }); + it('checkPayment must have valid token type', async () => { + await truffleAssert.reverts(token.checkPayment(1, 'ST1', accBuyer, { from: accSeller }), 'TokenType mismatch'); + }); + it('reversePayment fails if payment not exists', async () => { + await truffleAssert.reverts(token.reversePayment(1, 'ST2', { from: accSomeOther }), 'No payment registered'); + }); + it('Payment for (5) must have right transaction type', async () => { + const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [5], accBuyer, 3]); + await truffleAssert.reverts(web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }), 'Trxn type not supported'); + }); + + it('Payment for (5) trxntype=1 success', async () => { + const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [5], accBuyer, 1]); + await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }); + assert.equal(await token.getApproved(5), accSeller, 'Token must transfer manual later'); + const payment = await token.checkPayment(5, 'ETH', accBuyer, { from: accSeller }); + assert.equal(payment.toNumber(), costOfNFT); + }); + it('reversePayment for (5) success', async () => { + await token.reversePayment(5, 'ETH', { from: accBuyer }); + const payment = await token.checkPayment(5, 'ETH', accBuyer, { from: accSeller }); + assert.equal(payment.toNumber(), 0); + }); + }); + describe('safeTransferFrom restrictions', async () => { + it('Wrong metadata: seller address', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSomeOther, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Seller not From address'); + }); + it('Wrong metadata: receiver address', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accSomeOther, [1], 'ST2', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Receiver not To address'); + }); + + it('Wrong metadata: wrong payment', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT + 1, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Payment not match'); + }); + + it('Wrong metadata: token ids', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [2], 'ST2', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Wrong NFT listing'); + }); + it('Wrong metadata: pay token symbol', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1], 'ST1', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'TokenType not match'); + }); + it('Wrong metadata: wrong chain id', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 999], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Transfer on wrong Blockchain'); + }); + it('Token list must be owned by seller', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1, 2], 'ST2', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Seller is not owner'); + }); + + it('Transfer (1) success', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], + ); + //truffle fail to select valid method safeTransferFrom + //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); + //workaround for this + await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }); + assert.equal(await token.getApproved(1), accBuyer, 'Token must transferred'); + }); + + it('Repeat transfer not allowed', async () => { + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], + ); + await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'RegisterPayment not found'); + }); + }); + describe('royaltyPayOut restrictions', async () => { + it('Only subaccount owner can run payout', async () => { + await truffleAssert.reverts(token.royaltyPayOut(token_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); + await truffleAssert.reverts(token.royaltyPayOut(token_1_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); + await truffleAssert.reverts(token.royaltyPayOut(token_1_1_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); + }); + it('Payout limited to royalty balance', async () => { + await truffleAssert.reverts(token.royaltyPayOut(token_1_1, accBuyer, accBuyer, 999, { from: accBuyer }), 'Insufficient royalty balance'); + }); + it('Payout for non exist NFT restricted', async () => { + await truffleAssert.reverts(token.royaltyPayOut(token_not_exists, accBuyer, accBuyer, 1, { from: accBuyer }), 'Subaccount not found'); + }); + it('Success payout', async () => { + const ra_1_1_before = await token.getRoyaltyAccount(token_1_1); + await token.royaltyPayOut(2, accBuyer, accBuyer, 1, { from: accBuyer }); + const ra_1_1_after = await token.getRoyaltyAccount(token_1_1); + assert.equal(ra_1_1_before.subaccounts[0].royaltyBalance - 1, ra_1_1_after.subaccounts[0].royaltyBalance, 'Royalty changed after payout'); + }); + }); + describe('burn restrictions', async () => { + it('Burn restricted for MINTER_ROLE', async () => { + await truffleAssert.reverts(token.burn(token_1_1_1, { from: accSomeOther }), 'Sender not authorized to burn'); + }); + it('Burn token with royalty ballance not allowed', async () => { + await truffleAssert.reverts(token.burn(token_1_1_1, { from: accBuyer }), "Can't delete non empty royalty account"); + }); + it('Burn token with children not allowed', async () => { + await truffleAssert.reverts(token.burn(token_1_1, { from: accBuyer }), 'NFT must not have children'); + }); + it('Burn token must exists', async () => { + await truffleAssert.reverts(token.burn(token_not_exists, { from: accBuyer }), 'ERC721: approved query for nonexistent token'); + }); + it('Payout TT royalty from (3)', async () => { + const ra_1_1_1_before = await token.getRoyaltyAccount(token_1_1_1); + await token.royaltyPayOut(token_1_1_1, accAdmin, accAdmin, ra_1_1_1_before.subaccounts[1].royaltyBalance, { from: accAdmin }); + const ra_1_1_1_after = await token.getRoyaltyAccount(token_1_1_1); + assert.equal(ra_1_1_1_after.subaccounts[1].royaltyBalance, 0); + }); + it('Burn token without children and 0 royalty success', async () => { + await token.burn(token_1_1_1, { from: accBuyer }); + }); + }); + describe('Other transfer function restrictions', async () => { + it('transferFrom(address,address,uint256) not allowed', async () => { + await truffleAssert.reverts(token.transferFrom(ZERO_ADDRESS, ZERO_ADDRESS, 0, { from: accBuyer }), 'Function not allowed'); + }); + it('safeTransferFrom(address,address,uint256) not allowed', async () => { + await truffleAssert.reverts(token.safeTransferFrom(ZERO_ADDRESS, ZERO_ADDRESS, 0, { from: accBuyer }), 'Function not allowed'); + }); + }); + describe('updateMaxChildren restrictions', async () => { + it('updateMaxChildren not allowed without CREATOR_ROLE', async () => { + await truffleAssert.reverts(token.updateMaxChildren(token_1_1, 0, { from: accSomeOther }), 'Creator role required'); + }); + it('updateMaxChildren not allowed new limit bellow actual children', async () => { + await truffleAssert.reverts(token.updateMaxChildren(token_1_1, 0, { from: accAdmin }), 'Max < Actual'); + }); + it('updateMaxChildren success', async () => { + await token.updateMaxChildren(token_1_1, 3, { from: accAdmin }); + }); + }); + describe('updateMaxGenerations restrictions', async () => { + it('updateMaxGenerations not allowed without CREATOR_ROLE', async () => { + await truffleAssert.reverts(token.updateMaxGenerations(5, { from: accSomeOther }), 'Creator role required'); + }); + it('updateMaxGenerations success', async () => { + await token.updateMaxGenerations(1, { from: accAdmin }); + }); + it('mint not allowed for new generations', async () => { + await truffleAssert.reverts(token.mint(accSeller, [[token_1_1, true, 10, 1000, 'uri_1.1.1.1']], 'ST2', { from: accAdmin }), 'Generation limit'); + }); + it('updateMaxGenerations success', async () => { + await token.updateMaxGenerations(5, { from: accAdmin }); + }); + }); + describe('Minor function coverage', async () => { + it('getAllowedTokens', async () => { + const result = await token.getAllowedTokens(); + assert.equal(result.length, 3); + assert.equal(result[0], token.address); + assert.equal(result[1], someToken1.address); + assert.equal(result[2], someToken2.address); + }); + it('getModules', async () => { + const modules = await token.getModules(); + assert.equal(Object.keys(modules).length, 2); + }); + it('tokenURI', async () => { + const uri = await token.tokenURI(token_1_1); + assert.equal(uri, 'https:\\\\some.base.url\\uri_1.1'); + }); + it('tokenURI for burned not allowed', async () => { + await await truffleAssert.reverts(token.tokenURI(token_1_1_1), 'URI query for nonexistent token'); + }); + it('pause not allowed without PAUSER_ROLE', async () => { + await truffleAssert.reverts(token.pause({ from: accSomeOther }), 'Pauser role required'); + }); + it('unpause not allowed without PAUSER_ROLE', async () => { + await truffleAssert.reverts(token.unpause({ from: accSomeOther }), 'Pauser role required'); + }); + it('pause success for PAUSER_ROLE', async () => { + await token.pause({ from: accAdmin }); + }); + it('unpause success for PAUSER_ROLE', async () => { + await token.unpause({ from: accAdmin }); + }); + it('supportsInterface', async () => { + const result = await token.supportsInterface('0x0000'); + assert.equal(result, false); + }); + it('second init call not allowed', async () => { + await truffleAssert.reverts(token.init(ZERO_ADDRESS, ZERO_ADDRESS, { from: accAdmin }), 'Init was called before'); + }); + it('updatelistinglimit caller must be creator', async () => { + await truffleAssert.reverts(token.updatelistinglimit(10, { from: accSomeOther }), 'Creator role required'); + }); + it('updateRAccountLimits caller must be creator', async () => { + await truffleAssert.reverts(token.updateRAccountLimits(10, 10, { from: accSomeOther }), 'Creator role required'); + }); + it('onERC721Received accept only own tokens', async () => { + await truffleAssert.reverts(token.onERC721Received(ZERO_ADDRESS, accSomeOther, 1, '0x0', { from: accSomeOther }), 'Only minted'); + }); + it('getRoyaltyAccount cant get not exist token', async () => { + await truffleAssert.reverts(token.getRoyaltyAccount(token_not_exists, { from: accSomeOther }), 'NFT does not exist'); + }); + }); + describe('Delegate call', async () => { + const funcSig1 = web3.utils.keccak256('updateMaxGenerations(uint256)').substring(0, 6); + const funcSig2 = web3.utils.keccak256('updatelistinglimit(uint256)').substring(0, 6); + console.log('funcSig2', funcSig2); + it('Only creator can call setFunctionSignature', async () => { + await truffleAssert.reverts(token.setFunctionSignature(funcSig1, { from: accSomeOther }), 'Admin or Creator role required'); + }); + it('Set signatures', async () => { + await token.setFunctionSignature(funcSig1, { from: accAdmin }); + }); + + it('Only registered function can be called', async () => { + await truffleAssert.reverts( + token.delegateAuthority( + funcSig2, + web3.utils.randomHex(32), // + web3.utils.randomHex(32), + [0,1,2], + [web3.utils.randomHex(32)], + [web3.utils.randomHex(32)], + 1, + { from: accAdmin }, + ), + 'Not a valid function', + ); + }); + it('Invalid signature not allowed', async () => { + await truffleAssert.reverts( + token.delegateAuthority( + funcSig1, + web3.utils.randomHex(32), // + web3.utils.randomHex(32), + [0,1,2], + [web3.utils.randomHex(32)], + [web3.utils.randomHex(32)], + 1, + { from: accAdmin }, + ), + 'Signature', + ); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js new file mode 100644 index 0000000000000..df6b14bd7a891 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js @@ -0,0 +1,42 @@ +const RoyaltyModule = artifacts.require('RoyaltyModule'); +const truffleAssert = require('truffle-assertions'); + +const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +contract('RoyaltyModule', (accounts) => { + const accAdmin = accounts[0]; + const accUser1 = accounts[1]; + const accUser2 = accounts[2]; + + let royaltyModule, token; + + before(async () => { + royaltyModule = await RoyaltyModule.deployed(); + }); + + describe('Only owner can call update functions', async () => { + it('createRoyaltyAccount', async () => { + await truffleAssert.reverts(royaltyModule.createRoyaltyAccount(ZERO_ADDRESS, 0, 0, '', 0, { from: accAdmin }), ''); + }); + it('updateRoyaltyAccount', async () => { + await truffleAssert.reverts(royaltyModule.updateRoyaltyAccount(0, [], ZERO_ADDRESS, true, { from: accAdmin }), ''); + }); + it('deleteRoyaltyAccount', async () => { + await truffleAssert.reverts(royaltyModule.deleteRoyaltyAccount(0, { from: accAdmin }), ''); + }); + it('distributePayment', async () => { + await truffleAssert.reverts(royaltyModule.distributePayment(0, 0, { from: accAdmin }), ''); + }); + it('withdrawBalance', async () => { + await truffleAssert.reverts(royaltyModule.withdrawBalance(0, ZERO_ADDRESS, 0, { from: accAdmin }), ''); + }); + it('transferRAOwnership', async () => { + await truffleAssert.reverts(royaltyModule.transferRAOwnership(ZERO_ADDRESS, 0, ZERO_ADDRESS, { from: accAdmin }), ''); + }); + }); + describe('Getter functions', async () => { + it('getBalance for empty token', async () => { + const balance = await royaltyModule.getBalance(1, ZERO_ADDRESS, { from: accAdmin }); + assert.equal(balance, 0); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js new file mode 100644 index 0000000000000..cab57652a3e48 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js @@ -0,0 +1,84 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); +const DIGITS = 1000000000; + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100 * DIGITS; + const tokenId_1 = 1; + const tokenId_1_1 = 2; + const tokenId_1_1_1 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + //Mint some ERC20 tokens + //await someToken2.mint(accBuyer, cost, { from: accAdmin }); + }); + + describe('Royalty split scenario', async () => { + it('accOwner1 mint root token_1 with 20%', async () => { + await token.mint(accOwner1, [[0x0, true, 10, 2000, 'uri_1']], 'ST2', { from: accAdmin }); + assert.equal(await token.getApproved(tokenId_1), accOwner1, 'Token approved for owner'); + }); + it('accOwner1 sell token_1 to accOwner2 -- (accOwner1 receive 90% directly)', async () => { + await token.listNFT([tokenId_1], costOfNFT, 'ST2', { from: accOwner1 }); + //Mint and approve ERC20 + await someToken2.mint(accOwner2, costOfNFT, { from: accAdmin }); + await someToken2.approve(token.address, costOfNFT, { from: accOwner2 }); + //Buy NFT + await token.executePayment(accOwner2, accOwner1, [tokenId_1], costOfNFT, 'ST2', 0, { from: accOwner2 }); + + const a1_after = await someToken2.balanceOf(accOwner1); + const a2_after = await someToken2.balanceOf(accOwner2); + + assert.equal(a1_after.toNumber(), 0.9 * costOfNFT); + assert.equal(a2_after.toNumber(), 0); + }); + it('accOwner2 mint token_1_1 to with 50%', async () => { + await token.mint(accOwner2, [[tokenId_1, true, 10, 5000, 'uri_1_1']], 'ST2', { from: accAdmin }); + assert.equal(await token.getApproved(tokenId_1_1), accOwner2, 'Token approved for owner'); + }); + it('accOwner2 sell token_1_1 to accOwner3 -- (accOwner2 receive 70% directly; accOwner2 receive 20% on royalty acc for token_1)', async () => { + const a1_before = (await someToken2.balanceOf(accOwner1)).toNumber(); + const a2_before = (await someToken2.balanceOf(accOwner2)).toNumber(); + const a3_before = (await someToken2.balanceOf(accOwner3)).toNumber(); + + const ra1_before = await token.getRoyaltyAccount(tokenId_1); + + await token.listNFT([tokenId_1_1], costOfNFT, 'ST2', { from: accOwner2 }); + //Mint and approve ERC20 + await someToken2.mint(accOwner3, costOfNFT, { from: accAdmin }); + await someToken2.approve(token.address, costOfNFT, { from: accOwner3 }); + //Buy NFT + await token.executePayment(accOwner3, accOwner2, [tokenId_1_1], costOfNFT, 'ST2', 0, { from: accOwner3 }); + + const a1_after = (await someToken2.balanceOf(accOwner1)).toNumber(); + const a2_after = (await someToken2.balanceOf(accOwner2)).toNumber(); + const a3_after = (await someToken2.balanceOf(accOwner3)).toNumber(); + + const ra1_after = await token.getRoyaltyAccount(tokenId_1); + + assert.equal(a1_after - a1_before, 0); + assert.equal(a2_after - a2_before, 0.7 * costOfNFT); + assert.equal(a3_after - a3_before, 0); + + assert.equal(ra1_after.subaccounts[0].accountId, accOwner2); //accOwner2 own token_1 anf receive 20% + assert.equal(ra1_after.subaccounts[0].royaltyBalance - ra1_before.subaccounts[0].royaltyBalance, Math.floor(0.2 * 0.9 * costOfNFT)); // 90% of 20% royalty + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js new file mode 100644 index 0000000000000..88436327b2cda --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js @@ -0,0 +1,162 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +const truffleAssert = require('truffle-assertions'); +const MINTER_ROLE = web3.utils.keccak256('MINTER_ROLE'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accSeller = accounts[1]; + const accBuyer = accounts[2]; + const accSomeone1 = accounts[3]; + const accSomeone2 = accounts[4]; + const accNewRoyalty = accounts[4]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1_1 = 2; + const tokenId_1_1_1 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + }); + + describe('Prepare tokens for test', async () => { + it('mint tokens to accSeller', async () => { + await token.mint( + accSeller, + [ + [0x0, true, 10, 1000, 'uri_1'], + [0x1, true, 10, 1000, 'uri_1.1'], + [0x2, true, 10, 1000, 'uri_1.1.1'], + ], + 'ETH', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 3, 'Token balance must changed'); + assert.equal(await token.hasRole(MINTER_ROLE, accSeller), true, 'CREATOR role must granted'); + assert.equal(await token.getApproved(1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(2), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(3), accSeller, 'Token approved for owner'); + }); + it('seller make listNFT (2)', async () => { + await token.listNFT([tokenId_1_1], costOfNFT, 'ETH', { from: accSeller }); + }); + + it('buyer execute the ETH payment to Token contract and receive tokens (2)', async () => { + const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1_1], accBuyer, 0]); + await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 6000000 }); + }); + }); + + describe('Edit royalty split functionality', async () => { + //Token 1.1 royalty after init + //Owner/TT/parent + //8000/1000/1000 + + it('updateRoyaltyAccount not allowed for if caller is not token owner or royalty receiver', async () => { + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, [[true, 1000, 0, accSomeone1]], { from: accSomeone1 }), 'Total royaltySplit must be 10000'); + }); + it('Sum of royalty split must be = 10000', async () => { + const updates = [ + [true, 8000, 0, accBuyer], + [true, 1000, 0, accSomeone1], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Total royaltySplit must be 10000'); + }); + it('Only subaccount owner can reduce own royalty split', async () => { + const updates = [ + [true, 7000, 0, accBuyer], + [true, 1000, 0, accSomeone1], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Only individual subaccount owner can decrease royaltySplit'); + }); + it('Only parent token owner can reduce royalty split for parent', async () => { + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [true, 500, 0, ra.subaccounts[2].accountId], + [true, 8500, 0, accBuyer], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Only parent token owner can decrease royalty subaccount royaltySplit'); + }); + it('Parent owner decrease royalty and transfer royaltySplit to token owner', async () => { + //8000/1000/1000 >> 8500/1000/500 + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [false, 500, 0, ra.subaccounts[2].accountId], + [true, 8500, 0, accBuyer], + ]; + await token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSeller }); + + const ra_after = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra_after.subaccounts[0].royaltySplit, 8500); + assert.equal(ra_after.subaccounts[1].royaltySplit, 1000); + assert.equal(ra_after.subaccounts[2].royaltySplit, 500); + }); + it('Only individual account allowed as new', async () => { + //8500/1000/500 + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [false, 1000, 0, ra.subaccounts[2].accountId], + [true, 6000, 0, accBuyer], + [false, 2000, 0, accNewRoyalty], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'New subaccounts must be individual'); + }); + it('Token owner transfer royaltySplit back to parent and split royalty to new account', async () => { + //8500/1000/500 >> 6000/1000/1000/2000 + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [false, 1000, 0, ra.subaccounts[2].accountId], + [true, 6000, 0, accBuyer], + [true, 2000, 0, accNewRoyalty], + ]; + await token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }); + + const ra_after = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra_after.subaccounts[0].royaltySplit, 6000); + assert.equal(ra_after.subaccounts[1].royaltySplit, 1000); + assert.equal(ra_after.subaccounts[2].royaltySplit, 1000); + assert.equal(ra_after.subaccounts[3].royaltySplit, 2000); + }); + it('Royalty split for TT + minimal must be <= 100%', async () => { + await truffleAssert.reverts(token.updateRAccountLimits(5, 9500, { from: accAdmin }), 'Royalty Split to TT + Minimal Split is > 100%'); + }); + it('Update royalty limits to 5 max subaccount and 5% min royalty split', async () => { + await token.updateRAccountLimits(5, 500, { from: accAdmin }); + }); + it('Token owner can not split royalty less than limit (5%)', async () => { + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [true, 7900, 0, accBuyer], + [true, 100, 0, accNewRoyalty], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'Royalty Split is smaller then set limit'); + }); + it('Token owner can not split royalty to more than limit account numbers (5)', async () => { + //Token already have 4 subaccounts (Parent royalty, TT fee, ) + const ra = await token.getRoyaltyAccount(tokenId_1_1); + assert.equal(ra.subaccounts[2].isIndividual, false); + const updates = [ + [true, 2000, 0, accBuyer], + [true, 1000, 0, accounts[5]], + [true, 1000, 0, accounts[6]], + [true, 1000, 0, accounts[7]], + [true, 1000, 0, accounts[8]], + ]; + await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'Too many Royalty subaccounts'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js new file mode 100644 index 0000000000000..67f6953bb1958 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js @@ -0,0 +1,51 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenId = 4; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + //Mint some ERC20 tokens + await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); + }); + + describe('Transfer NFT with 0% royalty', async () => { + it('Create new NFT with few generations and few prints. Set royalty 0%', async () => { + await token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); + await token.mint(accSeller, [[1, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); + await token.mint(accSeller, [[2, true, 10, 0, 'uri_1']], 'ST2', { from: accAdmin }); // id=3 royalty from children = 0% + await token.mint(accSeller, [[3, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); //id=4 royalty to parent = 0% + }); + + it('seller make listNFT', async () => { + await token.listNFT([tokenId], costOfNFT, 'ST2', { from: accSeller }); + }); + + it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); + }); + it('buyer execute the ERC20 payment with trxnt = 0 and buy tokens', async () => { + await token.executePayment(accOwner4, accSeller, [tokenId], costOfNFT, 'ST2', 0, { from: accBuyer }); + assert.equal(await token.getApproved(tokenId), accBuyer, 'Token approved for owner'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js new file mode 100644 index 0000000000000..de210201d1d3a --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js @@ -0,0 +1,58 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + const maxChildren = 10000000; + const steps = [10, 20, 40, 50, 60, 70, 80, 90, 100]; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + }); + + describe('Stress test batch token mint', async () => { + it('updateMaxGenerations success', async () => { + await token.updateMaxGenerations(5000000, { from: accAdmin }); + }); + + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, maxChildren, 100, 'uri_1']], 'ETH', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + for (let n = 0; n < steps.length; n++) { + const count = steps[n]; + const tokens = []; + for (let i = 0; i < count; i++) { + tokens.push([1, true, maxChildren, 100, 'uri_' + (i + 1)]); + } + it(`mint ${count} children`, async () => { + //const balanceBefore = (await token.balanceOf(token.address)).toNumber(); + await token.mint(accOwner1, tokens, 'ETH', { from: accAdmin }); + //const balanceAfter = (await token.balanceOf(token.address)).toNumber(); + + //assert.equal(balanceAfter - balanceBefore, accOwner1, 'Token approved for owner'); + }); + } + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js new file mode 100644 index 0000000000000..c18cecd822f25 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js @@ -0,0 +1,68 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + const maxChildren = 10000000; + const bathCount = 10; + const bathSize = 10; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + //Mint some ERC20 tokens + await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); + }); + + describe('Stress test royalty calculation', async () => { + it('updateMaxGenerations success', async () => { + await token.updateMaxGenerations(5000000, { from: accAdmin }); + }); + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, maxChildren, 100, 'uri_1']], 'ST2', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + it(`mint ${bathSize * bathCount} nested children`, async () => { + let lastId = 1; + for (let n = 0; n < bathCount; n++) { + const tokens = []; + for (let i = 0; i < bathSize; i++) { + tokens.push([lastId, true, maxChildren, 100, 'uri_' + (lastId + 1)]); + lastId++; + } + await token.mint(accSeller, tokens, 'ST2', { from: accAdmin }); + } + }); + const step = 10; + for (let level = step; level < bathSize * bathCount; level += step) { + it(`transfer token with ${level} nesting`, async () => { + const tokenId = level; + await token.listNFT([tokenId], costOfNFT, 'ST2', { from: accSeller }); + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + await token.executePayment(accOwner4, accSeller, [tokenId], costOfNFT, 'ST2', 0, { from: accBuyer }); + + }); + } + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js new file mode 100644 index 0000000000000..49dc00d74db0b --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js @@ -0,0 +1,103 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + //Mint some ERC20 tokens + await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); + }); + + describe('Transfer NFT token using ERC20', async () => { + before('', async () => {}); + + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ST2', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + it('mint first offspring token to accSeller', async () => { + await token.mint( + accSeller, + [ + [tokenRootId, true, 10, 200,"uri_2"], + [tokenRootId, true, 10, 200,"uri_3"], + ], + 'ST2', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); + }); + + it('seller make listNFT', async () => { + await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ST2', { from: accSeller }); + }); + + it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); + }); + + it('buyer execute the ERC20 payment with trxnt = 0 and buy tokens', async () => { + const balanceBefore = { + accSeller: await someToken2.balanceOf(accSeller), + accBuyer: await someToken2.balanceOf(accBuyer), + }; + + const royaltyBefore = { + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); + assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); + + await token.executePayment(accOwner4, accSeller, [tokenId_1, tokenId_2], costOfNFT, 'ST2', 0, { from: accBuyer }); + + assert.equal(await token.getApproved(tokenId_1), accBuyer, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accBuyer, 'Token approved for owner'); + + const royaltyAfter = { + root: await token.getRoyaltyAccount(tokenRootId), + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); + assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); + + const balanceAfter = { + accSeller: await someToken2.balanceOf(accSeller), + accBuyer: await someToken2.balanceOf(accBuyer), + }; + assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner + assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT + assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT + assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT + + assert.equal(balanceAfter.accSeller.toNumber() - balanceBefore.accSeller.toNumber(), costOfNFT - 10 - 10, 'Payout for Seller'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js new file mode 100644 index 0000000000000..def573ef88a4f --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js @@ -0,0 +1,114 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + + //Mint some ERC20 tokens + await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); + }); + + describe('Transfer NFT token using ERC20', async () => { + before('', async () => {}); + + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ST2', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + it('mint first offspring token to accSeller', async () => { + await token.mint( + accSeller, + [ + [tokenRootId, true, 10, 200,"uri_2"], + [tokenRootId, true, 10, 200,"uri_3"], + ], + 'ST2', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); + }); + + it('seller make listNFT', async () => { + await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ST2', { from: accSeller }); + }); + + it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { + await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); + assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); + }); + + it('buyer execute the ERC20 payment', async () => { + await token.executePayment(accOwner4, accSeller, [tokenId_1, tokenId_2], costOfNFT, 'ST2', 1, { from: accBuyer }); + //assert.equal((await token.checkPayment(tokenId, 'ST2', { from: accBuyer })).toString(), costOfNFT, 'Payment after transfer must changed'); + }); + + it('seller transfer NTF token to buyer', async () => { + const balanceBefore = { + accSeller: await someToken2.balanceOf(accSeller), + accBuyer: await someToken2.balanceOf(accBuyer), + }; + + const royaltyBefore = { + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); + assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); + + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [tokenId_1, tokenId_2], 'ST2', costOfNFT, someToken2.address, 1], + ); + //truffle fail to select valid method safeTransferFrom + //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); + //workaround for this + await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, tokenId_1, data, { from: accSeller }); + + assert.equal(await token.getApproved(tokenId_1), accBuyer, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accBuyer, 'Token approved for owner'); + + const royaltyAfter = { + root: await token.getRoyaltyAccount(tokenRootId), + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); + assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); + + const balanceAfter = { + accSeller: await someToken2.balanceOf(accSeller), + accBuyer: await someToken2.balanceOf(accBuyer), + }; + assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner + assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT + assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT + assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT + assert.equal(balanceAfter.accSeller.toNumber() - balanceBefore.accSeller.toNumber(), costOfNFT - 10 - 10, 'Payout for Seller'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js new file mode 100644 index 0000000000000..f0cbbf5e1eb51 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js @@ -0,0 +1,96 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + console.log('seller', accSeller); + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + }); + + describe('Transfer NFT token using ETH', async () => { + before('', async () => {}); + + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, 10, 1000, 'uri_1']], 'ETH', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + it('mint first offspring token to accSeller', async () => { + await token.mint( + accSeller, + [ + [tokenRootId, true, 10, 200, 'uri_2'], + [tokenRootId, true, 10, 200, 'uri_3'], + ], + 'ETH', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); + }); + + it('seller make listNFT', async () => { + await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ETH', { from: accSeller }); + }); + + it('buyer execute the ETH payment to Token contract and receive tokens', async () => { + const balanceBefore = { + accSeller: await web3.eth.getBalance(accSeller), + accBuyer: await web3.eth.getBalance(accBuyer), + token: await web3.eth.getBalance(token.address), + }; + + const royaltyBefore = { + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); + assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); + + const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1, tokenId_2], accBuyer, 0]); + await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 6000000 }); + + const royaltyAfter = { + root: await token.getRoyaltyAccount(tokenRootId), + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); + assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); + + const balanceAfter = { + accSeller: await web3.eth.getBalance(accSeller), + accBuyer: await web3.eth.getBalance(accBuyer), + token: await web3.eth.getBalance(token.address), + }; + + assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner + assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT + assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT + assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT + assert.equal(balanceAfter.token - balanceBefore.token, 10 + 10, 'Balance changed only for royalty'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js new file mode 100644 index 0000000000000..4e4d076918884 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js @@ -0,0 +1,109 @@ +const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); +const SomeERC20_1 = artifacts.require('SomeERC20_1'); +const SomeERC20_2 = artifacts.require('SomeERC20_2'); + +contract('RoyaltyBearingToken', (accounts) => { + const accAdmin = accounts[0]; + const accOwner1 = accounts[1]; + const accOwner2 = accounts[2]; + const accOwner3 = accounts[3]; + const accOwner4 = accounts[4]; + const accBuyer = accounts[5]; + const accSeller = accounts[6]; + + const costOfNFT = 100; + const tokenRootId = 1; + const tokenId_1 = 2; + const tokenId_2 = 3; + + let token; + let someToken1; + let someToken2; + + before(async () => { + someToken1 = await SomeERC20_1.deployed(); + someToken2 = await SomeERC20_2.deployed(); + token = await RoyaltyBearingToken.deployed(); + }); + + describe('Transfer NFT token using ETH', async () => { + before('', async () => {}); + + it('mint root token to accOwner1', async () => { + await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ETH', { from: accAdmin }); + assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); + }); + + it('mint first offspring token to accSeller', async () => { + await token.mint( + accSeller, + [ + [tokenRootId, true, 10, 200,"uri_2"], + [tokenRootId, true, 10, 200,"uri_3"], + ], + 'ETH', + { from: accAdmin }, + ); + assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); + assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); + assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); + }); + + it('seller make listNFT', async () => { + await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ETH', { from: accSeller }); + }); + + it('buyer execute the ETH payment to Token contract', async () => { + const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1, tokenId_2], accBuyer, 1]); + await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }); + console.log('payment', (await token.checkPayment(tokenId_1, 'ETH', accBuyer, { from: accBuyer }))); + assert.equal((await token.checkPayment(tokenId_1, 'ETH', accBuyer, { from: accBuyer })).toString(), costOfNFT, 'Payment after transfer must changed'); + }); + + it('seller transfer NTF token to buyer', async () => { + const balanceBefore = { + accSeller: await web3.eth.getBalance(accSeller), + accBuyer: await web3.eth.getBalance(accBuyer), + token: await web3.eth.getBalance(token.address), + }; + + const royaltyBefore = { + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); + assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); + + const data = web3.eth.abi.encodeParameters( + ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], + [accSeller, accBuyer, accBuyer, [tokenId_1, tokenId_2], 'ETH', costOfNFT, token.address, 1], + ); + //truffle fail to select valid method safeTransferFrom + //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); + //workaround for this + await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, tokenId_1, data, { from: accSeller }); + + const royaltyAfter = { + root: await token.getRoyaltyAccount(tokenRootId), + t1: await token.getRoyaltyAccount(tokenId_1), + t2: await token.getRoyaltyAccount(tokenId_2), + }; + assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); + assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); + + const balanceAfter = { + accSeller: await web3.eth.getBalance(accSeller), + accBuyer: await web3.eth.getBalance(accBuyer), + token: await web3.eth.getBalance(token.address), + }; + + assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner + assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT + assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT + assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT + + assert.equal(balanceBefore.token - balanceAfter.token, costOfNFT - 10 - 10, 'Payout for Seller'); + }); + }); +}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js b/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js new file mode 100644 index 0000000000000..4b22129f758f3 --- /dev/null +++ b/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js @@ -0,0 +1,113 @@ +const HDWalletProvider = require('@truffle/hdwallet-provider'); +const fs = require('fs'); +const mnemonic = fs.readFileSync('.secret').toString().trim(); + +module.exports = { + plugins: ['truffle-contract-size', 'solidity-coverage'], + /** + * Networks define how you connect to your ethereum client and let you set the + * defaults web3 uses to send transactions. If you don't specify one truffle + * will spin up a development blockchain for you on port 9545 when you + * run `develop` or `test`. You can ask a truffle command to use a specific + * network from the command line, e.g + * + * $ truffle test --network + */ + + networks: { + // Useful for testing. The `development` name is special - truffle uses it by default + // if it's defined here and no other network is specified at the command line. + // You should run a client (like ganache-cli, geth or parity) in a separate terminal + // tab if you use this network and you must also set the `host`, `port` and `network_id` + // options below to some value. + // + development: { + host: '127.0.0.1', // Localhost (default: none) + port: 7545, // Standard Ethereum port (default: none) + network_id: '*', // Any network (default: none) + allowUnlimitedContractSize: true, + }, + + mumbai: { + provider: () => new HDWalletProvider(mnemonic, `https://matic-mumbai.chainstacklabs.com`), + network_id: 80001, + confirmations: 2, + timeoutBlocks: 20000, + skipDryRun: true, + gasPrice: 0, + }, + // Another network with more advanced options... + // advanced: { + // port: 8777, // Custom port + // network_id: 1342, // Custom network + // gas: 8500000, // Gas sent with each transaction (default: ~6700000) + // gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) + // from:

, // Account to send txs from (default: accounts[0]) + // websocket: true // Enable EventEmitter interface for web3 (default: false) + // }, + // Useful for deploying to a public network. + // NB: It's important to wrap the provider as a function. + // ropsten: { + // provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`), + // network_id: 3, // Ropsten's id + // gas: 5500000, // Ropsten has a lower block limit than mainnet + // confirmations: 2, // # of confs to wait between deployments. (default: 0) + // timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) + // skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) + // }, + // Useful for private networks + // private: { + // provider: () => new HDWalletProvider(mnemonic, `https://network.io`), + // network_id: 2111, // This network is yours, in the cloud. + // production: true // Treats this network as if it was a public net. (default: false) + // } + }, + + // Set default mocha options here, use special reporters etc. + mocha: { + reporter: 'eth-gas-reporter', + reporterOptions: { + excludeContracts: ['Migrations'], + //uncomment for matic testnet + //url:"https://matic-mumbai.chainstacklabs.com" + }, + timeout: 3000000, + }, + + // Configure your compilers + compilers: { + solc: { + version: '0.8.10', // Fetch exact version from solc-bin (default: truffle's version) + // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) + settings: { + // See the solidity docs for advice about optimization and evmVersion + optimizer: { + enabled: true, + runs: 100, + }, + evmVersion: 'istanbul', + }, + }, + }, + + // Truffle DB is currently disabled by default; to enable it, change enabled: + // false to enabled: true. The default storage location can also be + // overridden by specifying the adapter settings, as shown in the commented code below. + // + // NOTE: It is not possible to migrate your contracts to truffle DB and you should + // make a backup of your artifacts to a safe location before enabling this feature. + // + // After you backed up your artifacts you can utilize db by running migrate as follows: + // $ truffle migrate --reset --compile-all + // + // db: { + // enabled: false, + // host: "127.0.0.1", + // adapter: { + // name: "sqlite", + // settings: { + // directory: ".db" + // } + // } + // } +}; From 7b79c94714cad11b97d2ddee50c989f0b8cd3b88 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Tue, 5 Apr 2022 20:28:55 -0700 Subject: [PATCH 07/22] Updates in response to requests by @SamWilsn - Removed all external links - Added Licensing to the header of the solidity contracts - Split Specifications and Rationales into separate section to align with EIP-1 - Intended the sections properly based on suggestion by @SamWilsn --- EIPS/eip-4910.md | 274 ++++++++++-------- .../contracts/PaymentModule.sol | 2 +- .../contracts/RoyaltyBearingToken.sol | 2 +- .../contracts/RoyaltyBearingTokenStorage.sol | 2 +- .../contracts/RoyaltyModule.sol | 2 +- .../contracts/StorageStructure.sol | 2 +- 6 files changed, 166 insertions(+), 118 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index ab412cab96cd0..0ddcf7c8a49d3 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -14,7 +14,7 @@ requires: 721, 165 ## Abstract The proposal directly connects NFTs and royalties in a smart contract architecture extending the [ERC-721](./eip-721.md) standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. -The proposal builds upon the [OpenZeppelin Smart Contract Toolbox](https://github.com/OpenZeppelin/openzeppelin-contracts) architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/De-Listing/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. +The proposal builds upon the OpenZeppelin Smart Contract Toolbox architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/De-Listing/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. ## Motivation The management of royalties is an age-old problem characterized by complex contracts, opaque management, plenty of cheating and fraud. @@ -35,7 +35,10 @@ In order to solve for the complicated inheritance problem, this proposal breaks This affords creators, and the distributors of art derived from the original, the opportunity to achieve passive income from the creative process, enhancing the value of an NFT, since it now not only has intrinsic value but also comes with an attached cash flow. -## Specification Outline +## Specification +The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119. + +### Outline This proposal introduces several new concepts as extensions to the ERC721 standard: * **Royalty Account (RA)** @@ -55,7 +58,7 @@ This proposal introduces several new concepts as extensions to the ERC721 standa * **Parent** * This indicates which `tokenId` is the immediate parent of the `tokenId` to which an RA belongs. -### Data Structures +#### Data Structures In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: @@ -68,19 +71,19 @@ In order to create an interconnected data structure linking NFTs to RAs that is * A mapping with a struct for a registered payment to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the mapping. * A mapping for listing NFTs to be sold -### Royalty Account Functions +#### Royalty Account Functions Definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Because the RA is created in the minting function, there is no need to have a function to create a royalty account separately. -### Minting of a royalty bearing NFT +#### Minting of a Royalty Bearing NFT When an NFT is minted, an RA must be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's RA. To this end the specification utilizes the `_safemint` function in a newly defined `mint` function and applies various business rules on the input variables. -### Listing NFTs for Sale and removing a listing +#### Listing NFTs for Sale and removing a Listing Authorized user addresses can list NFTs for sale for non-exchange mediated NFT purchases. -### Payment Function from Buyer to Seller +#### Payment Function from Buyer to Seller To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. @@ -90,7 +93,7 @@ The payment process depends on whether the payment is received in ETH or an ERC 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. * For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. -### Modified NFT Transfer function including required Trade data to allocate royalties +#### Modified NFT Transfer Function including required Trade data to allocate Royalties The input parameters must satisfy several requirements for the NFT to be transferred AFTER the royalties have been properly distributed. Furthermore, the ability to transfer more than one token at a time is also considered. @@ -106,7 +109,7 @@ The proposal defines: The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and associated RA is reached. -### Paying out Royalties to the NFT owner -- `from` address in `safeTransferFrom` function +#### Paying out Royalties to the NFT Owner -- `from` address in `safeTransferFrom` Function This is the final part of the proposal. @@ -126,18 +129,17 @@ The following steps need to be taken: * extract `tokentype` from the Sub Account * based on the token type, send the payout payment (not exceeding the available balance) -## Specification -The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119. - -### Data Structures: Specifications and Rationales +### Data Structures -#### Royalty Account and Royalty Sub Accounts +#### Rationale: Royalty Account and Royalty Sub Accounts In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC721. Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linked to a meta account. This meta account is comprised of general account identifiers particular to the NFT it is linked to such as asset identifier, parent identifier etc. -#### **[R1]** +#### Specification: Royalty Account and Royalty Sub Accounts + +##### **[R1]** *There MUST be a struct for a Royalty Account as minimally defined below.* ``` @@ -160,7 +162,7 @@ struct RoyaltyAccount { RASubAccount[] rasubaccount; } ``` -#### **[R2]** +##### **[R2]** *There MUST be a struct for a Royalty Sub-Account linked to a Royalty Account, the minimal set of which is defined below.* ``` @@ -180,36 +182,38 @@ struct RASubAccount { } ``` -#### **[R3]** +##### **[R3]** *The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* -#### **[O1]** +##### **[O1]** *The `raAccountId` MAY be defined as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber`.* ``` address memory raAccountId = address(bytes20(keccak256(tokenId,owner,block.blocknumber)); ``` -#### **[R4]** +##### **[R4]** *The `tokenId` of a NFT MUST be mapped to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* ``` mapping (uint256 => address) private _tokenindextoRA; ``` -#### **[R5]** +##### **[R5]** *`raAccountID` MUST be mapped to a `RoyaltyAccount` in order to connect the Royalty Account identifier to the Royalty Account.* ``` mapping (address => RoyaltyAccount) private _royaltyaccount; ``` -#### Print (Child) NFTs +#### Rationale: Print (Child) NFTs The set of requirement to manage Parent-Child NFT Relationships and constraints at each level of the NFT (family) tree e.g. number of children permitted, NFT parents have to be mapped to their immediate NFT children are as follows. -#### **[R6]** +#### Specification: Print (Child) NFTs + +##### **[R6]** *There MUST be a struct that encodes the necessary data for direct parent-child relationships the minimal set of which is defined below.* ``` @@ -226,16 +230,16 @@ struct Child { } ``` -#### **[R7]** +##### **[R7]** *There MUST be an `ancestry` mapping of the parent-to-child NFT relationship.* ``` mapping (uint256 => Child) private ancestry ``` -#### **[O2]** +##### **[O2]** *The `maxchildren` variable MAY be updatable.* -#### **[O3]** +##### **[O3]** *There MAY be a global, updatable limit for the number of NFT children an NFT parent may have.* @@ -262,13 +266,15 @@ function updateMaxChildren(uint 256 _tokenId, uint256 _newMaxChildren) public vi return true; }; ``` -#### NFT Payment Tokens +#### Rationale: NFT Payment Tokens In order to capture royalties, an NFT contract must be involved in NFT trading. Therefore, the NFT contract needs to be aware of NFT payments, which in turn requires the NFT contract to be aware which tokens can be used for trading. This document first defines the required data structures to track trading and payments. -#### **[R8]** +#### Specification: NFT Payment Tokens + +##### **[R8]** *There MUST be a mapping of supported token types to the addresses of the corresponding token contracts.* @@ -278,18 +284,20 @@ mapping (string => address) private allowedToken Since the NFT contract is managing royalty distributions and payouts as well as sales, it needs to track the last available balances of the allowed token types owned by the contract. -#### **[R9]** +##### **[R9]** *There MUST be a mapping of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* ``` mapping (address => uint256) private lastBalanceAllowedToken ``` -#### NFT Listings and Payments +#### Rationale: NFT Listings and Payments Since the contract is directly involved in the sales process, a capability to list one or more NFTs for sale is required. -#### **[R10]** +#### Specification: NFT Listings and Payments + +##### **[R10]** *There MUST be a struct that encodes the required data of a sales listing, the minimal set of which is defined below.* @@ -310,7 +318,7 @@ struct ListedNFT { } ``` -#### **[R11]** +##### **[R11]** *In order to identify a listing, there MUST be a mapping of the `ListedNFT` struct to a listing identifier.* @@ -321,7 +329,7 @@ mapping (uint256 => ListedNFT) private listedNFT Besides listings, the contract is required to manage sales as well. This requires the capability to register a payment, either for immediate execution or for later payment such as in an auction situation. -#### **[R12]** +##### **[R12]** *There MUST be a struct that allows to encode the necessary data for a payment registration to be used by the contract in managing sales and royalties, the minimal set of which is defined below.* @@ -341,7 +349,7 @@ struct RegisteredPayment { uint256 payment; } ``` -#### **[R13]** +##### **[R13]** *In order to be able to identify a registered payment, there MUST be a mapping between the registered payment struct and an identifier.* ``` @@ -349,11 +357,13 @@ mapping (uint256 => RegisteredPayment) private registeredPayment ``` Note that the identifier in the mapping can for example be the first token to be sold. This is sufficient because a payment once received and distributed will be removed from the mapping. -#### Contract Constructor and Global Variables and their update functions +#### Rationale: Contract Constructor and Global Variables and their update functions This standard extends the current ERC721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. -#### **[R14]** +#### Specification: Contract Constructor and Global Variables and their update functions + +##### **[R14]** *The minimal contract constructor MUST conform to the structure given below.* @@ -395,7 +405,7 @@ constructor( Note, that his document is using the nomenclature of `_msgSender()` to align with the [Open Zeppelin implementation of the ERC2771 standard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. -#### **[O4]** +##### **[O4]** *Role definitions MAY be defined as global variables the following way* ``` @@ -404,7 +414,7 @@ bytes32 public constant DEFAULT_ADMIN_ROLE = keccak256("DEFAULT_ADMIN_ROLE"); bytes32 public constant CREATOR_Role = keccak256("CREATOR_ROLE"); ``` -#### **[O5]** +##### **[O5]** *The contract constructor MAY contain the following, additional global parameters:* ``` @@ -415,7 +425,7 @@ uint256 private _minRoyaltySplit; ``` This can give the creator of an NFT a special role within the access control structure of the contract, and, limits the maximum number of generations, maximum number of Royalty Sub Accounts, and minimal amount of the royalty percentage splits between Royalty Sub Accounts to both ensure that out-of-gas errors are minimized and that certain attack royalty distribution attack vectors are mitigated (see [Security Considerations](#Security-Considerations) for details). -#### **[O6]** +##### **[O6]** *The contract constructor MAY assign `_msgSender()` and the creator address special roles such as pausing transfers:* ``` @@ -425,7 +435,7 @@ _setupRole(CREATOR_ROLE, creatorAddress); Note, to limit attack vectors, implementations may consider enforcing additional security rules such as that `_msgSender()` should not be a contract, or that `creatorAddress` should also not be a contract. -#### **[O7]** +##### **[O7]** *The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* @@ -443,7 +453,7 @@ function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool return true; }; ``` -#### **[O8]** +##### **[O8]** *The `_maxrsubaccounts` and `_minroyaltysplit` global variables MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* @@ -468,7 +478,7 @@ function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) p } ``` -#### **[O9]** +##### **[O9]** *Furthermore, the creator of the original NFT MAY delegate authority to special functions such as altering the maximum number of generations and maximum number of children in a generation to a 3rd party using a `delegateAuthorty` function.* @@ -503,14 +513,14 @@ function delegateAuthority (bytes4 functionSig, bytes calldata _functionData, by } ``` -#### **[O10]** +##### **[O10]** *Note that the `functionSig` mapping MAY be defined as:* ``` mapping (bytes4 => bool) public functionSig; ``` -#### **[O11]** +##### **[O11]** *The function to populate the `functionSig` mapping MAY be defined as follows:* ``` @@ -522,23 +532,25 @@ function setFunctionSignature (bytes4 functionSig) public virtual returns (bool) returns true; } ``` -#### **[CR1 lastBalanceAllowedToken[allowedToken[listingId]]`.* * *`payment = registeredPayment[paymentId].payment`.* -#### Distributing Royalties in the transfer function +### Distributing Royalties in the Transfer Function + +#### Rationale: Distributing Royalties in the Transfer Function The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers, and then process one layer at time, where each relationship between a NFT and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and its associated Royalty Account. Note, that the distribution function assumes that the payment made is for ALL tokens in the requested transfer. That means, that `payment` for the distribution function is equally divided between all NFTs included in the payment. -#### **[R53]** +#### Specification: Distributing Royalties in the Transfer Function + +##### **[R53]** *The `distributePayment` function interface MUST adhere to the definition below: ``` @@ -970,7 +1008,7 @@ As mentioned before, the internal `distributePayment` function is called within Note, that it is necessary to multiply two `uint256` numbers with each other -- the payment amount with the royalty split percentage expressed as a whole number e.g. `10000 = 100%`. And then divide the result by the whole number representing `100%` in order to arrive at the correct application of the royalty split percentage to the payment amount. This requires careful treatment of numbers in the implementation to prevent issues such as buffer over or under runs. -#### **[R54]** +##### **[R54]** *The processing logic of `distributePayment` function MUST be as follows:* * *Load the Royalty Account (`RA`) and associated Royalty Sub Accounts using the passed `tokenId`.* @@ -987,11 +1025,15 @@ Note, that it is necessary to multiply two `uint256` numbers with each other -- * *if `isIndividual` of the Royalty Sub Account is set to `false`, pass through the Royalty Sub Accounts of the next `RA`, and apply the rule for `isIndividual = false`.* * *Repeat the procedures for `isIndividual` equal to `true` and `false` until a `RA` is reached that does not have an `ancestor`, and where all Royalty Sub Accounts have`isIndividual` set to `true`, and apply the rule for a Royalty Sub Account that has `isIndividual` set to `true` to all Royalty Sub Accounts in that `RA`.* -#### Update Royalty Sub Account ownership with payout to approved address (`from`) +### Update Royalty Sub Account Ownership with Payout to approved Address (`from`) + +#### Rationale: Update Royalty Sub Account Ownership with Payout to approved Address (`from`) In order to simplify the ownership transfer, first the approved address -- the non-contract NFT owner --, `from`, is paid out its share of the royalties. And then the Royalty Sub Account is updated with the new owner, `to`. This step repeats for each token to be transferred. -#### **[R55]** +#### Specification: Update Royalty Sub Account Ownership with Payout to approved Address (`from`) + +##### **[R55]** *The business rules are as follows:* * *the internal version of the`royaltyPayOut` function MUST pay out the entire royalty balance of the Royalty Sub Account owned by the `from` address to the `from` address.* @@ -999,7 +1041,7 @@ In order to simplify the ownership transfer, first the approved address -- the n The last step in the process chain is transferring the NFTs in the purchase to the `to` address. -#### **[R56]** +##### **[R56]** *For every NFT (in the batch) the 'to' address MUST be `approved' (ERC721 function) to complete the ownership transfer:* @@ -1009,22 +1051,30 @@ _approve(to, tokenId[i]); The technical NFT owner remains the NFT contract. -#### Removing the Payment entry in `registeredPayment` after successful transfer +### Removing the Payment Entry in `registeredPayment` after successful Transfer + +#### Rationale: Removing the Payment Entry in `registeredPayment` after successful Transfer Only after the real ownership of the NFT, the approved address, has been updated, the payment registry entry can be removed to allow the transferred NFTs to be sold again. -#### **[R57]** +#### Specification: Removing the Payment Entry in `registeredPayment` after successful Transfer + +##### **[R57]** *After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* ``` delete registeredPayment[_tokenId[[0]]; ``` -### Paying out Royalties to the `from` address in `safeTransferFrom` function +### Paying out Royalties to the `from` Address in `safeTransferFrom` Function -There are two versions of the payout function -- a `public` and an `internal` function. +#### Rationale: Paying out Royalties to the `from` Address in `safeTransferFrom` Function -#### **[R58]** +There are two versions of the payout function -- a `public` and an `internal` function -- depending on whether there is a payout during a purchase, or a payout is requested by a Royalty Sub Account owner. + +#### Specification: Paying out Royalties to the `from` Address in `safeTransferFrom` Function + +##### **[R58]** *The public `royaltyPayOut` function interface MUST adhere to the definition below:* ``` @@ -1038,9 +1088,9 @@ function royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable p ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -Note, that the function has `reentrancy` protection through `nonReentrant` from the [Open Zeppelin library](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) since funds are being paid out. +Note, that the function has `reentrancy` protection through `nonReentrant` from the Open Zeppelin library since funds are being paid out. -#### **[R59]** +##### **[R59]** *The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* * *`_msgSender() == RAsubaccount`.* @@ -1050,21 +1100,19 @@ Note, that the function has `reentrancy` protection through `nonReentrant` from * *`isIndividual == true` for the Royalty Sub Account, `RAsubaccount`.* * *`amount <= royaltybalance` of the Royalty Sub Account, `RAsubaccount.*` -#### **[R60]** +##### **[R60]** *The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: ``` function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual returns (bool) ``` -#### **[R61]** +##### **[R61]** *The internal `_royaltyPayOut` function MUST perform the following actions: * *send the payment to the `payoutaccount`.* * *update the `royaltybalance` of the `RAsubaccount` of the Royalty Account upon successful transfer.* -#### Sending a Payout Payment - -#### **[R62]** +##### **[R62]** *The following steps MUST be taken to send out a royalty payment to its recipient:* * *find the Royalty Sub Account.* @@ -1087,7 +1135,7 @@ The Treetrunk reference implementation of the standard can be found [here](https Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: - **Payments and Payouts**: - - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin [reference implementation](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol). + - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin reference implementation. - Payouts from unauthorized accounts. Mitigation: Royalty Sub Accounts require at least that `msg.sender` is the Royalty Sub Account owner. - Payments could get stuck in the NFT contract if the `executePayment` function fails. Mitigation: For exchange-mediated sales, a buyer can always reverse a payment with `reversePayment` if the `executePayment` function fails. For direct sales, `reversePayment` will be directly triggered in the `executePayment` function. - **Circumventing Royalties**: diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol index c530a701fb557..a07b21efd1c5a 100644 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Unlicensed +// SPDX-License-Identifier: Apache 2.0 pragma solidity 0.8.10; import '@openzeppelin/contracts/access/Ownable.sol'; diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol index bab09b42e7d5e..4bbc1202cc3cf 100644 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Unlicensed +/// SPDX-License-Identifier: Apache 2.0 pragma solidity 0.8.10; import '@openzeppelin/contracts/token/ERC20/IERC20.sol'; diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol index 23fbe4f989959..66ae3e135a083 100644 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Unlicensed +// SPDX-License-Identifier: Apache 2.0 pragma solidity 0.8.10; import './StorageStructure.sol'; diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol index ac06718a6f9cf..9dc9bf34409e7 100644 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Unlicensed +// SPDX-License-Identifier: Apache 2.0 pragma solidity 0.8.10; import '@openzeppelin/contracts/access/Ownable.sol'; diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol index 9f829ea0e6ac8..b3f350075b252 100644 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol +++ b/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: Unlicensed +// SPDX-License-Identifier: Apache 2.0 pragma solidity 0.8.10; contract StorageStructure { From 7a9406fc3b04df328c42775d05947bc596922daa Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 6 Apr 2022 16:40:37 -0700 Subject: [PATCH 08/22] Overlooked two external links, and removed them --- EIPS/eip-4910.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 0ddcf7c8a49d3..41682cd8b4efb 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -120,7 +120,7 @@ The public function has the following interface: function royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual nonReentrant returns (bool) ``` -where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has [`nonReentrant` modifier protection](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol), because funds are being payed out. +where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has `nonReentrant` modifier protection, because funds are being payed out. #### Sending a Payout Payment @@ -403,7 +403,7 @@ constructor( } ``` -Note, that his document is using the nomenclature of `_msgSender()` to align with the [Open Zeppelin implementation of the ERC2771 standard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. +Note, that his document is using the nomenclature of `_msgSender()` to align with the Open Zeppelin implementation of the ERC2771 standard in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. ##### **[O4]** @@ -851,7 +851,7 @@ Note the NFT contract pays itself from the available allowance set in the `appro ##### **[R39]** -*For `trxntype = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwsie.* +*For `trxntype = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwise.* ##### **[R40]** @@ -973,7 +973,8 @@ Turning to the `_data` object. * *`chainid == block.chainid`.* * *`buyer = registeredPayment[paymentId].buyer`.* * *`receiver == to`.* -* *the receiver of the token is not the buyer.* +* *the receiver of the token is not the seller.* +* *the receiver of the token is not a contract or is a whitelisted contract* * *For all NFTs in the payment, `tokenId[i] = registeredPayment[paymentId].boughtTokens[i]`.* * *`tokentype` is supported in the contract.* * *`allowedToken[tokentype]` is not NULL.* @@ -1135,7 +1136,7 @@ The Treetrunk reference implementation of the standard can be found [here](https Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: - **Payments and Payouts**: - - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin reference implementation. + - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin reference implementation . - Payouts from unauthorized accounts. Mitigation: Royalty Sub Accounts require at least that `msg.sender` is the Royalty Sub Account owner. - Payments could get stuck in the NFT contract if the `executePayment` function fails. Mitigation: For exchange-mediated sales, a buyer can always reverse a payment with `reversePayment` if the `executePayment` function fails. For direct sales, `reversePayment` will be directly triggered in the `executePayment` function. - **Circumventing Royalties**: From ff6b30e4700365e82dba981d84c5a8b5695b79bf Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Fri, 15 Apr 2022 07:22:14 -0700 Subject: [PATCH 09/22] Update EIPS/eip-4910.md Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com> --- EIPS/eip-4910.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 41682cd8b4efb..786ea86f6c2c3 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -88,7 +88,7 @@ Authorized user addresses can list NFTs for sale for non-exchange mediated NFT p To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. The payment process depends on whether the payment is received in ETH or an ERC 20 token: -* ERC 20 Token +* ERC-20 Token 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC20 contract address). 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. * For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. From f3087b48d4a1c2b6b1f883338c2ad623263810cd Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 15 Apr 2022 13:02:49 -0700 Subject: [PATCH 10/22] Address requested changes by @SamWilsn - adopted suggestion by @SamWilsn to simplify headers and remove `Rationale` headers and remove the individual `Specification` headers. - found a way to remove requirements as headers using ... --- EIPS/eip-4910.md | 355 ++++++++++++----------------------------------- 1 file changed, 87 insertions(+), 268 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 786ea86f6c2c3..4d94b52fb39b3 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -139,9 +139,7 @@ Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linke #### Specification: Royalty Account and Royalty Sub Accounts -##### **[R1]** - -*There MUST be a struct for a Royalty Account as minimally defined below.* +**[R1]** *There MUST be a struct for a Royalty Account as minimally defined below.* ``` /// /// @dev Definition of the struct for a Royalty Account. @@ -162,9 +160,8 @@ struct RoyaltyAccount { RASubAccount[] rasubaccount; } ``` -##### **[R2]** -*There MUST be a struct for a Royalty Sub-Account linked to a Royalty Account, the minimal set of which is defined below.* +**[R2]** *There MUST be a struct for a Royalty Sub-Account linked to a Royalty Account, the minimal set of which is defined below.* ``` /// /// @dev Definition of the struct for a Royalty Sub0Account. @@ -182,40 +179,28 @@ struct RASubAccount { } ``` -##### **[R3]** - -*The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* - -##### **[O1]** +**[R3]** *The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* -*The `raAccountId` MAY be defined as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber`.* +**[O1]** *The `raAccountId` MAY be defined as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber`.* ``` address memory raAccountId = address(bytes20(keccak256(tokenId,owner,block.blocknumber)); -``` - -##### **[R4]** +``` -*The `tokenId` of a NFT MUST be mapped to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* +**[R4]** *The `tokenId` of a NFT MUST be mapped to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* ``` mapping (uint256 => address) private _tokenindextoRA; ``` -##### **[R5]** - -*`raAccountID` MUST be mapped to a `RoyaltyAccount` in order to connect the Royalty Account identifier to the Royalty Account.* +**[R5]** *`raAccountID` MUST be mapped to a `RoyaltyAccount` in order to connect the Royalty Account identifier to the Royalty Account.* ``` mapping (address => RoyaltyAccount) private _royaltyaccount; ``` -#### Rationale: Print (Child) NFTs +#### Print (Child) NFTs The set of requirement to manage Parent-Child NFT Relationships and constraints at each level of the NFT (family) tree e.g. number of children permitted, NFT parents have to be mapped to their immediate NFT children are as follows. -#### Specification: Print (Child) NFTs - -##### **[R6]** - -*There MUST be a struct that encodes the necessary data for direct parent-child relationships the minimal set of which is defined below.* +**[R6]** *There MUST be a struct that encodes the necessary data for direct parent-child relationships the minimal set of which is defined below.* ``` /// /// @dev Definition of the struct that allows for direct parent-child relationships. @@ -230,18 +215,15 @@ struct Child { } ``` -##### **[R7]** -*There MUST be an `ancestry` mapping of the parent-to-child NFT relationship.* +**[R7]** *There MUST be an `ancestry` mapping of the parent-to-child NFT relationship.* ``` mapping (uint256 => Child) private ancestry ``` -##### **[O2]** -*The `maxchildren` variable MAY be updatable.* +**[O2]** *The `maxchildren` variable MAY be updatable.* -##### **[O3]** -*There MAY be a global, updatable limit for the number of NFT children an NFT parent may have.* +**[O3]** *There MAY be a global, updatable limit for the number of NFT children an NFT parent may have.* The update of a global value of the maximum number of NFT children an NFT parent can have, may be implemented for example through a function as given below: ``` @@ -266,17 +248,14 @@ function updateMaxChildren(uint 256 _tokenId, uint256 _newMaxChildren) public vi return true; }; ``` -#### Rationale: NFT Payment Tokens +#### NFT Payment Tokens In order to capture royalties, an NFT contract must be involved in NFT trading. Therefore, the NFT contract needs to be aware of NFT payments, which in turn requires the NFT contract to be aware which tokens can be used for trading. This document first defines the required data structures to track trading and payments. -#### Specification: NFT Payment Tokens - -##### **[R8]** -*There MUST be a mapping of supported token types to the addresses of the corresponding token contracts.* +**[R8]** *There MUST be a mapping of supported token types to the addresses of the corresponding token contracts.* ``` mapping (string => address) private allowedToken @@ -284,22 +263,16 @@ mapping (string => address) private allowedToken Since the NFT contract is managing royalty distributions and payouts as well as sales, it needs to track the last available balances of the allowed token types owned by the contract. -##### **[R9]** - -*There MUST be a mapping of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* +**[R9]** *There MUST be a mapping of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* ``` mapping (address => uint256) private lastBalanceAllowedToken ``` -#### Rationale: NFT Listings and Payments +#### NFT Listings and Payments Since the contract is directly involved in the sales process, a capability to list one or more NFTs for sale is required. -#### Specification: NFT Listings and Payments - -##### **[R10]** - -*There MUST be a struct that encodes the required data of a sales listing, the minimal set of which is defined below.* +**[R10]** *There MUST be a struct that encodes the required data of a sales listing, the minimal set of which is defined below.* ``` /// @@ -318,9 +291,7 @@ struct ListedNFT { } ``` -##### **[R11]** - -*In order to identify a listing, there MUST be a mapping of the `ListedNFT` struct to a listing identifier.* +**[R11]** *In order to identify a listing, there MUST be a mapping of the `ListedNFT` struct to a listing identifier.* Such an identifier for example could be the tokenId of the first token in the listing as defined below ``` @@ -329,9 +300,7 @@ mapping (uint256 => ListedNFT) private listedNFT Besides listings, the contract is required to manage sales as well. This requires the capability to register a payment, either for immediate execution or for later payment such as in an auction situation. -##### **[R12]** - -*There MUST be a struct that allows to encode the necessary data for a payment registration to be used by the contract in managing sales and royalties, the minimal set of which is defined below.* +**[R12]** *There MUST be a struct that allows to encode the necessary data for a payment registration to be used by the contract in managing sales and royalties, the minimal set of which is defined below.* ``` /// @@ -349,23 +318,18 @@ struct RegisteredPayment { uint256 payment; } ``` -##### **[R13]** -*In order to be able to identify a registered payment, there MUST be a mapping between the registered payment struct and an identifier.* +**[R13]** *In order to be able to identify a registered payment, there MUST be a mapping between the registered payment struct and an identifier.* ``` mapping (uint256 => RegisteredPayment) private registeredPayment ``` Note that the identifier in the mapping can for example be the first token to be sold. This is sufficient because a payment once received and distributed will be removed from the mapping. -#### Rationale: Contract Constructor and Global Variables and their update functions +#### Contract Constructor and Global Variables and their update functions This standard extends the current ERC721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. -#### Specification: Contract Constructor and Global Variables and their update functions - -##### **[R14]** - -*The minimal contract constructor MUST conform to the structure given below.* +**[R14]** *The minimal contract constructor MUST conform to the structure given below.* ``` /// @@ -405,18 +369,14 @@ constructor( Note, that his document is using the nomenclature of `_msgSender()` to align with the Open Zeppelin implementation of the ERC2771 standard in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. -##### **[O4]** - -*Role definitions MAY be defined as global variables the following way* +**[O4]** *Role definitions MAY be defined as global variables the following way* ``` bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bytes32 public constant DEFAULT_ADMIN_ROLE = keccak256("DEFAULT_ADMIN_ROLE"); bytes32 public constant CREATOR_Role = keccak256("CREATOR_ROLE"); ``` -##### **[O5]** - -*The contract constructor MAY contain the following, additional global parameters:* +**[O5]** *The contract constructor MAY contain the following, additional global parameters:* ``` address creatorAddress, uint256 numGenerations @@ -425,9 +385,8 @@ uint256 private _minRoyaltySplit; ``` This can give the creator of an NFT a special role within the access control structure of the contract, and, limits the maximum number of generations, maximum number of Royalty Sub Accounts, and minimal amount of the royalty percentage splits between Royalty Sub Accounts to both ensure that out-of-gas errors are minimized and that certain attack royalty distribution attack vectors are mitigated (see [Security Considerations](#Security-Considerations) for details). -##### **[O6]** -*The contract constructor MAY assign `_msgSender()` and the creator address special roles such as pausing transfers:* +**[O6]** *The contract constructor MAY assign `_msgSender()` and the creator address special roles such as pausing transfers:* ``` _setupRole(PAUSER_ROLE, _msgSender()); _setupRole(CREATOR_ROLE, creatorAddress); @@ -435,9 +394,8 @@ _setupRole(CREATOR_ROLE, creatorAddress); Note, to limit attack vectors, implementations may consider enforcing additional security rules such as that `_msgSender()` should not be a contract, or that `creatorAddress` should also not be a contract. -##### **[O7]** -*The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* +**[O7]** *The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* An example of such an update function is given below: ``` @@ -453,9 +411,8 @@ function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool return true; }; ``` -##### **[O8]** -*The `_maxrsubaccounts` and `_minroyaltysplit` global variables MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* +**[O8]** *The `_maxrsubaccounts` and `_minroyaltysplit` global variables MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* An example of such an update function for the two global variables above to which access is given only by the owning / managing contract that manages all access is given below: ``` @@ -478,9 +435,7 @@ function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) p } ``` -##### **[O9]** - -*Furthermore, the creator of the original NFT MAY delegate authority to special functions such as altering the maximum number of generations and maximum number of children in a generation to a 3rd party using a `delegateAuthorty` function.* +**[O9]** *Furthermore, the creator of the original NFT MAY delegate authority to special functions such as altering the maximum number of generations and maximum number of children in a generation to a 3rd party using a `delegateAuthorty` function.* An example of such a function is given below: ``` @@ -513,16 +468,12 @@ function delegateAuthority (bytes4 functionSig, bytes calldata _functionData, by } ``` -##### **[O10]** - -*Note that the `functionSig` mapping MAY be defined as:* +**[O10]** *Note that the `functionSig` mapping MAY be defined as:* ``` mapping (bytes4 => bool) public functionSig; ``` -##### **[O11]** - -*The function to populate the `functionSig` mapping MAY be defined as follows:* +**[O11]** *The function to populate the `functionSig` mapping MAY be defined as follows:* ``` /// @dev Function sets the function signature of functions that can be delegated /// @param functionSig is the signature of the function for which delegation should be allowed @@ -532,9 +483,8 @@ function setFunctionSignature (bytes4 functionSig) public virtual returns (bool) returns true; } ``` -##### **[CR1**[CR1]** *Note that `_functionSig` MUST be calculated as follows: `bytes4(keccak256("functionname(types of input variables that are comma separated)")`.* For example, `bytes4(keccak256("updateMaxGenerations(uint256)")`. @@ -544,15 +494,11 @@ For example, `bytes4(keccak256("updateMaxGenerations(uint256)")`. Below are the definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Since a Royalty Account is created in the NFT minting function, there is no need to have a separate function to create a royalty account. -#### Rationale: Get a Royalty Account +#### Get a Royalty Account There is only one get function required because a Royalty Account and its sub accounts can be retrieved through the `tokenId` in the `ancestry` field of the Royalty Account. -#### Specification: Get a Royalty Account - -##### **[R15]** - -*The `getRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R15]** *The `getRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to fetch a Royalty Account for a given tokenId /// @param tokenId is the identifier of the NFT to which a Royalty Account is attached @@ -562,22 +508,18 @@ function getRoyaltyAccount (uint256 tokenId) public view virtual returns (addres RASubAccount[] memory); ``` -##### **[R16]** -*The following business rules MUST be enforced in the `getRoyaltyAccount` function:* +**[R16]** *The following business rules MUST be enforced in the `getRoyaltyAccount` function:* * *`tokenId` exists and is not burned* * *`address memory accountId = _tokenindextoRA[_tokenId];` retrieves the royalty account identifier from the mapping.* * *`RoyaltyAccount memory account = _royaltyaccount[accountId];` retrieves the royalty account struct from the mapping.* -#### Rationale: Update a Royalty Account +#### Update a Royalty Account In order to update a Royalty Account, the caller must have both the 'tokenId' and the `RoyaltyAccount` itself which can be obtained from the Royalty Account getter function. -#### Specification: Update a Royalty Account - -##### **[R17]** -*The `updateRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R17]** *The `updateRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to update a Royalty Account and its Sub Accounts /// @param tokenId is the identifier of the NFT to which the Royalty Account to be updated is attached @@ -590,9 +532,7 @@ The update functionality of a Royalty Account, while straightforward, is also hi Note that in the rules below, `_msgSender()` is to be read as `msg.sender` or an address approved by the `owner`; meaning that `getApproved (assetID) = _msgSender()`. -##### **[R18]** - -*The business rules for the update function are as follows:* +**[R18]** *The business rules for the update function are as follows:* 1. *The `assetId` data property MUST NOT be changed.* 2. *The `ancestor` data property MUST NOT be updated.* 3. *The `tokentype` data property MUST NOT be updated.* @@ -623,59 +563,42 @@ Note that in the rules below, `_msgSender()` is to be read as `msg.sender` or an 11. *If the Royalty Account update is correct, the function returns `true`, otherwise `false`.* -#### Rationale: Deleting a Royalty Account +#### Deleting a Royalty Account While sometimes deleting a Royalty Account is necessary, even convenient, it is a very costly function in terms of gas, and should not be used unless one is absolutely sure that the conditions enumerated below are met. -#### Specification: Deleting a Royalty Account - -##### **[R19]** -*The `deleteRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R19]** *The `deleteRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to delete a Royalty Account /// @param tokenId is the identifier of the NFT to which the Royalty Account to be updated is attached function deleteRoyaltyAccount (uint256 _tokenId) public virtual returns (bool) ``` -##### **[R20]** -*The business rules for this function are as follows:* +**[R20]** *The business rules for this function are as follows:* * *`_tokenId` MUST be burned, i.e., have owner `address(0)`.* * *all `tokenId` numbers genealogically related to `_tokenId` either as ancestors or offspring MUST also be burnt.* * *all balances in the Royalty Sub Accounts MUST be zero.* ### NFT Minting -#### Rationale: NFT Minting - In extension to the ERC721 minting capability, a Royalty Account with Royalty Sub Accounts are required to be added during the minting, besides establishing the NFT token specific data structures supporting constraints such as the maximum number of children an NFT can have. -#### Specification: NFT Minting - -##### **[R21]** - -*When a new NFT is minted a Royalty Account with one or more Royalty Sub Accounts MUST be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's Royalty Account.* +**[R21]** *When a new NFT is minted a Royalty Account with one or more Royalty Sub Accounts MUST be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's Royalty Account.* To this end the specification utilizes the ERC721 `_safemint` function in a newly defined `mint` function, and applies various business rules on the function's input variables. -##### **[D1]** - -*Note, that the `mint` function SHOULD have the ability to mint more than one NFT at a time.* - -##### **[R22]** +**[D1]** *Note, that the `mint` function SHOULD have the ability to mint more than one NFT at a time.* -*Also, note that the `owner` of a new NFT MUST be the NFT contract itself.* +**[R22]** *Also, note that the `owner` of a new NFT MUST be the NFT contract itself.* -##### **[R23]** - -*The non-contract owner of the NFT MUST be set as `isApproved` which allows the non-contract owner to operate just like the `owner`.* +**[R23]** *The non-contract owner of the NFT MUST be set as `isApproved` which allows the non-contract owner to operate just like the `owner`.* This strange choice in the two requirements above is necessary, because the NFT contract functions as an escrow for payments and royalties, and, hence, needs to be able to track payments received from buyers and royalties due to recipients, and to associate them with a valid `tokenId`. -##### **[R24]** -*For compactness of the input, and since the token meta data might vary from token to token the following minimal data structure in the `mint` function MUST be adhered to:* +**[R24]** *For compactness of the input, and since the token meta data might vary from token to token the following minimal data structure in the `mint` function MUST be adhered to:* ``` /// /// @dev Defines the data structure required to mint one or more tokens ans associate them with one or more Royalty Accounts @@ -694,9 +617,7 @@ struct NFTToken { } ``` -##### **[R25]** - -*The `mint` function interface MUST adhere to the definition below:* +**[R25]** *The `mint` function interface MUST adhere to the definition below:* ``` /// @dev Function creates one or more new NFTs with its relevant meta data necessary for royalties, and a Royalty Account with its associated met data for `to` address. The tokenId(s) will be automatically assigned (and available on the emitted {IERC721-Transfer} event). /// @param to is the address to which the NFT(s) are minted @@ -705,9 +626,8 @@ struct NFTToken { function mint(address to, NFTToken[] memory nfttoken, string tokentype) public virtual ``` -##### **[R26]** -*The following business rules for the `mint` function's input data MUST be fulfilled:* +**[R26]** *The following business rules for the `mint` function's input data MUST be fulfilled:* - *The number of tokens to be minted MUST NOT be zero.* - *`_msgSender()` MUST have either the `MINTER_ROLE` or the `CREATOR_Role`.* - *`to` address MUST NOT be the zero address.* @@ -721,27 +641,19 @@ function mint(address to, NFTToken[] memory nfttoken, string tokentype) public v ### Listing and De-Listing of NFTs for Direct Sales -#### Rationale: Listing and De-Listing of NFTs for Direct Sales - In the sales process, we need to minimally distinguish two types of transactions - Exchange-mediated sales - Direct sales -The first type of transaction does not require that the smart contract is aware of a sales listing since the exchange contract will trigger payment and transfer transactions directly with the NFT contract as the owner. However, for the latter transaction type it is essential, since direct sales are required to be mediated at every step by the smart contract. - -#### Specification: Listing and De-Listing of NFTs for Direct Sales - -##### **[R27]** +The first type of transaction does not require that the smart contract is aware of a sales listing since the exchange contract will trigger payment and transfer transactions directly with the NFT contract as the owner. However, for the latter transaction type it is essential, since direct sales are required to be mediated at every step by the smart contract. -*For direct sales, NFT listing, und de-listing, transactions MUST be executed through the NFT smart contract.* +**[R27]** *For direct sales, NFT listing, und de-listing, transactions MUST be executed through the NFT smart contract.* Exchange-mediated sales will be discussed when this document discusses payments. In direct sales, authorized user addresses can list NFTs for sale, see the business rules below. -##### **[R28]** - -*The `listNFT` function interface MUST adhere to the definition below:* +**[R28]** *The `listNFT` function interface MUST adhere to the definition below:* ``` /// @dev Function to list one or more NFTs for direct sales /// @param tokenIds is the array of tokenIds to be included in the listing @@ -752,22 +664,17 @@ function listNFT (uint256[] tokenIds, uint256 price, string tokenType) public vi ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -##### **[R29]** - -*The business rules of the `listNFT` function are as follows:* +**[R29]** *The business rules of the `listNFT` function are as follows:* - there MUST NOT already be a listing for one or more NFTs in the `listedNFT` mapping of the proposed listing. - `_msgSender()` MUST be equal to `getApproved(tokenId[i])` for all NFTs in the proposed listing. - `tokentype` MUST be supported by the smart contract. - `price` MUST be larger than `0`. -##### **[R30]** -If the conditions in [**[R29]**](#r29) are met, then the `listedNFT` mapping MUST be updated. +**[R30]** *If the conditions in [**[R29]**](#r29) are met, then the `listedNFT` mapping MUST be updated.* Authorized user addresses can also remove a direct sale listing of NFTs. -##### **[R31]** - -*The `removeNFTListing` function interface MUST adhere to the definition below:* +**[R31]** *The `removeNFTListing` function interface MUST adhere to the definition below:* ``` /// @dev Function to de-list one or more NFTs for direct sales /// @param listingId is the identifier of the NFT listing @@ -776,36 +683,24 @@ function removeNFTListing (uint256 listingId) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -##### **[R32]** - -*The business rules of the `removeNFTListing` function below MUST be adhered to:* +**[R32]** *The business rules of the `removeNFTListing` function below MUST be adhered to:* - *`registeredPayment[listingId]` entry must be NULL* - *`_msgSender() = getApproved(tokenId)` for the NFT listing* -##### **[R33]** - -*If the conditions in [**[R32]**](#r32) are met, then the mapping for the listing MUST be removed.* +**[R33]** *If the conditions in [**[R32]**](#r32) are met, then the mapping for the listing MUST be removed.* ### Payments for NFT Sales -#### Rationale: Payments for NFT Sales - As noted before, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout to their wallet. -#### Specification: Payments for NFT Sales - -##### **[R34]** - -*The payment process requires either one or two steps:* +**[R34]** *The payment process requires either one or two steps:* 1. *For an ERC20 token* - *The buyer MUST `approve` the NFT contract for the purchase price, `payment`, for the selected payment token type.* - *The buyer MUST call the `executePayment` function.* 2. *For a protocol token* - *The buyer MUST call a payment fallback function with `msg.data` not NULL.* -##### **[R35]** - -*For an ERC20 token type, the required `executePayment` function interface MUST adhere to the definition below*: +**[R35]** *For an ERC20 token type, the required `executePayment` function interface MUST adhere to the definition below*: ``` /// @dev Function to make a NFT direct sales or exchange-mediate sales payment /// @param receiver is the address of the receiver of the payment @@ -819,9 +714,7 @@ function executePayment (address receiver, address seller, uint 256[] tokenIds, ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -##### **[R36]** - -*Independent of `trxntype`, the business rules for the input data are as follows:* +**[R36]** *Independent of `trxntype`, the business rules for the input data are as follows:* - *All purchased NFTs in the `tokenIds` array MUST exist and MUST NOT be burned.* - *`tokenType` MUST be a supported token.* - *`trxntype` MUST be set to either `0` (direct sale) or `1` (exchange-mediate sale), or another supported type.* @@ -831,64 +724,41 @@ The Boolean return value is `true` for a successful function execution, and `fal In the following, this document will only discuss the differences between the two minimally required transaction types. -##### **[O12]** - -*Other transaction types (`trxntype`) than `0` and `1` and the business rules associated to those new types MAY be defined by an implementation of this standard.* +**[O12]** *Other transaction types (`trxntype`) than `0` and `1` and the business rules associated to those new types MAY be defined by an implementation of this standard.* -##### **[R37]** -*For `trxntype = 0`, the payment data MUST to be validated against the listing, based on the following rules:* +**[R37]** *For `trxntype = 0`, the payment data MUST to be validated against the listing, based on the following rules:* - *NFT(s) MUST be listed* - *`payment` MUST be larger or equal to the listing price.* - *The listed NFT(s) MUST match the NFT(s) in the payment data.* - *The listed NFT(s) MUST be controlled by `seller`.* -##### **[R38]** - -*If all checks in [**[R36]**](#r36), and in [**[R37]**](#r37) for `trxntype = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the ERC20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* +**[R38]** *If all checks in [**[R36]**](#r36), and in [**[R37]**](#r37) for `trxntype = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the ERC-20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* Note the NFT contract pays itself from the available allowance set in the `approve` transaction from the buyer. -##### **[R39]** - -*For `trxntype = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwise.* - -##### **[R40]** +**[R39]** *For `trxntype = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwise.* -*For `trxntype = 0`, an `internal` version of the `safeTransferFrom` function with message data MUST be called to transfer the NFTs to the buyer, and upon success, the buyer MUST be given the `MINTER_ROLE`, unless the buyer already has that role.* +**[R40]** *For `trxntype = 0`, an `internal` version of the `safeTransferFrom` function with message data MUST be called to transfer the NFTs to the buyer, and upon success, the buyer MUST be given the `MINTER_ROLE`, unless the buyer already has that role.* Note, the `_safeTransferFrom` function has the same structure as `safeTransferFrom` but skips the input data validation. -##### **[R41]** - -*For `trxntype = 0`, and if the NFT transfer is successful, the listing of the NFT MUST be removed.* - -##### **[R42]** +**[R41]** *For `trxntype = 0`, and if the NFT transfer is successful, the listing of the NFT MUST be removed.* -*For a protocol token as a payment token, and independent of `trxntype`, the buyer MUST send protocol tokens to the NFT contract as the escrow, and `msg.data` MUST encode the array of paid for NFTs `uint256[] tokenIds`.* +**[R42]** *For a protocol token as a payment token, and independent of `trxntype`, the buyer MUST send protocol tokens to the NFT contract as the escrow, and `msg.data` MUST encode the array of paid for NFTs `uint256[] tokenIds`.* -##### **[R43]** - -*For the NFT contract to receive a protocol token, a payable fallback function (`fallback() external payable`) MUST be implemented.* +**[R43]** *For the NFT contract to receive a protocol token, a payable fallback function (`fallback() external payable`) MUST be implemented.* Note that since the information for which NFTs the payment was for must be passed, a simple `receive()` fallback function cannot be allowed since it does not allow for `msg.data` to be sent with the transaction. -##### **[R44]** - -*`msg.data` for the fallback function MUST minimally contain the following data: +**[R44]** *`msg.data` for the fallback function MUST minimally contain the following data: `address memory seller, uint256[] memory _tokenId, address memory receiver, int256 memory trxntype`* -##### **[R45]** - -*If `trxntype` is not equal to either '0' or '1', or another supported type, then the fallback function MUST `revert`.* - -##### **[R46]** - -*For `trxntype` equal to either '0' or '1', the requirements [**[R36]**](#r36) through [**[R41]**](#r41) MUST be satisfied for the fallback function to successfully execute, otherwise the fallback function MUST `revert`.* +**[R45]** *If `trxntype` is not equal to either '0' or '1', or another supported type, then the fallback function MUST `revert`.* -##### **[R47]** +**[R46]** *For `trxntype` equal to either '0' or '1', the requirements [**[R36]**](#r36) through [**[R41]**](#r41) MUST be satisfied for the fallback function to successfully execute, otherwise the fallback function MUST `revert`.* -*In case of a transaction failure (Direct Sales, `trxntype = 0`), or the buyer of the NFT listing changing their mind (Exchange-mediated Sales, `trxntype = 1`), the submitted payment MUST be able reverteable using the `reversePayment` function where the function interface is defined below:* +**[R47]** *In case of a transaction failure (Direct Sales, `trxntype = 0`), or the buyer of the NFT listing changing their mind (Exchange-mediated Sales, `trxntype = 1`), the submitted payment MUST be able reverteable using the `reversePayment` function where the function interface is defined below:* ``` /// @dev Definition of the function enabling the reversal of a payment before the sale is complete /// @param paymentId is the unique identifier for which a payment was made @@ -899,9 +769,7 @@ The Boolean return value is `true` for a successful function execution, and `fal Note, that the function has `reentrancy` protection through `nonReentrant` from the Open Zeppelin library since funds are being paid out. -##### **[R48]** - -*The business rules for the `reversePayment` function are as follows:* +**[R48]** *The business rules for the `reversePayment` function are as follows:* - *There MUST be registered payment for a given `paymentId` and `tokenType`.* - *`_msgSender()` MUST be the buyer address in the registered payment.* - *The payment amount must be larger than `0`.* @@ -910,8 +778,6 @@ Note, that the function has `reentrancy` protection through `nonReentrant` from ### Modified NFT Transfer function -#### Rationale: Modified NFT Transfer Function - This document adheres to the ERC721 interface format for the `safeTransferFrom` function as given below: ``` function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) external virtual override @@ -919,8 +785,6 @@ function safeTransferFrom(address from, address to, uint256 tokenId, bytes memor Note, that the input parameters must satisfy several requirements for the NFT(s) to be transferred AFTER royalties have been properly distributed. Note also, that the ability to transfer more than one token at a time is required. However, the standard interface only allows one token to be transferred at a time. In order to remain compliant with the ERC721 standard, this document uses `tokenId` only for the first NFT to be transferred. All other transfer relevant data is encoded in `_data`. -#### Specification: Modified NFT Transfer Function - The high-level requirements are as follows: * The payment parameters of the trade encoded in `_data` must be validated. * The seller and the sold NFT token(s) must exist, and the seller must be the owner of the token. @@ -930,15 +794,11 @@ The high-level requirements are as follows: Also, note that in order to avoid royalty circumvention attacks, there is only one NFT transfer function. -##### **[R49]** - -*Therefore, `transferFrom` and `safeTransferFrom` without `data` MUST be disabled.* +**[R49]** *Therefore, `transferFrom` and `safeTransferFrom` without `data` MUST be disabled.* This can be achieved through for example a `revert` statement in an `override` function. -##### **[R50]** - -*The requirements on input parameters of the function are as follows*: +**[R50]** *The requirements on input parameters of the function are as follows*: * *`from` MUST not be `address(0)`.* * *`from` MUST be the owner or `approved` for `tokenId` and the other tokens included in `_data`.* * *`from` MUST not be a smart contract unless whitelisted.* @@ -946,15 +806,11 @@ This can be achieved through for example a `revert` statement in an `override` f * *`_data` MUST NOT be NULL.* * *`_msgSender()` MUST be equal to `from` or an `approved` address, or a whitelisted contract.* -##### **[D2]** - -*Note, that in the context of this document only the scenario where the calling contract is still being created, i.e., the constructor being executed is a possible attack vector, and SHOULD to be carefully treated in the transfer scenario.* +**[D2]** *Note, that in the context of this document only the scenario where the calling contract is still being created, i.e., the constructor being executed is a possible attack vector, and SHOULD to be carefully treated in the transfer scenario.* Turning to the `_data` object. -##### **[R51]** - -*The `_data` object MUST minimally contain the following payment parameters:* +**[R51]** *The `_data` object MUST minimally contain the following payment parameters:* * *Seller Address as `address`.* * *Buyer Address as `address`.* * *Receiver Address as `address.* @@ -964,9 +820,7 @@ Turning to the `_data` object. * *a registered payment identifier.* * *blockchain ID, `block.chainid`, of the underlying blockchain.* -##### **[R52]** - -*The following business rules MUST be met for the payment data in '_data':* +**[R52]** *The following business rules MUST be met for the payment data in '_data':* * *`seller == from`.* * *`tokenId[0] == tokenId`.* * *Each token in `_tokenId` has an associated Royalty Account.* @@ -985,17 +839,11 @@ Turning to the `_data` object. ### Distributing Royalties in the Transfer Function -#### Rationale: Distributing Royalties in the Transfer Function - The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers, and then process one layer at time, where each relationship between a NFT and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and its associated Royalty Account. Note, that the distribution function assumes that the payment made is for ALL tokens in the requested transfer. That means, that `payment` for the distribution function is equally divided between all NFTs included in the payment. -#### Specification: Distributing Royalties in the Transfer Function - -##### **[R53]** - -*The `distributePayment` function interface MUST adhere to the definition below: +**[R53]** *The `distributePayment` function interface MUST adhere to the definition below: ``` /// @dev Function to distribute a payment as royalties to a chain of Royalty Accounts /// @param tokenId is a tokenId included in the sale and used to look up the associated Royalty Account @@ -1009,9 +857,7 @@ As mentioned before, the internal `distributePayment` function is called within Note, that it is necessary to multiply two `uint256` numbers with each other -- the payment amount with the royalty split percentage expressed as a whole number e.g. `10000 = 100%`. And then divide the result by the whole number representing `100%` in order to arrive at the correct application of the royalty split percentage to the payment amount. This requires careful treatment of numbers in the implementation to prevent issues such as buffer over or under runs. -##### **[R54]** - -*The processing logic of `distributePayment` function MUST be as follows:* +**[R54]** *The processing logic of `distributePayment` function MUST be as follows:* * *Load the Royalty Account (`RA`) and associated Royalty Sub Accounts using the passed `tokenId`.* * *For each Royalty Sub Account in `RA` apply the following rules:* * *If a Royalty Sub Account in `RA` has `isIndividual` set to `true` then* @@ -1028,23 +874,15 @@ Note, that it is necessary to multiply two `uint256` numbers with each other -- ### Update Royalty Sub Account Ownership with Payout to approved Address (`from`) -#### Rationale: Update Royalty Sub Account Ownership with Payout to approved Address (`from`) - In order to simplify the ownership transfer, first the approved address -- the non-contract NFT owner --, `from`, is paid out its share of the royalties. And then the Royalty Sub Account is updated with the new owner, `to`. This step repeats for each token to be transferred. -#### Specification: Update Royalty Sub Account Ownership with Payout to approved Address (`from`) - -##### **[R55]** - -*The business rules are as follows:* +**[R55]** *The business rules are as follows:* * *the internal version of the`royaltyPayOut` function MUST pay out the entire royalty balance of the Royalty Sub Account owned by the `from` address to the `from` address.* * *the Royalty Sub Account MUST only be updated with the new owner only once the payout function has successfully completed and the `royaltybalance = 0`.* The last step in the process chain is transferring the NFTs in the purchase to the `to` address. -##### **[R56]** - -*For every NFT (in the batch) the 'to' address MUST be `approved' (ERC721 function) to complete the ownership transfer:* +**[R56]** *For every NFT (in the batch) the 'to' address MUST be `approved' (ERC721 function) to complete the ownership transfer:* ``` _approve(to, tokenId[i]); @@ -1054,30 +892,18 @@ The technical NFT owner remains the NFT contract. ### Removing the Payment Entry in `registeredPayment` after successful Transfer -#### Rationale: Removing the Payment Entry in `registeredPayment` after successful Transfer - Only after the real ownership of the NFT, the approved address, has been updated, the payment registry entry can be removed to allow the transferred NFTs to be sold again. -#### Specification: Removing the Payment Entry in `registeredPayment` after successful Transfer - -##### **[R57]** - -*After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* +**[R57]** *After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* ``` -delete registeredPayment[_tokenId[[0]]; +delete registeredPayment[paymentId]; ``` ### Paying out Royalties to the `from` Address in `safeTransferFrom` Function -#### Rationale: Paying out Royalties to the `from` Address in `safeTransferFrom` Function - There are two versions of the payout function -- a `public` and an `internal` function -- depending on whether there is a payout during a purchase, or a payout is requested by a Royalty Sub Account owner. -#### Specification: Paying out Royalties to the `from` Address in `safeTransferFrom` Function - -##### **[R58]** - -*The public `royaltyPayOut` function interface MUST adhere to the definition below:* +**[R58]** *The public `royaltyPayOut` function interface MUST adhere to the definition below:* ``` /// @dev Function to payout a royalty payment /// @param tokenId is the identifier of the NFT token @@ -1091,9 +917,7 @@ The Boolean return value is `true` for a successful function execution, and `fal Note, that the function has `reentrancy` protection through `nonReentrant` from the Open Zeppelin library since funds are being paid out. -##### **[R59]** - -*The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* +**[R59]** *The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* * *`_msgSender() == RAsubaccount`.* * *`tokenId` must exist and MUST NOT be burned.* * *`tokenId` must be associated with a Royalty Account.* @@ -1101,21 +925,16 @@ Note, that the function has `reentrancy` protection through `nonReentrant` from * *`isIndividual == true` for the Royalty Sub Account, `RAsubaccount`.* * *`amount <= royaltybalance` of the Royalty Sub Account, `RAsubaccount.*` -##### **[R60]** - -*The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: +**[R60]** *The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: ``` function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual returns (bool) ``` -##### **[R61]** -*The internal `_royaltyPayOut` function MUST perform the following actions: +**[R61]** *The internal `_royaltyPayOut` function MUST perform the following actions: * *send the payment to the `payoutaccount`.* * *update the `royaltybalance` of the `RAsubaccount` of the Royalty Account upon successful transfer.* -##### **[R62]** - -*The following steps MUST be taken to send out a royalty payment to its recipient:* +**[R62]** *The following steps MUST be taken to send out a royalty payment to its recipient:* * *find the Royalty Sub Account.* * *extract `tokentype` from the Royalty Sub Account.* * *based on the token type send to the `payoutAccount` either* From 9739861aba69337785588e8c1ba916be94461cb5 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 15 Apr 2022 14:26:22 -0700 Subject: [PATCH 11/22] Minor function update to adding and removing a NFT listing --- EIPS/eip-4910.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 4d94b52fb39b3..1a070951788d5 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -656,17 +656,18 @@ In direct sales, authorized user addresses can list NFTs for sale, see the busin **[R28]** *The `listNFT` function interface MUST adhere to the definition below:* ``` /// @dev Function to list one or more NFTs for direct sales +/// @param seller is the owner of the NFTs in the listing /// @param tokenIds is the array of tokenIds to be included in the listing /// @param price is the price set by the owner for the listed NFT(s) /// @param tokenType is the payment token type allowed for the listing -function listNFT (uint256[] tokenIds, uint256 price, string tokenType) public virtual returns (bool) +function addListNFT (address seller, uint256[] calldata tokenIds, uint256 price, string calldata tokenType) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. **[R29]** *The business rules of the `listNFT` function are as follows:* - there MUST NOT already be a listing for one or more NFTs in the `listedNFT` mapping of the proposed listing. -- `_msgSender()` MUST be equal to `getApproved(tokenId[i])` for all NFTs in the proposed listing. +- `seller` MUST be equal to `getApproved(tokenId[i])` for all NFTs in the proposed listing. - `tokentype` MUST be supported by the smart contract. - `price` MUST be larger than `0`. @@ -679,7 +680,7 @@ Authorized user addresses can also remove a direct sale listing of NFTs. /// @dev Function to de-list one or more NFTs for direct sales /// @param listingId is the identifier of the NFT listing -function removeNFTListing (uint256 listingId) public virtual returns (bool) +function removeListNFT (uint256 listingId) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. From 496dbb619c90f0c9d5058c7859196cd0fc8d5205 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 15 Apr 2022 14:39:23 -0700 Subject: [PATCH 12/22] Updated the functions the wrong way --- EIPS/eip-4910.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 1a070951788d5..549e2c021211a 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -656,12 +656,11 @@ In direct sales, authorized user addresses can list NFTs for sale, see the busin **[R28]** *The `listNFT` function interface MUST adhere to the definition below:* ``` /// @dev Function to list one or more NFTs for direct sales -/// @param seller is the owner of the NFTs in the listing /// @param tokenIds is the array of tokenIds to be included in the listing /// @param price is the price set by the owner for the listed NFT(s) /// @param tokenType is the payment token type allowed for the listing -function addListNFT (address seller, uint256[] calldata tokenIds, uint256 price, string calldata tokenType) public virtual returns (bool) +function listNFT (uint256[] calldata tokenIds, uint256 price, string calldata tokenType) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. @@ -680,7 +679,7 @@ Authorized user addresses can also remove a direct sale listing of NFTs. /// @dev Function to de-list one or more NFTs for direct sales /// @param listingId is the identifier of the NFT listing -function removeListNFT (uint256 listingId) public virtual returns (bool) +function removeNFTListing (uint256 listingId) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. From 872acfe0a2e2450d1a375413d09603bf8bd1c8de Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 22 Apr 2022 11:02:32 -0700 Subject: [PATCH 13/22] Addressing Editor comment 4/22/2022 - Fixing overlooked heading corrections per comment by @SamWilsn - Minor editing in the outline section to remove some headings to simplify the flow --- EIPS/eip-4910.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 549e2c021211a..2b525173926ea 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -40,7 +40,7 @@ The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL ### Outline -This proposal introduces several new concepts as extensions to the ERC721 standard: +This proposal introduces several new concepts as extensions to the ERC721 standard that warrant explanation: * **Royalty Account (RA)** * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. * **Account Type** @@ -58,6 +58,8 @@ This proposal introduces several new concepts as extensions to the ERC721 standa * **Parent** * This indicates which `tokenId` is the immediate parent of the `tokenId` to which an RA belongs. +Below a non-normative overview is given of the data structures and functionality that are covered by the requirements in this document. + #### Data Structures In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: @@ -105,9 +107,7 @@ The proposal defines: * Transferring Ownership of the NFT * Removing the Payment entry in `registeredPayment` after successful transfer -##### Distributing Royalties - -The approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and associated RA is reached. +Lastly, the approach to distributing royalties is to break down the hierarchical structure of interconnected Royalty Accounts into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the Royalty Account chain until the root ancestor and associated RA is reached. #### Paying out Royalties to the NFT Owner -- `from` address in `safeTransferFrom` Function @@ -119,26 +119,21 @@ The public function has the following interface: ``` function royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual nonReentrant returns (bool) ``` - where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has `nonReentrant` modifier protection, because funds are being payed out. -#### Sending a Payout Payment - -The following steps need to be taken: +To finally send a Payout payment, the following steps need to be taken: * find the RA Sub Account based on `RAaccount` and the `subaccountPos` and extract the balance * extract `tokentype` from the Sub Account * based on the token type, send the payout payment (not exceeding the available balance) ### Data Structures -#### Rationale: Royalty Account and Royalty Sub Accounts +#### Royalty Account and Royalty Sub Accounts In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC721. Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linked to a meta account. This meta account is comprised of general account identifiers particular to the NFT it is linked to such as asset identifier, parent identifier etc. -#### Specification: Royalty Account and Royalty Sub Accounts - **[R1]** *There MUST be a struct for a Royalty Account as minimally defined below.* ``` /// @@ -493,7 +488,6 @@ For example, `bytes4(keccak256("updateMaxGenerations(uint256)")`. Below are the definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Since a Royalty Account is created in the NFT minting function, there is no need to have a separate function to create a royalty account. - #### Get a Royalty Account There is only one get function required because a Royalty Account and its sub accounts can be retrieved through the `tokenId` in the `ancestry` field of the Royalty Account. From 2c7355f1b9b45b685fcd2dd02ce8de2edc26c119 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Fri, 13 May 2022 07:08:43 -0700 Subject: [PATCH 14/22] Update EIPS/eip-4910.md Co-authored-by: Pandapip1 <45835846+Pandapip1@users.noreply.github.com> --- EIPS/eip-4910.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 2b525173926ea..d7b46b972b3f3 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -970,4 +970,4 @@ Given that this EIP introduces royalty collection, distribution, and payouts to Besides the usage of professional security analysis tools, it is also recommended that each implementation performs a security audit of its implementation. ## Copyright -Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). +Copyright and related rights waived via [CC0](../LICENSE.md). From 76f8fbba3e5c13a94392db8e9c23d5957c2aaae1 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 20 May 2022 17:43:49 -0700 Subject: [PATCH 15/22] Update based on discussion with @SamWilsn on 5/17 - removed specific data structure structs and just generally talked about what things are required to be held in the smart contract - consequently removed 3 requirements - removed all optional [O] and conditional [CR] requirements - removed all but 1 should [D] requirements Decision of the call was also not to split the EIP into several EIPs since that does not reduce overall complexity, and makes creating reference implementations more difficult, hurting adoption. Net effect is to noticeably reduce the size of the specification. --- EIPS/eip-4910.md | 590 +++++++++++------------------------------------ 1 file changed, 139 insertions(+), 451 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 2b525173926ea..c89280d3c607e 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -40,7 +40,7 @@ The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL ### Outline -This proposal introduces several new concepts as extensions to the ERC721 standard that warrant explanation: +This proposal introduces several new concepts as extensions to the ERC-721 standard that warrant explanation: * **Royalty Account (RA)** * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. * **Account Type** @@ -62,16 +62,14 @@ Below a non-normative overview is given of the data structures and functionality #### Data Structures -In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: +In order to create an interconnected data structure linking NFTs to RAs certain global data structures are required: -* Adding structs for a Royalty Account and associated Royalty Sub Accounts to establish the concept of a Royalty Account with sub accounts. -* Defining an `raAccountId` as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber` -* Mapping a `tokenId` to an `raAccountID` in order to connect an RA `raAccountId` to a `tokenId` -* Mapping the `raAccountID` to a `RoyaltyAccount` in order to connect the account identifier to the actual account. -* An `ancestry` mapping of the parent-to-child NFT relationship -* A mapping of supported token types to their origin contracts and last validated balance (for trading and royalty payment purposes) -* A mapping with a struct for a registered payment to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the mapping. -* A mapping for listing NFTs to be sold +* A Royalty Account and associated Royalty Sub Accounts to establish the concept of a Royalty Account with sub accounts. +* Connecting a `tokenId` to a Royalty Account identifier. +* A structure mapping parent-to-child NFT relationships. +* A listing of token types and last validated balance (for trading and royalty payment purposes) +* A listing of registered payments to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the listing. +* A listing of NFTs to be sold #### Royalty Account Functions @@ -91,9 +89,9 @@ To avoid royalty circumvention, a buyer will always pay the NFT contract directl The payment process depends on whether the payment is received in ETH or an ERC 20 token: * ERC-20 Token - 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC20 contract address). - 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. -* For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. + 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC-20 contract address). + 2. For an ERC-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC-20 is not directly involved. +* For a non-ERC-20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. #### Modified NFT Transfer Function including required Trade data to allocate Royalties @@ -123,367 +121,78 @@ where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` wh To finally send a Payout payment, the following steps need to be taken: * find the RA Sub Account based on `RAaccount` and the `subaccountPos` and extract the balance -* extract `tokentype` from the Sub Account +* extract `tokenType` from the Sub Account * based on the token type, send the payout payment (not exceeding the available balance) ### Data Structures #### Royalty Account and Royalty Sub Accounts -In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC721. +In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC-721. Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linked to a meta account. This meta account is comprised of general account identifiers particular to the NFT it is linked to such as asset identifier, parent identifier etc. -**[R1]** *There MUST be a struct for a Royalty Account as minimally defined below.* -``` -/// -/// @dev Definition of the struct for a Royalty Account. -/// -/// @param assetId is the tokenId of the NFT to which the RA belongs -/// @param parent is the tokenId of the NFT from which the NFT to which this RA belongs, is derived -/// @param royaltysplitForItsChildren is the royalty percentage to be paid to the RA belonging to the parent NFT from its immediate descendants -/// @param tokentype of the royalty balance in this Royalty Account -/// @param balance is the total RA account balance and must be equal to the sum of the subaccount balances -/// @param the struct array for the Royalty Sub-Accounts - -struct RoyaltyAccount { - uint256 assetId; - uint256 parent; - uint256 royaltySplitForItsChildren; - string tokentype; - uint256 balance; - RASubAccount[] rasubaccount; -} -``` - -**[R2]** *There MUST be a struct for a Royalty Sub-Account linked to a Royalty Account, the minimal set of which is defined below.* -``` -/// -/// @dev Definition of the struct for a Royalty Sub0Account. -/// -/// @param isIndividual is the account type identifier, and is a boolean variable, and if set to true, the Royalty Account is that of an individual, if set to false, the Royalty Account is the Royalty Account of the parent NFT -/// @param royaltysplit gives the royalty percentage for the Royalty Sub-Account as a decimal value smaller than 1 once converted from a uint256 integer -/// @param royaltybalance is the royalty balance of the Royalty Sub-Account -/// @param accountid is the address of the owner of the Royalty Sub-Account. If isIndividual is set to true, the address is the address of the owner, and if isIndividual is set to false, the address is defined by the `raAccountId` of the Royalty Account of the parent NFT +**[R1]** *One or more Royalty Sub-Account MUST be linked to a Royalty Account.* -struct RASubAccount { - bool isIndividual; - uint256 royaltysplit; - uint256 royaltybalance; - address accountId; -} -``` +**[R2]** *The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* -**[R3]** *The account identifier of a Royalty Account, `raAccountId`, MUST be unique.* +**[R3]** *The `tokenId` of a NFT MUST be linked to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* -**[O1]** *The `raAccountId` MAY be defined as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber`.* -``` -address memory raAccountId = address(bytes20(keccak256(tokenId,owner,block.blocknumber)); -``` - -**[R4]** *The `tokenId` of a NFT MUST be mapped to a `raAccountID` in order to connect an `raAccountId` to a `tokenId`.* -``` -mapping (uint256 => address) private _tokenindextoRA; -``` - -**[R5]** *`raAccountID` MUST be mapped to a `RoyaltyAccount` in order to connect the Royalty Account identifier to the Royalty Account.* -``` -mapping (address => RoyaltyAccount) private _royaltyaccount; -``` #### Print (Child) NFTs -The set of requirement to manage Parent-Child NFT Relationships and constraints at each level of the NFT (family) tree e.g. number of children permitted, NFT parents have to be mapped to their immediate NFT children are as follows. - -**[R6]** *There MUST be a struct that encodes the necessary data for direct parent-child relationships the minimal set of which is defined below.* -``` -/// -/// @dev Definition of the struct that allows for direct parent-child relationships. -/// -/// @param maxchildren represents the maximum number of children a parent NFT can have. -/// @param ancestrylevel represents the level of ancestry of the child NFTs in a generation from the genesis NFT -/// @param children is the array of children tokenIds of an NFT parent -struct Child { - uint256 maxchildren; - uint256 ancestryLevel; - uint256[] children; -} -``` - -**[R7]** *There MUST be an `ancestry` mapping of the parent-to-child NFT relationship.* -``` -mapping (uint256 => Child) private ancestry -``` - -**[O2]** *The `maxchildren` variable MAY be updatable.* - +The set of requirement to manage Parent-Child NFT Relationships and constraints at each level of the NFT (family) tree e.g. number of children permitted, NFT parents have to be linked to their immediate NFT children are as follows. -**[O3]** *There MAY be a global, updatable limit for the number of NFT children an NFT parent may have.* +**[R4]** *There MUST be a link for direct parent-child relationships* -The update of a global value of the maximum number of NFT children an NFT parent can have, may be implemented for example through a function as given below: -``` -/// -/// @dev Function to update the global number of maxchildren a parent can have -/// -/// @param _tokenId is the tokenId of the parent -/// @param _newMaxChildren is the new, global maximum number of child NFTs a parent NFT can have -/// @dev the function returns true if success -function updateMaxChildren(uint 256 _tokenId, uint256 _newMaxChildren) public virtual returns (bool) { - - // @dev ensure that msg.sender has the role minter - require(hasRole(MINTER_ROLE, _msgSender()) || address(this), "Caller must have minter role or be NFT contract to update Max Number of Children"); - - uint256 memory activechildren = ancestry[_tokenId].children.length; - - // @dev the new maximum number of must be larger than the current number of NFT children - require(_newMaxChildren > activechildren, "New Max. number of children lower than current active children"); - - ancestry[_tokenId].maxchildren = _newMaxChildren; - - return true; -}; -``` #### NFT Payment Tokens In order to capture royalties, an NFT contract must be involved in NFT trading. Therefore, the NFT contract needs to be aware of NFT payments, which in turn requires the NFT contract to be aware which tokens can be used for trading. -This document first defines the required data structures to track trading and payments. - - -**[R8]** *There MUST be a mapping of supported token types to the addresses of the corresponding token contracts.* - -``` -mapping (string => address) private allowedToken -``` +**[R5]** *There MUST be a listing of supported token types* Since the NFT contract is managing royalty distributions and payouts as well as sales, it needs to track the last available balances of the allowed token types owned by the contract. -**[R9]** *There MUST be a mapping of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* -``` -mapping (address => uint256) private lastBalanceAllowedToken -``` +**[R6]** *There MUST be a link of the last validated balance of an allowed token type in the contract to the respective allowed token contract.* #### NFT Listings and Payments Since the contract is directly involved in the sales process, a capability to list one or more NFTs for sale is required. -**[R10]** *There MUST be a struct that encodes the required data of a sales listing, the minimal set of which is defined below.* +**[R7]** *There MUST be a list of NFTs for sale.* -``` -/// -/// @dev Definition of the struct for a listing one or more NFTs for sale. -/// -/// @param seller is the address of the NFT seller. -/// @param listedtokens is the array of tokenIds listed for sales -/// @param tokentype is the allowed payment token type for the listing -/// @param price is the price for the entirety of the listing - -struct ListedNFT { - address seller; - uint256[] listedtokens; - string tokenType; - uint256 price; -} -``` - -**[R11]** *In order to identify a listing, there MUST be a mapping of the `ListedNFT` struct to a listing identifier.* - -Such an identifier for example could be the tokenId of the first token in the listing as defined below -``` -mapping (uint256 => ListedNFT) private listedNFT -``` +**[R8]** *A sales listing MUST have a unique identifier.* Besides listings, the contract is required to manage sales as well. This requires the capability to register a payment, either for immediate execution or for later payment such as in an auction situation. -**[R12]** *There MUST be a struct that allows to encode the necessary data for a payment registration to be used by the contract in managing sales and royalties, the minimal set of which is defined below.* +**[R9]** *There MUST be a listing for registered payments* -``` -/// -/// @dev Definition of the struct for a payment registration. -/// -/// @param buyer is the address of the prospective buyer -/// @param boughtTokens is the tokens from a listing to be bought -/// @param tokentype is the token type the payment is made in -/// @param payment is the amount of the payment - -struct RegisteredPayment { - address buyer; - uint256[] boughtTokens; - string tokenType; - uint256 payment; -} -``` - -**[R13]** *In order to be able to identify a registered payment, there MUST be a mapping between the registered payment struct and an identifier.* -``` -mapping (uint256 => RegisteredPayment) private registeredPayment -``` -Note that the identifier in the mapping can for example be the first token to be sold. This is sufficient because a payment once received and distributed will be removed from the mapping. +**[R10]** *A registered payment MUST have a unique identifier.* #### Contract Constructor and Global Variables and their update functions -This standard extends the current ERC721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. +This standard extends the current ERC-721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. -**[R14]** *The minimal contract constructor MUST conform to the structure given below.* +**[R11]** *The minimal contract constructor MUST contain the following input elements.* ``` /// /// @dev Definition of the contract constructor /// -/// @param name as in ERC721 -/// @param symbol as in ERC721 -/// @param baseTokenURI as in ERC721 +/// @param name as in ERC-721 +/// @param symbol as in ERC-721 +/// @param baseTokenURI as in ERC-721 /// @param allowedTokenTypes is the array of allowed tokens for payment -/// @param allowedTokenAddresses is the array of the contract addresses of the allowed tokens for payment constructor( string memory name, string memory symbol, string memory baseTokenURI, - string[] memory allowedTokenTypes, - address[] memory allowedTokenAddresses, - ) ERC721(name, symbol) { - _baseTokenURI = baseTokenURI; - /// @dev _msgSender() should be the default administrator - _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); - /// @dev _msgSender requires the minter role such that an address can mint. This may be the same as the creator address - _setupRole(MINTER_ROLE, _msgSender()); - - /// @dev the length of the initiating token arrays must be the same - require(allowedTokenTypes.length == allowedTokenAddresses.length, 'Numbers of allowed tokens'); - - /// @dev add the token types and and their addresses to the mappings - for (uint256 i = 0; i < allowedTokenTypes.length; i++) { - addAllowedTokenType(allowedTokenTypes[i], allowedTokenAddresses[i]); - } - - /// @dev To comply with the NFT tree logic, tokenId must start from 1 not 0 - _tokenIdTracker.increment(); - } -``` - -Note, that his document is using the nomenclature of `_msgSender()` to align with the Open Zeppelin implementation of the ERC2771 standard in place of `msg.sender`. However, it is not required to use `_msgSender()` in an implementation. - -**[O4]** *Role definitions MAY be defined as global variables the following way* + address[] memory allowedTokenTypes + ) ERC-721(name, symbol) {...} ``` -bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); -bytes32 public constant DEFAULT_ADMIN_ROLE = keccak256("DEFAULT_ADMIN_ROLE"); -bytes32 public constant CREATOR_Role = keccak256("CREATOR_ROLE"); -``` - -**[O5]** *The contract constructor MAY contain the following, additional global parameters:* -``` -address creatorAddress, -uint256 numGenerations -uint256 private _maxSubAccount; -uint256 private _minRoyaltySplit; -``` -This can give the creator of an NFT a special role within the access control structure of the contract, and, limits the maximum number of generations, maximum number of Royalty Sub Accounts, and minimal amount of the royalty percentage splits between Royalty Sub Accounts to both ensure that out-of-gas errors are minimized and that certain attack royalty distribution attack vectors are mitigated (see [Security Considerations](#Security-Considerations) for details). -**[O6]** *The contract constructor MAY assign `_msgSender()` and the creator address special roles such as pausing transfers:* -``` -_setupRole(PAUSER_ROLE, _msgSender()); -_setupRole(CREATOR_ROLE, creatorAddress); -``` - -Note, to limit attack vectors, implementations may consider enforcing additional security rules such as that `_msgSender()` should not be a contract, or that `creatorAddress` should also not be a contract. - - -**[O7]** *The `_numGenerations` global variable MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* - -An example of such an update function is given below: -``` -/// @dev Function to update the maximum number of allowed NFT generations -/// @param newMaxNumber is the new maximum of generations -function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool) { - /// @dev ensure that msg.sender has the role creator - /// @dev the address(this) condition allows for a delegation function to call this function - require(hasRole(CREATOR_ROLE, _msgSender()) || _msgSender() == address(this), "Caller must have creator role or be NFT Contract to update Max Number of Generations"); - - _numGenerations = newMaxNumber; - - return true; -}; -``` - -**[O8]** *The `_maxrsubaccounts` and `_minroyaltysplit` global variables MAY be updatable but only by addresses with the `CREATOR_ROLE` or through a delegated authority function.* - -An example of such an update function for the two global variables above to which access is given only by the owning / managing contract that manages all access is given below: -``` -/// @dev Function to update _maxrsubaccounts and _minroyaltysplit global variables -/// @param maxrSubAccounts sets the number of maximum Royalty Sub Accounts -/// @param minRoyaltySplit sets the minimum percentage allowed for a royalty split -function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual onlyOwner returns (bool) { - - /// @dev ensure that msg.sender has the role creator - /// @dev the address(this) condition allows for a delegation function to call this function - require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); - - /// @dev validates that a royalty split edge case is not violated - require(_royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); - - _maxSubAccount = maxSubAccounts; - _minRoyaltySplit = minRoyaltySplit; - - return true; - } -``` - -**[O9]** *Furthermore, the creator of the original NFT MAY delegate authority to special functions such as altering the maximum number of generations and maximum number of children in a generation to a 3rd party using a `delegateAuthorty` function.* - -An example of such a function is given below: -``` -/// @dev Function to delegate authority from CREATOR_ROLE to execute a function to a delegate -/// @param functionSig is the signature of the function to which access is delegated -/// @param _functionData is the calldata for the delegated function call -/// @param documentHash is the delegation message signed by the creator -/// @param sigV and sigR are the signature prefixes -/// @param sigS is the array for the digital signature - -function delegateAuthority (bytes4 functionSig, bytes calldata _functionData, bytes32 documentHash, uint8[] memory sigV, bytes32[] memory sigR, bytes32[] memory sigS) public virtual returns (bool) { - - /// @dev ensure that the function signature is registered - require(functionSig[functionSig],"Not a valid function to call"); - - bytes memory prefix = "\x19Ethereum Signed Message:\n32"; - bytes32 prefixedProof = keccak256(abi.encodePacked(prefix, documentHash)); - address recovered = ecrecover(prefixedProof, sigV[0], sigR[0], sigS[0]); - - /// @dev ensure that the signature is from the creator - require(hasRole(CREATOR_ROLE,recovered),"Signature was not from creator"); - - /// @dev contract calls itself with the delegated function call - (bool success, ) = address(this).call(_functionData); - - require(success, returns false); - - returns true; - -} -``` - -**[O10]** *Note that the `functionSig` mapping MAY be defined as:* -``` -mapping (bytes4 => bool) public functionSig; -``` - -**[O11]** *The function to populate the `functionSig` mapping MAY be defined as follows:* -``` -/// @dev Function sets the function signature of functions that can be delegated -/// @param functionSig is the signature of the function for which delegation should be allowed -function setFunctionSignature (bytes4 functionSig) public virtual returns (bool) { - require(hasRole(CREATOR_ROLE,_msgSender()) || hasRole(CREATOR_ROLE,_msgSender()), "msg.Sender is neither Admin nor Creator"); - functionSig[functionSig] = true; - returns true; -} -``` - -**[CR1]** *Note that `_functionSig` MUST be calculated as follows: -`bytes4(keccak256("functionname(types of input variables that are comma separated)")`.* - -For example, `bytes4(keccak256("updateMaxGenerations(uint256)")`. - ### Royalty Account Management Below are the definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Since a Royalty Account is created in the NFT minting function, there is no need to have a separate function to create a royalty account. @@ -492,10 +201,12 @@ Below are the definitions and interfaces for the Royalty Account RUD (Read-Updat There is only one get function required because a Royalty Account and its sub accounts can be retrieved through the `tokenId` in the `ancestry` field of the Royalty Account. -**[R15]** *The `getRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R12]** *The `getRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to fetch a Royalty Account for a given tokenId /// @param tokenId is the identifier of the NFT to which a Royalty Account is attached +/// @param RoyaltyAccount is a data structure containing the royalty account information +/// @param RASubAccount[] is an array of data structures containing the information of the royalty sub accounts associated with the royalty account function getRoyaltyAccount (uint256 tokenId) public view virtual returns (address, RoyaltyAccount memory, @@ -503,17 +214,15 @@ function getRoyaltyAccount (uint256 tokenId) public view virtual returns (addres ``` -**[R16]** *The following business rules MUST be enforced in the `getRoyaltyAccount` function:* +**[R13]** *The following business rules MUST be enforced in the `getRoyaltyAccount` function:* * *`tokenId` exists and is not burned* -* *`address memory accountId = _tokenindextoRA[_tokenId];` retrieves the royalty account identifier from the mapping.* -* *`RoyaltyAccount memory account = _royaltyaccount[accountId];` retrieves the royalty account struct from the mapping.* #### Update a Royalty Account In order to update a Royalty Account, the caller must have both the 'tokenId' and the `RoyaltyAccount` itself which can be obtained from the Royalty Account getter function. -**[R17]** *The `updateRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R14]** *The `updateRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to update a Royalty Account and its Sub Accounts /// @param tokenId is the identifier of the NFT to which the Royalty Account to be updated is attached @@ -524,36 +233,34 @@ function updateRoyaltyAccount (uint256 _tokenId, `RoyaltyAccount memory _raAccou The update functionality of a Royalty Account, while straightforward, is also highly nuanced. To avoid complicated change control rules such as multi-signature rules, Royalty Account changes are kept simple. -Note that in the rules below, `_msgSender()` is to be read as `msg.sender` or an address approved by the `owner`; meaning that `getApproved (assetID) = _msgSender()`. - -**[R18]** *The business rules for the update function are as follows:* -1. *The `assetId` data property MUST NOT be changed.* -2. *The `ancestor` data property MUST NOT be updated.* -3. *The `tokentype` data property MUST NOT be updated.* -4. *The `royaltyBalance` data property in a Royalty Sub Account MUST NOT be changed.* -5. *The `royaltySplitFromOffspring` data property MUST NOT be changed.* -6. *The new `royaltySplit` values MUST be larger than or equal to the `_minRoyaltySplit` global variable.* -7. *The number of existing Royalty Sub Account plus the number of new Royalty Sub Accounts to be added MUST be smaller or equal to the `_maxSubAccount` global variable.* -8. *The sum of all `royaltySplit` data properties across all existing and new Royalty Sub Accounts MUST equal to 1 or its equivalent numerical value at all times.* -9. *`_msgSender()` MUST be equal to an `accountId` in the Royalty Sub Account of the Royalty Account to be modified with `isIndividual` set to `true`* +**[R15]** *The business rules for the update function are as follows:* +1. *An NFTs asset identifier MUST NOT be changed.* +2. *An NFTs ancestor MUST NOT be updated.* +3. *An NFTs token type accepted for payment MUST NOT be updated.* +4. *The royalty balance in a Royalty Sub Account MUST NOT be changed.* +5. *The royalty split inherited by the children from the NFT parent MUST NOT be changed.* +6. *New royalty split values MUST be larger than, or less than, or equal to any established boundary value for royalty splits, if it exists.* +7. *The number of existing Royalty Sub Account plus the number of new Royalty Sub Accounts to be added MUST be smaller or equal to an established boundary value, if it exists.* +8. *The sum of all royalty splits across all existing and new Royalty Sub Accounts MUST equal to 1 or its equivalent numerical value at all times.* +9. *'msg.sender` MUST be equal to an account identifier in the Royalty Sub Account of the Royalty Account to be modified and that royalty sub account must be identified as not belonging to the parent NFT* - 9.1 *the Sub Account belonging to `accountId` MUST NOT be removed* + 9.1 *the Sub Account belonging to the account identifier MUST NOT be removed* - 9.2 *`royaltySplit` MUST only be decreased, and either the existing Sub Account `royaltySplit` data properties MUST be increased accordingly such that the sum of all `royaltySplit` data properties remains equal to 1 or its numerical equivalent, or one or more new Royalty Sub Accounts MUST be added according to rule 12 below.* + 9.2 * A royalty split MUST only be decreased, and either the existing sub account's royalty split MUST be increased accordingly such that the sum of all royalty splits remains equal to 1 or its numerical equivalent, or one or more new Royalty Sub Accounts MUST be added according to rule 10.* - 9.3 *`balance` MUST NOT be changed* + 9.3 * a royalty balance MUST NOT be changed* - 9.4 *`accountID` MUST NOT be NULL* + 9.4 * an account identifier MUST NOT be NULL* -10. *If `_msgSender()` is equal to the `accountId` of one of the Sub Account owners with `isIndividual` set to `true`, additional Royalty Sub Accounts MAY be added* +10. *If `msg.sender` is equal to the account identifier of one of the Sub Account owners which is not the parent NFT, an additional Royalty Sub Accounts MAY be added* - 10.1 *if the `royaltySplit` of the Royalty Sub Account belonging to `_msgSender()` is reduced* + 10.1 *if the royalty split of the Royalty Sub Account belonging to `msg.sender` is reduced* - 10.1.1 *then the `balance` in each new Royalty Sub Account MUST be zero* + 10.1.1 *then the royalty balance in each new Royalty Sub Account MUST be zero* - 10.1.2 *the sum of the new`royaltySplit` data properties MUST be equal to the `royaltySplit` of the Royalty Sub Account of `_msgSender()` before it was modified* + 10.1.2 *the sum of the new royalty splits data MUST be equal to the royalty split of the Royalty Sub Account of `msg.sender` before it was modified* - 10.2 *new `accountId` data properties MUST not be NULL* + 10.2 *new account identifier MUST not be NULL* 11. *If the Royalty Account update is correct, the function returns `true`, otherwise `false`.* @@ -561,8 +268,7 @@ Note that in the rules below, `_msgSender()` is to be read as `msg.sender` or an While sometimes deleting a Royalty Account is necessary, even convenient, it is a very costly function in terms of gas, and should not be used unless one is absolutely sure that the conditions enumerated below are met. - -**[R19]** *The `deleteRoyaltyAccount` function interface MUST adhere to the definition below:* +**[R16]** *The `deleteRoyaltyAccount` function interface MUST adhere to the definition below:* ``` /// @dev Function to delete a Royalty Account /// @param tokenId is the identifier of the NFT to which the Royalty Account to be updated is attached @@ -570,68 +276,57 @@ While sometimes deleting a Royalty Account is necessary, even convenient, it is function deleteRoyaltyAccount (uint256 _tokenId) public virtual returns (bool) ``` -**[R20]** *The business rules for this function are as follows:* +**[R17]** *The business rules for this function are as follows:* * *`_tokenId` MUST be burned, i.e., have owner `address(0)`.* * *all `tokenId` numbers genealogically related to `_tokenId` either as ancestors or offspring MUST also be burnt.* * *all balances in the Royalty Sub Accounts MUST be zero.* ### NFT Minting -In extension to the ERC721 minting capability, a Royalty Account with Royalty Sub Accounts are required to be added during the minting, besides establishing the NFT token specific data structures supporting constraints such as the maximum number of children an NFT can have. +In extension to the ERC-721 minting capability, a Royalty Account with Royalty Sub Accounts are required to be added during the minting, besides establishing the NFT token specific data structures supporting constraints such as the maximum number of children an NFT can have. -**[R21]** *When a new NFT is minted a Royalty Account with one or more Royalty Sub Accounts MUST be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's Royalty Account.* +**[R18]** *When a new NFT is minted a Royalty Account with one or more Royalty Sub Accounts MUST be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's Royalty Account.* -To this end the specification utilizes the ERC721 `_safemint` function in a newly defined `mint` function, and applies various business rules on the function's input variables. +To this end the specification utilizes the ERC-721 `_safemint` function in a newly defined `mint` function, and applies various business rules on the function's input variables. **[D1]** *Note, that the `mint` function SHOULD have the ability to mint more than one NFT at a time.* -**[R22]** *Also, note that the `owner` of a new NFT MUST be the NFT contract itself.* +**[R19]** *Also, note that the `owner` of a new NFT MUST be the NFT contract itself.* -**[R23]** *The non-contract owner of the NFT MUST be set as `isApproved` which allows the non-contract owner to operate just like the `owner`.* +**[R20]** *The non-contract owner of the NFT MUST be set as `isApproved` which allows the non-contract owner to operate just like the `owner`.* This strange choice in the two requirements above is necessary, because the NFT contract functions as an escrow for payments and royalties, and, hence, needs to be able to track payments received from buyers and royalties due to recipients, and to associate them with a valid `tokenId`. - -**[R24]** *For compactness of the input, and since the token meta data might vary from token to token the following minimal data structure in the `mint` function MUST be adhered to:* +**[R21]** *For compactness of the input, and since the token meta data might vary from token to token the MUST be a minimal data structure containing:* ``` -/// -/// @dev Defines the data structure required to mint one or more tokens ans associate them with one or more Royalty Accounts -/// /// @param parent is the parent tokenId of the (child) token, and if set to 0 then there is no parent. /// @param canBeParent indicates if a tokenId can have children or not. /// @param maxChildren defines how many children an NFT can have. /// @param royaltySplitForItsChildren is the royalty percentage split that a child has to pay to its parent. /// @param uri is the unique token URI of the NFT -struct NFTToken { - uint256 parent; - bool canBeParent; - uint256 maxchildren; - uint256 royaltySplitForItsChildren; - string uri; -} ``` -**[R25]** *The `mint` function interface MUST adhere to the definition below:* +**[R22]** *The `mint` function interface MUST adhere to the definition below:* ``` -/// @dev Function creates one or more new NFTs with its relevant meta data necessary for royalties, and a Royalty Account with its associated met data for `to` address. The tokenId(s) will be automatically assigned (and available on the emitted {IERC721-Transfer} event). +/// @dev Function creates one or more new NFTs with its relevant meta data necessary for royalties, and a Royalty Account with its associated met data for `to` address. The tokenId(s) will be automatically assigned (and available on the emitted {IERC-721-Transfer} event). /// @param to is the address to which the NFT(s) are minted /// @param nfttoken is an array of struct type NFTToken for the meta data of the minted NFT(s) -/// @param tokentype is the type of allowed payment token for the NFT +/// @param tokenType is the type of allowed payment token for the NFT -function mint(address to, NFTToken[] memory nfttoken, string tokentype) public virtual +function mint(address to, NFTToken[] memory nfttoken, address tokenType) public virtual ``` -**[R26]** *The following business rules for the `mint` function's input data MUST be fulfilled:* +**[R23]** *The following business rules for the `mint` function's input data MUST be fulfilled:* - *The number of tokens to be minted MUST NOT be zero.* -- *`_msgSender()` MUST have either the `MINTER_ROLE` or the `CREATOR_Role`.* +- *`msg.sender` MUST have either the `MINTER_ROLE` or the `CREATOR_Role` identifying the creator of the first NFT.* - *`to` address MUST NOT be the zero address.* - *`to` address MUST NOT be a contract, unless it has been whitelisted -- see [Security Considerations](#Security-Considerations) for more details.* - *`tokenType` MUST be a token type supported by the contract.* - *`royaltySplitForItsChildren` MUST be less or equal to 100% or numerical equivalent thereof less any constraints such as platform fees* - *If the new NFT(s) cannot have children, `royaltySplitForItsChildren` MUST be zero.* - *If the new NFT(s) has a parent, the parent NFT `tokenId` MUST exist.* -- *The `ancestryLevel` of the parent MUST be less than the maximum number of allowed generations.* -- *The number of allowed children for an NFT to be minted MUST be less than the maximum number of allowed children.* +- *The ancestry level of the parent MUST be less than the maximum number of allowed NFT generations, if specified.* +- *The number of allowed children for an NFT to be minted MUST be less than the maximum number of allowed children, if specified.* ### Listing and De-Listing of NFTs for Direct Sales @@ -641,34 +336,34 @@ In the sales process, we need to minimally distinguish two types of transactions The first type of transaction does not require that the smart contract is aware of a sales listing since the exchange contract will trigger payment and transfer transactions directly with the NFT contract as the owner. However, for the latter transaction type it is essential, since direct sales are required to be mediated at every step by the smart contract. -**[R27]** *For direct sales, NFT listing, und de-listing, transactions MUST be executed through the NFT smart contract.* +**[R24]** *For direct sales, NFT listing, und de-listing, transactions MUST be executed through the NFT smart contract.* Exchange-mediated sales will be discussed when this document discusses payments. In direct sales, authorized user addresses can list NFTs for sale, see the business rules below. -**[R28]** *The `listNFT` function interface MUST adhere to the definition below:* +**[R25]** *The `listNFT` function interface MUST adhere to the definition below:* ``` /// @dev Function to list one or more NFTs for direct sales /// @param tokenIds is the array of tokenIds to be included in the listing /// @param price is the price set by the owner for the listed NFT(s) /// @param tokenType is the payment token type allowed for the listing -function listNFT (uint256[] calldata tokenIds, uint256 price, string calldata tokenType) public virtual returns (bool) +function listNFT (uint256[] calldata tokenIds, uint256 price, address tokenType) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -**[R29]** *The business rules of the `listNFT` function are as follows:* +**[R26]** *The business rules of the `listNFT` function are as follows:* - there MUST NOT already be a listing for one or more NFTs in the `listedNFT` mapping of the proposed listing. - `seller` MUST be equal to `getApproved(tokenId[i])` for all NFTs in the proposed listing. -- `tokentype` MUST be supported by the smart contract. +- `tokenType` MUST be supported by the smart contract. - `price` MUST be larger than `0`. -**[R30]** *If the conditions in [**[R29]**](#r29) are met, then the `listedNFT` mapping MUST be updated.* +**[R27]** *If the conditions in [**[R26]**](#r26) are met, then the NFT sales list MUST be updated.* Authorized user addresses can also remove a direct sale listing of NFTs. -**[R31]** *The `removeNFTListing` function interface MUST adhere to the definition below:* +**[R28]** *The `removeNFTListing` function interface MUST adhere to the definition below:* ``` /// @dev Function to de-list one or more NFTs for direct sales /// @param listingId is the identifier of the NFT listing @@ -677,24 +372,24 @@ function removeNFTListing (uint256 listingId) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -**[R32]** *The business rules of the `removeNFTListing` function below MUST be adhered to:* -- *`registeredPayment[listingId]` entry must be NULL* -- *`_msgSender() = getApproved(tokenId)` for the NFT listing* +**[R29]** *The business rules of the `removeNFTListing` function below MUST be adhered to:* +- * the registered payment entry MUST be NULL* +- *`msg.sender = getApproved(tokenId)` for the NFT listing* -**[R33]** *If the conditions in [**[R32]**](#r32) are met, then the mapping for the listing MUST be removed.* +**[R30]** *If the conditions in [**[R29]**](#r29) are met, then the NFT sales listing MUST be removed.* ### Payments for NFT Sales As noted before, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout to their wallet. -**[R34]** *The payment process requires either one or two steps:* -1. *For an ERC20 token* +**[R31]** *The payment process requires either one or two steps:* +1. *For an ERC-20 token* - *The buyer MUST `approve` the NFT contract for the purchase price, `payment`, for the selected payment token type.* - *The buyer MUST call the `executePayment` function.* 2. *For a protocol token* - *The buyer MUST call a payment fallback function with `msg.data` not NULL.* -**[R35]** *For an ERC20 token type, the required `executePayment` function interface MUST adhere to the definition below*: +**[R32]** *For an ERC-20 token type, the required `executePayment` function interface MUST adhere to the definition below*: ``` /// @dev Function to make a NFT direct sales or exchange-mediate sales payment /// @param receiver is the address of the receiver of the payment @@ -702,132 +397,128 @@ As noted before, a buyer will always pay the NFT contract directly and not the s /// @param tokenIds are the tokenIds of the NFT to be bought /// @param payment is the amount of that payment to be made /// @param tokenType is the type of payment token -/// @param trxntype is the type of payment transaction -- minimally direct sales or exchange-mediated +/// @param trxnType is the type of payment transaction -- minimally direct sales or exchange-mediated -function executePayment (address receiver, address seller, uint 256[] tokenIds, uint256 payment, string tokenType, int256 trxntype) public virtual nonReentrant returns (bool) +function executePayment (address receiver, address seller, uint 256[] tokenIds, uint256 payment, string tokenType, int256 trxnType) public virtual nonReentrant returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -**[R36]** *Independent of `trxntype`, the business rules for the input data are as follows:* +**[R33]** *Independent of `trxnType`, the business rules for the input data are as follows:* - *All purchased NFTs in the `tokenIds` array MUST exist and MUST NOT be burned.* - *`tokenType` MUST be a supported token.* -- *`trxntype` MUST be set to either `0` (direct sale) or `1` (exchange-mediate sale), or another supported type.* +- *`trxnType` MUST be set to either `0` (direct sale) or `1` (exchange-mediate sale), or another supported type.* - *`receiver` MAY be NULL but MUST NOT be the Zero Address.* - *`seller` MUST be the address in the corresponding listing.* -- *`_msgSender()` MUST not be a contract, unless it is whitelisted in the NFT contract.* +- *`msg.sender` MUST not be a contract, unless it is whitelisted in the NFT contract.* In the following, this document will only discuss the differences between the two minimally required transaction types. -**[O12]** *Other transaction types (`trxntype`) than `0` and `1` and the business rules associated to those new types MAY be defined by an implementation of this standard.* - - -**[R37]** *For `trxntype = 0`, the payment data MUST to be validated against the listing, based on the following rules:* +**[R34]** *For `trxnType = 0`, the payment data MUST to be validated against the listing, based on the following rules:* - *NFT(s) MUST be listed* - *`payment` MUST be larger or equal to the listing price.* - *The listed NFT(s) MUST match the NFT(s) in the payment data.* - *The listed NFT(s) MUST be controlled by `seller`.* -**[R38]** *If all checks in [**[R36]**](#r36), and in [**[R37]**](#r37) for `trxntype = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the ERC-20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* +**[R35]** *If all checks in [**[R33]**](#r33), and in [**[R34]**](#r34) for `trxnType = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the ERC-20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* Note the NFT contract pays itself from the available allowance set in the `approve` transaction from the buyer. -**[R39]** *For `trxntype = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwise.* +**[R36]** *For `trxnType = 1`, and for a successful payment, the `registeredPayment` mapping MUST updated with the payment, such that it can be validated when the NFT is transferred in a separate `safeTransferFrom` call, and `true` MUST be returned as the return value of the function, if successful, `false` otherwise.* -**[R40]** *For `trxntype = 0`, an `internal` version of the `safeTransferFrom` function with message data MUST be called to transfer the NFTs to the buyer, and upon success, the buyer MUST be given the `MINTER_ROLE`, unless the buyer already has that role.* +**[R37]** *For `trxnType = 0`, an `internal` version of the `safeTransferFrom` function with message data MUST be called to transfer the NFTs to the buyer, and upon success, the buyer MUST be given the `MINTER_ROLE`, unless the buyer already has that role.* Note, the `_safeTransferFrom` function has the same structure as `safeTransferFrom` but skips the input data validation. -**[R41]** *For `trxntype = 0`, and if the NFT transfer is successful, the listing of the NFT MUST be removed.* +**[R38]** *For `trxnType = 0`, and if the NFT transfer is successful, the listing of the NFT MUST be removed.* -**[R42]** *For a protocol token as a payment token, and independent of `trxntype`, the buyer MUST send protocol tokens to the NFT contract as the escrow, and `msg.data` MUST encode the array of paid for NFTs `uint256[] tokenIds`.* +**[R39]** *For a protocol token as a payment token, and independent of `trxnType`, the buyer MUST send protocol tokens to the NFT contract as the escrow, and `msg.data` MUST encode the array of paid for NFTs `uint256[] tokenIds`.* -**[R43]** *For the NFT contract to receive a protocol token, a payable fallback function (`fallback() external payable`) MUST be implemented.* +**[R40]** *For the NFT contract to receive a protocol token, a payable fallback function (`fallback() external payable`) MUST be implemented.* Note that since the information for which NFTs the payment was for must be passed, a simple `receive()` fallback function cannot be allowed since it does not allow for `msg.data` to be sent with the transaction. -**[R44]** *`msg.data` for the fallback function MUST minimally contain the following data: -`address memory seller, uint256[] memory _tokenId, address memory receiver, int256 memory trxntype`* +**[R41]** *`msg.data` for the fallback function MUST minimally contain the following data: +`address memory seller, uint256[] memory _tokenId, address memory receiver, int256 memory trxnType`* -**[R45]** *If `trxntype` is not equal to either '0' or '1', or another supported type, then the fallback function MUST `revert`.* +**[R42]** *If `trxnType` is not equal to either '0' or '1', or another supported type, then the fallback function MUST `revert`.* -**[R46]** *For `trxntype` equal to either '0' or '1', the requirements [**[R36]**](#r36) through [**[R41]**](#r41) MUST be satisfied for the fallback function to successfully execute, otherwise the fallback function MUST `revert`.* +**[R43]** *For `trxnType` equal to either '0' or '1', the requirements [**[R33]**](#r33) through [**[R38]**](#r38) MUST be satisfied for the fallback function to successfully execute, otherwise the fallback function MUST `revert`.* -**[R47]** *In case of a transaction failure (Direct Sales, `trxntype = 0`), or the buyer of the NFT listing changing their mind (Exchange-mediated Sales, `trxntype = 1`), the submitted payment MUST be able reverteable using the `reversePayment` function where the function interface is defined below:* +**[R44]** *In case of a transaction failure (for direct sales, `trxnType = 0`), or the buyer of the NFT listing changing their mind (for exchange-mediated sales, `trxnType = 1`), the submitted payment MUST be able to revert using the `reversePayment` function where the function interface is defined below:* ``` /// @dev Definition of the function enabling the reversal of a payment before the sale is complete /// @param paymentId is the unique identifier for which a payment was made /// @param tokenType is the type of payment token used in the payment -function reversePayment(uint256 paymentId, string memory tokenType) public virtual nonReentrant returns (bool) +function reversePayment(uint256 paymentId, string memory tokenType) public virtual returns (bool) ``` The Boolean return value is `true` for a successful function execution, and `false` for an unsuccessful function execution. -Note, that the function has `reentrancy` protection through `nonReentrant` from the Open Zeppelin library since funds are being paid out. +Note, `reentrancy` protection through e.g. `nonReentrant` from the Open Zeppelin library is strongly advised since funds are being paid out. -**[R48]** *The business rules for the `reversePayment` function are as follows:* +**[R45]** *The business rules for the `reversePayment` function are as follows:* - *There MUST be registered payment for a given `paymentId` and `tokenType`.* -- *`_msgSender()` MUST be the buyer address in the registered payment.* +- *`msg.sender` MUST be the buyer address in the registered payment.* - *The payment amount must be larger than `0`.* - *The registered payment MUST be removed when the payment has been successfully reverted, otherwise the function must fail.* ### Modified NFT Transfer function -This document adheres to the ERC721 interface format for the `safeTransferFrom` function as given below: +This document adheres to the ERC-721 interface format for the `safeTransferFrom` function as given below: ``` function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) external virtual override ``` -Note, that the input parameters must satisfy several requirements for the NFT(s) to be transferred AFTER royalties have been properly distributed. Note also, that the ability to transfer more than one token at a time is required. However, the standard interface only allows one token to be transferred at a time. In order to remain compliant with the ERC721 standard, this document uses `tokenId` only for the first NFT to be transferred. All other transfer relevant data is encoded in `_data`. +Note, that the input parameters must satisfy several requirements for the NFT(s) to be transferred AFTER royalties have been properly distributed. Note also, that the ability to transfer more than one token at a time is required. However, the standard interface only allows one token to be transferred at a time. In order to remain compliant with the ERC-721 standard, this document uses `tokenId` only for the first NFT to be transferred. All other transfer relevant data is encoded in `_data`. The high-level requirements are as follows: * The payment parameters of the trade encoded in `_data` must be validated. * The seller and the sold NFT token(s) must exist, and the seller must be the owner of the token. -* `_msgSender()` must be the seller address or an approved address. +* `msg.sender` must be the seller address or an approved address. * the payment of the trade received by the NFT smart contract is correctly disbursed to all Royalty Sub Account owners. * the NFT token is transferred after all Royalty Sub Accounts and their holders associated with the NFT token(s) have been properly credited. Also, note that in order to avoid royalty circumvention attacks, there is only one NFT transfer function. -**[R49]** *Therefore, `transferFrom` and `safeTransferFrom` without `data` MUST be disabled.* +**[R46]** *Therefore, `transferFrom` and `safeTransferFrom` without `data` MUST be disabled.* This can be achieved through for example a `revert` statement in an `override` function. -**[R50]** *The requirements on input parameters of the function are as follows*: +**[R47]** *The requirements on input parameters of the function are as follows*: * *`from` MUST not be `address(0)`.* * *`from` MUST be the owner or `approved` for `tokenId` and the other tokens included in `_data`.* * *`from` MUST not be a smart contract unless whitelisted.* * *a Royalty Account MUST be associated to `tokenId` and the other tokens included in `_data`.* * *`_data` MUST NOT be NULL.* -* *`_msgSender()` MUST be equal to `from` or an `approved` address, or a whitelisted contract.* +* *`msg.sender` MUST be equal to `from` or an `approved` address, or a whitelisted contract.* -**[D2]** *Note, that in the context of this document only the scenario where the calling contract is still being created, i.e., the constructor being executed is a possible attack vector, and SHOULD to be carefully treated in the transfer scenario.* +Note, that in the context of this document only the scenario where the calling contract is still being created, i.e., the constructor being executed is a possible attack vector, and should to be carefully treated in the transfer scenario. Turning to the `_data` object. -**[R51]** *The `_data` object MUST minimally contain the following payment parameters:* +**[R48]** *The `_data` object MUST minimally contain the following payment parameters:* * *Seller Address as `address`.* * *Buyer Address as `address`.* * *Receiver Address as `address.* * *Token identifiers as `uint256[]`.* -* *Token type used for payment e.g. `ETH`.* +* *Token type used for payment.* * *Payment amount paid to NFT contract as `uint256`.* * *a registered payment identifier.* * *blockchain ID, `block.chainid`, of the underlying blockchain.* -**[R52]** *The following business rules MUST be met for the payment data in '_data':* +**[R49]** *The following business rules MUST be met for the payment data in '_data':* * *`seller == from`.* * *`tokenId[0] == tokenId`.* * *Each token in `_tokenId` has an associated Royalty Account.* * *`chainid == block.chainid`.* -* *`buyer = registeredPayment[paymentId].buyer`.* +* *`buyer` is equal to the buyer address in the registered payment for the given ``paymentId.* * *`receiver == to`.* * *the receiver of the token is not the seller.* * *the receiver of the token is not a contract or is a whitelisted contract* * *For all NFTs in the payment, `tokenId[i] = registeredPayment[paymentId].boughtTokens[i]`.* -* *`tokentype` is supported in the contract.* -* *`allowedToken[tokentype]` is not NULL.* -* *`tokentypeaddress == allowedToken[tokentype]`.* -* *`tokentype = registeredPayment[paymentId].tokenType`.* +* *`tokenType` is supported in the contract.* +* *`allowedToken[tokenType]` is not NULL.* +* *`tokenType = registeredPayment[paymentId].tokenType`.* * *`payment > lastBalanceAllowedToken[allowedToken[listingId]]`.* * *`payment = registeredPayment[paymentId].payment`.* @@ -837,7 +528,7 @@ The approach to distributing royalties is to break down the hierarchical structu Note, that the distribution function assumes that the payment made is for ALL tokens in the requested transfer. That means, that `payment` for the distribution function is equally divided between all NFTs included in the payment. -**[R53]** *The `distributePayment` function interface MUST adhere to the definition below: +**[R50]** *The `distributePayment` function interface MUST adhere to the definition below: ``` /// @dev Function to distribute a payment as royalties to a chain of Royalty Accounts /// @param tokenId is a tokenId included in the sale and used to look up the associated Royalty Account @@ -851,16 +542,16 @@ As mentioned before, the internal `distributePayment` function is called within Note, that it is necessary to multiply two `uint256` numbers with each other -- the payment amount with the royalty split percentage expressed as a whole number e.g. `10000 = 100%`. And then divide the result by the whole number representing `100%` in order to arrive at the correct application of the royalty split percentage to the payment amount. This requires careful treatment of numbers in the implementation to prevent issues such as buffer over or under runs. -**[R54]** *The processing logic of `distributePayment` function MUST be as follows:* +**[R51]** *The processing logic of `distributePayment` function MUST be as follows:* * *Load the Royalty Account (`RA`) and associated Royalty Sub Accounts using the passed `tokenId`.* * *For each Royalty Sub Account in `RA` apply the following rules:* * *If a Royalty Sub Account in `RA` has `isIndividual` set to `true` then* * *apply the royalty percentage of that Royalty Sub Account to `payment` and add the calculated amount, e.g. `royaltyAmountTemp`, to the `royaltybalance` of that Royalty Sub Account.* - * *emit an event as a notification of payment to the `accountId` of the Royalty Sub Account containing: assetId, accountId, tokentype, royaltybalance.* + * *emit an event as a notification of payment to the `accountId` of the Royalty Sub Account containing: assetId, accountId, tokenType, royaltybalance.* * *in the RA add `royaltyamountTemp` amount to `balance`* * *If a Royalty Sub Account in `RA` has `isIndividual` set to `false` then* * *apply the royalty percentage of that Royalty Sub Account to `payment` and store temporarily in a new variable e.g. `RApaymenttemp`, but do not update the `royaltybalance` of the Royalty Sub Account which remains `0`.* - * *then use `ancestor` to obtain the `RA` connected to `ancestor` via a look up through the Royalty Account mapping.* + * *then use `ancestor` to obtain the `RA` connected to `ancestor` e.g. via a look up through a Royalty Account mapping.* * *load the new RA* * *if `isIndividual` of the Royalty Sub Account is set to `true`, pass through the Royalty Sub Accounts of the next `RA`, and apply the rule for `isIndividual = true`.* * *if `isIndividual` of the Royalty Sub Account is set to `false`, pass through the Royalty Sub Accounts of the next `RA`, and apply the rule for `isIndividual = false`.* @@ -870,13 +561,13 @@ Note, that it is necessary to multiply two `uint256` numbers with each other -- In order to simplify the ownership transfer, first the approved address -- the non-contract NFT owner --, `from`, is paid out its share of the royalties. And then the Royalty Sub Account is updated with the new owner, `to`. This step repeats for each token to be transferred. -**[R55]** *The business rules are as follows:* +**[R52]** *The business rules are as follows:* * *the internal version of the`royaltyPayOut` function MUST pay out the entire royalty balance of the Royalty Sub Account owned by the `from` address to the `from` address.* * *the Royalty Sub Account MUST only be updated with the new owner only once the payout function has successfully completed and the `royaltybalance = 0`.* The last step in the process chain is transferring the NFTs in the purchase to the `to` address. -**[R56]** *For every NFT (in the batch) the 'to' address MUST be `approved' (ERC721 function) to complete the ownership transfer:* +**[R53]** *For every NFT (in the batch) the 'to' address MUST be `approved' (ERC-721 function) to complete the ownership transfer:* ``` _approve(to, tokenId[i]); @@ -884,20 +575,17 @@ _approve(to, tokenId[i]); The technical NFT owner remains the NFT contract. -### Removing the Payment Entry in `registeredPayment` after successful Transfer +### Removing the Payment Entry after successful Transfer Only after the real ownership of the NFT, the approved address, has been updated, the payment registry entry can be removed to allow the transferred NFTs to be sold again. -**[R57]** *After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* -``` -delete registeredPayment[paymentId]; -``` +**[R54]** *After the `approve` relationship has been successfully updated to the `to` address, the registered payment MUST be removed.* ### Paying out Royalties to the `from` Address in `safeTransferFrom` Function There are two versions of the payout function -- a `public` and an `internal` function -- depending on whether there is a payout during a purchase, or a payout is requested by a Royalty Sub Account owner. -**[R58]** *The public `royaltyPayOut` function interface MUST adhere to the definition below:* +**[R55]** *The public `royaltyPayOut` function interface MUST adhere to the definition below:* ``` /// @dev Function to payout a royalty payment /// @param tokenId is the identifier of the NFT token @@ -911,39 +599,39 @@ The Boolean return value is `true` for a successful function execution, and `fal Note, that the function has `reentrancy` protection through `nonReentrant` from the Open Zeppelin library since funds are being paid out. -**[R59]** *The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* -* *`_msgSender() == RAsubaccount`.* -* *`tokenId` must exist and MUST NOT be burned.* +**[R56]** *The input parameters of the `royaltyPayOut` function MUST satisfy the following requirements:* +* *`msg.sender == RAsubaccount`.* +* *`tokenId` must exist and must not be burned.* * *`tokenId` must be associated with a Royalty Account.* * *`RAsubaccount` must be a valid `accountId` in a Royalty Sub Account of the Royalty Account of the `tokenId'.* * *`isIndividual == true` for the Royalty Sub Account, `RAsubaccount`.* * *`amount <= royaltybalance` of the Royalty Sub Account, `RAsubaccount.*` -**[R60]** *The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: +**[R57]** *The internal `_royaltyPayOut` function interface MUST adhere to the definition below*: ``` function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable payoutAccount, uint256 amount) public virtual returns (bool) ``` -**[R61]** *The internal `_royaltyPayOut` function MUST perform the following actions: +**[R58]** *The internal `_royaltyPayOut` function MUST perform the following actions: * *send the payment to the `payoutaccount`.* * *update the `royaltybalance` of the `RAsubaccount` of the Royalty Account upon successful transfer.* -**[R62]** *The following steps MUST be taken to send out a royalty payment to its recipient:* +**[R59]** *The following steps MUST be taken to send out a royalty payment to its recipient:* * *find the Royalty Sub Account.* -* *extract `tokentype` from the Royalty Sub Account.* +* *extract `tokenType` from the Royalty Sub Account.* * *based on the token type send to the `payoutAccount` either* * *'ETH' / relevant protocol token or* * *another token based on token type* * *and only if the payout transaction is successful, deduct `amount` from `royaltybalance` of the Royalty Sub Account,`RAsubaccount`, and then return `true` as the function return parameter, otherwise return `false`.* ## Backwards Compatibility -This EIP is backwards compatible to the ERC721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the ERC-721 standard. +This EIP is backwards compatible to the ERC-721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the ERC-721 standard. ## Test Cases A full test suite is part of the reference implementation. ## Reference Implementation -The Treetrunk reference implementation of the standard can be found [here](https://github.com/ethereum/EIPs/tree/master/assets/eip-4910/eip-4910-reference-implementation/). +The Treetrunk reference implementation of the standard can be found under https://github.com/ethereum/EIPs/tree/master -> assets -> eip-4910 -> eip-4910-reference-implementation. ## Security Considerations Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: @@ -970,4 +658,4 @@ Given that this EIP introduces royalty collection, distribution, and payouts to Besides the usage of professional security analysis tools, it is also recommended that each implementation performs a security audit of its implementation. ## Copyright -Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). +Copyright and related rights waived via [CC0](../LICENSE.md). From cb0d7ff3c9775a1c11aed7bce65f640589ec41d4 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Fri, 3 Jun 2022 15:39:02 -0700 Subject: [PATCH 16/22] Missed two unhyphenated ERC references -- fixed --- EIPS/eip-4910.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index c89280d3c607e..a190095bc723d 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -52,7 +52,7 @@ This proposal introduces several new concepts as extensions to the ERC-721 stand * **Sub Account Royalty Balance** * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. * **Token Type** - * Token Type is given as either ETH or the symbol of the supported ERC 20/223/777 tokens such as `DAI` + * Token Type is given as either ETH or the symbol of the supported ERC-20/223/777 tokens such as `DAI` * **Asset ID** * This is the `tokenId` the RA belongs to. * **Parent** @@ -87,7 +87,7 @@ Authorized user addresses can list NFTs for sale for non-exchange mediated NFT p To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. -The payment process depends on whether the payment is received in ETH or an ERC 20 token: +The payment process depends on whether the payment is received in ETH or an ERC-20 token: * ERC-20 Token 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC-20 contract address). 2. For an ERC-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC-20 is not directly involved. From 801923eddbe520f7285a3111bc34b4dd35a219d6 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 22 Aug 2022 08:57:43 -0700 Subject: [PATCH 17/22] Fixing EIP and HTML Validator errors save for reference implementation link --- EIPS/eip-4910.md | 56 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index a190095bc723d..c65a68264603f 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -1,18 +1,18 @@ --- eip: 4910 title: Royalty Bearing NFTs -description: Extension of the ERC-721 standard for NFTs to correctly define, process, and pay (hierarchical) onchain royalties from NFT sales, going beyond EIP-2981. -author: Andreas Freund (@Therecanbeonlyone1969) +description: Extension of EIP-721 to correctly define, process, and pay (hierarchical) onchain NFT royalties. +author: Andreas Freund (@Therecanbeonlyone1969) discussions-to: https://ethereum-magicians.org/t/royalty-bearing-nfts/8453 status: Draft type: Standards Track category: ERC created: 2022-03-14 -requires: 721, 165 +requires: 165, 721 --- ## Abstract -The proposal directly connects NFTs and royalties in a smart contract architecture extending the [ERC-721](./eip-721.md) standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. +The proposal directly connects NFTs and royalties in a smart contract architecture extending the [EIP-721](./eip-721.md) standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. The proposal builds upon the OpenZeppelin Smart Contract Toolbox architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/De-Listing/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. @@ -40,7 +40,7 @@ The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL ### Outline -This proposal introduces several new concepts as extensions to the ERC-721 standard that warrant explanation: +This proposal introduces several new concepts as extensions to the EIP-721 standard that warrant explanation: * **Royalty Account (RA)** * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. * **Account Type** @@ -52,7 +52,7 @@ This proposal introduces several new concepts as extensions to the ERC-721 stand * **Sub Account Royalty Balance** * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. * **Token Type** - * Token Type is given as either ETH or the symbol of the supported ERC-20/223/777 tokens such as `DAI` + * Token Type is given as either ETH or the symbol of the supported EIP-20/223/777 tokens such as `DAI` * **Asset ID** * This is the `tokenId` the RA belongs to. * **Parent** @@ -87,11 +87,11 @@ Authorized user addresses can list NFTs for sale for non-exchange mediated NFT p To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. -The payment process depends on whether the payment is received in ETH or an ERC-20 token: -* ERC-20 Token - 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC-20 contract address). - 2. For an ERC-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC-20 is not directly involved. -* For a non-ERC-20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. +The payment process depends on whether the payment is received in ETH or an EIP-20 token: +* EIP-20 Token + 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (EIP-20 contract address). + 2. For an EIP-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the EIP-20 is not directly involved. +* For a non-EIP-20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. #### Modified NFT Transfer Function including required Trade data to allocate Royalties @@ -128,7 +128,7 @@ To finally send a Payout payment, the following steps need to be taken: #### Royalty Account and Royalty Sub Accounts -In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an ERC-721. +In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires to make the following additions to the global data structures of an EIP-721. Note, a Royalty Account is defined as a collection of Royalty Sub Accounts linked to a meta account. This meta account is comprised of general account identifiers particular to the NFT it is linked to such as asset identifier, parent identifier etc. @@ -171,7 +171,7 @@ Besides listings, the contract is required to manage sales as well. This require #### Contract Constructor and Global Variables and their update functions -This standard extends the current ERC-721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. +This standard extends the current EIP-721 constructor, and adds several global variables to recognize the special role of the creator of an NFT, and the fact that the contract is now directly involved in managing sales and royalties. **[R11]** *The minimal contract constructor MUST contain the following input elements.* @@ -179,9 +179,9 @@ This standard extends the current ERC-721 constructor, and adds several global v /// /// @dev Definition of the contract constructor /// -/// @param name as in ERC-721 -/// @param symbol as in ERC-721 -/// @param baseTokenURI as in ERC-721 +/// @param name as in EIP-721 +/// @param symbol as in EIP-721 +/// @param baseTokenURI as in EIP-721 /// @param allowedTokenTypes is the array of allowed tokens for payment constructor( @@ -189,7 +189,7 @@ constructor( string memory symbol, string memory baseTokenURI, address[] memory allowedTokenTypes - ) ERC-721(name, symbol) {...} + ) EIP-721(name, symbol) {...} ``` @@ -283,11 +283,11 @@ function deleteRoyaltyAccount (uint256 _tokenId) public virtual returns (bool) ### NFT Minting -In extension to the ERC-721 minting capability, a Royalty Account with Royalty Sub Accounts are required to be added during the minting, besides establishing the NFT token specific data structures supporting constraints such as the maximum number of children an NFT can have. +In extension to the EIP-721 minting capability, a Royalty Account with Royalty Sub Accounts are required to be added during the minting, besides establishing the NFT token specific data structures supporting constraints such as the maximum number of children an NFT can have. **[R18]** *When a new NFT is minted a Royalty Account with one or more Royalty Sub Accounts MUST be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's Royalty Account.* -To this end the specification utilizes the ERC-721 `_safemint` function in a newly defined `mint` function, and applies various business rules on the function's input variables. +To this end the specification utilizes the EIP-721 `_safemint` function in a newly defined `mint` function, and applies various business rules on the function's input variables. **[D1]** *Note, that the `mint` function SHOULD have the ability to mint more than one NFT at a time.* @@ -308,7 +308,7 @@ This strange choice in the two requirements above is necessary, because the NFT **[R22]** *The `mint` function interface MUST adhere to the definition below:* ``` -/// @dev Function creates one or more new NFTs with its relevant meta data necessary for royalties, and a Royalty Account with its associated met data for `to` address. The tokenId(s) will be automatically assigned (and available on the emitted {IERC-721-Transfer} event). +/// @dev Function creates one or more new NFTs with its relevant meta data necessary for royalties, and a Royalty Account with its associated met data for `to` address. The tokenId(s) will be automatically assigned (and available on the emitted {IEIP-721-Transfer} event). /// @param to is the address to which the NFT(s) are minted /// @param nfttoken is an array of struct type NFTToken for the meta data of the minted NFT(s) /// @param tokenType is the type of allowed payment token for the NFT @@ -383,13 +383,13 @@ The Boolean return value is `true` for a successful function execution, and `fal As noted before, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout to their wallet. **[R31]** *The payment process requires either one or two steps:* -1. *For an ERC-20 token* +1. *For an EIP-20 token* - *The buyer MUST `approve` the NFT contract for the purchase price, `payment`, for the selected payment token type.* - *The buyer MUST call the `executePayment` function.* 2. *For a protocol token* - *The buyer MUST call a payment fallback function with `msg.data` not NULL.* -**[R32]** *For an ERC-20 token type, the required `executePayment` function interface MUST adhere to the definition below*: +**[R32]** *For an EIP-20 token type, the required `executePayment` function interface MUST adhere to the definition below*: ``` /// @dev Function to make a NFT direct sales or exchange-mediate sales payment /// @param receiver is the address of the receiver of the payment @@ -419,7 +419,7 @@ In the following, this document will only discuss the differences between the tw - *The listed NFT(s) MUST match the NFT(s) in the payment data.* - *The listed NFT(s) MUST be controlled by `seller`.* -**[R35]** *If all checks in [**[R33]**](#r33), and in [**[R34]**](#r34) for `trxnType = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the ERC-20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* +**[R35]** *If all checks in [**[R33]**](#r33), and in [**[R34]**](#r34) for `trxnType = 0`, are passed, the `executePayment` function MUST call the `transfer` function in the EIP-20 contract identified by `tokenType` with `recipient = address(this)` and `amount = payment`.* Note the NFT contract pays itself from the available allowance set in the `approve` transaction from the buyer. @@ -464,12 +464,12 @@ Note, `reentrancy` protection through e.g. `nonReentrant` from the Open Zeppelin ### Modified NFT Transfer function -This document adheres to the ERC-721 interface format for the `safeTransferFrom` function as given below: +This document adheres to the EIP-721 interface format for the `safeTransferFrom` function as given below: ``` function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) external virtual override ``` -Note, that the input parameters must satisfy several requirements for the NFT(s) to be transferred AFTER royalties have been properly distributed. Note also, that the ability to transfer more than one token at a time is required. However, the standard interface only allows one token to be transferred at a time. In order to remain compliant with the ERC-721 standard, this document uses `tokenId` only for the first NFT to be transferred. All other transfer relevant data is encoded in `_data`. +Note, that the input parameters must satisfy several requirements for the NFT(s) to be transferred AFTER royalties have been properly distributed. Note also, that the ability to transfer more than one token at a time is required. However, the standard interface only allows one token to be transferred at a time. In order to remain compliant with the EIP-721 standard, this document uses `tokenId` only for the first NFT to be transferred. All other transfer relevant data is encoded in `_data`. The high-level requirements are as follows: * The payment parameters of the trade encoded in `_data` must be validated. @@ -567,7 +567,7 @@ In order to simplify the ownership transfer, first the approved address -- the n The last step in the process chain is transferring the NFTs in the purchase to the `to` address. -**[R53]** *For every NFT (in the batch) the 'to' address MUST be `approved' (ERC-721 function) to complete the ownership transfer:* +**[R53]** *For every NFT (in the batch) the 'to' address MUST be `approved' (EIP-721 function) to complete the ownership transfer:* ``` _approve(to, tokenId[i]); @@ -625,7 +625,7 @@ function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable * *and only if the payout transaction is successful, deduct `amount` from `royaltybalance` of the Royalty Sub Account,`RAsubaccount`, and then return `true` as the function return parameter, otherwise return `false`.* ## Backwards Compatibility -This EIP is backwards compatible to the ERC-721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the ERC-721 standard. +This EIP is backwards compatible to the EIP-721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the EIP-721 standard. ## Test Cases A full test suite is part of the reference implementation. @@ -634,7 +634,7 @@ A full test suite is part of the reference implementation. The Treetrunk reference implementation of the standard can be found under https://github.com/ethereum/EIPs/tree/master -> assets -> eip-4910 -> eip-4910-reference-implementation. ## Security Considerations -Given that this EIP introduces royalty collection, distribution, and payouts to the ERC-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: +Given that this EIP introduces royalty collection, distribution, and payouts to the EIP-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: - **Payments and Payouts**: - Reentrancy attacks are mitigated through a reentrancy protection on all payment functions. See for example the Open Zeppelin reference implementation . From 82635ad26ebd994dd2e01622911dfe90756b8744 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 22 Aug 2022 10:38:41 -0700 Subject: [PATCH 18/22] added separate rationale section for the spec --- EIPS/eip-4910.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index c65a68264603f..688b545d6769c 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -320,7 +320,7 @@ function mint(address to, NFTToken[] memory nfttoken, address tokenType) public - *The number of tokens to be minted MUST NOT be zero.* - *`msg.sender` MUST have either the `MINTER_ROLE` or the `CREATOR_Role` identifying the creator of the first NFT.* - *`to` address MUST NOT be the zero address.* -- *`to` address MUST NOT be a contract, unless it has been whitelisted -- see [Security Considerations](#Security-Considerations) for more details.* +- *`to` address MUST NOT be a contract, unless it has been whitelisted -- see [Security Considerations](#security-considerations) for more details.* - *`tokenType` MUST be a token type supported by the contract.* - *`royaltySplitForItsChildren` MUST be less or equal to 100% or numerical equivalent thereof less any constraints such as platform fees* - *If the new NFT(s) cannot have children, `royaltySplitForItsChildren` MUST be zero.* @@ -624,6 +624,39 @@ function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable * *another token based on token type* * *and only if the payout transaction is successful, deduct `amount` from `royaltybalance` of the Royalty Sub Account,`RAsubaccount`, and then return `true` as the function return parameter, otherwise return `false`.* +## Rationale + +Royalties for NFTs is at its core a distribution licensing problem. A buyer obtains the right to an asset/content which might or might not be reproducible, alterable etc. by the buyer or agents of the buyer. Therefore, a comprehensive specification must address a hierarchy of royalties, where one or more assets are derived from an original asset as described in the Motivation section in detail. Consequently, a design must solve for a multi-level inheritance, and thus, recursion problem. + +In order to solve for the complicated inheritance problem, this proposal design breaks down the recursive problem of the hierarchy first into a tree of depth N. And the further breaks down the tree structure into N separate problems, one for each layer. This design allows one to traverse the tree from its lowest level upwards to its root most efficiently. This is achieved with the design for the `distributePayment` function and the NFT data structures allowing for the tree structure e.g. `ancestry',`royaltyAccount`, 'RAsubaccount'. + +In order to avoid massive gas costs during the payout of royalties, possibly exceeding block gas limits for large royalty trees, the design needed to create a royalty accounting system to maintain royalty balances for recipients as done with the `royaltyAccount`, 'RAsubaccount' data structures and the associated CRUD operations, as well as require that royalty payouts are done by indvidual and by request, only, as is achieved with the `royaltyPayout` function design. + +Furthermore, the design had to ensure that in order to account for and payout royalties the smart contract must be in the "know" of all buying and selling of an NFT including the exchange of monies. This buying and selling can be either direct through the NFT contract or can be exchange-mediated as is most often the case today -- which is a centralizing factor! The chosen design for purchasing is accounting for those two modes. + +Keeping the NFT contract in the "know" at the beginning of the purchase process requires that authorized user addresses can list NFTs for sale for direct sales , whereas for exchange-mediated purchases, a payment must be registered with the NFT contract before the purchase can be completed. + +The design needed to avoid royalty circumvention during the purchase process, therefore, the NFT must be kept in the "know", a buyer will always have to pay the NFT contract directly and not the seller for both purchasing modes. The seller is subsequently paid through the royalty distribution function in the NFT contract. As a consequence, and a key design choice, and to stay compliant with EIP-721, the NFT contract must be the owner of the NFT, and the actual owner is an `approved` address. + +The specification design also needed to account for that the payment process depends on whether the payment is received in ETH or an EIP-20 token: +* EIP-20 Token + 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (EIP-20 contract address). + 2. For an EIP-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the EIP-20 is not directly involved. +* For a non-EIP-20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send encoded listing and payment information. + +In addition, the `executePayment` function had to be designed to handle both direct sales (through the NFT contract) and exchange-mediated sales which required the introduction of an indicator whether the purchase is direct or exchange-mediated. + +The `executePayment` function also has to handle the NFT transfer and purchase clean up -- removal of a listing, or removal of a registered payment, distribution of royalties, payment to the seller, and finally transfer to the seller. + +To stay compliant with the EIP-721 design but avoid royalty circumvention, all transfer functions must be disabled save the one that allows for additional information to be submitted with the function in order to manage the complicated purchase cleanup process -- `safeTransferFrom`. To ensure safety, the design enforces that input parameters must satisfy several requirements for the NFT to be transferred AFTER the royalties have been properly distributed, not before. The design accounts for the fact that we need to treat transfer somewhat differently for direct sales versus exchange mediated sales. + +Finally the specification needed to take into account that NFTs must be able to be `minted` and `burned` to maintain compliance with the EIP-721 specification while also having to set up all the data structures for the tree. + +The design enforces that when an NFT is minted, a royalty account for that NFT must be created and associated with the NFT and the NFT owner, and, if there is an ancestor of the NFT with the ancestor's royalty account to enforces the tree structure. To this end the specification utilizes the EIP-721 `_safemint` function in a newly defined `mint` function and applies various business rules on the input variables required to ensure proper set-up. + +An NFT with a royalty account can be burned. However, several things have to be true to avoid locking funds not only for the royalty account of the NFT but also its descendants, if they exist. That means that all royalties for the NFT and its descendants, if they exists, must be paid out. Furthermore, if descendants exist, they must have been burned before an ancestor can be burned. If those rules are not enforced the cleanly, the hierarchical royalty structure in part of the tree can break down and lead to lost funds, not paid out royalties etc. + + ## Backwards Compatibility This EIP is backwards compatible to the EIP-721 standard introducing new interfaces and functionality but retaining the core interfaces and functionality of the EIP-721 standard. From 5d76f3456c17b330e245b2621fe5e489eb35cfe3 Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 22 Aug 2022 10:48:00 -0700 Subject: [PATCH 19/22] fixed link for EIP-20 --- EIPS/eip-4910.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 688b545d6769c..03ad07797e8a8 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -52,7 +52,7 @@ This proposal introduces several new concepts as extensions to the EIP-721 stand * **Sub Account Royalty Balance** * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. * **Token Type** - * Token Type is given as either ETH or the symbol of the supported EIP-20/223/777 tokens such as `DAI` + * Token Type is given as either ETH or the symbol of the supported utility tokens such as `DAI` * **Asset ID** * This is the `tokenId` the RA belongs to. * **Parent** @@ -87,7 +87,7 @@ Authorized user addresses can list NFTs for sale for non-exchange mediated NFT p To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. -The payment process depends on whether the payment is received in ETH or an EIP-20 token: +The payment process depends on whether the payment is received in ETH or an [EIP-20](./eip-20.md) token: * EIP-20 Token 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (EIP-20 contract address). 2. For an EIP-20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the EIP-20 is not directly involved. From d58bec555f95359dd7c7eef5d58faef26116579c Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Mon, 22 Aug 2022 11:23:03 -0700 Subject: [PATCH 20/22] fixing links --- EIPS/eip-4910.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 03ad07797e8a8..1c7ace453f4ba 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -23,12 +23,11 @@ The above is especially true for a hierarchy of royalties, where one or more ass In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. -![Fig1](/assets/eip-4910/eip-4910-print-families.png) - +![Fig1](../assets/eip-4910/eip-4910-print-families.png) The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. -![Fig2](/assets/eip-4910/eip-4910-royalties.png) +![Fig2](../assets/eip-4910/eip-4910-royalties.png) In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. @@ -664,7 +663,7 @@ This EIP is backwards compatible to the EIP-721 standard introducing new interfa A full test suite is part of the reference implementation. ## Reference Implementation -The Treetrunk reference implementation of the standard can be found under https://github.com/ethereum/EIPs/tree/master -> assets -> eip-4910 -> eip-4910-reference-implementation. +The Treetrunk reference implementation of the standard can be found [here](../assets/eip-4910/eip-4910-reference-implementation/readme.md). ## Security Considerations Given that this EIP introduces royalty collection, distribution, and payouts to the EIP-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: From 37991cc47a34a37e25e4593ed8d1cc6b7d19689b Mon Sep 17 00:00:00 2001 From: Therecanbeonlyone1969 Date: Wed, 7 Sep 2022 17:26:15 -0700 Subject: [PATCH 21/22] Removed reference implementation and updated relevant section in the EIP accordingly --- EIPS/eip-4910.md | 2 +- .../.gitignore | 6 - .../.prettierrc.json | 7 - .../eip-4910-reference-implementation/.secret | 1 - .../.solcover.js | 6 - .../eip-4910-reference-implementation/LICENSE | 223 ------- .../contracts/Migrations.sol | 19 - .../contracts/PaymentModule.sol | 139 ----- .../contracts/RoyaltyBearingToken.sol | 579 ------------------ .../contracts/RoyaltyBearingTokenStorage.sol | 36 -- .../contracts/RoyaltyModule.sol | 298 --------- .../contracts/StorageStructure.sol | 80 --- .../contracts/test/SomeERC20.sol | 16 - .../contracts/test/faucet.sol | 53 -- .../coverage.json | 1 - ...thXPro-Report-PaymentModule-03-22-2022.pdf | Bin 119450 -> 0 bytes ...t-RoyaltyBearingTokenModule-03-22-2022.pdf | Bin 32597 -> 0 bytes ...thXPro-Report-RoyaltyModule-03-22-2022.pdf | Bin 155080 -> 0 bytes .../migrations/1_initial_migration.js | 6 - .../migrations/2_deploy_contracts.js | 51 -- .../migrations/3_faucet.js | 52 -- .../package.json | 29 - .../readme.md | 171 ------ .../test/.gitkeep | 0 .../test/coverage/PaymentModule.test.js | 37 -- .../test/coverage/RoyaltyBearingToken.test.js | 494 --------------- .../test/coverage/RoyaltyModule.test.js | 42 -- .../test/royaltySplit.test.js | 84 --- .../test/royaltySplitUpdate.test.js | 162 ----- .../scenarios/sellWithZeroRoyalty.test.js | 51 -- .../test/stressBatchMint.test.js | 58 -- .../test/stressDeepRoyalty.test.js | 68 -- .../test/transferByERC20_trxntype_0.test.js | 103 ---- .../test/transferByERC20_trxntype_1.test.js | 114 ---- .../test/transferByETH_trxnttype_0.test.js | 96 --- .../test/transferByETH_trxnttype_1.test.js | 109 ---- .../truffle-config.js | 113 ---- 37 files changed, 1 insertion(+), 3305 deletions(-) delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/.gitignore delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/.secret delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/.solcover.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/LICENSE delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/coverage.json delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyBearingTokenModule-03-22-2022.pdf delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/package.json delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/readme.md delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js delete mode 100644 assets/eip-4910/eip-4910-reference-implementation/truffle-config.js diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index 1c7ace453f4ba..d82e66a93e0c4 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -663,7 +663,7 @@ This EIP is backwards compatible to the EIP-721 standard introducing new interfa A full test suite is part of the reference implementation. ## Reference Implementation -The Treetrunk reference implementation of the standard can be found [here](../assets/eip-4910/eip-4910-reference-implementation/readme.md). +The Treetrunk reference implementation of the standard can be found in the public treetrunkio Github repo under treetrunk-nft-reference-implementation. ## Security Considerations Given that this EIP introduces royalty collection, distribution, and payouts to the EIP-721 standard, the number of attack vectors increases. The most important attack vector categories and their mitigation are discussed below: diff --git a/assets/eip-4910/eip-4910-reference-implementation/.gitignore b/assets/eip-4910/eip-4910-reference-implementation/.gitignore deleted file mode 100644 index a3498bdd45468..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -bin -build -node_modules -.coverage* -package-lock.json -.vscode diff --git a/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json b/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json deleted file mode 100644 index 246b3b7f02ad2..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 200, - "trailingComma": "all", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/.secret b/assets/eip-4910/eip-4910-reference-implementation/.secret deleted file mode 100644 index fc2fc96e528eb..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/.secret +++ /dev/null @@ -1 +0,0 @@ -hen token assume same own mail afraid pet leader short system reward \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/.solcover.js b/assets/eip-4910/eip-4910-reference-implementation/.solcover.js deleted file mode 100644 index 4dcf60b9a586a..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/.solcover.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - norpc: false, - port: 8555, - buildDirPath: '/build/contracts', - skipFiles: ['Migrations.sol','test/faucet.sol','test/SomeERC20.sol'], -}; \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/LICENSE b/assets/eip-4910/eip-4910-reference-implementation/LICENSE deleted file mode 100644 index affddfe8deba3..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/LICENSE +++ /dev/null @@ -1,223 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - The MIT License (MIT) - -Copyright (c) 2018 Truffle - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol deleted file mode 100644 index fcbf5cb3218f6..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/Migrations.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Migrations { - address public owner = msg.sender; - uint256 public last_completed_migration; - - modifier restricted() { - require( - msg.sender == owner, - "This function is restricted to the contract's owner" - ); - _; - } - - function setCompleted(uint256 completed) public restricted { - last_completed_migration = completed; - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol deleted file mode 100644 index a07b21efd1c5a..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/PaymentModule.sol +++ /dev/null @@ -1,139 +0,0 @@ -// SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.10; - -import '@openzeppelin/contracts/access/Ownable.sol'; -import './StorageStructure.sol'; -import 'abdk-libraries-solidity/ABDKMathQuad.sol'; - -contract PaymentModule is StorageStructure, Ownable { - mapping(uint256 => RegisteredPayment) private registeredPayment; //A mapping with a struct for a registered payment - mapping(uint256 => ListedNFT) private listedNFT; //A mapping for listing NFTs to be sold - mapping(uint256 => bool) private tokenLock; // lock listed token for sure one time list - - uint256[] private listedNFTList; // List of all listed NFT - - uint256 private _maxListingNumber; //Max token count int listing - - constructor(address owner, uint256 maxListingNumber) { - transferOwnership(owner); - require(maxListingNumber > 0, 'Max number must be > 0'); - _maxListingNumber = maxListingNumber; - } - - function updatelistinglimit(uint256 maxListingNumber) public onlyOwner returns (bool) { - require(maxListingNumber > 0, 'Max number must be > 0'); - _maxListingNumber = maxListingNumber; - return true; - } - - function addListNFT( - address seller, - uint256[] calldata tokenIds, - uint256 price, - string calldata tokenType - ) public virtual onlyOwner { - require(price > 0, 'Zero Price not allowed'); - require(!existsInListNFT(tokenIds), 'Already exists'); - require(tokenIds.length <= _maxListingNumber, 'Too many NFTs listed'); - listedNFT[tokenIds[0]] = ListedNFT({seller: seller, listedtokens: tokenIds, tokenType: tokenType, price: price}); - //lock tokens - for (uint256 i = 0; i < tokenIds.length; i++) { - tokenLock[tokenIds[i]] = true; - } - //add to list index - listedNFTList.push(tokenIds[0]); - } - - function existsInListNFT(uint256[] memory tokenIds) public view virtual returns (bool) { - if (listedNFT[tokenIds[0]].seller != address(0)) return true; - - for (uint256 i = 0; i < tokenIds.length; i++) { - if (tokenLock[tokenIds[i]]) return true; - } - return false; - } - - function removeListNFT(uint256 tokenId) public virtual onlyOwner { - require(registeredPayment[tokenId].buyer == address(0), 'RegisterPayment exists for NFT'); - //unlock token - for (uint256 i = 0; i < listedNFT[tokenId].listedtokens.length; i++) { - tokenLock[listedNFT[tokenId].listedtokens[i]] = false; - } - //delete from index - for (uint256 i = 0; i < listedNFTList.length; i++) { - if (listedNFTList[i] == tokenId) { - listedNFTList[i] = listedNFTList[listedNFTList.length - 1]; - listedNFTList.pop(); - break; - } - } - - delete listedNFT[tokenId]; - } - - function getListNFT(uint256 tokenId) public view returns (ListedNFT memory) { - require(listedNFT[tokenId].seller != address(0), 'Listing not exist'); - return listedNFT[tokenId]; - } - - function getAllListNFT() public view returns (uint256[] memory) { - return listedNFTList; - } - - function isValidPaymentMetadata( - address seller, - uint256[] calldata tokenIds, - uint256 payment, - string calldata tokenType - ) public view virtual returns (bool) { - //check if NFT(s) are even listed - require(listedNFT[tokenIds[0]].seller != address(0), 'NFT(s) not listed'); - //check if seller is really a seller - require(listedNFT[tokenIds[0]].seller == seller, 'Submitted Seller is not Seller'); - //check if payment is sufficient - require(listedNFT[tokenIds[0]].price <= payment, 'Payment is too low'); - //check if token type supported - require(_isSameString(listedNFT[tokenIds[0]].tokenType, tokenType), 'Payment token does not match list token type'); - //check if listed NFT(s) match NFT(s) in the payment and are controlled by seller - uint256[] memory listedTokens = listedNFT[tokenIds[0]].listedtokens; - for (uint256 i = 0; i < listedTokens.length; i++) { - require(tokenIds[i] == listedTokens[i], 'One or more tokens are not listed'); - } - return true; - } - - function addRegisterPayment( - address buyer, - uint256[] calldata tokenIds, - uint256 payment, - string calldata tokenType - ) public virtual onlyOwner { - require(registeredPayment[tokenIds[0]].buyer == address(0), 'RegisterPayment already exists'); - registeredPayment[tokenIds[0]] = RegisteredPayment({buyer: buyer, boughtTokens: tokenIds, tokenType: tokenType, payment: payment}); - } - - function getRegisterPayment(uint256 tokenId) public view virtual returns (RegisteredPayment memory) { - return registeredPayment[tokenId]; - } - - function checkRegisterPayment(uint256 tokenId, address buyer) public view virtual returns (uint256) { - if (registeredPayment[tokenId].buyer == buyer) return registeredPayment[tokenId].payment; - else return 0; - } - - function checkRegisterPayment( - uint256 tokenId, - address buyer, - string memory tokenType - ) public view virtual returns (uint256) { - if (registeredPayment[tokenId].buyer == buyer) { - require(_isSameString(tokenType, registeredPayment[tokenId].tokenType), 'TokenType mismatch'); - return registeredPayment[tokenId].payment; - } else return 0; - } - - function removeRegisterPayment(address buyer, uint256 tokenId) public virtual onlyOwner { - require(registeredPayment[tokenId].buyer == buyer, 'RegisterPayment not found'); - delete registeredPayment[tokenId]; - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol deleted file mode 100644 index 4bbc1202cc3cf..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingToken.sol +++ /dev/null @@ -1,579 +0,0 @@ -/// SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.10; - -import '@openzeppelin/contracts/token/ERC20/IERC20.sol'; -import '@openzeppelin/contracts/token/ERC721/ERC721.sol'; -import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol'; -import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol'; -import '@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol'; -import '@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol'; -import '@openzeppelin/contracts/access/AccessControlEnumerable.sol'; -import '@openzeppelin/contracts/utils/Address.sol'; -import '@openzeppelin/contracts/utils/Counters.sol'; -import '@openzeppelin/contracts/security/ReentrancyGuard.sol'; -import './RoyaltyBearingTokenStorage.sol'; -import './RoyaltyModule.sol'; -import './PaymentModule.sol'; - -contract RoyaltyBearingToken is ERC721, ERC721Burnable, ERC721Pausable, ERC721URIStorage, AccessControlEnumerable, RoyaltyBearingTokenStorage, IERC721Receiver, ReentrancyGuard { - using Address for address; - using Counters for Counters.Counter; - bool private onlyOnce = false; - - constructor( - string memory name, - string memory symbol, - string memory baseTokenURI, - string[] memory allowedTokenTypes, - address[] memory allowedTokenAddresses, - address creatorAddress, - uint256 numGenerations - ) ERC721(name, symbol) { - require(_msgSender() == tx.origin, 'Caller must not be a contract'); - require(!creatorAddress.isContract(), 'Creator must not be a contract'); - require(allowedTokenTypes.length == allowedTokenAddresses.length, 'Numbers of allowed tokens'); - _baseTokenURI = baseTokenURI; - _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); - _setupRole(MINTER_ROLE, _msgSender()); - _setupRole(PAUSER_ROLE, _msgSender()); - _setupRole(CREATOR_ROLE, creatorAddress); - - _numGenerations = numGenerations; - - for (uint256 i = 0; i < allowedTokenTypes.length; i++) { - addAllowedTokenType(allowedTokenTypes[i], allowedTokenAddresses[i]); - } - - //For tree logic we need start id from 1 not 0; - _tokenIdTracker.increment(); - } - - function init(address royaltyModuleAddress, address paymentModuleAddress) public virtual { - require(!onlyOnce, 'Init was called before'); - require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()), 'Admin role required'); - royaltyModule = RoyaltyModule(royaltyModuleAddress); - paymentModule = PaymentModule(paymentModuleAddress); - onlyOnce = true; - } - - function updatelistinglimit(uint256 maxListingNumber) public virtual returns (bool) { - //ensure that msg.sender has the creater role or internal call - require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); - return paymentModule.updatelistinglimit(maxListingNumber); - } - - function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual returns (bool) { - //ensure that msg.sender has the creater role or internal call - require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); - return royaltyModule.updateRAccountLimits(maxSubAccounts, minRoyaltySplit); - } - - function updateMaxGenerations(uint256 newMaxNumber) public virtual returns (bool) { - //ensure that msg.sender has the creater role or internal call - require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); - _numGenerations = newMaxNumber; - return true; - } - - function getModules() public view returns (address, address) { - return (address(royaltyModule), address(paymentModule)); - } - - function delegateAuthority( - bytes4 functionSig, - bytes calldata _functionData, - bytes32 documentHash, - uint8[] memory sigV, - bytes32[] memory sigR, - bytes32[] memory sigS, - uint256 chainid - ) public virtual returns (bool) { - require(chainid == block.chainid, 'Wrong blockchain'); - require(functionSigMap[functionSig], 'Not a valid function'); - - bytes32 prefixedProof = keccak256(abi.encodePacked('\x19Ethereum Signed Message:\n32', documentHash)); - address recovered = ecrecover(prefixedProof, sigV[0], sigR[0], sigS[0]); - - require(hasRole(CREATOR_ROLE, recovered), 'Signature'); //Signature was not from creator - - (bool success, ) = address(this).call(_functionData); - require(success); - return true; - } - - //Note that functionSig must be calculated as follows - //bytes4(keccak256("updateMaxGenerations(uint256)") - function setFunctionSignature(bytes4 functionSig) public virtual returns (bool) { - require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()) || hasRole(CREATOR_ROLE, _msgSender()), 'Admin or Creator role required'); - functionSigMap[functionSig] = true; - return true; - } - - function onERC721Received( - address, /*operator*/ - address from, - uint256, /*tokenId*/ - bytes calldata /*data*/ - ) external pure returns (bytes4) { - require(from == address(0), 'Only minted'); - //required to allow transfer mined token to this contract - return bytes4(keccak256('onERC721Received(address,address,uint256,bytes)')); - } - - function addAllowedTokenType(string memory tokenName, address tokenAddress) public { - require(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()), 'Admin role required'); - if (_isEthToken(tokenName)) { - tokenAddress = address(this); - } else { - require(tokenAddress != address(0x0) && tokenAddress.isContract(), 'Token must be contact'); - } - require(allowedTokenContract[tokenAddress] == 0, 'Token is duplicate'); - - allowedToken[string(tokenName)] = tokenAddress; - allowedTokenList.push(tokenAddress); - allowedTokenContract[tokenAddress] = allowedTokenList.length; - } - - function getAllowedTokens() public view returns (address[] memory) { - return (allowedTokenList); - } - - //Royalty module functions - //Get a Royalty Account through the NFT token index - function getRoyaltyAccount(uint256 tokenId) - public - view - virtual - returns ( - address accountId, - RoyaltyAccount memory account, - RASubAccount[] memory subaccounts - ) - { - require(_exists(tokenId), 'NFT does not exist'); - return royaltyModule.getAccount(tokenId); - } - - // Rules: - // Only subaccount owner can decrease splitRoyalty for this subaccount - // Only parent token owner can decrease royalty subaccount splitRoyalty - function updateRoyaltyAccount(uint256 tokenId, RASubAccount[] memory affectedSubaccounts) public virtual { - uint256 parentId = ancestry[tokenId].parentId; - bool isTokenOwner = getApproved(parentId) == _msgSender(); - - royaltyModule.updateRoyaltyAccount(tokenId, affectedSubaccounts, _msgSender(), isTokenOwner); - } - - /** - * @dev Creates a new token for `to`. Its token ID will be automatically - * assigned (and available on the emitted {IERC721-Transfer} event), and the token - * URI autogenerated based on the base URI passed at construction. - * - * See {ERC721-_mint}. - * - * Requirements: - * - * - the caller must have the `MINTER_ROLE`. - */ - function mint( - address to, - NFTToken[] memory nfttokens, - string memory tokenType - ) public virtual { - require(nfttokens.length > 0, 'nfttokens has no value'); - require(hasRole(MINTER_ROLE, _msgSender()) || hasRole(CREATOR_ROLE, _msgSender()), 'Minter or Creator role required'); - //ensure to address is not a contract - require(to != address(0x0), 'Zero Address cannot have active NFTs!'); - //require(!to.isContract(), 'Cannot be minted to contracts'); - if (to == _msgSender()) { - require(tx.origin == to, 'To must not be contracts'); - } else { - require(!to.isContract(), 'To must not be contracts'); - } - - //token type must exist - require(allowedToken[tokenType] != address(0x0), 'Token Type not supported!'); - - //Loop through the array of tokens to be minted - for (uint256 i = 0; i < nfttokens.length; i++) { - NFTToken memory token = nfttokens[i]; - - //royaltySplitForItsChildren must be less or equal to 100% - require(token.royaltySplitForItsChildren <= 10000, 'Royalty Split is > 100%'); - - //If the token cannot have offspring royaltySplitForItsChildren must be zero - if (!token.canBeParent) { - token.royaltySplitForItsChildren = 0; - } - - //create RA account identifier - uint256 tokenId = _tokenIdTracker.current(); - - //enforce business rules - if (token.parent > 0) { - require(_exists(token.parent), 'Parent NFT does not exist'); - - //update ancestry struct and mapping - require(ancestry[token.parent].ancestryLevel < _numGenerations, 'Generation limit'); - require(ancestry[token.parent].children.length < ancestry[token.parent].maxChildren, 'Offspring limit'); - ancestry[token.parent].children.push(tokenId); - // store link to parent - ancestry[tokenId].parentId = token.parent; - ancestry[tokenId].ancestryLevel = ancestry[token.parent].ancestryLevel + 1; - } - - // We cannot just use balanceOf to create the new tokenId because tokens - // can be burned (destroyed), so we need a separate counter. - // The NFT contract address(this) must be the owner - _safeMint(address(this), tokenId); - - //give to address minter role unless it has it already - _grantRole(MINTER_ROLE, to); - - // after successful minting, the to address will be approved as an NFT controller. - _approve(to, tokenId); - - //Create and link royalty account - royaltyModule.createRoyaltyAccount(to, token.parent, tokenId, tokenType, token.royaltySplitForItsChildren); - - //set token URI - _setTokenURI(tokenId, token.uri); - - //if new token can have children instantiate struct and add to mapping - if (token.canBeParent) { - ancestry[tokenId].maxChildren = token.maxChildren; - } - - //increment token counter to know which is the next token index that can be minted - _tokenIdTracker.increment(); - } - } - - function updateMaxChildren(uint256 tokenId, uint256 newMaxChildren) public virtual returns (bool) { - //ensure that msg.sender has the role minter - require(hasRole(CREATOR_ROLE, _msgSender()) || address(this) == _msgSender(), 'Creator role required'); - require(newMaxChildren > ancestry[tokenId].children.length, 'Max < Actual'); - ancestry[tokenId].maxChildren = newMaxChildren; - - return true; - } - - //Functions for support ERC721 extensions - function tokenURI(uint256 tokenId) public view virtual override(ERC721, ERC721URIStorage) returns (string memory) { - return super.tokenURI(tokenId); - } - - function _baseURI() internal view virtual override returns (string memory) { - return _baseTokenURI; - } - - function pause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), 'Pauser role required'); - _pause(); - } - - function unpause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), 'Pauser role required'); - _unpause(); - } - - function _beforeTokenTransfer( - address from, - address to, - uint256 tokenId - ) internal virtual override(ERC721, ERC721Pausable) { - super._beforeTokenTransfer(from, to, tokenId); - } - - function supportsInterface(bytes4 interfaceId) public view virtual override(AccessControlEnumerable, ERC721) returns (bool) { - return super.supportsInterface(interfaceId); - } - - function _burn(uint256 tokenId) internal virtual override(ERC721, ERC721URIStorage) { - super._burn(tokenId); - } - - function burn(uint256 tokenId) public virtual override { - require(getApproved(tokenId) == _msgSender(), 'Sender not authorized to burn'); - require(ancestry[tokenId].children.length == 0, 'NFT must not have children'); - //delete token from royalty (check for 0 balance included) - royaltyModule.deleteRoyaltyAccount(tokenId); - - _burn(tokenId); - - uint256 parentId = ancestry[tokenId].parentId; - uint256 length = ancestry[parentId].children.length; - //delete burned token from ancestry - for (uint256 i = 0; i < length; i++) { - if (ancestry[parentId].children[i] == tokenId) { - //swap with last and delete last element for less gas - ancestry[parentId].children[i] = ancestry[parentId].children[length - 1]; - delete ancestry[parentId].children[length - 1]; - break; - } - } - } - - function transferFrom( - address, - address, - uint256 - ) public pure override { - revert('Function not allowed'); - } - - function safeTransferFrom( - address, - address, - uint256 - ) public virtual override { - revert('Function not allowed'); - } - - function _getTokenBalance(address tokenAddress) private view returns (uint256) { - return IERC20(tokenAddress).balanceOf(address(this)); - } - - function _isEthToken(string memory tokenType) internal pure returns (bool) { - return keccak256(abi.encodePacked(tokenType)) == keccak256(abi.encodePacked('ETH')); - } - - function listNFT( - uint256[] calldata tokenIds, - uint256 price, - string calldata tokenType - ) public virtual returns (bool) { - - for (uint256 i = 0; i < tokenIds.length; i++) { - require(getApproved(tokenIds[i]) == _msgSender(), 'Must be token owner'); - require(royaltyModule.isSupportedTokenType(tokenIds[i], tokenType), 'Unsupported token type'); - } - //Put tokens to listed - paymentModule.addListNFT(_msgSender(), tokenIds, price, tokenType); - return true; - } - - function removeNFTListing(uint256 tokenId) public virtual returns (bool) { - require(_msgSender() == getApproved(tokenId), 'Must be token owner'); - paymentModule.removeListNFT(tokenId); - return true; - } - - function _requireExistsAndOwned(uint256[] memory tokenIds, address seller) internal view { - for (uint256 i = 0; i < tokenIds.length; i++) { - require(_exists(tokenIds[i]), 'Token does not exist'); - require(seller == getApproved(tokenIds[i]), 'Seller is not owner'); - } - } - - // ERC20 royalty payment - function executePayment( - address receiver, - address seller, - uint256[] calldata tokenIds, - uint256 payment, - string calldata tokenType, - int256 trxntype - ) public virtual nonReentrant returns (bool) { - require(payment > 0, 'Payments cannot be 0!'); - require(trxntype == 0 || trxntype == 1, 'Trxn type not supported'); - require(receiver != address(0), 'Receiver must not be zero'); - _requireExistsAndOwned(tokenIds, seller); - - paymentModule.isValidPaymentMetadata(seller, tokenIds, payment, tokenType); - - //Execute ERC20 payment - address payToken = allowedToken[tokenType]; - { - require(payToken != address(0x0), 'Unsupported token type'); - //Check for ERC20 approval - uint256 allowed = IERC20(payToken).allowance(_msgSender(), address(this)); - require(allowed >= payment, 'Insufficient token allowance'); - - uint256 balanceBefore = _getTokenBalance(payToken); - - //Transfer ERC20 token to contact - bool success = IERC20(payToken).transferFrom(_msgSender(), address(this), payment); - require(success && payment == _getTokenBalance(payToken) - balanceBefore, 'ERC20 transfer failed'); - } - - //If the transfer is successful, the registeredPayment mapping is updated if trxntype = 1 - if (trxntype == 1) { - paymentModule.addRegisterPayment(_msgSender(), tokenIds, payment, tokenType); - } - //if trxntype = 0, an internal version of the safeTransferFrom function must be called to transfer the NFTs to the buyer - else if (trxntype == 0) { - //encode payment data for transfer(s) - bytes memory data = abi.encode(seller, _msgSender(), receiver, tokenIds, tokenType, payment, payToken, block.chainid); - - //transfer NFT(s) - _safeTransferFrom(seller, _msgSender(), tokenIds[0], data); - } - - return true; - } - - function checkPayment( - uint256 tokenId, - string memory tokenType, - address buyer - ) public view virtual returns (uint256) { - return paymentModule.checkRegisterPayment(tokenId, buyer, tokenType); - } - - function reversePayment(uint256 tokenId, string memory tokenType) public virtual nonReentrant returns (bool) { - uint256 payment = checkPayment(tokenId, tokenType, _msgSender()); - require(payment > 0, 'No payment registered'); - - bool success; - if (_isEthToken(tokenType)) { - //ETH reverse payment - (success, ) = _msgSender().call{value: payment}(''); - require(success, 'Ether payout issue'); - } else { - //ERC20 reverse payment - success = IERC20(allowedToken[tokenType]).transfer(_msgSender(), payment); - require(success, 'ERC20 transfer failed'); - } - paymentModule.removeRegisterPayment(_msgSender(), tokenId); - - return success; - } - - function safeTransferFrom( - address from, - address to, - uint256 tokenId, - bytes memory data - ) public override { - ( - address _seller, - address _buyer, - address _receiver, - uint256[] memory _tokenIds, - string memory _tokenType, - uint256 _payment, /*address _tokenTypeAddress*/ - , - uint256 _chainId - ) = abi.decode(data, (address, address, address, uint256[], string, uint256, address, uint256)); - - require(_seller == from, 'Seller not From address'); - require(_receiver == to, 'Receiver not To address'); - require(_tokenIds[0] == tokenId, 'Wrong NFT listing'); - require(_chainId == block.chainid, 'Transfer on wrong Blockchain'); - - //check register payment - require(paymentModule.checkRegisterPayment(_buyer, _tokenIds, _payment, _tokenType)); - - _requireExistsAndOwned(_tokenIds, _seller); - - //remove register payment - paymentModule.removeRegisterPayment(to, tokenId); - - //Transfer token - _safeTransferFrom(from, to, tokenId, data); - } - - function _safeTransferFrom( - address from, - address to, - uint256, /*tokenId*/ - bytes memory data - ) internal virtual { - (, , , uint256[] memory _tokenIds, string memory tokenType, uint256 payment, address _tokenTypeAddress, ) = abi.decode( - data, - (address, address, address, uint256[], string, uint256, address, uint256) - ); - - require(allowedToken[tokenType] != address(0x0), 'Unsupported token type'); - - if (_isEthToken(tokenType)) { - //Royalty pay in ether - require(_tokenTypeAddress == address(this), 'token address must be contract'); - } - - //Get payments split - uint256[] memory _payments = royaltyModule.splitSum(payment, _tokenIds.length); - - for (uint256 i = 0; i < _tokenIds.length; i++) { - //Distribute royalty payment - royaltyModule.distributePayment(_tokenIds[i], _payments[i]); - - //base transfer after royalty pay - _approve(to, _tokenIds[i]); - //super.safeTransferFrom(from, to, _tokenId, data); - - //give to address minter role unless it has it already -- new in ver 1.3 - _grantRole(MINTER_ROLE, to); - - //Force royalty payout for old account - uint256 balance = royaltyModule.getBalance(_tokenIds[i], payable(from)); - if (balance > 0) _royaltyPayOut(_tokenIds[i], payable(from), payable(from), balance); - - //Transfer RA ownership - royaltyModule.transferRAOwnership(from, _tokenIds[i], to); - } - - paymentModule.removeListNFT(_tokenIds[0]); - } - - receive() external payable {} - - fallback() external payable { - // decode msg.data to decide which transfer route to take - (address seller, uint256[] memory tokenIds, address receiver, int256 trxntype) = abi.decode(msg.data, (address, uint256[], address, int256)); - - _requireExistsAndOwned(tokenIds, seller); - - paymentModule.isValidPaymentMetadata(seller, tokenIds, msg.value, 'ETH'); - //decide which transfer path to go based on trxntype (0 = direct purchase, 1 = exchange purchase) - if (trxntype == 1) { - //register payment for exchange based purchases which require a separate, external call to safeTransferFrom function - paymentModule.addRegisterPayment(_msgSender(), tokenIds, msg.value, 'ETH'); - } else if (trxntype == 0) { - //encode payment data for transfer(s) - bytes memory data = abi.encode(seller, _msgSender(), receiver, tokenIds, 'ETH', msg.value, address(this), block.chainid); - - //transfer NFT(s) - _safeTransferFrom(seller, _msgSender(), tokenIds[0], data); - } else { - //if the trxn type is not supported then we need to revert the entire transaction. - revert('Trxn type not supported'); - } - } - - function royaltyPayOut( - uint256 tokenId, - address RAsubaccount, - address payable payoutAccount, - uint256 amount - ) public virtual returns (bool) { - require(_msgSender() == RAsubaccount, 'Sender must be subaccount owner'); - return _royaltyPayOut(tokenId, RAsubaccount, payoutAccount, amount); - } - - function _royaltyPayOut( - uint256 tokenId, - address RAsubaccount, - address payable payoutAccount, - uint256 amount - ) internal virtual returns (bool) { - royaltyModule.checkBalanceForPayout(tokenId, RAsubaccount, amount); - string memory tokenType = royaltyModule.getTokenType(tokenId); - //Reentrancy defence - royaltyModule.withdrawBalance(tokenId, RAsubaccount, amount); - - //payout in Ether - if (_isEthToken(tokenType)) { - (bool success, ) = payoutAccount.call{value: amount}(''); - require(success, 'Ether payout issue'); - } - //payout in tokens - else { - bool success = IERC20(allowedToken[tokenType]).transfer(payoutAccount, amount); - require(success, 'ERC20 transfer failed'); - } - - return true; - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol deleted file mode 100644 index 66ae3e135a083..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyBearingTokenStorage.sol +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.10; - -import './StorageStructure.sol'; -import '@openzeppelin/contracts/utils/Address.sol'; -import '@openzeppelin/contracts/utils/Counters.sol'; -import '@openzeppelin/contracts/access/AccessControlEnumerable.sol'; -import './RoyaltyModule.sol'; -import './PaymentModule.sol'; - -contract RoyaltyBearingTokenStorage is StorageStructure, AccessControlEnumerable { - using Address for address; - using Counters for Counters.Counter; - - bytes32 public constant MINTER_ROLE = keccak256('MINTER_ROLE'); - bytes32 public constant PAUSER_ROLE = keccak256('PAUSER_ROLE'); - bytes32 public constant CREATOR_ROLE = keccak256('CREATOR_ROLE'); - string internal _baseTokenURI; - Counters.Counter internal _tokenIdTracker; - - mapping(uint256 => Child) internal ancestry; //An ancestry mapping of the parent-to-child NFT relationship - mapping(string => address) internal allowedToken; //A mapping of supported token types to their origin contracts - mapping(address => uint256) internal allowedTokenContract; //A mapping of supported token types to their origin contracts - address[] internal allowedTokenList; - mapping(bytes4 => bool) internal functionSigMap; //functionSig mapping - - RoyaltyModule internal royaltyModule; - PaymentModule internal paymentModule; - //address internal logicModule; - - uint256 internal _numGenerations; - address internal _ttAddress; - uint256 internal _royaltySplitTT; - - event Received(address sender, uint256 amount, uint256 tokenId); -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol deleted file mode 100644 index 9dc9bf34409e7..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/RoyaltyModule.sol +++ /dev/null @@ -1,298 +0,0 @@ -// SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.10; - -import '@openzeppelin/contracts/access/Ownable.sol'; -import './StorageStructure.sol'; -import 'abdk-libraries-solidity/ABDKMathQuad.sol'; - -contract RoyaltyModule is StorageStructure, Ownable { - mapping(uint256 => address) private _tokenindextoRA; //Mapping a tokenId to an raAccountID in order to connect a RA raAccountId to a tokenId - mapping(address => RoyaltyAccount) private _royaltyaccount; //Mapping the raAccountID to a RoyaltyAccount in order to connect the account identifier to the actual account. - mapping(address => RASubAccount[]) private _royaltysubaccounts; //workaround for array in struct - mapping(uint256 => Child) private ancestry; //An ancestry mapping of the parent-to-child NFT relationship - - event RoyalyDistributed(uint256 tokenId, address to, uint256 amount, uint256 assetId); - address private _ttAddress; - uint256 private _royaltySplitTT; - uint256 private _maxSubAccount; - uint256 private _minRoyaltySplit; - - constructor( - address owner, - address ttAddress, - uint256 royaltySplitTT, - uint256 minRoyaltySplit, - uint256 maxSubAccounts - ) { - transferOwnership(owner); - require(royaltySplitTT < 10000, 'Royalty Split to TT is > 100%'); //new v1.3 - require(royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); - require(ttAddress != address(0), 'Zero Address cannot be TT roaylty account'); - _ttAddress = ttAddress; - _royaltySplitTT = royaltySplitTT; - _maxSubAccount = maxSubAccounts; - _minRoyaltySplit = minRoyaltySplit; - } - - function updateRAccountLimits(uint256 maxSubAccounts, uint256 minRoyaltySplit) public virtual onlyOwner returns (bool) { - require(_royaltySplitTT + minRoyaltySplit < 10000, 'Royalty Split to TT + Minimal Split is > 100%'); - _maxSubAccount = maxSubAccounts; - _minRoyaltySplit = minRoyaltySplit; - return true; - } - - function getAccount(uint256 tokenId) - public - view - returns ( - address, - RoyaltyAccount memory, - RASubAccount[] memory - ) - { - address royaltyAccount = _tokenindextoRA[tokenId]; - return (royaltyAccount, _royaltyaccount[royaltyAccount], _royaltysubaccounts[royaltyAccount]); - } - - // Lib variant - // Rules: - // Only subaccount owner can decrease splitRoyalty for this subaccount - // Only parent token owner can decrease royalty subaccount splitRoyalty - function updateRoyaltyAccount( - uint256 tokenId, - RASubAccount[] memory affectedSubaccounts, - address sender, - bool isTokenOwner - ) public virtual onlyOwner { - address royaltyAccount = _tokenindextoRA[tokenId]; - //Check total sum of royaltySplit was not changed - uint256 oldSum; - uint256 newSum; - for (uint256 i = 0; i < affectedSubaccounts.length; i++) { - require(affectedSubaccounts[i].royaltySplit >= _minRoyaltySplit, 'Royalty Split is smaller then set limit'); - newSum += affectedSubaccounts[i].royaltySplit; - (bool found, uint256 indexOld) = _findSubaccountIndex(royaltyAccount, affectedSubaccounts[i].accountId); - if (found) { - RASubAccount storage foundAcc = _royaltysubaccounts[royaltyAccount][indexOld]; - oldSum += foundAcc.royaltySplit; - //Check rights to decrease royalty split - if (affectedSubaccounts[i].royaltySplit < foundAcc.royaltySplit) { - if (foundAcc.isIndividual) { - require(affectedSubaccounts[i].accountId == sender, 'Only individual subaccount owner can decrease royaltySplit'); - } else { - require(isTokenOwner, 'Only parent token owner can decrease royalty subaccount royaltySplit'); - } - } - } - //New subaccounts must be individual - else { - require(affectedSubaccounts[i].isIndividual, 'New subaccounts must be individual'); - } - } - require(oldSum == newSum, 'Total royaltySplit must be 10000'); - - //Update royalty split for subaccounts and add new subaccounts - for (uint256 i = 0; i < affectedSubaccounts.length; i++) { - (bool found, uint256 indexOld) = _findSubaccountIndex(royaltyAccount, affectedSubaccounts[i].accountId); - if (found) { - _royaltysubaccounts[royaltyAccount][indexOld].royaltySplit = affectedSubaccounts[i].royaltySplit; - } else { - require(_royaltysubaccounts[royaltyAccount].length < _maxSubAccount, 'Too many Royalty subaccounts'); - _royaltysubaccounts[royaltyAccount].push(RASubAccount(true, affectedSubaccounts[i].royaltySplit, 0, affectedSubaccounts[i].accountId)); - } - } - } - - //Deleting a Royalty Account - function deleteRoyaltyAccount(uint256 tokenId) public virtual onlyOwner { - address royaltyAccount = _tokenindextoRA[tokenId]; - for (uint256 i = 0; i < _royaltysubaccounts[royaltyAccount].length; i++) { - if (_royaltysubaccounts[royaltyAccount][i].isIndividual) { - require(_royaltysubaccounts[royaltyAccount][i].royaltyBalance == 0, "Can't delete non empty royalty account"); - } - } - delete _royaltyaccount[royaltyAccount]; - delete _royaltysubaccounts[royaltyAccount]; - delete _tokenindextoRA[tokenId]; - } - - function createRoyaltyAccount( - address to, - uint256 parentTokenId, - uint256 tokenId, - string calldata tokenType, - uint256 royaltySplitForItsChildren - ) public onlyOwner returns (address) { - require(royaltySplitForItsChildren <= 10000, 'Royalty Split to be received from children is > 100%'); - - require(_royaltySplitTT + royaltySplitForItsChildren <= 10000, 'Royalty Splits sum is > 100%'); - address raAccountId = address(bytes20(keccak256(abi.encodePacked(tokenId, to, block.number)))); - if (parentTokenId == 0) { - //Create Royalty account without parent - - //create the RA subaccount for the to address - _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: 10000 - _royaltySplitTT, royaltyBalance: 0, accountId: to})); - - //create the RA subaccount for TreeTrunk - _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: _royaltySplitTT, royaltyBalance: 0, accountId: _ttAddress})); - - //now create the Royalty Account - //map assetID to RA - _royaltyaccount[raAccountId] = RoyaltyAccount({assetId: tokenId, parentId: 0, royaltySplitForItsChildren: royaltySplitForItsChildren, tokenType: tokenType, balance: 0}); - } else { - //Create royalty account with parent - - address parentRoyaltyAccount = _tokenindextoRA[parentTokenId]; - //tokenType must be same as in parent - require(_isSameString(tokenType, _royaltyaccount[parentRoyaltyAccount].tokenType), 'tokenType must be same as in parent'); - - RoyaltyAccount memory parentRA = _royaltyaccount[parentRoyaltyAccount]; - //create the RA subaccount for the to address - _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: 10000 - parentRA.royaltySplitForItsChildren - _royaltySplitTT, royaltyBalance: 0, accountId: to})); - - //create the RA subaccount for TreeTrunk - _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: true, royaltySplit: _royaltySplitTT, royaltyBalance: 0, accountId: _ttAddress})); - - //create the RA subaccount for the RA address of the ancestor - _royaltysubaccounts[raAccountId].push(RASubAccount({isIndividual: false, royaltySplit: parentRA.royaltySplitForItsChildren, royaltyBalance: 0, accountId: parentRoyaltyAccount})); - - //now create the Royalty Account - //map assetID to RA - _royaltyaccount[raAccountId] = RoyaltyAccount({assetId: tokenId, parentId: parentRA.assetId, royaltySplitForItsChildren: royaltySplitForItsChildren, tokenType: tokenType, balance: 0}); - } - require(_royaltysubaccounts[raAccountId].length <= _maxSubAccount, 'Too many Royalty subaccounts'); - _tokenindextoRA[tokenId] = raAccountId; - return raAccountId; - } - - //Function for recursive distribution royalty for RA tree - function distributePayment(uint256 tokenId, uint256 payment) public virtual onlyOwner returns (bool) { - address royaltyAccount = _tokenindextoRA[tokenId]; - return _distributePayment(royaltyAccount, payment, tokenId); - } - - function _distributePayment( - address royaltyAccount, - uint256 payment, - uint256 tokenId - ) internal virtual returns (bool) { - uint256 remainsValue = payment; - uint256 remainsSplit = 10000; - uint256 assetId = _royaltyaccount[royaltyAccount].assetId; - for (uint256 i = 0; i < _royaltysubaccounts[royaltyAccount].length; i++) { - //skip calculate for 0% subaccounts - if (_royaltysubaccounts[royaltyAccount][i].royaltySplit == 0) continue; - //calculate royalty split sum - uint256 paymentSplit = mulDiv(remainsValue, _royaltysubaccounts[royaltyAccount][i].royaltySplit, remainsSplit); - remainsValue -= paymentSplit; - remainsSplit -= _royaltysubaccounts[royaltyAccount][i].royaltySplit; - //distribute if IND subaccount - if (_royaltysubaccounts[royaltyAccount][i].isIndividual == true) { - _royaltysubaccounts[royaltyAccount][i].royaltyBalance += paymentSplit; - emit RoyalyDistributed(tokenId, _royaltysubaccounts[royaltyAccount][i].accountId, paymentSplit, assetId); - } - //distribute if RA subaccounts - else { - _distributePayment(_royaltysubaccounts[royaltyAccount][i].accountId, paymentSplit, tokenId); - } - } - return true; - } - - function isSupportedTokenType(uint256 tokenId, string calldata tokenType) public view returns (bool) { - return _isSameString(tokenType, _royaltyaccount[_tokenindextoRA[tokenId]].tokenType); - } - - function getTokenType(uint256 tokenId) public view returns (string memory) { - return _royaltyaccount[_tokenindextoRA[tokenId]].tokenType; - } - - function findSubaccountIndex(uint256 tokenId, address subaccount) public view virtual returns (bool, uint256) { - address royaltyAccount = _tokenindextoRA[tokenId]; - return _findSubaccountIndex(royaltyAccount, subaccount); - } - - function checkBalanceForPayout( - uint256 tokenId, - address subaccount, - uint256 amount - ) public view virtual returns (bool) { - (bool subaccountFound, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); - require(subaccountFound, 'Subaccount not found'); - RASubAccount memory subAccount = getSubaccount(tokenId, subaccountIndex); - require(subAccount.isIndividual == true, 'Subaccount must be individual'); - require(subAccount.royaltyBalance >= amount, 'Insufficient royalty balance'); - return true; - } - - function getSubaccount(uint256 tokenId, uint256 subaccountIndex) public view virtual returns (RASubAccount memory) { - return _royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex]; - } - - function getBalance(uint256 tokenId, address subaccount) public view virtual returns (uint256) { - (bool found, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); - if (!found) return 0; - return getSubaccount(tokenId, subaccountIndex).royaltyBalance; - } - - //Used for reduce royalty ballance after payout - //Used only in RoyaltyBearingToken._royaltyPayOut(uint256,address,address,uint256) - function withdrawBalance( - uint256 tokenId, - address subaccount, - uint256 amount - ) public virtual onlyOwner { - (bool subaccountFound, uint256 subaccountIndex) = findSubaccountIndex(tokenId, subaccount); - require(subaccountFound, 'Subaccount not found'); - require(_royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex].royaltyBalance >= amount, 'Insufficient royalty balance'); - _royaltysubaccounts[_tokenindextoRA[tokenId]][subaccountIndex].royaltyBalance -= amount; - } - - //Used in RoyaltyBearingToken._safeTransferFrom(address, address,uint256, bytes) - //for transfer royalty account ownership after tranfer token ownership - function transferRAOwnership( - address seller, - uint256 tokenId, - address buyer - ) public virtual onlyOwner { - address royaltyAccount = _tokenindextoRA[tokenId]; - (bool found, uint256 index) = _findSubaccountIndex(royaltyAccount, seller); - require(found, 'Seller subaccount not found'); - require(_royaltysubaccounts[royaltyAccount][index].royaltyBalance == uint256(0), 'Seller subaccount must have 0 balance'); - - //replace owner of subaccount - _royaltysubaccounts[royaltyAccount][index].accountId = buyer; - } - - // Find subaccount index by subaccount address - function _findSubaccountIndex(address royaltyAccount, address subaccount) internal view virtual returns (bool, uint256) { - //local variable decrease contract code size - RASubAccount[] storage subAccounts = _royaltysubaccounts[royaltyAccount]; - for (uint256 i = 0; i < subAccounts.length; i++) { - if (subAccounts[i].accountId == subaccount) { - return (true, i); - } - } - return (false, 0); - } - - //Util function for split royalty payment - function mulDiv( - uint256 x, - uint256 y, - uint256 z - ) public pure returns (uint256) { - return ABDKMathQuad.toUInt(ABDKMathQuad.div(ABDKMathQuad.mul(ABDKMathQuad.fromUInt(x), ABDKMathQuad.fromUInt(y)), ABDKMathQuad.fromUInt(z))); - } - - //Util function for split value by pieces without remains - function splitSum(uint256 sum, uint256 pieces) public pure virtual returns (uint256[] memory) { - uint256[] memory result = new uint256[](pieces); - uint256 remains = sum; - for (uint256 i = 0; i < pieces; i++) { - result[i] = mulDiv(remains, 1, pieces - i); - remains -= result[i]; - } - return result; - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol deleted file mode 100644 index b3f350075b252..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/StorageStructure.sol +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: Apache 2.0 -pragma solidity 0.8.10; - -contract StorageStructure { - struct RoyaltyAccount { - //assetId is the tokenId of the NFT the RA belongs to - uint256 assetId; - //parentId is the tokenId of the NFT from which this NFT is derived - uint256 parentId; - //royaltySplit to be paid to RA from its direct offspring - uint256 royaltySplitForItsChildren; - //tokenType of the balance in this RA account - string tokenType; - //Account balance is the total RA account balance and must be equal to the sum of the subaccount balances - uint256 balance; - //the struct array for sub accounts (Not supported in eth) - //RASubAccount[] rasubaccount; - } - - struct RASubAccount { - //accounttype is defined as isIndividual, and is a boolean variable, and if set to true, the account is that of an individual, if set to false, the account is an RA account ID - bool isIndividual; - // royalty split gives the percentage as a decimal value smaller than 1 - uint256 royaltySplit; - //balance of the subaccount - uint256 royaltyBalance; - //we need the account id which we define as a bytes32 such that it is easy to convert to an address and can also be used to identity an RA acount by a hash value - address accountId; - } - - struct Child { - //link to parent token - uint256 parentId; - //maximum number of children - uint256 maxChildren; - //ancestry level of NFT used to determine level of children - uint256 ancestryLevel; //new in v1.3 - //link to children tokens - uint256[] children; - } - - struct NFTToken { - //the parent of the (child) token, if 0 then there is no parent - uint256 parent; - //whether the token can be a parent - bool canBeParent; - //how many children the token can have - uint256 maxChildren; - //what the Royalty Split For Its Child is - uint256 royaltySplitForItsChildren; - //token URI - string uri; - } - - struct RegisteredPayment { - //Buyer - address buyer; - //tokens bought - uint256[] boughtTokens; - //Type of Payment Token - string tokenType; - //Payment amount - uint256 payment; - } - - struct ListedNFT { - //Seller - address seller; - //tokens listed - uint256[] listedtokens; - //Type of Payment Token - string tokenType; - //List price - uint256 price; - } - - function _isSameString(string memory left, string memory right) internal pure returns (bool) { - return keccak256(abi.encodePacked(left)) == keccak256(abi.encodePacked(right)); - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol deleted file mode 100644 index 60f3aa493c528..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/SomeERC20.sol +++ /dev/null @@ -1,16 +0,0 @@ -// SPDX-License-Identifier: Unlicenzed -pragma solidity ^0.8.0; - -import "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol"; - -contract WETH_Mock is ERC20PresetMinterPauser { - constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} -} - -contract SomeERC20_1 is ERC20PresetMinterPauser { - constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} -} - -contract SomeERC20_2 is ERC20PresetMinterPauser { - constructor(string memory name, string memory symbol) ERC20PresetMinterPauser(name, symbol) {} -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol b/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol deleted file mode 100644 index f1cc9e995df42..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/contracts/test/faucet.sol +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: Unlicensed -pragma solidity ^0.8.10; - -//import '@openzeppelin/contracts/token/ERC20/IERC20.sol' - -interface ERC20 { - function transfer(address to, uint256 value) external returns (bool); - - function balanceOf(address account) external view returns (uint256); - - event Transfer(address indexed from, address indexed to, uint256 value); -} - -contract Faucet { - uint256 public constant tokenAmount = 100000000000000000000; - uint256 public constant waitTime = 10 minutes; - - ERC20 public tokenInstance; - - mapping(address => uint256) lastAccessTime; - - constructor(address _tokenInstance) { - require(_tokenInstance != address(0)); - tokenInstance = ERC20(_tokenInstance); - } - - function getTokeInstance() public view returns (address) { - return address(tokenInstance); - } - - function getBalance() public view returns (uint256) { - return tokenInstance.balanceOf(address(this)); - } - - function requestTokens() public { - requestTokensTo(msg.sender); - } - - function requestTokensTo(address _receiver) public { - require(allowedToWithdraw(_receiver)); - tokenInstance.transfer(_receiver, tokenAmount); - lastAccessTime[_receiver] = block.timestamp + waitTime; - } - - function allowedToWithdraw(address _address) public view returns (bool) { - if (lastAccessTime[_address] == 0) { - return true; - } else if (block.timestamp >= lastAccessTime[_address]) { - return true; - } - return false; - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/coverage.json b/assets/eip-4910/eip-4910-reference-implementation/coverage.json deleted file mode 100644 index a8d0488973487..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/coverage.json +++ /dev/null @@ -1 +0,0 @@ -{"contracts/PaymentModule.sol":{"l":{"18":3,"19":3,"20":3,"24":2,"25":2,"26":2,"35":27,"36":27,"37":23,"38":21,"40":21,"41":26,"44":21,"48":27,"50":25,"51":34,"53":23,"57":22,"59":20,"60":25,"63":20,"64":21,"65":20,"66":20,"67":20,"71":20,"75":1,"76":1,"80":1,"90":34,"92":34,"94":34,"96":32,"98":28,"99":28,"100":37,"102":26,"111":7,"112":5,"116":1,"124":10,"125":6,"126":5,"138":11,"140":9,"142":7,"144":5,"145":5,"146":7,"148":5,"153":5,"154":5},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/PaymentModule.sol","s":{"1":3,"2":3,"3":3,"4":2,"5":2,"6":2,"7":27,"8":27,"9":23,"10":21,"11":21,"12":26,"13":21,"14":27,"15":2,"16":25,"17":34,"18":2,"19":23,"20":22,"21":20,"22":25,"23":20,"24":21,"25":20,"26":20,"27":1,"28":1,"29":1,"30":34,"31":34,"32":34,"33":32,"34":28,"35":28,"36":37,"37":26,"38":7,"39":5,"40":1,"41":10,"42":6,"43":5,"44":4,"45":11,"46":9,"47":7,"48":5,"49":5,"50":7,"51":5,"52":5},"b":{"1":[3,0],"2":[2,0],"3":[27,0],"4":[23,4],"5":[21,2],"6":[2,25],"7":[2,32],"8":[20,2],"9":[20,1],"10":[1,0],"11":[34,0],"12":[34,0],"13":[32,2],"14":[28,4],"15":[35,2],"16":[5,2],"17":[6,4],"18":[5,1],"19":[9,2],"20":[7,2],"21":[5,2],"22":[7,0],"23":[5,0]},"f":{"1":3,"2":2,"3":27,"4":27,"5":22,"6":1,"7":1,"8":34,"9":7,"10":1,"11":10,"12":11,"13":5},"fnMap":{"1":{"name":"constructor","line":17,"loc":{"start":{"line":17,"column":4},"end":{"line":21,"column":4}}},"2":{"name":"updatelistinglimit","line":23,"loc":{"start":{"line":23,"column":4},"end":{"line":27,"column":4}}},"3":{"name":"addListNFT","line":34,"loc":{"start":{"line":29,"column":4},"end":{"line":45,"column":4}}},"4":{"name":"existsInListNFT","line":47,"loc":{"start":{"line":47,"column":4},"end":{"line":54,"column":4}}},"5":{"name":"removeListNFT","line":56,"loc":{"start":{"line":56,"column":4},"end":{"line":72,"column":4}}},"6":{"name":"getListNFT","line":74,"loc":{"start":{"line":74,"column":4},"end":{"line":77,"column":4}}},"7":{"name":"getAllListNFT","line":79,"loc":{"start":{"line":79,"column":4},"end":{"line":81,"column":4}}},"8":{"name":"isValidPaymentMetadata","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":103,"column":4}}},"9":{"name":"addRegisterPayment","line":110,"loc":{"start":{"line":105,"column":4},"end":{"line":113,"column":4}}},"10":{"name":"getRegisterPayment","line":115,"loc":{"start":{"line":115,"column":4},"end":{"line":117,"column":4}}},"11":{"name":"checkRegisterPayment","line":119,"loc":{"start":{"line":119,"column":4},"end":{"line":128,"column":4}}},"12":{"name":"checkRegisterPayment","line":132,"loc":{"start":{"line":132,"column":4},"end":{"line":149,"column":4}}},"13":{"name":"removeRegisterPayment","line":152,"loc":{"start":{"line":152,"column":4},"end":{"line":155,"column":4}}}},"statementMap":{"1":{"start":{"line":18,"column":8},"end":{"line":18,"column":31}},"2":{"start":{"line":19,"column":8},"end":{"line":19,"column":62}},"3":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"4":{"start":{"line":24,"column":8},"end":{"line":24,"column":62}},"5":{"start":{"line":25,"column":8},"end":{"line":25,"column":43}},"6":{"start":{"line":26,"column":8},"end":{"line":26,"column":19}},"7":{"start":{"line":35,"column":8},"end":{"line":35,"column":51}},"8":{"start":{"line":36,"column":8},"end":{"line":36,"column":60}},"9":{"start":{"line":37,"column":8},"end":{"line":37,"column":76}},"10":{"start":{"line":38,"column":8},"end":{"line":38,"column":119}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":1671}},"12":{"start":{"line":41,"column":12},"end":{"line":41,"column":40}},"13":{"start":{"line":44,"column":8},"end":{"line":44,"column":38}},"14":{"start":{"line":48,"column":8},"end":{"line":48,"column":68}},"15":{"start":{"line":48,"column":57},"end":{"line":48,"column":68}},"16":{"start":{"line":50,"column":8},"end":{"line":50,"column":2020}},"17":{"start":{"line":51,"column":12},"end":{"line":51,"column":51}},"18":{"start":{"line":51,"column":40},"end":{"line":51,"column":51}},"19":{"start":{"line":53,"column":8},"end":{"line":53,"column":20}},"20":{"start":{"line":57,"column":8},"end":{"line":57,"column":96}},"21":{"start":{"line":59,"column":8},"end":{"line":59,"column":2361}},"22":{"start":{"line":60,"column":12},"end":{"line":60,"column":64}},"23":{"start":{"line":63,"column":8},"end":{"line":63,"column":2545}},"24":{"start":{"line":64,"column":12},"end":{"line":64,"column":2614}},"25":{"start":{"line":65,"column":16},"end":{"line":65,"column":73}},"26":{"start":{"line":66,"column":16},"end":{"line":66,"column":34}},"27":{"start":{"line":75,"column":8},"end":{"line":75,"column":76}},"28":{"start":{"line":76,"column":8},"end":{"line":76,"column":33}},"29":{"start":{"line":80,"column":8},"end":{"line":80,"column":28}},"30":{"start":{"line":90,"column":8},"end":{"line":90,"column":80}},"31":{"start":{"line":92,"column":8},"end":{"line":92,"column":89}},"32":{"start":{"line":94,"column":8},"end":{"line":94,"column":77}},"33":{"start":{"line":96,"column":8},"end":{"line":96,"column":122}},"34":{"start":{"line":98,"column":8},"end":{"line":98,"column":75}},"35":{"start":{"line":99,"column":8},"end":{"line":99,"column":4081}},"36":{"start":{"line":100,"column":12},"end":{"line":100,"column":87}},"37":{"start":{"line":102,"column":8},"end":{"line":102,"column":19}},"38":{"start":{"line":111,"column":8},"end":{"line":111,"column":100}},"39":{"start":{"line":112,"column":8},"end":{"line":112,"column":137}},"40":{"start":{"line":116,"column":8},"end":{"line":116,"column":41}},"41":{"start":{"line":124,"column":8},"end":{"line":124,"column":5036}},"42":{"start":{"line":125,"column":12},"end":{"line":125,"column":104}},"43":{"start":{"line":126,"column":12},"end":{"line":126,"column":53}},"44":{"start":{"line":127,"column":15},"end":{"line":127,"column":23}},"45":{"start":{"line":138,"column":8},"end":{"line":138,"column":90}},"46":{"start":{"line":140,"column":8},"end":{"line":140,"column":86}},"47":{"start":{"line":142,"column":8},"end":{"line":142,"column":105}},"48":{"start":{"line":144,"column":8},"end":{"line":144,"column":75}},"49":{"start":{"line":145,"column":8},"end":{"line":145,"column":6055}},"50":{"start":{"line":146,"column":12},"end":{"line":146,"column":77}},"51":{"start":{"line":148,"column":8},"end":{"line":148,"column":19}},"52":{"start":{"line":153,"column":8},"end":{"line":153,"column":86}}},"branchMap":{"1":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":8}},{"start":{"line":19,"column":8},"end":{"line":19,"column":8}}]},"2":{"line":24,"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":8}},{"start":{"line":24,"column":8},"end":{"line":24,"column":8}}]},"3":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":8}},{"start":{"line":35,"column":8},"end":{"line":35,"column":8}}]},"4":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":8}},{"start":{"line":36,"column":8},"end":{"line":36,"column":8}}]},"5":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":37,"column":8}},{"start":{"line":37,"column":8},"end":{"line":37,"column":8}}]},"6":{"line":48,"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":8}},{"start":{"line":48,"column":8},"end":{"line":48,"column":8}}]},"7":{"line":51,"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":12}},{"start":{"line":51,"column":12},"end":{"line":51,"column":12}}]},"8":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":8}},{"start":{"line":57,"column":8},"end":{"line":57,"column":8}}]},"9":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":12}},{"start":{"line":64,"column":12},"end":{"line":64,"column":12}}]},"10":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":8}},{"start":{"line":75,"column":8},"end":{"line":75,"column":8}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":8}},{"start":{"line":90,"column":8},"end":{"line":90,"column":8}}]},"12":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":8}},{"start":{"line":92,"column":8},"end":{"line":92,"column":8}}]},"13":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":8}},{"start":{"line":94,"column":8},"end":{"line":94,"column":8}}]},"14":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":8}},{"start":{"line":96,"column":8},"end":{"line":96,"column":8}}]},"15":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":12}},{"start":{"line":100,"column":12},"end":{"line":100,"column":12}}]},"16":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":111,"column":8}},{"start":{"line":111,"column":8},"end":{"line":111,"column":8}}]},"17":{"line":124,"type":"if","locations":[{"start":{"line":124,"column":8},"end":{"line":124,"column":8}},{"start":{"line":124,"column":8},"end":{"line":124,"column":8}}]},"18":{"line":125,"type":"if","locations":[{"start":{"line":125,"column":12},"end":{"line":125,"column":12}},{"start":{"line":125,"column":12},"end":{"line":125,"column":12}}]},"19":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":8}},{"start":{"line":138,"column":8},"end":{"line":138,"column":8}}]},"20":{"line":140,"type":"if","locations":[{"start":{"line":140,"column":8},"end":{"line":140,"column":8}},{"start":{"line":140,"column":8},"end":{"line":140,"column":8}}]},"21":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":8}},{"start":{"line":142,"column":8},"end":{"line":142,"column":8}}]},"22":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":12}},{"start":{"line":146,"column":12},"end":{"line":146,"column":12}}]},"23":{"line":153,"type":"if","locations":[{"start":{"line":153,"column":8},"end":{"line":153,"column":8}},{"start":{"line":153,"column":8},"end":{"line":153,"column":8}}]}}},"contracts/RoyaltyBearingToken.sol":{"l":{"32":3,"33":3,"34":3,"36":3,"37":3,"38":3,"39":3,"40":3,"42":3,"44":3,"45":9,"49":3,"53":3,"54":1,"55":1,"56":1,"57":1,"62":4,"63":2,"68":5,"69":3,"75":6,"76":4,"77":4,"81":1,"94":4,"95":4,"97":2,"98":2,"100":2,"102":0,"103":0,"104":0,"111":3,"112":1,"113":1,"122":649,"124":648,"128":15,"129":13,"130":3,"132":10,"134":11,"136":9,"137":9,"138":9,"142":1,"157":35,"158":34,"166":16,"167":16,"169":16,"189":54,"190":52,"192":50,"194":48,"195":0,"197":48,"201":46,"204":44,"205":654,"208":654,"211":652,"212":2,"216":652,"219":652,"220":641,"223":639,"224":637,"225":637,"227":637,"228":637,"234":648,"237":648,"241":648,"244":648,"247":648,"250":648,"251":646,"255":648,"262":5,"263":3,"264":1,"266":1,"271":2,"275":1,"279":3,"280":1,"284":3,"285":1,"293":649,"297":1,"301":1,"305":9,"308":5,"310":3,"312":1,"314":1,"315":1,"317":1,"318":1,"320":1,"321":1,"322":1,"332":1,"340":2,"344":38,"348":60,"361":33,"362":48,"363":44,"366":27,"367":21,"371":5,"372":3,"373":1,"377":45,"378":62,"379":60,"393":43,"394":41,"395":37,"397":35,"399":29,"402":21,"403":21,"407":21,"408":21,"410":19,"413":19,"415":19,"419":19,"420":5,"425":14,"428":14,"431":17,"441":9,"445":4,"446":4,"448":2,"449":2,"451":1,"452":1,"455":1,"456":1,"458":2,"460":2,"471":19,"482":19,"483":17,"484":15,"485":13,"488":11,"490":5,"497":3,"500":3,"511":19,"516":19,"518":19,"520":3,"524":19,"526":19,"528":24,"532":24,"536":24,"540":24,"541":24,"544":24,"547":19,"555":5,"557":5,"559":5,"561":5,"563":2,"566":2,"569":2,"572":1,"583":12,"584":6,"594":30,"595":26,"597":26,"600":26,"601":5,"602":5,"606":21,"607":21,"610":26},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyBearingToken.sol","s":{"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":3,"11":9,"12":3,"13":3,"14":1,"15":1,"16":1,"17":1,"18":4,"19":2,"20":5,"21":3,"22":6,"23":4,"24":4,"25":1,"26":4,"27":4,"28":2,"29":2,"30":2,"31":0,"32":0,"33":0,"34":3,"35":1,"36":1,"37":649,"38":648,"39":15,"40":13,"41":3,"42":10,"43":11,"44":9,"45":9,"46":9,"47":1,"48":35,"49":34,"50":16,"51":16,"52":16,"53":54,"54":52,"55":50,"56":48,"57":0,"58":48,"59":46,"60":44,"61":654,"62":654,"63":652,"64":2,"65":652,"66":652,"67":641,"68":639,"69":637,"70":637,"71":637,"72":637,"73":648,"74":648,"75":648,"76":648,"77":648,"78":648,"79":646,"80":648,"81":5,"82":3,"83":1,"84":1,"85":2,"86":1,"87":3,"88":1,"89":3,"90":1,"91":649,"92":1,"93":1,"94":9,"95":5,"96":3,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":2,"105":38,"106":60,"107":33,"108":48,"109":44,"110":27,"111":21,"112":5,"113":3,"114":1,"115":45,"116":62,"117":60,"118":43,"119":41,"120":37,"121":35,"122":29,"123":21,"124":21,"125":21,"126":19,"127":19,"128":19,"129":19,"130":5,"131":14,"132":14,"133":14,"134":17,"135":9,"136":4,"137":4,"138":2,"139":2,"140":1,"141":1,"142":1,"143":1,"144":2,"145":2,"146":19,"147":19,"148":17,"149":15,"150":13,"151":11,"152":5,"153":3,"154":3,"155":19,"156":19,"157":19,"158":3,"159":19,"160":19,"161":24,"162":24,"163":24,"164":24,"165":24,"166":24,"167":24,"168":19,"169":5,"170":5,"171":5,"172":5,"173":2,"174":3,"175":2,"176":2,"177":1,"178":12,"179":6,"180":30,"181":26,"182":26,"183":26,"184":5,"185":5,"186":21,"187":21,"188":26},"b":{"1":[3,0],"2":[3,0],"3":[3,0],"4":[1,2],"5":[1,0],"6":[2,2],"7":[3,2],"8":[4,2],"9":[4,0],"10":[2,2],"11":[0,2],"12":[0,0],"13":[1,2],"14":[648,1],"15":[13,2],"16":[3,10],"17":[8,2],"18":[9,2],"19":[34,1],"20":[52,2],"21":[50,2],"22":[48,2],"23":[0,48],"24":[0,0],"25":[46,2],"26":[44,2],"27":[652,2],"28":[2,650],"29":[641,11],"30":[639,2],"31":[637,2],"32":[637,0],"33":[646,2],"34":[3,2],"35":[1,2],"36":[1,2],"37":[1,2],"38":[5,4],"39":[3,2],"40":[1,0],"41":[44,4],"42":[42,2],"43":[3,2],"44":[60,2],"45":[54,6],"46":[41,2],"47":[37,4],"48":[35,2],"49":[19,2],"50":[19,0],"51":[5,14],"52":[14,0],"53":[2,2],"54":[1,1],"55":[1,0],"56":[1,0],"57":[17,2],"58":[15,2],"59":[13,2],"60":[11,2],"61":[5,6],"62":[19,0],"63":[3,16],"64":[3,0],"65":[24,0],"66":[2,3],"67":[2,1],"68":[6,6],"69":[5,21],"70":[5,0],"71":[21,0]},"f":{"1":3,"2":3,"3":4,"4":5,"5":6,"6":1,"7":4,"8":3,"9":649,"10":15,"11":1,"12":35,"13":16,"14":54,"15":5,"16":2,"17":1,"18":3,"19":3,"20":649,"21":1,"22":1,"23":9,"24":1,"25":2,"26":38,"27":60,"28":33,"29":5,"30":45,"31":43,"32":9,"33":4,"34":19,"35":19,"36":5,"37":12,"38":30},"fnMap":{"1":{"name":"constructor","line":31,"loc":{"start":{"line":23,"column":4},"end":{"line":50,"column":4}}},"2":{"name":"init","line":52,"loc":{"start":{"line":52,"column":4},"end":{"line":58,"column":4}}},"3":{"name":"updatelistinglimit","line":60,"loc":{"start":{"line":60,"column":4},"end":{"line":64,"column":4}}},"4":{"name":"updateRAccountLimits","line":66,"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":4}}},"5":{"name":"updateMaxGenerations","line":73,"loc":{"start":{"line":73,"column":4},"end":{"line":78,"column":4}}},"6":{"name":"getModules","line":80,"loc":{"start":{"line":80,"column":4},"end":{"line":82,"column":4}}},"7":{"name":"delegateAuthority","line":85,"loc":{"start":{"line":85,"column":4},"end":{"line":105,"column":4}}},"8":{"name":"setFunctionSignature","line":110,"loc":{"start":{"line":110,"column":4},"end":{"line":114,"column":4}}},"9":{"name":"onERC721Received","line":116,"loc":{"start":{"line":116,"column":4},"end":{"line":125,"column":4}}},"10":{"name":"addAllowedTokenType","line":127,"loc":{"start":{"line":127,"column":4},"end":{"line":139,"column":4}}},"11":{"name":"getAllowedTokens","line":141,"loc":{"start":{"line":141,"column":4},"end":{"line":143,"column":4}}},"12":{"name":"getRoyaltyAccount","line":147,"loc":{"start":{"line":147,"column":4},"end":{"line":159,"column":4}}},"13":{"name":"updateRoyaltyAccount","line":165,"loc":{"start":{"line":165,"column":4},"end":{"line":170,"column":4}}},"14":{"name":"mint","line":184,"loc":{"start":{"line":184,"column":4},"end":{"line":257,"column":4}}},"15":{"name":"updateMaxChildren","line":260,"loc":{"start":{"line":260,"column":4},"end":{"line":267,"column":4}}},"16":{"name":"tokenURI","line":270,"loc":{"start":{"line":270,"column":4},"end":{"line":272,"column":4}}},"17":{"name":"_baseURI","line":274,"loc":{"start":{"line":274,"column":4},"end":{"line":276,"column":4}}},"18":{"name":"pause","line":278,"loc":{"start":{"line":278,"column":4},"end":{"line":281,"column":4}}},"19":{"name":"unpause","line":283,"loc":{"start":{"line":283,"column":4},"end":{"line":286,"column":4}}},"20":{"name":"_beforeTokenTransfer","line":288,"loc":{"start":{"line":288,"column":4},"end":{"line":294,"column":4}}},"21":{"name":"supportsInterface","line":296,"loc":{"start":{"line":296,"column":4},"end":{"line":298,"column":4}}},"22":{"name":"_burn","line":300,"loc":{"start":{"line":300,"column":4},"end":{"line":302,"column":4}}},"23":{"name":"burn","line":304,"loc":{"start":{"line":304,"column":4},"end":{"line":325,"column":4}}},"24":{"name":"transferFrom","line":327,"loc":{"start":{"line":327,"column":4},"end":{"line":333,"column":4}}},"25":{"name":"safeTransferFrom","line":335,"loc":{"start":{"line":335,"column":4},"end":{"line":341,"column":4}}},"26":{"name":"_getTokenBalance","line":343,"loc":{"start":{"line":343,"column":4},"end":{"line":345,"column":4}}},"27":{"name":"_isEthToken","line":347,"loc":{"start":{"line":347,"column":4},"end":{"line":349,"column":4}}},"28":{"name":"listNFT","line":352,"loc":{"start":{"line":352,"column":4},"end":{"line":368,"column":4}}},"29":{"name":"removeNFTListing","line":370,"loc":{"start":{"line":370,"column":4},"end":{"line":374,"column":4}}},"30":{"name":"_requireExistsAndOwned","line":376,"loc":{"start":{"line":376,"column":4},"end":{"line":381,"column":4}}},"31":{"name":"executePayment","line":392,"loc":{"start":{"line":385,"column":4},"end":{"line":432,"column":4}}},"32":{"name":"checkPayment","line":434,"loc":{"start":{"line":434,"column":4},"end":{"line":442,"column":4}}},"33":{"name":"reversePayment","line":444,"loc":{"start":{"line":444,"column":4},"end":{"line":461,"column":4}}},"34":{"name":"safeTransferFrom","line":464,"loc":{"start":{"line":464,"column":4},"end":{"line":501,"column":4}}},"35":{"name":"_safeTransferFrom","line":504,"loc":{"start":{"line":504,"column":4},"end":{"line":548,"column":4}}},"36":{"name":null,"line":553,"loc":{"start":{"line":553,"column":4},"end":{"line":574,"column":4}}},"37":{"name":"royaltyPayOut","line":577,"loc":{"start":{"line":577,"column":4},"end":{"line":585,"column":4}}},"38":{"name":"_royaltyPayOut","line":588,"loc":{"start":{"line":588,"column":4},"end":{"line":611,"column":4}}}},"statementMap":{"1":{"start":{"line":32,"column":8},"end":{"line":32,"column":74}},"2":{"start":{"line":33,"column":8},"end":{"line":33,"column":78}},"3":{"start":{"line":34,"column":8},"end":{"line":34,"column":101}},"4":{"start":{"line":36,"column":8},"end":{"line":36,"column":35}},"5":{"start":{"line":37,"column":8},"end":{"line":37,"column":51}},"6":{"start":{"line":38,"column":8},"end":{"line":38,"column":44}},"7":{"start":{"line":39,"column":8},"end":{"line":39,"column":44}},"8":{"start":{"line":40,"column":8},"end":{"line":40,"column":47}},"9":{"start":{"line":42,"column":8},"end":{"line":42,"column":39}},"10":{"start":{"line":44,"column":8},"end":{"line":44,"column":1981}},"11":{"start":{"line":45,"column":12},"end":{"line":45,"column":78}},"12":{"start":{"line":49,"column":8},"end":{"line":49,"column":34}},"13":{"start":{"line":53,"column":8},"end":{"line":53,"column":51}},"14":{"start":{"line":54,"column":8},"end":{"line":54,"column":80}},"15":{"start":{"line":55,"column":8},"end":{"line":55,"column":58}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":58}},"17":{"start":{"line":57,"column":8},"end":{"line":57,"column":22}},"18":{"start":{"line":62,"column":8},"end":{"line":62,"column":109}},"19":{"start":{"line":63,"column":8},"end":{"line":63,"column":65}},"20":{"start":{"line":68,"column":8},"end":{"line":68,"column":109}},"21":{"start":{"line":69,"column":8},"end":{"line":69,"column":82}},"22":{"start":{"line":75,"column":8},"end":{"line":75,"column":109}},"23":{"start":{"line":76,"column":8},"end":{"line":76,"column":37}},"24":{"start":{"line":77,"column":8},"end":{"line":77,"column":19}},"25":{"start":{"line":81,"column":8},"end":{"line":81,"column":63}},"26":{"start":{"line":94,"column":8},"end":{"line":94,"column":60}},"27":{"start":{"line":95,"column":8},"end":{"line":95,"column":67}},"28":{"start":{"line":97,"column":8},"end":{"line":97,"column":109}},"29":{"start":{"line":98,"column":8},"end":{"line":98,"column":79}},"30":{"start":{"line":100,"column":8},"end":{"line":100,"column":61}},"31":{"start":{"line":102,"column":8},"end":{"line":102,"column":60}},"32":{"start":{"line":103,"column":8},"end":{"line":103,"column":23}},"33":{"start":{"line":104,"column":8},"end":{"line":104,"column":19}},"34":{"start":{"line":111,"column":8},"end":{"line":111,"column":130}},"35":{"start":{"line":112,"column":8},"end":{"line":112,"column":41}},"36":{"start":{"line":113,"column":8},"end":{"line":113,"column":19}},"37":{"start":{"line":122,"column":8},"end":{"line":122,"column":49}},"38":{"start":{"line":124,"column":8},"end":{"line":124,"column":83}},"39":{"start":{"line":128,"column":8},"end":{"line":128,"column":80}},"40":{"start":{"line":129,"column":8},"end":{"line":129,"column":5810}},"41":{"start":{"line":130,"column":12},"end":{"line":130,"column":39}},"42":{"start":{"line":132,"column":12},"end":{"line":132,"column":102}},"43":{"start":{"line":134,"column":8},"end":{"line":134,"column":77}},"44":{"start":{"line":136,"column":8},"end":{"line":136,"column":53}},"45":{"start":{"line":137,"column":8},"end":{"line":137,"column":42}},"46":{"start":{"line":138,"column":8},"end":{"line":138,"column":67}},"47":{"start":{"line":142,"column":8},"end":{"line":142,"column":33}},"48":{"start":{"line":157,"column":8},"end":{"line":157,"column":54}},"49":{"start":{"line":158,"column":8},"end":{"line":158,"column":48}},"50":{"start":{"line":166,"column":8},"end":{"line":166,"column":53}},"51":{"start":{"line":167,"column":8},"end":{"line":167,"column":65}},"52":{"start":{"line":169,"column":8},"end":{"line":169,"column":99}},"53":{"start":{"line":189,"column":8},"end":{"line":189,"column":62}},"54":{"start":{"line":190,"column":8},"end":{"line":190,"column":124}},"55":{"start":{"line":192,"column":8},"end":{"line":192,"column":75}},"56":{"start":{"line":194,"column":8},"end":{"line":194,"column":8413}},"57":{"start":{"line":195,"column":12},"end":{"line":195,"column":63}},"58":{"start":{"line":197,"column":12},"end":{"line":197,"column":64}},"59":{"start":{"line":201,"column":8},"end":{"line":201,"column":84}},"60":{"start":{"line":204,"column":8},"end":{"line":204,"column":8784}},"61":{"start":{"line":205,"column":12},"end":{"line":205,"column":48}},"62":{"start":{"line":208,"column":12},"end":{"line":208,"column":88}},"63":{"start":{"line":211,"column":12},"end":{"line":211,"column":9152}},"64":{"start":{"line":212,"column":16},"end":{"line":212,"column":51}},"65":{"start":{"line":216,"column":12},"end":{"line":216,"column":55}},"66":{"start":{"line":219,"column":12},"end":{"line":219,"column":9397}},"67":{"start":{"line":220,"column":16},"end":{"line":220,"column":74}},"68":{"start":{"line":223,"column":16},"end":{"line":223,"column":98}},"69":{"start":{"line":224,"column":16},"end":{"line":224,"column":118}},"70":{"start":{"line":225,"column":16},"end":{"line":225,"column":60}},"71":{"start":{"line":227,"column":16},"end":{"line":227,"column":56}},"72":{"start":{"line":228,"column":16},"end":{"line":228,"column":89}},"73":{"start":{"line":234,"column":12},"end":{"line":234,"column":44}},"74":{"start":{"line":237,"column":12},"end":{"line":237,"column":38}},"75":{"start":{"line":241,"column":12},"end":{"line":241,"column":32}},"76":{"start":{"line":244,"column":12},"end":{"line":244,"column":117}},"77":{"start":{"line":247,"column":12},"end":{"line":247,"column":43}},"78":{"start":{"line":250,"column":12},"end":{"line":250,"column":10960}},"79":{"start":{"line":251,"column":16},"end":{"line":251,"column":64}},"80":{"start":{"line":255,"column":12},"end":{"line":255,"column":38}},"81":{"start":{"line":262,"column":8},"end":{"line":262,"column":109}},"82":{"start":{"line":263,"column":8},"end":{"line":263,"column":82}},"83":{"start":{"line":264,"column":8},"end":{"line":264,"column":53}},"84":{"start":{"line":266,"column":8},"end":{"line":266,"column":19}},"85":{"start":{"line":271,"column":8},"end":{"line":271,"column":38}},"86":{"start":{"line":275,"column":8},"end":{"line":275,"column":28}},"87":{"start":{"line":279,"column":8},"end":{"line":279,"column":74}},"88":{"start":{"line":280,"column":8},"end":{"line":280,"column":15}},"89":{"start":{"line":284,"column":8},"end":{"line":284,"column":74}},"90":{"start":{"line":285,"column":8},"end":{"line":285,"column":17}},"91":{"start":{"line":293,"column":8},"end":{"line":293,"column":52}},"92":{"start":{"line":297,"column":8},"end":{"line":297,"column":51}},"93":{"start":{"line":301,"column":8},"end":{"line":301,"column":27}},"94":{"start":{"line":305,"column":8},"end":{"line":305,"column":85}},"95":{"start":{"line":308,"column":8},"end":{"line":308,"column":84}},"96":{"start":{"line":310,"column":8},"end":{"line":310,"column":50}},"97":{"start":{"line":312,"column":8},"end":{"line":312,"column":21}},"98":{"start":{"line":314,"column":8},"end":{"line":314,"column":53}},"99":{"start":{"line":315,"column":8},"end":{"line":315,"column":59}},"100":{"start":{"line":317,"column":8},"end":{"line":317,"column":13540}},"101":{"start":{"line":318,"column":12},"end":{"line":318,"column":13595}},"102":{"start":{"line":320,"column":16},"end":{"line":320,"column":87}},"103":{"start":{"line":332,"column":8},"end":{"line":332,"column":37}},"104":{"start":{"line":340,"column":8},"end":{"line":340,"column":37}},"105":{"start":{"line":344,"column":8},"end":{"line":344,"column":60}},"106":{"start":{"line":348,"column":8},"end":{"line":348,"column":91}},"107":{"start":{"line":361,"column":8},"end":{"line":361,"column":15023}},"108":{"start":{"line":362,"column":12},"end":{"line":362,"column":83}},"109":{"start":{"line":363,"column":12},"end":{"line":363,"column":104}},"110":{"start":{"line":366,"column":8},"end":{"line":366,"column":73}},"111":{"start":{"line":367,"column":8},"end":{"line":367,"column":19}},"112":{"start":{"line":371,"column":8},"end":{"line":371,"column":75}},"113":{"start":{"line":372,"column":8},"end":{"line":372,"column":43}},"114":{"start":{"line":373,"column":8},"end":{"line":373,"column":19}},"115":{"start":{"line":377,"column":8},"end":{"line":377,"column":15743}},"116":{"start":{"line":378,"column":12},"end":{"line":378,"column":64}},"117":{"start":{"line":379,"column":12},"end":{"line":379,"column":77}},"118":{"start":{"line":393,"column":8},"end":{"line":393,"column":52}},"119":{"start":{"line":394,"column":8},"end":{"line":394,"column":73}},"120":{"start":{"line":395,"column":8},"end":{"line":395,"column":67}},"121":{"start":{"line":397,"column":8},"end":{"line":397,"column":47}},"122":{"start":{"line":399,"column":8},"end":{"line":399,"column":81}},"123":{"start":{"line":402,"column":8},"end":{"line":402,"column":50}},"124":{"start":{"line":407,"column":12},"end":{"line":407,"column":85}},"125":{"start":{"line":408,"column":12},"end":{"line":408,"column":70}},"126":{"start":{"line":410,"column":12},"end":{"line":410,"column":62}},"127":{"start":{"line":413,"column":12},"end":{"line":413,"column":94}},"128":{"start":{"line":415,"column":12},"end":{"line":415,"column":109}},"129":{"start":{"line":419,"column":8},"end":{"line":419,"column":17762}},"130":{"start":{"line":420,"column":12},"end":{"line":420,"column":87}},"131":{"start":{"line":423,"column":13},"end":{"line":423,"column":18025}},"132":{"start":{"line":425,"column":12},"end":{"line":425,"column":129}},"133":{"start":{"line":428,"column":12},"end":{"line":428,"column":69}},"134":{"start":{"line":431,"column":8},"end":{"line":431,"column":19}},"135":{"start":{"line":441,"column":8},"end":{"line":441,"column":76}},"136":{"start":{"line":445,"column":8},"end":{"line":445,"column":72}},"137":{"start":{"line":446,"column":8},"end":{"line":446,"column":52}},"138":{"start":{"line":448,"column":8},"end":{"line":448,"column":20}},"139":{"start":{"line":449,"column":8},"end":{"line":449,"column":19049}},"140":{"start":{"line":451,"column":12},"end":{"line":451,"column":62}},"141":{"start":{"line":452,"column":12},"end":{"line":452,"column":49}},"142":{"start":{"line":455,"column":12},"end":{"line":455,"column":84}},"143":{"start":{"line":456,"column":12},"end":{"line":456,"column":52}},"144":{"start":{"line":458,"column":8},"end":{"line":458,"column":65}},"145":{"start":{"line":460,"column":8},"end":{"line":460,"column":22}},"146":{"start":{"line":471,"column":8},"end":{"line":471,"column":20018}},"147":{"start":{"line":482,"column":8},"end":{"line":482,"column":58}},"148":{"start":{"line":483,"column":8},"end":{"line":483,"column":58}},"149":{"start":{"line":484,"column":8},"end":{"line":484,"column":60}},"150":{"start":{"line":485,"column":8},"end":{"line":485,"column":73}},"151":{"start":{"line":488,"column":8},"end":{"line":488,"column":91}},"152":{"start":{"line":490,"column":8},"end":{"line":490,"column":49}},"153":{"start":{"line":497,"column":8},"end":{"line":497,"column":55}},"154":{"start":{"line":500,"column":8},"end":{"line":500,"column":49}},"155":{"start":{"line":511,"column":8},"end":{"line":511,"column":21692}},"156":{"start":{"line":516,"column":8},"end":{"line":516,"column":81}},"157":{"start":{"line":518,"column":8},"end":{"line":518,"column":22020}},"158":{"start":{"line":520,"column":12},"end":{"line":520,"column":88}},"159":{"start":{"line":524,"column":8},"end":{"line":524,"column":86}},"160":{"start":{"line":526,"column":8},"end":{"line":526,"column":22313}},"161":{"start":{"line":528,"column":12},"end":{"line":528,"column":70}},"162":{"start":{"line":532,"column":12},"end":{"line":532,"column":37}},"163":{"start":{"line":536,"column":12},"end":{"line":536,"column":38}},"164":{"start":{"line":540,"column":12},"end":{"line":540,"column":83}},"165":{"start":{"line":541,"column":12},"end":{"line":541,"column":96}},"166":{"start":{"line":541,"column":29},"end":{"line":541,"column":95}},"167":{"start":{"line":544,"column":12},"end":{"line":544,"column":68}},"168":{"start":{"line":547,"column":8},"end":{"line":547,"column":48}},"169":{"start":{"line":555,"column":8},"end":{"line":555,"column":148}},"170":{"start":{"line":557,"column":8},"end":{"line":557,"column":47}},"171":{"start":{"line":559,"column":8},"end":{"line":559,"column":79}},"172":{"start":{"line":561,"column":8},"end":{"line":561,"column":24086}},"173":{"start":{"line":563,"column":12},"end":{"line":563,"column":85}},"174":{"start":{"line":564,"column":15},"end":{"line":564,"column":24339}},"175":{"start":{"line":566,"column":12},"end":{"line":566,"column":132}},"176":{"start":{"line":569,"column":12},"end":{"line":569,"column":69}},"177":{"start":{"line":572,"column":12},"end":{"line":572,"column":44}},"178":{"start":{"line":583,"column":8},"end":{"line":583,"column":79}},"179":{"start":{"line":584,"column":8},"end":{"line":584,"column":75}},"180":{"start":{"line":594,"column":8},"end":{"line":594,"column":73}},"181":{"start":{"line":595,"column":8},"end":{"line":595,"column":69}},"182":{"start":{"line":597,"column":8},"end":{"line":597,"column":67}},"183":{"start":{"line":600,"column":8},"end":{"line":600,"column":25821}},"184":{"start":{"line":601,"column":12},"end":{"line":601,"column":68}},"185":{"start":{"line":602,"column":12},"end":{"line":602,"column":49}},"186":{"start":{"line":606,"column":12},"end":{"line":606,"column":90}},"187":{"start":{"line":607,"column":12},"end":{"line":607,"column":52}},"188":{"start":{"line":610,"column":8},"end":{"line":610,"column":19}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":8}},{"start":{"line":32,"column":8},"end":{"line":32,"column":8}}]},"2":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":8}},{"start":{"line":33,"column":8},"end":{"line":33,"column":8}}]},"3":{"line":34,"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":34,"column":8}},{"start":{"line":34,"column":8},"end":{"line":34,"column":8}}]},"4":{"line":53,"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":8}},{"start":{"line":53,"column":8},"end":{"line":53,"column":8}}]},"5":{"line":54,"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":8}},{"start":{"line":54,"column":8},"end":{"line":54,"column":8}}]},"6":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":8}},{"start":{"line":62,"column":8},"end":{"line":62,"column":8}}]},"7":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":8}},{"start":{"line":68,"column":8},"end":{"line":68,"column":8}}]},"8":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":8}},{"start":{"line":75,"column":8},"end":{"line":75,"column":8}}]},"9":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":8}},{"start":{"line":94,"column":8},"end":{"line":94,"column":8}}]},"10":{"line":95,"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":95,"column":8}},{"start":{"line":95,"column":8},"end":{"line":95,"column":8}}]},"11":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":8},"end":{"line":100,"column":8}},{"start":{"line":100,"column":8},"end":{"line":100,"column":8}}]},"12":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":103,"column":8}},{"start":{"line":103,"column":8},"end":{"line":103,"column":8}}]},"13":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":111,"column":8}},{"start":{"line":111,"column":8},"end":{"line":111,"column":8}}]},"14":{"line":122,"type":"if","locations":[{"start":{"line":122,"column":8},"end":{"line":122,"column":8}},{"start":{"line":122,"column":8},"end":{"line":122,"column":8}}]},"15":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":128,"column":8}},{"start":{"line":128,"column":8},"end":{"line":128,"column":8}}]},"16":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"17":{"line":132,"type":"if","locations":[{"start":{"line":132,"column":12},"end":{"line":132,"column":12}},{"start":{"line":132,"column":12},"end":{"line":132,"column":12}}]},"18":{"line":134,"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":134,"column":8}},{"start":{"line":134,"column":8},"end":{"line":134,"column":8}}]},"19":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":157,"column":8}},{"start":{"line":157,"column":8},"end":{"line":157,"column":8}}]},"20":{"line":189,"type":"if","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":8}},{"start":{"line":189,"column":8},"end":{"line":189,"column":8}}]},"21":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":8},"end":{"line":190,"column":8}},{"start":{"line":190,"column":8},"end":{"line":190,"column":8}}]},"22":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":8}},{"start":{"line":192,"column":8},"end":{"line":192,"column":8}}]},"23":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":8},"end":{"line":194,"column":8}},{"start":{"line":194,"column":8},"end":{"line":194,"column":8}}]},"24":{"line":195,"type":"if","locations":[{"start":{"line":195,"column":12},"end":{"line":195,"column":12}},{"start":{"line":195,"column":12},"end":{"line":195,"column":12}}]},"25":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"26":{"line":201,"type":"if","locations":[{"start":{"line":201,"column":8},"end":{"line":201,"column":8}},{"start":{"line":201,"column":8},"end":{"line":201,"column":8}}]},"27":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"28":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":12},"end":{"line":211,"column":12}},{"start":{"line":211,"column":12},"end":{"line":211,"column":12}}]},"29":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":219,"column":12}},{"start":{"line":219,"column":12},"end":{"line":219,"column":12}}]},"30":{"line":220,"type":"if","locations":[{"start":{"line":220,"column":16},"end":{"line":220,"column":16}},{"start":{"line":220,"column":16},"end":{"line":220,"column":16}}]},"31":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":16},"end":{"line":223,"column":16}},{"start":{"line":223,"column":16},"end":{"line":223,"column":16}}]},"32":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":16},"end":{"line":224,"column":16}},{"start":{"line":224,"column":16},"end":{"line":224,"column":16}}]},"33":{"line":250,"type":"if","locations":[{"start":{"line":250,"column":12},"end":{"line":250,"column":12}},{"start":{"line":250,"column":12},"end":{"line":250,"column":12}}]},"34":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":262,"column":8}},{"start":{"line":262,"column":8},"end":{"line":262,"column":8}}]},"35":{"line":263,"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":263,"column":8}},{"start":{"line":263,"column":8},"end":{"line":263,"column":8}}]},"36":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":8},"end":{"line":279,"column":8}},{"start":{"line":279,"column":8},"end":{"line":279,"column":8}}]},"37":{"line":284,"type":"if","locations":[{"start":{"line":284,"column":8},"end":{"line":284,"column":8}},{"start":{"line":284,"column":8},"end":{"line":284,"column":8}}]},"38":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":8},"end":{"line":305,"column":8}},{"start":{"line":305,"column":8},"end":{"line":305,"column":8}}]},"39":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":8}},{"start":{"line":308,"column":8},"end":{"line":308,"column":8}}]},"40":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":12},"end":{"line":318,"column":12}},{"start":{"line":318,"column":12},"end":{"line":318,"column":12}}]},"41":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":12},"end":{"line":362,"column":12}},{"start":{"line":362,"column":12},"end":{"line":362,"column":12}}]},"42":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":12},"end":{"line":363,"column":12}},{"start":{"line":363,"column":12},"end":{"line":363,"column":12}}]},"43":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":371,"column":8}},{"start":{"line":371,"column":8},"end":{"line":371,"column":8}}]},"44":{"line":378,"type":"if","locations":[{"start":{"line":378,"column":12},"end":{"line":378,"column":12}},{"start":{"line":378,"column":12},"end":{"line":378,"column":12}}]},"45":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":12}},{"start":{"line":379,"column":12},"end":{"line":379,"column":12}}]},"46":{"line":393,"type":"if","locations":[{"start":{"line":393,"column":8},"end":{"line":393,"column":8}},{"start":{"line":393,"column":8},"end":{"line":393,"column":8}}]},"47":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":8},"end":{"line":394,"column":8}},{"start":{"line":394,"column":8},"end":{"line":394,"column":8}}]},"48":{"line":395,"type":"if","locations":[{"start":{"line":395,"column":8},"end":{"line":395,"column":8}},{"start":{"line":395,"column":8},"end":{"line":395,"column":8}}]},"49":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":12},"end":{"line":408,"column":12}},{"start":{"line":408,"column":12},"end":{"line":408,"column":12}}]},"50":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":12}},{"start":{"line":415,"column":12},"end":{"line":415,"column":12}}]},"51":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":8},"end":{"line":419,"column":8}},{"start":{"line":419,"column":8},"end":{"line":419,"column":8}}]},"52":{"line":423,"type":"if","locations":[{"start":{"line":423,"column":13},"end":{"line":423,"column":13}},{"start":{"line":423,"column":13},"end":{"line":423,"column":13}}]},"53":{"line":446,"type":"if","locations":[{"start":{"line":446,"column":8},"end":{"line":446,"column":8}},{"start":{"line":446,"column":8},"end":{"line":446,"column":8}}]},"54":{"line":449,"type":"if","locations":[{"start":{"line":449,"column":8},"end":{"line":449,"column":8}},{"start":{"line":449,"column":8},"end":{"line":449,"column":8}}]},"55":{"line":452,"type":"if","locations":[{"start":{"line":452,"column":12},"end":{"line":452,"column":12}},{"start":{"line":452,"column":12},"end":{"line":452,"column":12}}]},"56":{"line":456,"type":"if","locations":[{"start":{"line":456,"column":12},"end":{"line":456,"column":12}},{"start":{"line":456,"column":12},"end":{"line":456,"column":12}}]},"57":{"line":482,"type":"if","locations":[{"start":{"line":482,"column":8},"end":{"line":482,"column":8}},{"start":{"line":482,"column":8},"end":{"line":482,"column":8}}]},"58":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":8},"end":{"line":483,"column":8}},{"start":{"line":483,"column":8},"end":{"line":483,"column":8}}]},"59":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":8},"end":{"line":484,"column":8}},{"start":{"line":484,"column":8},"end":{"line":484,"column":8}}]},"60":{"line":485,"type":"if","locations":[{"start":{"line":485,"column":8},"end":{"line":485,"column":8}},{"start":{"line":485,"column":8},"end":{"line":485,"column":8}}]},"61":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":8},"end":{"line":488,"column":8}},{"start":{"line":488,"column":8},"end":{"line":488,"column":8}}]},"62":{"line":516,"type":"if","locations":[{"start":{"line":516,"column":8},"end":{"line":516,"column":8}},{"start":{"line":516,"column":8},"end":{"line":516,"column":8}}]},"63":{"line":518,"type":"if","locations":[{"start":{"line":518,"column":8},"end":{"line":518,"column":8}},{"start":{"line":518,"column":8},"end":{"line":518,"column":8}}]},"64":{"line":520,"type":"if","locations":[{"start":{"line":520,"column":12},"end":{"line":520,"column":12}},{"start":{"line":520,"column":12},"end":{"line":520,"column":12}}]},"65":{"line":541,"type":"if","locations":[{"start":{"line":541,"column":12},"end":{"line":541,"column":12}},{"start":{"line":541,"column":12},"end":{"line":541,"column":12}}]},"66":{"line":561,"type":"if","locations":[{"start":{"line":561,"column":8},"end":{"line":561,"column":8}},{"start":{"line":561,"column":8},"end":{"line":561,"column":8}}]},"67":{"line":564,"type":"if","locations":[{"start":{"line":564,"column":15},"end":{"line":564,"column":15}},{"start":{"line":564,"column":15},"end":{"line":564,"column":15}}]},"68":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":8},"end":{"line":583,"column":8}},{"start":{"line":583,"column":8},"end":{"line":583,"column":8}}]},"69":{"line":600,"type":"if","locations":[{"start":{"line":600,"column":8},"end":{"line":600,"column":8}},{"start":{"line":600,"column":8},"end":{"line":600,"column":8}}]},"70":{"line":602,"type":"if","locations":[{"start":{"line":602,"column":12},"end":{"line":602,"column":12}},{"start":{"line":602,"column":12},"end":{"line":602,"column":12}}]},"71":{"line":607,"type":"if","locations":[{"start":{"line":607,"column":12},"end":{"line":607,"column":12}},{"start":{"line":607,"column":12},"end":{"line":607,"column":12}}]}}},"contracts/RoyaltyBearingTokenStorage.sol":{"l":{},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyBearingTokenStorage.sol","s":{},"b":{},"f":{},"fnMap":{},"statementMap":{},"branchMap":{}},"contracts/RoyaltyModule.sol":{"l":{"27":3,"28":3,"29":3,"30":3,"31":3,"32":3,"33":3,"34":3,"38":3,"39":1,"40":1,"41":1,"53":34,"54":34,"68":16,"70":16,"71":16,"72":16,"73":35,"74":33,"75":33,"76":33,"77":18,"78":18,"80":18,"81":10,"82":7,"84":3,"90":15,"93":8,"96":4,"97":11,"98":11,"99":6,"101":5,"102":3,"109":3,"110":3,"111":7,"112":6,"115":1,"116":1,"117":1,"127":648,"129":648,"130":648,"131":648,"135":11,"138":11,"142":11,"146":637,"148":637,"150":637,"152":637,"155":637,"158":637,"162":637,"164":648,"165":648,"166":648,"172":24,"173":24,"181":478,"182":478,"183":478,"184":478,"186":1411,"188":1410,"189":1410,"190":1410,"192":1410,"193":956,"194":956,"198":454,"201":478,"205":44,"209":26,"213":81,"214":81,"222":30,"223":30,"224":28,"225":28,"226":28,"227":26,"231":52,"235":25,"236":25,"237":24,"247":26,"248":26,"249":26,"250":26,"261":24,"262":24,"263":24,"264":24,"267":24,"273":149,"274":149,"275":218,"276":126,"279":23,"289":1434,"294":19,"295":19,"296":19,"297":24,"298":24,"300":19},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/RoyaltyModule.sol","s":{"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":1,"11":1,"12":1,"13":34,"14":34,"15":16,"16":16,"17":16,"18":16,"19":35,"20":33,"21":33,"22":33,"23":18,"24":18,"25":18,"26":10,"27":7,"28":3,"29":15,"30":8,"31":4,"32":11,"33":11,"34":6,"35":5,"36":3,"37":3,"38":3,"39":7,"40":6,"41":648,"42":648,"43":648,"44":648,"45":11,"46":11,"47":11,"48":637,"49":637,"50":637,"51":637,"52":637,"53":637,"54":637,"55":648,"56":648,"57":648,"58":24,"59":24,"60":478,"61":478,"62":478,"63":478,"64":1411,"65":1410,"66":1410,"67":1410,"68":1410,"69":956,"70":956,"71":454,"72":478,"73":44,"74":26,"75":81,"76":81,"77":30,"78":30,"79":28,"80":28,"81":28,"82":26,"83":52,"84":25,"85":25,"86":1,"87":24,"88":26,"89":26,"90":26,"91":26,"92":24,"93":24,"94":24,"95":24,"96":24,"97":149,"98":149,"99":218,"100":126,"101":23,"102":1434,"103":19,"104":19,"105":19,"106":24,"107":24,"108":19},"b":{"1":[3,0],"2":[3,0],"3":[3,0],"4":[1,2],"5":[33,2],"6":[18,15],"7":[10,8],"8":[7,3],"9":[5,2],"10":[1,2],"11":[13,2],"12":[4,4],"13":[6,5],"14":[3,2],"15":[6,1],"16":[4,2],"17":[648,0],"18":[648,0],"19":[11,637],"20":[637,0],"21":[648,0],"22":[1,1410],"23":[956,454],"24":[28,2],"25":[28,0],"26":[26,2],"27":[1,24],"28":[26,0],"29":[26,0],"30":[24,0],"31":[24,0],"32":[126,92]},"f":{"1":3,"2":3,"3":34,"4":16,"5":3,"6":648,"7":24,"8":478,"9":44,"10":26,"11":81,"12":30,"13":52,"14":25,"15":26,"16":24,"17":149,"18":1434,"19":19},"fnMap":{"1":{"name":"constructor","line":20,"loc":{"start":{"line":20,"column":4},"end":{"line":35,"column":4}}},"2":{"name":"updateRAccountLimits","line":37,"loc":{"start":{"line":37,"column":4},"end":{"line":42,"column":4}}},"3":{"name":"getAccount","line":44,"loc":{"start":{"line":44,"column":4},"end":{"line":55,"column":4}}},"4":{"name":"updateRoyaltyAccount","line":67,"loc":{"start":{"line":62,"column":4},"end":{"line":105,"column":4}}},"5":{"name":"deleteRoyaltyAccount","line":108,"loc":{"start":{"line":108,"column":4},"end":{"line":118,"column":4}}},"6":{"name":"createRoyaltyAccount","line":126,"loc":{"start":{"line":120,"column":4},"end":{"line":167,"column":4}}},"7":{"name":"distributePayment","line":171,"loc":{"start":{"line":171,"column":4},"end":{"line":174,"column":4}}},"8":{"name":"_distributePayment","line":176,"loc":{"start":{"line":176,"column":4},"end":{"line":202,"column":4}}},"9":{"name":"isSupportedTokenType","line":204,"loc":{"start":{"line":204,"column":4},"end":{"line":206,"column":4}}},"10":{"name":"getTokenType","line":208,"loc":{"start":{"line":208,"column":4},"end":{"line":210,"column":4}}},"11":{"name":"findSubaccountIndex","line":212,"loc":{"start":{"line":212,"column":4},"end":{"line":215,"column":4}}},"12":{"name":"checkBalanceForPayout","line":217,"loc":{"start":{"line":217,"column":4},"end":{"line":228,"column":4}}},"13":{"name":"getSubaccount","line":230,"loc":{"start":{"line":230,"column":4},"end":{"line":232,"column":4}}},"14":{"name":"getBalance","line":234,"loc":{"start":{"line":234,"column":4},"end":{"line":238,"column":4}}},"15":{"name":"withdrawBalance","line":246,"loc":{"start":{"line":242,"column":4},"end":{"line":251,"column":4}}},"16":{"name":"transferRAOwnership","line":260,"loc":{"start":{"line":256,"column":4},"end":{"line":268,"column":4}}},"17":{"name":"_findSubaccountIndex","line":271,"loc":{"start":{"line":271,"column":4},"end":{"line":280,"column":4}}},"18":{"name":"mulDiv","line":284,"loc":{"start":{"line":284,"column":4},"end":{"line":290,"column":4}}},"19":{"name":"splitSum","line":293,"loc":{"start":{"line":293,"column":4},"end":{"line":301,"column":4}}}},"statementMap":{"1":{"start":{"line":27,"column":8},"end":{"line":27,"column":31}},"2":{"start":{"line":28,"column":8},"end":{"line":28,"column":71}},"3":{"start":{"line":29,"column":8},"end":{"line":29,"column":105}},"4":{"start":{"line":30,"column":8},"end":{"line":30,"column":84}},"5":{"start":{"line":31,"column":8},"end":{"line":31,"column":29}},"6":{"start":{"line":32,"column":8},"end":{"line":32,"column":39}},"7":{"start":{"line":33,"column":8},"end":{"line":33,"column":38}},"8":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"9":{"start":{"line":38,"column":8},"end":{"line":38,"column":106}},"10":{"start":{"line":39,"column":8},"end":{"line":39,"column":38}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":41}},"12":{"start":{"line":41,"column":8},"end":{"line":41,"column":19}},"13":{"start":{"line":53,"column":8},"end":{"line":53,"column":57}},"14":{"start":{"line":54,"column":8},"end":{"line":54,"column":101}},"15":{"start":{"line":68,"column":8},"end":{"line":68,"column":57}},"16":{"start":{"line":70,"column":8},"end":{"line":70,"column":22}},"17":{"start":{"line":71,"column":8},"end":{"line":71,"column":22}},"18":{"start":{"line":72,"column":8},"end":{"line":72,"column":3028}},"19":{"start":{"line":73,"column":12},"end":{"line":73,"column":118}},"20":{"start":{"line":74,"column":12},"end":{"line":74,"column":56}},"21":{"start":{"line":75,"column":12},"end":{"line":75,"column":115}},"22":{"start":{"line":76,"column":12},"end":{"line":76,"column":3400}},"23":{"start":{"line":77,"column":16},"end":{"line":77,"column":93}},"24":{"start":{"line":78,"column":16},"end":{"line":78,"column":46}},"25":{"start":{"line":80,"column":16},"end":{"line":80,"column":3634}},"26":{"start":{"line":81,"column":20},"end":{"line":81,"column":3725}},"27":{"start":{"line":82,"column":24},"end":{"line":82,"column":136}},"28":{"start":{"line":84,"column":24},"end":{"line":84,"column":116}},"29":{"start":{"line":90,"column":16},"end":{"line":90,"column":97}},"30":{"start":{"line":93,"column":8},"end":{"line":93,"column":68}},"31":{"start":{"line":96,"column":8},"end":{"line":96,"column":4426}},"32":{"start":{"line":97,"column":12},"end":{"line":97,"column":115}},"33":{"start":{"line":98,"column":12},"end":{"line":98,"column":4618}},"34":{"start":{"line":99,"column":16},"end":{"line":99,"column":111}},"35":{"start":{"line":101,"column":16},"end":{"line":101,"column":115}},"36":{"start":{"line":102,"column":16},"end":{"line":102,"column":149}},"37":{"start":{"line":109,"column":8},"end":{"line":109,"column":57}},"38":{"start":{"line":110,"column":8},"end":{"line":110,"column":5241}},"39":{"start":{"line":111,"column":12},"end":{"line":111,"column":5332}},"40":{"start":{"line":112,"column":16},"end":{"line":112,"column":124}},"41":{"start":{"line":127,"column":8},"end":{"line":127,"column":107}},"42":{"start":{"line":129,"column":8},"end":{"line":129,"column":101}},"43":{"start":{"line":130,"column":8},"end":{"line":130,"column":102}},"44":{"start":{"line":131,"column":8},"end":{"line":131,"column":6245}},"45":{"start":{"line":135,"column":12},"end":{"line":135,"column":157}},"46":{"start":{"line":138,"column":12},"end":{"line":138,"column":157}},"47":{"start":{"line":142,"column":12},"end":{"line":142,"column":179}},"48":{"start":{"line":146,"column":12},"end":{"line":146,"column":73}},"49":{"start":{"line":148,"column":12},"end":{"line":148,"column":132}},"50":{"start":{"line":150,"column":12},"end":{"line":150,"column":82}},"51":{"start":{"line":152,"column":12},"end":{"line":152,"column":195}},"52":{"start":{"line":155,"column":12},"end":{"line":155,"column":157}},"53":{"start":{"line":158,"column":12},"end":{"line":158,"column":188}},"54":{"start":{"line":162,"column":12},"end":{"line":162,"column":194}},"55":{"start":{"line":164,"column":8},"end":{"line":164,"column":105}},"56":{"start":{"line":165,"column":8},"end":{"line":165,"column":45}},"57":{"start":{"line":166,"column":8},"end":{"line":166,"column":26}},"58":{"start":{"line":172,"column":8},"end":{"line":172,"column":57}},"59":{"start":{"line":173,"column":8},"end":{"line":173,"column":67}},"60":{"start":{"line":181,"column":8},"end":{"line":181,"column":38}},"61":{"start":{"line":182,"column":8},"end":{"line":182,"column":36}},"62":{"start":{"line":183,"column":8},"end":{"line":183,"column":65}},"63":{"start":{"line":184,"column":8},"end":{"line":184,"column":9358}},"64":{"start":{"line":186,"column":12},"end":{"line":186,"column":82}},"65":{"start":{"line":188,"column":12},"end":{"line":188,"column":122}},"66":{"start":{"line":189,"column":12},"end":{"line":189,"column":39}},"67":{"start":{"line":190,"column":12},"end":{"line":190,"column":78}},"68":{"start":{"line":192,"column":12},"end":{"line":192,"column":9913}},"69":{"start":{"line":193,"column":16},"end":{"line":193,"column":84}},"70":{"start":{"line":194,"column":16},"end":{"line":194,"column":120}},"71":{"start":{"line":198,"column":16},"end":{"line":198,"column":106}},"72":{"start":{"line":201,"column":8},"end":{"line":201,"column":19}},"73":{"start":{"line":205,"column":8},"end":{"line":205,"column":92}},"74":{"start":{"line":209,"column":8},"end":{"line":209,"column":66}},"75":{"start":{"line":213,"column":8},"end":{"line":213,"column":57}},"76":{"start":{"line":214,"column":8},"end":{"line":214,"column":63}},"77":{"start":{"line":222,"column":8},"end":{"line":222,"column":98}},"78":{"start":{"line":223,"column":8},"end":{"line":223,"column":55}},"79":{"start":{"line":224,"column":8},"end":{"line":224,"column":80}},"80":{"start":{"line":225,"column":8},"end":{"line":225,"column":80}},"81":{"start":{"line":226,"column":8},"end":{"line":226,"column":83}},"82":{"start":{"line":227,"column":8},"end":{"line":227,"column":19}},"83":{"start":{"line":231,"column":8},"end":{"line":231,"column":77}},"84":{"start":{"line":235,"column":8},"end":{"line":235,"column":88}},"85":{"start":{"line":236,"column":8},"end":{"line":236,"column":28}},"86":{"start":{"line":236,"column":20},"end":{"line":236,"column":28}},"87":{"start":{"line":237,"column":8},"end":{"line":237,"column":69}},"88":{"start":{"line":247,"column":8},"end":{"line":247,"column":98}},"89":{"start":{"line":248,"column":8},"end":{"line":248,"column":55}},"90":{"start":{"line":249,"column":8},"end":{"line":249,"column":135}},"91":{"start":{"line":250,"column":8},"end":{"line":250,"column":94}},"92":{"start":{"line":261,"column":8},"end":{"line":261,"column":57}},"93":{"start":{"line":262,"column":8},"end":{"line":262,"column":82}},"94":{"start":{"line":263,"column":8},"end":{"line":263,"column":52}},"95":{"start":{"line":264,"column":8},"end":{"line":264,"column":128}},"96":{"start":{"line":267,"column":8},"end":{"line":267,"column":67}},"97":{"start":{"line":273,"column":8},"end":{"line":273,"column":80}},"98":{"start":{"line":274,"column":8},"end":{"line":274,"column":13987}},"99":{"start":{"line":275,"column":12},"end":{"line":275,"column":14054}},"100":{"start":{"line":276,"column":16},"end":{"line":276,"column":32}},"101":{"start":{"line":279,"column":8},"end":{"line":279,"column":25}},"102":{"start":{"line":289,"column":8},"end":{"line":289,"column":148}},"103":{"start":{"line":294,"column":8},"end":{"line":294,"column":55}},"104":{"start":{"line":295,"column":8},"end":{"line":295,"column":29}},"105":{"start":{"line":296,"column":8},"end":{"line":296,"column":14846}},"106":{"start":{"line":297,"column":12},"end":{"line":297,"column":53}},"107":{"start":{"line":298,"column":12},"end":{"line":298,"column":31}},"108":{"start":{"line":300,"column":8},"end":{"line":300,"column":21}}},"branchMap":{"1":{"line":28,"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":8}},{"start":{"line":28,"column":8},"end":{"line":28,"column":8}}]},"2":{"line":29,"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":8}},{"start":{"line":29,"column":8},"end":{"line":29,"column":8}}]},"3":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":8}},{"start":{"line":30,"column":8},"end":{"line":30,"column":8}}]},"4":{"line":38,"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":8}},{"start":{"line":38,"column":8},"end":{"line":38,"column":8}}]},"5":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]},"6":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":12},"end":{"line":76,"column":12}},{"start":{"line":76,"column":12},"end":{"line":76,"column":12}}]},"7":{"line":80,"type":"if","locations":[{"start":{"line":80,"column":16},"end":{"line":80,"column":16}},{"start":{"line":80,"column":16},"end":{"line":80,"column":16}}]},"8":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":20},"end":{"line":81,"column":20}},{"start":{"line":81,"column":20},"end":{"line":81,"column":20}}]},"9":{"line":82,"type":"if","locations":[{"start":{"line":82,"column":24},"end":{"line":82,"column":24}},{"start":{"line":82,"column":24},"end":{"line":82,"column":24}}]},"10":{"line":84,"type":"if","locations":[{"start":{"line":84,"column":24},"end":{"line":84,"column":24}},{"start":{"line":84,"column":24},"end":{"line":84,"column":24}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":16},"end":{"line":90,"column":16}},{"start":{"line":90,"column":16},"end":{"line":90,"column":16}}]},"12":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":93,"column":8}},{"start":{"line":93,"column":8},"end":{"line":93,"column":8}}]},"13":{"line":98,"type":"if","locations":[{"start":{"line":98,"column":12},"end":{"line":98,"column":12}},{"start":{"line":98,"column":12},"end":{"line":98,"column":12}}]},"14":{"line":101,"type":"if","locations":[{"start":{"line":101,"column":16},"end":{"line":101,"column":16}},{"start":{"line":101,"column":16},"end":{"line":101,"column":16}}]},"15":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":12},"end":{"line":111,"column":12}},{"start":{"line":111,"column":12},"end":{"line":111,"column":12}}]},"16":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":16},"end":{"line":112,"column":16}},{"start":{"line":112,"column":16},"end":{"line":112,"column":16}}]},"17":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":127,"column":8}},{"start":{"line":127,"column":8},"end":{"line":127,"column":8}}]},"18":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"19":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":8}},{"start":{"line":131,"column":8},"end":{"line":131,"column":8}}]},"20":{"line":148,"type":"if","locations":[{"start":{"line":148,"column":12},"end":{"line":148,"column":12}},{"start":{"line":148,"column":12},"end":{"line":148,"column":12}}]},"21":{"line":164,"type":"if","locations":[{"start":{"line":164,"column":8},"end":{"line":164,"column":8}},{"start":{"line":164,"column":8},"end":{"line":164,"column":8}}]},"22":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":12}},{"start":{"line":186,"column":12},"end":{"line":186,"column":12}}]},"23":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"24":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":8},"end":{"line":223,"column":8}},{"start":{"line":223,"column":8},"end":{"line":223,"column":8}}]},"25":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"26":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":226,"column":8}},{"start":{"line":226,"column":8},"end":{"line":226,"column":8}}]},"27":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":236,"column":8}},{"start":{"line":236,"column":8},"end":{"line":236,"column":8}}]},"28":{"line":248,"type":"if","locations":[{"start":{"line":248,"column":8},"end":{"line":248,"column":8}},{"start":{"line":248,"column":8},"end":{"line":248,"column":8}}]},"29":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":8},"end":{"line":249,"column":8}},{"start":{"line":249,"column":8},"end":{"line":249,"column":8}}]},"30":{"line":263,"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":263,"column":8}},{"start":{"line":263,"column":8},"end":{"line":263,"column":8}}]},"31":{"line":264,"type":"if","locations":[{"start":{"line":264,"column":8},"end":{"line":264,"column":8}},{"start":{"line":264,"column":8},"end":{"line":264,"column":8}}]},"32":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":275,"column":12}},{"start":{"line":275,"column":12},"end":{"line":275,"column":12}}]}}},"contracts/StorageStructure.sol":{"l":{"84":726},"path":"/home/svm/src/treetrunk-nft/solidity/contracts/StorageStructure.sol","s":{"1":726},"b":{},"f":{"1":726},"fnMap":{"1":{"name":"_isSameString","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":85,"column":4}}}},"statementMap":{"1":{"start":{"line":84,"column":8},"end":{"line":84,"column":86}}},"branchMap":{}}} \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf b/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-PaymentModule-03-22-2022.pdf deleted file mode 100644 index be5f5e6b0a945f18b01d50ca98f65f06d278580f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119450 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%0AZOb+P`+-&d_dQpgWMvY-&GAtT5b`V@Y~2Yzn1l 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 Szb-n62gna3U}S_TN&PR9j7&`c diff --git a/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf b/assets/eip-4910/eip-4910-reference-implementation/docs/mythXPro-Report-RoyaltyModule-03-22-2022.pdf deleted file mode 100644 index 1b7615a6fac5532c6a2c7f03989930b9c061f480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155080 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

n*WD>)wJX6`QEvE8^R^gCQ`8WbK(v=%l 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�P9@p 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 IsP(ab0>G;*?f?J) diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js deleted file mode 100644 index 3334d08060844..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/migrations/1_initial_migration.js +++ /dev/null @@ -1,6 +0,0 @@ -var Migrations = artifacts.require("./Migrations.sol"); - - -module.exports = function (deployer) { - deployer.deploy(Migrations); -}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js deleted file mode 100644 index 59db8b5c3b6ed..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/migrations/2_deploy_contracts.js +++ /dev/null @@ -1,51 +0,0 @@ -const RoyaltyModule = artifacts.require('RoyaltyModule'); -const PaymentModule = artifacts.require('PaymentModule'); -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -const numGenerations = 100; - -module.exports = function (deployer, network, accounts) { - console.log('Deploy to network:', network); - if (network == 'development' || network == 'soliditycoverage' || network == 'mumbai') { - deployer.then(async () => { - const ERC20_1 = await deployer.deploy(SomeERC20_1, 'Some test token #1', 'ST1'); - const ERC20_2 = await deployer.deploy(SomeERC20_2, 'Some test token #2', 'ST2'); - - const token = await deployer.deploy( - RoyaltyBearingToken, - 'RoyaltyBearingToken', - 'RBT', - 'https:\\\\some.base.url\\', - ['ETH', 'ST1', 'ST2'], - ['0x0000000000000000000000000000000000000000', ERC20_1.address, ERC20_2.address], - accounts[0], - 100, //numGenerations - ); - - const royaltyModule = await deployer.deploy( - RoyaltyModule, - token.address, - accounts[0], //TT Royalty, - 1000, // royaltySplitTT 1000 = 10%, - 500, //minRoyaltySplit - 5, //maxSubAccount - ); - const paymentModule = await deployer.deploy( - PaymentModule, - token.address, - 10, //maxListingNumber - ); - - await token.init(royaltyModule.address, paymentModule.address); - - console.log('token:', token.address); - }); - /* - deployer.deploy(RoyaltyBearingToken, 'A', 'RBT', 'C').then((contract) => { - console.log("Token deployed with address", contract.address); - }); - */ - } -}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js b/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js deleted file mode 100644 index f7cb0084e5f02..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/migrations/3_faucet.js +++ /dev/null @@ -1,52 +0,0 @@ -const Faucet = artifacts.require('Faucet'); -const WETH_Mock = artifacts.require('WETH_Mock'); - -//const WETHaddress = '0xb225B1a0873B933004AcF480Bc62cBF67533c2Bd'; -const TokenToMint = '10000000000000000000000000000000000000'; - -module.exports = function (deployer, network, accounts) { - if (network == 'mumbai') { - console.log('Deploy Faucet to network:', network); - /* - deployer.then(async () => { - const mockWETH = await deployer.deploy(WETH_Mock,'WETH Mock token', 'WETH'); - const faucet = await deployer.deploy(Faucet, mockWETH.address); - await mockWETH.mint(faucet.address, TokenToMint); - const balance = await faucet.getBalance(); - - console.log('WETH mock:', mockWETH.address); - console.log('Faucet:', faucet.address); - console.log('Faucet balance:', balance.toString()); - - }); - */ - - deployer.then(async () => { - const faucet = await Faucet.at('0xf1D50435131169e4A176ef502917eCaAeA958b62'); - const mockWETH = await WETH_Mock.at('0xF087BBD87Dc6188914572C4F184998bD509c480f'); - //const faucet = await deployer.deploy(Faucet, mockWETH.address); - await mockWETH.mint(faucet.address, TokenToMint); - - const listToMint = [ - //'0x93F4c85915BCbe0dAF8C5466D9Ec796672336584', - //'0x7Dfc51EB31eaE117d4c81E8C61622d8407bA1C0e', - //'0xB22cD6298c234f7Ca2e9eE34D7B24E0A80f71C5b', - //'0x9D2E14F6E616d1348c9ddb89883fE73ae0Ca5BE5', - //'0x6e58E675F0D05bC5ab14806246cb7EA41D4C6dc2', - //'0xB22cD6298c234f7Ca2e9eE34D7B24E0A80f71C5b', - //'0xd2a54f534D65bb1C34fC8c63Adc3c91E963390E8', - //'0xcd3497E7769aD22Aab2470DC5CA4494433c08180', - ]; - - console.log('Faucet:', faucet.address); - for (let i = 0; i < listToMint.length; i++) { - try { - await faucet.requestTokensTo(listToMint[i]); - console.log('Token sent to:', listToMint[i], (await mockWETH.balanceOf(listToMint[i])).toString()); - } catch (ex) { - console.log('Token not sent:', listToMint[i], ex); - } - } - }); - } -}; diff --git a/assets/eip-4910/eip-4910-reference-implementation/package.json b/assets/eip-4910/eip-4910-reference-implementation/package.json deleted file mode 100644 index a6d98824ccca7..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "nft-royalty", - "version": "1.0.0", - "description": "Royalty Bearing NFTs: Extending the ERC721 Standard to include Royalty Allocations", - "main": "truffle.js", - "directories": { - "test": "test" - }, - "scripts": { - "dev": "lite-server", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "devDependencies": { - "eth-gas-reporter": "^0.2.22", - "lite-server": "^2.6.1", - "prettier": "^2.4.1", - "prettier-plugin-solidity": "^1.0.0-beta.18", - "solidity-coverage": "^0.7.18" - }, - "dependencies": { - "@openzeppelin/contracts": "^4.3.2", - "@truffle/hdwallet-provider": "^2.0.0", - "abdk-libraries-solidity": "^3.0.0", - "truffle-assertions": "^0.9.2", - "truffle-contract-size": "^2.0.1" - } -} diff --git a/assets/eip-4910/eip-4910-reference-implementation/readme.md b/assets/eip-4910/eip-4910-reference-implementation/readme.md deleted file mode 100644 index 2c8dd02588c09..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/readme.md +++ /dev/null @@ -1,171 +0,0 @@ -# Reference Implementation of the proposed Royalty Bearing NFT Smart Contract Standard from Treetrunk.io - -## Abstract -The proposal directly connects NFTs and royalties in a smart contract architecture extending the ERC721 standard, with the aim of precluding central authorities from manipulating or circumventing payments to those who are legally entitled to them. - -The proposal builds upon the [OpenZeppelin Smart Contract Toolbox](https://github.com/OpenZeppelin/openzeppelin-contracts) architecture, and extends it to include royalty account management (CRUD), royalty balance and payments management, simple trading capabilities -- Listing/Unlisting/Buying -- and capabilities to trace trading on exchanges. The royalty management capabilities allow for hierarchical royalty structures, referred to herein as royalty trees, to be established by logically connecting a "parent" NFT to its "children", and recursively enabling NFT "children" to have more children. - -## Motivation -The management of royalties is an age-old problem characterized by complex contracts, opaque management, plenty of cheating and fraud. - -The above is especially true for a hierarchy of royalties, where one or more assets is derived from an original asset such as a print from an original painting, or a song is used in the creation of another song, or distribution rights and compensation are managed through a series of affiliates. - -In the example below, the artist who created the original is eligible to receive proceeds from every sale, and resale, of a print. - -![Fig1](https://i.imgur.com/Py6bYQw.png) - - -The basic concept for hierarchical royalties utilizing the above "ancestry concept" is demonstrated in the figure below. - -![Fig2](https://i.imgur.com/7MtWzBV.png) - - -In order to solve for the complicated inheritance problem, this proposal breaks down the recursive problem of the hierarchy tree of depth N into N separate problems, one for each layer. This allows us to traverse the tree from its lowest level upwards to its root most efficiently. - -This affords creators, and the distributors of art derived from the original, the opportunity to achieve passive income from the creative process, enhancing the value of an NFT, since it now not only has intrinsic value but also comes with an attached cash flow. - -## Specification Outline - -This proposal introduces several new concepts as extensions to the ERC721 standard: -* **Royalty Account (RA)** - * A Royalty Account is attached to each NFT through its `tokenId` and consists of several sub-accounts which can be accounts of individuals or other RAs. A Royalty Account is identified by an account identifier. -* **Account Type** - * This specifies if an RA Sub Account belongs to an individual (user) or is another RA. If there is another RA as an RA Sub Account, the allocated balance needs to be reallocated to the Sub Accounts making up the referenced RA. -* **Royalty Split** - * The percentage each Sub Account receives based on a sale of an NFT that is associated with an RA -* **Royalty Balance** - * The royalty balance associated with an RA -* **Sub Account Royalty Balance** - * The royalty balance associated to each RA Sub Account. Note that only individual accounts can carry a balance that can be paid out. That means that if an RA Sub Account is an RA, its final Sub Account balance must be zero, since all RA balances must be allocated to individual accounts. -* **Token Type** - * Token Type is given as either ETH or the symbol of the supported ERC 20/223/777 tokens such as `DAI` -* **Asset ID** - * This is the `tokenId` the RA belongs to. -* **Parent** - * This indicates which `tokenId` is the immediate parent of the `tokenId` to which an RA belongs. - -### Data Structures - -In order to create an interconnected data structure linking NFTs to RAs that is search optimized requires the following additions to the global data structures of an ERC721: - -* Adding structs for a Royalty Account and associated Royalty Sub Accounts to establish the concept of a Royalty Account with sub accounts. -* Defining an `raAccountId` as the keccak256 hash of `tokenId`, the actual `owner` address, and the current block number, `block.blocknumber` -* Mapping a `tokenId` to an `raAccountID` in order to connect an RA `raAccountId` to a `tokenId` -* Mapping the `raAccountID` to a `RoyaltyAccount` in order to connect the account identifier to the actual account. -* An `ancestry` mapping of the parent-to-child NFT relationship -* A mapping of supported token types to their origin contracts and last validated balance (for trading and royalty payment purposes) -* A mapping with a struct for a registered payment to be made in the `executePayment` function and validated in `safeTransferFrom`. This is sufficient, because a payment once received and distributed in the `safeTransferFrom` function will be removed from the mapping. -* A mapping for listing NFTs to be sold - -### Royalty Account Functions - -Definitions and interfaces for the Royalty Account RUD (Read-Update-Delete) functions. Because the RA is created in the minting function, there is no need to have a function to create a royalty account separately. - -### Minting of a royalty bearing NFT - -When an NFT is minted, an RA must be created and associated with the NFT and the NFT owner, and, if there is an ancestor, with the ancestor's RA. To this end the specification utilizes the `_safemint` function in a newly defined `mint` function and applies various business rules on the input variables. - -### Listing NFTs for Sale and removing a listing - -Authorized user addresses can list NFTs for sale for non-exchange mediated NFT purchases. - -### Payment Function from Buyer to Seller - -To avoid royalty circumvention, a buyer will always pay the NFT contract directly and not the seller. The seller is paid through the royalty distribution and can later request a payout. - -The payment process depends on whether the payment is received in ETH or an ERC 20 token: -* ERC 20 Token - 1. The Buyer must `approve` the NFT contract for the purchase price, `payment` for the selected payment token (ERC20 contract address). - 2. For an ERC20 payment token, the Buyer must then call the `executePayment` in the NFT contract -- the ERC20 is not directly involved. -* For a non-ERC20 payment, the Buyer must send a protocol token (ETH) to the NFT contract, and is required to send `msg.data` encoded as an array of purchased NFTs `uint256[] tokenId`. - -### Modified NFT Transfer function including required Trade data to allocate royalties - -The input parameters must satisfy several requirements for the NFT to be transferred AFTER the royalties have been properly distributed. Furthermore, the ability to transfer more than one token at a time is also considered. - -The proposal defines: -* Input parameter validation -* Payment Parameter Validation -* Distributing Royalties -* Update RA ownership with payout -* Transferring Ownership of the NFT -* Removing the Payment entry in `registeredPayment` after successful transfer - -##### Distributing Royalties - -The approach to distributing royalties is to break down the hierarchical structure of interconnected RAs into layers and then process one layer at time, where each relationship between a token and its ancestor is utilized to traverse the RA chain until the root ancestor and associated RA is reached. - -### Paying out Royalties to the NFT owner -- `from` address in `safeTransferFrom` function - -This is the final part of the proposal. - -There are two versions of the payout function -- a `public` function and an `internal` function. - -The public function has the following interface: -``` -function royaltyPayOut (uint256 tokenId, address _RAsubaccount, address payable _payoutaccount, payable uint256 _amount) public virtual nonReentrant returns (bool) -``` - -where we only need the `tokenId`, the RA Sub Account address, `_RAsubaccount` which is the `owner`, and the amount to be paid out, `_amount`. Note that the function has [`nonReentrant` modifier protection](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol), because funds are being payed out. - -#### Sending a Payout Payment - -The following steps need to be taken: -* find the RA Sub Account based on `RAaccount` and the `subaccountPos` and extract the balance -* extract `tokentype` from the Sub Account -* based on the token type, send the payout payment (not exceeding the available balance) - -## Installation & Tests - -Follow the steps below to run the smart contracts test and generate coverage reports: - -- Fork this repo -- [Install NodeJS](https://nodejs.org/en/download/) -- [Install a NodeJS Lite Server](https://www.npmjs.com/package/lite-server) -- [Install Truffle](https://trufflesuite.com/docs/truffle/getting-started/installation.html) -- [Install Truffle Assertions Library](https://www.npmjs.com/package/truffle-assertions) -- [Install Truffle Contract Size Library](https://www.npmjs.com/package/truffle-contract-size) -- [Select & Install an Ethereum client of your choice for local testing only](https://trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client) -- [Install Prettier](https://www.npmjs.com/package/prettier) and its [Solidity Plugin](https://www.npmjs.com/package/prettier-plugin-solidity) -- [Install Solidity Test Coverage](https://www.npmjs.com/package/solidity-coverage) -- [Install the Eth Gas Reporter](https://www.npmjs.com/package/eth-gas-reporter) -- [Install the Open Zeppelin Contract Module](https://www.npmjs.com/package/@openzeppelin/contracts) -- [Install the ABDK Numerical Solidity Libraries](https://www.npmjs.com/package/abdk-libraries-solidity) -- Run Migrations -- Run the Truffle tests in the different test folders - -Note that we are pointing to the Polygon Mumbai Test network in `truffle-config.js`. Please, adjust this if you want a different network. - -### Coverage Report -To generate a coverage report, this command needs to be executed: -```sh -truffle run coverage -``` -The generated HTML report can be found in the `/coverage` folder. - -### Smart Contracts Test -The following commands should be performed to run a specific test: -```sh -truffle test test/transferByERC20_trxntype_0.test.js -``` -or to run a group of tests: -```sh -truffle test test/transfer* -``` - -## Security Testing - -The MythX Pro deep analysis security reports of the contracts can be found [here](https://github.com/treetrunkio/treetrunk-nft-reference-implementation/blob/main/docs). - -## Licensing - -This repo is licensed under [Apache 2.0](https://github.com/treetrunkio/treetrunk-nft-reference-implementation/blob/main/LICENSE). - -## Authors -- Andreas Freund (@Therecanbeonlyone1969) -- Alexander Pyatakov (@Pyatakov) -- Volodymyr Shvets (@vshvets-bc) - -## Contact - -andreas.freund@treetrunk.io \ No newline at end of file diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep b/assets/eip-4910/eip-4910-reference-implementation/test/.gitkeep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js deleted file mode 100644 index 5ee4ef46cc8e2..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/PaymentModule.test.js +++ /dev/null @@ -1,37 +0,0 @@ -const PaymentModule = artifacts.require('PaymentModule'); -const truffleAssert = require('truffle-assertions'); - -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; -contract('PaymentModule', (accounts) => { - const accAdmin = accounts[0]; - const accUser1 = accounts[1]; - const accUser2 = accounts[2]; - - let paymentModule; - - before(async () => { - paymentModule = await PaymentModule.deployed(); - }); - - describe('Only owner can call update functions', async () => { - it('addListNFT', async () => { - await truffleAssert.reverts(paymentModule.addListNFT(ZERO_ADDRESS, [0], 0, '', { from: accAdmin }), ''); - }); - it('addRegisterPayment', async () => { - await truffleAssert.reverts(paymentModule.addRegisterPayment(ZERO_ADDRESS, [0], 0, '', { from: accAdmin }), ''); - }); - it('removeRegisterPayment', async () => { - await truffleAssert.reverts(paymentModule.removeRegisterPayment(ZERO_ADDRESS, [0], { from: accAdmin }), ''); - }); - }); - describe('Getter functions', async () => { - it('getRegisterPayment for empty token', async () => { - const result = await paymentModule.getRegisterPayment(1, { from: accAdmin }); - assert.equal(result.payment, 0); - }); - it('checkRegisterPayment for empty token', async () => { - const payment = await paymentModule.checkRegisterPayment(1, accUser1, { from: accAdmin }); - assert.equal(payment, 0); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js deleted file mode 100644 index 5599503efec03..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyBearingToken.test.js +++ /dev/null @@ -1,494 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const PaymentModule = artifacts.require('PaymentModule'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -const truffleAssert = require('truffle-assertions'); -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; -const MINTER_ROLE = web3.utils.keccak256('MINTER_ROLE'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accSeller = accounts[1]; - const accBuyer = accounts[2]; - const accReceiver = accounts[3]; - const accOtherBuyer = accounts[4]; - const accSomeOther = accounts[5]; - - const costOfNFT = 100; - const token_1 = 1; - const token_1_1 = 2; - const token_1_1_1 = 3; - const token_1_1_2 = 4; - const token_2 = 5; - const token_not_exists = 999; - - let token; - let someToken1; - let someToken2; - let paymentModule; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - paymentModule = await PaymentModule.deployed(); - - //Mint some ERC20 tokens - await someToken1.mint(accBuyer, 100000000, { from: accAdmin }); - await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); - await someToken2.mint(accOtherBuyer, 100000000, { from: accAdmin }); - }); - - describe('addAllowedTokenType restrictions', async () => { - it('Caller must have admin role', async () => { - await truffleAssert.reverts(token.addAllowedTokenType('ST1', someToken1.address, { from: accSomeOther }), 'Admin role required'); - }); - it('Duplicate not allowed', async () => { - await truffleAssert.reverts(token.addAllowedTokenType('ST1_1', someToken1.address), 'Token is duplicate'); - }); - it('Token address must be contract', async () => { - await truffleAssert.reverts(token.addAllowedTokenType('ST_Err', accSomeOther, { from: accAdmin }), 'Token must be contact'); - }); - }); - - describe('Mint restrictions', async () => { - it('Caller must have minter role', async () => { - await truffleAssert.reverts(token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accSeller }), 'Minter or Creator role required'); - }); - it('To must not be zero', async () => { - await truffleAssert.reverts(token.mint(ZERO_ADDRESS, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), 'Zero Address cannot have active NFTs!'); - }); - it('To must not be contract', async () => { - await truffleAssert.reverts(token.mint(someToken2.address, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), ' To must not be contracts'); - }); - it('Parent must be zero or existing token', async () => { - await truffleAssert.reverts(token.mint(accSeller, [[999, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }), 'Parent NFT does not exist'); - }); - it('Royalty split must be < 10000', async () => { - await truffleAssert.reverts(token.mint(accSeller, [[0, true, 10, 10000 + 1, 'uri_1']], 'ST2', { from: accAdmin }), 'Royalty Split is > 100%'); - }); - it('Token list required', async () => { - await truffleAssert.reverts(token.mint(accSeller, [], 'ST2', { from: accAdmin }), 'nfttokens has no value'); - }); - it('Token for payment must be registered', async () => { - await truffleAssert.reverts(token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST3', { from: accAdmin }), 'Token Type not supported!'); - }); - it('Mint some tokens', async () => { - //ERC20 tokens - await token.mint( - accSeller, - [ - [0x0, true, 10, 1000, 'uri_1'], // id = 1 - [0x1, true, 10, 1000, 'uri_1.1'], // id = 2 - [0x2, false, 10, 1000, 'uri_1.1.1'], // id = 3 - [0x2, false, 10, 1000, 'uri_1.1.2'], // id = 4 - ], - 'ST2', - { from: accAdmin }, - ); - //ETH tokens - await token.mint( - accSeller, - [ - [0x0, true, 10, 1000, 'uri_2'], // id = 5 - ], - 'ETH', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 5, 'Token balance must changed'); - assert.equal(await token.hasRole(MINTER_ROLE, accSeller), true, 'CREATOR role must granted'); - assert.equal(await token.getApproved(1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(2), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(3), accSeller, 'Token approved for owner'); - }); - }); - describe('listNFT restriction', async () => { - it('Caller must be token owner', async () => { - await truffleAssert.reverts(token.listNFT([1, 2, 3], costOfNFT, 'ST2', { from: accBuyer }), 'Must be token owner'); - }); - it('Token must exists', async () => { - await truffleAssert.reverts(token.listNFT([1, 2, 99], costOfNFT, 'ST2', { from: accSeller }), 'ERC721: approved query for nonexistent token'); - }); - it('Payment token must be supported', async () => { - await truffleAssert.reverts(token.listNFT([1, 2, 3], costOfNFT, 'ST3', { from: accSeller }), 'Unsupported token type'); - }); - it('Numbers of tokens must be less than limit', async () => { - await token.updatelistinglimit(1, { from: accAdmin }); - await truffleAssert.reverts(token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }), 'Too many NFTs listed'); - await token.updatelistinglimit(10, { from: accAdmin }); - }); - it('List NFT (2,3)', async () => { - await token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }); - }); - it('Only one list allowed. Try list (2,3) when (2,3) are listed', async () => { - await truffleAssert.reverts(token.listNFT([2, 3], costOfNFT, 'ST2', { from: accSeller }), 'Already exists'); - }); - it('Token can listed only once in bundles. Try (1,2) when (2,3) are listed', async () => { - await truffleAssert.reverts(token.listNFT([1, 2], costOfNFT, 'ST2', { from: accSeller }), 'Already exists'); - }); - it('List NFT (1)', async () => { - await token.listNFT([1], costOfNFT, 'ST2', { from: accSeller }); - }); - it('List NFT (5) by ETH', async () => { - await token.listNFT([5], costOfNFT, 'ETH', { from: accSeller }); - }); - }); - describe('removeNFTListing restriction', async () => { - it('Caller must be token owner', async () => { - await truffleAssert.reverts(token.removeNFTListing(1, { from: accBuyer }), 'Must be token owner'); - }); - it('Unlist NFT (1)', async () => { - await token.removeNFTListing(1, { from: accSeller }); - }); - it('List NFT (1)', async () => { - await token.listNFT([1], costOfNFT, 'ST2', { from: accSeller }); - }); - }); - describe('PaymentModule', async () => { - it('getListNFT function', async () => { - const result = await paymentModule.getListNFT(1); - assert.equal(result.seller, accSeller); - assert.equal(result.tokenType, 'ST2'); - assert.equal(result.price, 100); - }); - it('getAllListNFT function', async () => { - const result = await paymentModule.getAllListNFT(); - assert.equal(result[0].toNumber(), 2); - assert.equal(result[1].toNumber(), 5); - assert.equal(result[2].toNumber(), 1); - }); - }); - - describe('executePayment restriction', (async) => { - it('Only supported transaction type allowed', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 2, { from: accBuyer }), 'Trxn type not supported'); - }); - it('Receiver must be non zero', async () => { - await truffleAssert.reverts(token.executePayment(ZERO_ADDRESS, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Receiver must not be zero'); - }); - it('Only supported token type allowed', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST1', 0, { from: accBuyer }), 'Payment token does not match list token type'); - }); - it('Token allowance must be set', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Insufficient token allowance'); - }); - it('Payment must be for existing list', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [token_not_exists], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Token does not exist'); - }); - it('Seller must be equals to seller in list', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSomeOther, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Seller is not owner'); - }); - it('Payment must be not low', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT * 0.5, 'ST2', 0, { from: accBuyer }), 'Payment is too low'); - }); - it('Token list must mach to listed tokens', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 1], costOfNFT, 'ST2', 0, { from: accBuyer }), 'One or more tokens are not listed'); - }); - it('Payment nust be > 0', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], 0, 'ST2', 0, { from: accBuyer }), 'Payments cannot be 0!'); - }); - it('Payment ignore other trxntype', async () => { - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 4, { from: accBuyer }), 'Trxn type not supported'); - }); - - it('Payment for (2,3) trxntype=0 success', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - await token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }); - assert.equal(await token.getApproved(2), accBuyer, 'Token must transfer to buyer'); - assert.equal(await token.getApproved(3), accBuyer, 'Token must transfer to buyer'); - }); - it('Only 1 payment allowed for (2,3). (2,3) was already sold', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [2, 3], costOfNFT, 'ST2', 0, { from: accBuyer }), 'Seller is not owner'); - }); - it('Payment for (1) trxntype=1 must have right token type', async () => { - await someToken1.approve(token.address, costOfNFT, { from: accBuyer }); - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST1', 1, { from: accBuyer }), 'Payment token does not match list token type'); - }); - it('Payment for (1) trxntype=1 success', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - await token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accBuyer }); - assert.equal(await token.getApproved(1), accSeller, 'Token must transfer manual later'); - }); - it('Undo payment for (1) trxntype=1 success', async () => { - await token.reversePayment(1, 'ST2', { from: accBuyer }); - }); - it('Retry payment for (1) trxntype=1 success', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - await token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accBuyer }); - }); - it('Second payment for (1) trxntype=1 not allowed', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accOtherBuyer }); - await truffleAssert.reverts(token.executePayment(accReceiver, accSeller, [1], costOfNFT, 'ST2', 1, { from: accOtherBuyer }), 'RegisterPayment already exists'); - }); - it('Can not unlist token after pay', async () => { - await truffleAssert.reverts(token.removeNFTListing(1, { from: accSeller }), 'RegisterPayment exists for NFT'); - }); - it('checkPayment must have valid token type', async () => { - await truffleAssert.reverts(token.checkPayment(1, 'ST1', accBuyer, { from: accSeller }), 'TokenType mismatch'); - }); - it('reversePayment fails if payment not exists', async () => { - await truffleAssert.reverts(token.reversePayment(1, 'ST2', { from: accSomeOther }), 'No payment registered'); - }); - it('Payment for (5) must have right transaction type', async () => { - const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [5], accBuyer, 3]); - await truffleAssert.reverts(web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }), 'Trxn type not supported'); - }); - - it('Payment for (5) trxntype=1 success', async () => { - const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [5], accBuyer, 1]); - await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }); - assert.equal(await token.getApproved(5), accSeller, 'Token must transfer manual later'); - const payment = await token.checkPayment(5, 'ETH', accBuyer, { from: accSeller }); - assert.equal(payment.toNumber(), costOfNFT); - }); - it('reversePayment for (5) success', async () => { - await token.reversePayment(5, 'ETH', { from: accBuyer }); - const payment = await token.checkPayment(5, 'ETH', accBuyer, { from: accSeller }); - assert.equal(payment.toNumber(), 0); - }); - }); - describe('safeTransferFrom restrictions', async () => { - it('Wrong metadata: seller address', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSomeOther, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Seller not From address'); - }); - it('Wrong metadata: receiver address', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accSomeOther, [1], 'ST2', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Receiver not To address'); - }); - - it('Wrong metadata: wrong payment', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT + 1, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Payment not match'); - }); - - it('Wrong metadata: token ids', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [2], 'ST2', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Wrong NFT listing'); - }); - it('Wrong metadata: pay token symbol', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1], 'ST1', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'TokenType not match'); - }); - it('Wrong metadata: wrong chain id', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 999], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Transfer on wrong Blockchain'); - }); - it('Token list must be owned by seller', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1, 2], 'ST2', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'Seller is not owner'); - }); - - it('Transfer (1) success', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], - ); - //truffle fail to select valid method safeTransferFrom - //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); - //workaround for this - await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }); - assert.equal(await token.getApproved(1), accBuyer, 'Token must transferred'); - }); - - it('Repeat transfer not allowed', async () => { - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [1], 'ST2', costOfNFT, someToken2.address, 1], - ); - await truffleAssert.reverts(token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, 1, data, { from: accSeller }), 'RegisterPayment not found'); - }); - }); - describe('royaltyPayOut restrictions', async () => { - it('Only subaccount owner can run payout', async () => { - await truffleAssert.reverts(token.royaltyPayOut(token_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); - await truffleAssert.reverts(token.royaltyPayOut(token_1_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); - await truffleAssert.reverts(token.royaltyPayOut(token_1_1_1, accBuyer, accBuyer, 1, { from: accOtherBuyer }), 'Sender must be subaccount owner'); - }); - it('Payout limited to royalty balance', async () => { - await truffleAssert.reverts(token.royaltyPayOut(token_1_1, accBuyer, accBuyer, 999, { from: accBuyer }), 'Insufficient royalty balance'); - }); - it('Payout for non exist NFT restricted', async () => { - await truffleAssert.reverts(token.royaltyPayOut(token_not_exists, accBuyer, accBuyer, 1, { from: accBuyer }), 'Subaccount not found'); - }); - it('Success payout', async () => { - const ra_1_1_before = await token.getRoyaltyAccount(token_1_1); - await token.royaltyPayOut(2, accBuyer, accBuyer, 1, { from: accBuyer }); - const ra_1_1_after = await token.getRoyaltyAccount(token_1_1); - assert.equal(ra_1_1_before.subaccounts[0].royaltyBalance - 1, ra_1_1_after.subaccounts[0].royaltyBalance, 'Royalty changed after payout'); - }); - }); - describe('burn restrictions', async () => { - it('Burn restricted for MINTER_ROLE', async () => { - await truffleAssert.reverts(token.burn(token_1_1_1, { from: accSomeOther }), 'Sender not authorized to burn'); - }); - it('Burn token with royalty ballance not allowed', async () => { - await truffleAssert.reverts(token.burn(token_1_1_1, { from: accBuyer }), "Can't delete non empty royalty account"); - }); - it('Burn token with children not allowed', async () => { - await truffleAssert.reverts(token.burn(token_1_1, { from: accBuyer }), 'NFT must not have children'); - }); - it('Burn token must exists', async () => { - await truffleAssert.reverts(token.burn(token_not_exists, { from: accBuyer }), 'ERC721: approved query for nonexistent token'); - }); - it('Payout TT royalty from (3)', async () => { - const ra_1_1_1_before = await token.getRoyaltyAccount(token_1_1_1); - await token.royaltyPayOut(token_1_1_1, accAdmin, accAdmin, ra_1_1_1_before.subaccounts[1].royaltyBalance, { from: accAdmin }); - const ra_1_1_1_after = await token.getRoyaltyAccount(token_1_1_1); - assert.equal(ra_1_1_1_after.subaccounts[1].royaltyBalance, 0); - }); - it('Burn token without children and 0 royalty success', async () => { - await token.burn(token_1_1_1, { from: accBuyer }); - }); - }); - describe('Other transfer function restrictions', async () => { - it('transferFrom(address,address,uint256) not allowed', async () => { - await truffleAssert.reverts(token.transferFrom(ZERO_ADDRESS, ZERO_ADDRESS, 0, { from: accBuyer }), 'Function not allowed'); - }); - it('safeTransferFrom(address,address,uint256) not allowed', async () => { - await truffleAssert.reverts(token.safeTransferFrom(ZERO_ADDRESS, ZERO_ADDRESS, 0, { from: accBuyer }), 'Function not allowed'); - }); - }); - describe('updateMaxChildren restrictions', async () => { - it('updateMaxChildren not allowed without CREATOR_ROLE', async () => { - await truffleAssert.reverts(token.updateMaxChildren(token_1_1, 0, { from: accSomeOther }), 'Creator role required'); - }); - it('updateMaxChildren not allowed new limit bellow actual children', async () => { - await truffleAssert.reverts(token.updateMaxChildren(token_1_1, 0, { from: accAdmin }), 'Max < Actual'); - }); - it('updateMaxChildren success', async () => { - await token.updateMaxChildren(token_1_1, 3, { from: accAdmin }); - }); - }); - describe('updateMaxGenerations restrictions', async () => { - it('updateMaxGenerations not allowed without CREATOR_ROLE', async () => { - await truffleAssert.reverts(token.updateMaxGenerations(5, { from: accSomeOther }), 'Creator role required'); - }); - it('updateMaxGenerations success', async () => { - await token.updateMaxGenerations(1, { from: accAdmin }); - }); - it('mint not allowed for new generations', async () => { - await truffleAssert.reverts(token.mint(accSeller, [[token_1_1, true, 10, 1000, 'uri_1.1.1.1']], 'ST2', { from: accAdmin }), 'Generation limit'); - }); - it('updateMaxGenerations success', async () => { - await token.updateMaxGenerations(5, { from: accAdmin }); - }); - }); - describe('Minor function coverage', async () => { - it('getAllowedTokens', async () => { - const result = await token.getAllowedTokens(); - assert.equal(result.length, 3); - assert.equal(result[0], token.address); - assert.equal(result[1], someToken1.address); - assert.equal(result[2], someToken2.address); - }); - it('getModules', async () => { - const modules = await token.getModules(); - assert.equal(Object.keys(modules).length, 2); - }); - it('tokenURI', async () => { - const uri = await token.tokenURI(token_1_1); - assert.equal(uri, 'https:\\\\some.base.url\\uri_1.1'); - }); - it('tokenURI for burned not allowed', async () => { - await await truffleAssert.reverts(token.tokenURI(token_1_1_1), 'URI query for nonexistent token'); - }); - it('pause not allowed without PAUSER_ROLE', async () => { - await truffleAssert.reverts(token.pause({ from: accSomeOther }), 'Pauser role required'); - }); - it('unpause not allowed without PAUSER_ROLE', async () => { - await truffleAssert.reverts(token.unpause({ from: accSomeOther }), 'Pauser role required'); - }); - it('pause success for PAUSER_ROLE', async () => { - await token.pause({ from: accAdmin }); - }); - it('unpause success for PAUSER_ROLE', async () => { - await token.unpause({ from: accAdmin }); - }); - it('supportsInterface', async () => { - const result = await token.supportsInterface('0x0000'); - assert.equal(result, false); - }); - it('second init call not allowed', async () => { - await truffleAssert.reverts(token.init(ZERO_ADDRESS, ZERO_ADDRESS, { from: accAdmin }), 'Init was called before'); - }); - it('updatelistinglimit caller must be creator', async () => { - await truffleAssert.reverts(token.updatelistinglimit(10, { from: accSomeOther }), 'Creator role required'); - }); - it('updateRAccountLimits caller must be creator', async () => { - await truffleAssert.reverts(token.updateRAccountLimits(10, 10, { from: accSomeOther }), 'Creator role required'); - }); - it('onERC721Received accept only own tokens', async () => { - await truffleAssert.reverts(token.onERC721Received(ZERO_ADDRESS, accSomeOther, 1, '0x0', { from: accSomeOther }), 'Only minted'); - }); - it('getRoyaltyAccount cant get not exist token', async () => { - await truffleAssert.reverts(token.getRoyaltyAccount(token_not_exists, { from: accSomeOther }), 'NFT does not exist'); - }); - }); - describe('Delegate call', async () => { - const funcSig1 = web3.utils.keccak256('updateMaxGenerations(uint256)').substring(0, 6); - const funcSig2 = web3.utils.keccak256('updatelistinglimit(uint256)').substring(0, 6); - console.log('funcSig2', funcSig2); - it('Only creator can call setFunctionSignature', async () => { - await truffleAssert.reverts(token.setFunctionSignature(funcSig1, { from: accSomeOther }), 'Admin or Creator role required'); - }); - it('Set signatures', async () => { - await token.setFunctionSignature(funcSig1, { from: accAdmin }); - }); - - it('Only registered function can be called', async () => { - await truffleAssert.reverts( - token.delegateAuthority( - funcSig2, - web3.utils.randomHex(32), // - web3.utils.randomHex(32), - [0,1,2], - [web3.utils.randomHex(32)], - [web3.utils.randomHex(32)], - 1, - { from: accAdmin }, - ), - 'Not a valid function', - ); - }); - it('Invalid signature not allowed', async () => { - await truffleAssert.reverts( - token.delegateAuthority( - funcSig1, - web3.utils.randomHex(32), // - web3.utils.randomHex(32), - [0,1,2], - [web3.utils.randomHex(32)], - [web3.utils.randomHex(32)], - 1, - { from: accAdmin }, - ), - 'Signature', - ); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js deleted file mode 100644 index df6b14bd7a891..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/coverage/RoyaltyModule.test.js +++ /dev/null @@ -1,42 +0,0 @@ -const RoyaltyModule = artifacts.require('RoyaltyModule'); -const truffleAssert = require('truffle-assertions'); - -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; -contract('RoyaltyModule', (accounts) => { - const accAdmin = accounts[0]; - const accUser1 = accounts[1]; - const accUser2 = accounts[2]; - - let royaltyModule, token; - - before(async () => { - royaltyModule = await RoyaltyModule.deployed(); - }); - - describe('Only owner can call update functions', async () => { - it('createRoyaltyAccount', async () => { - await truffleAssert.reverts(royaltyModule.createRoyaltyAccount(ZERO_ADDRESS, 0, 0, '', 0, { from: accAdmin }), ''); - }); - it('updateRoyaltyAccount', async () => { - await truffleAssert.reverts(royaltyModule.updateRoyaltyAccount(0, [], ZERO_ADDRESS, true, { from: accAdmin }), ''); - }); - it('deleteRoyaltyAccount', async () => { - await truffleAssert.reverts(royaltyModule.deleteRoyaltyAccount(0, { from: accAdmin }), ''); - }); - it('distributePayment', async () => { - await truffleAssert.reverts(royaltyModule.distributePayment(0, 0, { from: accAdmin }), ''); - }); - it('withdrawBalance', async () => { - await truffleAssert.reverts(royaltyModule.withdrawBalance(0, ZERO_ADDRESS, 0, { from: accAdmin }), ''); - }); - it('transferRAOwnership', async () => { - await truffleAssert.reverts(royaltyModule.transferRAOwnership(ZERO_ADDRESS, 0, ZERO_ADDRESS, { from: accAdmin }), ''); - }); - }); - describe('Getter functions', async () => { - it('getBalance for empty token', async () => { - const balance = await royaltyModule.getBalance(1, ZERO_ADDRESS, { from: accAdmin }); - assert.equal(balance, 0); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js deleted file mode 100644 index cab57652a3e48..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplit.test.js +++ /dev/null @@ -1,84 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); -const DIGITS = 1000000000; - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100 * DIGITS; - const tokenId_1 = 1; - const tokenId_1_1 = 2; - const tokenId_1_1_1 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - //Mint some ERC20 tokens - //await someToken2.mint(accBuyer, cost, { from: accAdmin }); - }); - - describe('Royalty split scenario', async () => { - it('accOwner1 mint root token_1 with 20%', async () => { - await token.mint(accOwner1, [[0x0, true, 10, 2000, 'uri_1']], 'ST2', { from: accAdmin }); - assert.equal(await token.getApproved(tokenId_1), accOwner1, 'Token approved for owner'); - }); - it('accOwner1 sell token_1 to accOwner2 -- (accOwner1 receive 90% directly)', async () => { - await token.listNFT([tokenId_1], costOfNFT, 'ST2', { from: accOwner1 }); - //Mint and approve ERC20 - await someToken2.mint(accOwner2, costOfNFT, { from: accAdmin }); - await someToken2.approve(token.address, costOfNFT, { from: accOwner2 }); - //Buy NFT - await token.executePayment(accOwner2, accOwner1, [tokenId_1], costOfNFT, 'ST2', 0, { from: accOwner2 }); - - const a1_after = await someToken2.balanceOf(accOwner1); - const a2_after = await someToken2.balanceOf(accOwner2); - - assert.equal(a1_after.toNumber(), 0.9 * costOfNFT); - assert.equal(a2_after.toNumber(), 0); - }); - it('accOwner2 mint token_1_1 to with 50%', async () => { - await token.mint(accOwner2, [[tokenId_1, true, 10, 5000, 'uri_1_1']], 'ST2', { from: accAdmin }); - assert.equal(await token.getApproved(tokenId_1_1), accOwner2, 'Token approved for owner'); - }); - it('accOwner2 sell token_1_1 to accOwner3 -- (accOwner2 receive 70% directly; accOwner2 receive 20% on royalty acc for token_1)', async () => { - const a1_before = (await someToken2.balanceOf(accOwner1)).toNumber(); - const a2_before = (await someToken2.balanceOf(accOwner2)).toNumber(); - const a3_before = (await someToken2.balanceOf(accOwner3)).toNumber(); - - const ra1_before = await token.getRoyaltyAccount(tokenId_1); - - await token.listNFT([tokenId_1_1], costOfNFT, 'ST2', { from: accOwner2 }); - //Mint and approve ERC20 - await someToken2.mint(accOwner3, costOfNFT, { from: accAdmin }); - await someToken2.approve(token.address, costOfNFT, { from: accOwner3 }); - //Buy NFT - await token.executePayment(accOwner3, accOwner2, [tokenId_1_1], costOfNFT, 'ST2', 0, { from: accOwner3 }); - - const a1_after = (await someToken2.balanceOf(accOwner1)).toNumber(); - const a2_after = (await someToken2.balanceOf(accOwner2)).toNumber(); - const a3_after = (await someToken2.balanceOf(accOwner3)).toNumber(); - - const ra1_after = await token.getRoyaltyAccount(tokenId_1); - - assert.equal(a1_after - a1_before, 0); - assert.equal(a2_after - a2_before, 0.7 * costOfNFT); - assert.equal(a3_after - a3_before, 0); - - assert.equal(ra1_after.subaccounts[0].accountId, accOwner2); //accOwner2 own token_1 anf receive 20% - assert.equal(ra1_after.subaccounts[0].royaltyBalance - ra1_before.subaccounts[0].royaltyBalance, Math.floor(0.2 * 0.9 * costOfNFT)); // 90% of 20% royalty - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js deleted file mode 100644 index 88436327b2cda..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/royaltySplitUpdate.test.js +++ /dev/null @@ -1,162 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -const truffleAssert = require('truffle-assertions'); -const MINTER_ROLE = web3.utils.keccak256('MINTER_ROLE'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accSeller = accounts[1]; - const accBuyer = accounts[2]; - const accSomeone1 = accounts[3]; - const accSomeone2 = accounts[4]; - const accNewRoyalty = accounts[4]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1_1 = 2; - const tokenId_1_1_1 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - }); - - describe('Prepare tokens for test', async () => { - it('mint tokens to accSeller', async () => { - await token.mint( - accSeller, - [ - [0x0, true, 10, 1000, 'uri_1'], - [0x1, true, 10, 1000, 'uri_1.1'], - [0x2, true, 10, 1000, 'uri_1.1.1'], - ], - 'ETH', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 3, 'Token balance must changed'); - assert.equal(await token.hasRole(MINTER_ROLE, accSeller), true, 'CREATOR role must granted'); - assert.equal(await token.getApproved(1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(2), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(3), accSeller, 'Token approved for owner'); - }); - it('seller make listNFT (2)', async () => { - await token.listNFT([tokenId_1_1], costOfNFT, 'ETH', { from: accSeller }); - }); - - it('buyer execute the ETH payment to Token contract and receive tokens (2)', async () => { - const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1_1], accBuyer, 0]); - await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 6000000 }); - }); - }); - - describe('Edit royalty split functionality', async () => { - //Token 1.1 royalty after init - //Owner/TT/parent - //8000/1000/1000 - - it('updateRoyaltyAccount not allowed for if caller is not token owner or royalty receiver', async () => { - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, [[true, 1000, 0, accSomeone1]], { from: accSomeone1 }), 'Total royaltySplit must be 10000'); - }); - it('Sum of royalty split must be = 10000', async () => { - const updates = [ - [true, 8000, 0, accBuyer], - [true, 1000, 0, accSomeone1], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Total royaltySplit must be 10000'); - }); - it('Only subaccount owner can reduce own royalty split', async () => { - const updates = [ - [true, 7000, 0, accBuyer], - [true, 1000, 0, accSomeone1], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Only individual subaccount owner can decrease royaltySplit'); - }); - it('Only parent token owner can reduce royalty split for parent', async () => { - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [true, 500, 0, ra.subaccounts[2].accountId], - [true, 8500, 0, accBuyer], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSomeone1 }), 'Only parent token owner can decrease royalty subaccount royaltySplit'); - }); - it('Parent owner decrease royalty and transfer royaltySplit to token owner', async () => { - //8000/1000/1000 >> 8500/1000/500 - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [false, 500, 0, ra.subaccounts[2].accountId], - [true, 8500, 0, accBuyer], - ]; - await token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accSeller }); - - const ra_after = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra_after.subaccounts[0].royaltySplit, 8500); - assert.equal(ra_after.subaccounts[1].royaltySplit, 1000); - assert.equal(ra_after.subaccounts[2].royaltySplit, 500); - }); - it('Only individual account allowed as new', async () => { - //8500/1000/500 - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [false, 1000, 0, ra.subaccounts[2].accountId], - [true, 6000, 0, accBuyer], - [false, 2000, 0, accNewRoyalty], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'New subaccounts must be individual'); - }); - it('Token owner transfer royaltySplit back to parent and split royalty to new account', async () => { - //8500/1000/500 >> 6000/1000/1000/2000 - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [false, 1000, 0, ra.subaccounts[2].accountId], - [true, 6000, 0, accBuyer], - [true, 2000, 0, accNewRoyalty], - ]; - await token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }); - - const ra_after = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra_after.subaccounts[0].royaltySplit, 6000); - assert.equal(ra_after.subaccounts[1].royaltySplit, 1000); - assert.equal(ra_after.subaccounts[2].royaltySplit, 1000); - assert.equal(ra_after.subaccounts[3].royaltySplit, 2000); - }); - it('Royalty split for TT + minimal must be <= 100%', async () => { - await truffleAssert.reverts(token.updateRAccountLimits(5, 9500, { from: accAdmin }), 'Royalty Split to TT + Minimal Split is > 100%'); - }); - it('Update royalty limits to 5 max subaccount and 5% min royalty split', async () => { - await token.updateRAccountLimits(5, 500, { from: accAdmin }); - }); - it('Token owner can not split royalty less than limit (5%)', async () => { - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [true, 7900, 0, accBuyer], - [true, 100, 0, accNewRoyalty], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'Royalty Split is smaller then set limit'); - }); - it('Token owner can not split royalty to more than limit account numbers (5)', async () => { - //Token already have 4 subaccounts (Parent royalty, TT fee, ) - const ra = await token.getRoyaltyAccount(tokenId_1_1); - assert.equal(ra.subaccounts[2].isIndividual, false); - const updates = [ - [true, 2000, 0, accBuyer], - [true, 1000, 0, accounts[5]], - [true, 1000, 0, accounts[6]], - [true, 1000, 0, accounts[7]], - [true, 1000, 0, accounts[8]], - ]; - await truffleAssert.reverts(token.updateRoyaltyAccount(tokenId_1_1, updates, { from: accBuyer }), 'Too many Royalty subaccounts'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js deleted file mode 100644 index 67f6953bb1958..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/scenarios/sellWithZeroRoyalty.test.js +++ /dev/null @@ -1,51 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenId = 4; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - //Mint some ERC20 tokens - await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); - }); - - describe('Transfer NFT with 0% royalty', async () => { - it('Create new NFT with few generations and few prints. Set royalty 0%', async () => { - await token.mint(accSeller, [[0x0, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); - await token.mint(accSeller, [[1, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); - await token.mint(accSeller, [[2, true, 10, 0, 'uri_1']], 'ST2', { from: accAdmin }); // id=3 royalty from children = 0% - await token.mint(accSeller, [[3, true, 10, 1000, 'uri_1']], 'ST2', { from: accAdmin }); //id=4 royalty to parent = 0% - }); - - it('seller make listNFT', async () => { - await token.listNFT([tokenId], costOfNFT, 'ST2', { from: accSeller }); - }); - - it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); - }); - it('buyer execute the ERC20 payment with trxnt = 0 and buy tokens', async () => { - await token.executePayment(accOwner4, accSeller, [tokenId], costOfNFT, 'ST2', 0, { from: accBuyer }); - assert.equal(await token.getApproved(tokenId), accBuyer, 'Token approved for owner'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js deleted file mode 100644 index de210201d1d3a..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/stressBatchMint.test.js +++ /dev/null @@ -1,58 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - const maxChildren = 10000000; - const steps = [10, 20, 40, 50, 60, 70, 80, 90, 100]; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - }); - - describe('Stress test batch token mint', async () => { - it('updateMaxGenerations success', async () => { - await token.updateMaxGenerations(5000000, { from: accAdmin }); - }); - - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, maxChildren, 100, 'uri_1']], 'ETH', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - for (let n = 0; n < steps.length; n++) { - const count = steps[n]; - const tokens = []; - for (let i = 0; i < count; i++) { - tokens.push([1, true, maxChildren, 100, 'uri_' + (i + 1)]); - } - it(`mint ${count} children`, async () => { - //const balanceBefore = (await token.balanceOf(token.address)).toNumber(); - await token.mint(accOwner1, tokens, 'ETH', { from: accAdmin }); - //const balanceAfter = (await token.balanceOf(token.address)).toNumber(); - - //assert.equal(balanceAfter - balanceBefore, accOwner1, 'Token approved for owner'); - }); - } - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js deleted file mode 100644 index c18cecd822f25..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/stressDeepRoyalty.test.js +++ /dev/null @@ -1,68 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - const maxChildren = 10000000; - const bathCount = 10; - const bathSize = 10; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - //Mint some ERC20 tokens - await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); - }); - - describe('Stress test royalty calculation', async () => { - it('updateMaxGenerations success', async () => { - await token.updateMaxGenerations(5000000, { from: accAdmin }); - }); - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, maxChildren, 100, 'uri_1']], 'ST2', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - it(`mint ${bathSize * bathCount} nested children`, async () => { - let lastId = 1; - for (let n = 0; n < bathCount; n++) { - const tokens = []; - for (let i = 0; i < bathSize; i++) { - tokens.push([lastId, true, maxChildren, 100, 'uri_' + (lastId + 1)]); - lastId++; - } - await token.mint(accSeller, tokens, 'ST2', { from: accAdmin }); - } - }); - const step = 10; - for (let level = step; level < bathSize * bathCount; level += step) { - it(`transfer token with ${level} nesting`, async () => { - const tokenId = level; - await token.listNFT([tokenId], costOfNFT, 'ST2', { from: accSeller }); - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - await token.executePayment(accOwner4, accSeller, [tokenId], costOfNFT, 'ST2', 0, { from: accBuyer }); - - }); - } - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js deleted file mode 100644 index 49dc00d74db0b..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_0.test.js +++ /dev/null @@ -1,103 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - //Mint some ERC20 tokens - await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); - }); - - describe('Transfer NFT token using ERC20', async () => { - before('', async () => {}); - - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ST2', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - it('mint first offspring token to accSeller', async () => { - await token.mint( - accSeller, - [ - [tokenRootId, true, 10, 200,"uri_2"], - [tokenRootId, true, 10, 200,"uri_3"], - ], - 'ST2', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); - }); - - it('seller make listNFT', async () => { - await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ST2', { from: accSeller }); - }); - - it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); - }); - - it('buyer execute the ERC20 payment with trxnt = 0 and buy tokens', async () => { - const balanceBefore = { - accSeller: await someToken2.balanceOf(accSeller), - accBuyer: await someToken2.balanceOf(accBuyer), - }; - - const royaltyBefore = { - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); - assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); - - await token.executePayment(accOwner4, accSeller, [tokenId_1, tokenId_2], costOfNFT, 'ST2', 0, { from: accBuyer }); - - assert.equal(await token.getApproved(tokenId_1), accBuyer, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accBuyer, 'Token approved for owner'); - - const royaltyAfter = { - root: await token.getRoyaltyAccount(tokenRootId), - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); - assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); - - const balanceAfter = { - accSeller: await someToken2.balanceOf(accSeller), - accBuyer: await someToken2.balanceOf(accBuyer), - }; - assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner - assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT - assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT - assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT - - assert.equal(balanceAfter.accSeller.toNumber() - balanceBefore.accSeller.toNumber(), costOfNFT - 10 - 10, 'Payout for Seller'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js deleted file mode 100644 index def573ef88a4f..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/transferByERC20_trxntype_1.test.js +++ /dev/null @@ -1,114 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - - //Mint some ERC20 tokens - await someToken2.mint(accBuyer, 100000000, { from: accAdmin }); - }); - - describe('Transfer NFT token using ERC20', async () => { - before('', async () => {}); - - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ST2', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - it('mint first offspring token to accSeller', async () => { - await token.mint( - accSeller, - [ - [tokenRootId, true, 10, 200,"uri_2"], - [tokenRootId, true, 10, 200,"uri_3"], - ], - 'ST2', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); - }); - - it('seller make listNFT', async () => { - await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ST2', { from: accSeller }); - }); - - it('buyer (Bob) approve ERC20 transfer for NFT Contract', async () => { - await someToken2.approve(token.address, costOfNFT, { from: accBuyer }); - assert.equal((await someToken2.allowance(accBuyer, token.address, { from: accBuyer })).toString(), costOfNFT); - }); - - it('buyer execute the ERC20 payment', async () => { - await token.executePayment(accOwner4, accSeller, [tokenId_1, tokenId_2], costOfNFT, 'ST2', 1, { from: accBuyer }); - //assert.equal((await token.checkPayment(tokenId, 'ST2', { from: accBuyer })).toString(), costOfNFT, 'Payment after transfer must changed'); - }); - - it('seller transfer NTF token to buyer', async () => { - const balanceBefore = { - accSeller: await someToken2.balanceOf(accSeller), - accBuyer: await someToken2.balanceOf(accBuyer), - }; - - const royaltyBefore = { - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); - assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); - - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [tokenId_1, tokenId_2], 'ST2', costOfNFT, someToken2.address, 1], - ); - //truffle fail to select valid method safeTransferFrom - //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); - //workaround for this - await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, tokenId_1, data, { from: accSeller }); - - assert.equal(await token.getApproved(tokenId_1), accBuyer, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accBuyer, 'Token approved for owner'); - - const royaltyAfter = { - root: await token.getRoyaltyAccount(tokenRootId), - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); - assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); - - const balanceAfter = { - accSeller: await someToken2.balanceOf(accSeller), - accBuyer: await someToken2.balanceOf(accBuyer), - }; - assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner - assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT - assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT - assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT - assert.equal(balanceAfter.accSeller.toNumber() - balanceBefore.accSeller.toNumber(), costOfNFT - 10 - 10, 'Payout for Seller'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js deleted file mode 100644 index f0cbbf5e1eb51..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_0.test.js +++ /dev/null @@ -1,96 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - console.log('seller', accSeller); - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - }); - - describe('Transfer NFT token using ETH', async () => { - before('', async () => {}); - - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, 10, 1000, 'uri_1']], 'ETH', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - it('mint first offspring token to accSeller', async () => { - await token.mint( - accSeller, - [ - [tokenRootId, true, 10, 200, 'uri_2'], - [tokenRootId, true, 10, 200, 'uri_3'], - ], - 'ETH', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); - }); - - it('seller make listNFT', async () => { - await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ETH', { from: accSeller }); - }); - - it('buyer execute the ETH payment to Token contract and receive tokens', async () => { - const balanceBefore = { - accSeller: await web3.eth.getBalance(accSeller), - accBuyer: await web3.eth.getBalance(accBuyer), - token: await web3.eth.getBalance(token.address), - }; - - const royaltyBefore = { - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); - assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); - - const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1, tokenId_2], accBuyer, 0]); - await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 6000000 }); - - const royaltyAfter = { - root: await token.getRoyaltyAccount(tokenRootId), - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); - assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); - - const balanceAfter = { - accSeller: await web3.eth.getBalance(accSeller), - accBuyer: await web3.eth.getBalance(accBuyer), - token: await web3.eth.getBalance(token.address), - }; - - assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner - assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT - assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT - assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT - assert.equal(balanceAfter.token - balanceBefore.token, 10 + 10, 'Balance changed only for royalty'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js b/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js deleted file mode 100644 index 4e4d076918884..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/test/transferByETH_trxnttype_1.test.js +++ /dev/null @@ -1,109 +0,0 @@ -const RoyaltyBearingToken = artifacts.require('RoyaltyBearingToken'); -const SomeERC20_1 = artifacts.require('SomeERC20_1'); -const SomeERC20_2 = artifacts.require('SomeERC20_2'); - -contract('RoyaltyBearingToken', (accounts) => { - const accAdmin = accounts[0]; - const accOwner1 = accounts[1]; - const accOwner2 = accounts[2]; - const accOwner3 = accounts[3]; - const accOwner4 = accounts[4]; - const accBuyer = accounts[5]; - const accSeller = accounts[6]; - - const costOfNFT = 100; - const tokenRootId = 1; - const tokenId_1 = 2; - const tokenId_2 = 3; - - let token; - let someToken1; - let someToken2; - - before(async () => { - someToken1 = await SomeERC20_1.deployed(); - someToken2 = await SomeERC20_2.deployed(); - token = await RoyaltyBearingToken.deployed(); - }); - - describe('Transfer NFT token using ETH', async () => { - before('', async () => {}); - - it('mint root token to accOwner1', async () => { - await token.mint(accOwner1, [[0x0, true, 10, 1000,"uri_1"]], 'ETH', { from: accAdmin }); - assert.equal((await token.balanceOf(token.address)).toString(), 1, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenRootId), accOwner1, 'Token approved for owner'); - }); - - it('mint first offspring token to accSeller', async () => { - await token.mint( - accSeller, - [ - [tokenRootId, true, 10, 200,"uri_2"], - [tokenRootId, true, 10, 200,"uri_3"], - ], - 'ETH', - { from: accAdmin }, - ); - assert.equal((await token.balanceOf(token.address)).toString(), 1 + 2, 'Token balance must changed'); - assert.equal(await token.getApproved(tokenId_1), accSeller, 'Token approved for owner'); - assert.equal(await token.getApproved(tokenId_2), accSeller, 'Token approved for owner'); - }); - - it('seller make listNFT', async () => { - await token.listNFT([tokenId_1, tokenId_2], costOfNFT, 'ETH', { from: accSeller }); - }); - - it('buyer execute the ETH payment to Token contract', async () => { - const data = web3.eth.abi.encodeParameters(['address', 'uint256[]', 'address', 'int256'], [accSeller, [tokenId_1, tokenId_2], accBuyer, 1]); - await web3.eth.sendTransaction({ from: accBuyer, to: token.address, value: costOfNFT, data: data, gas: 1000000 }); - console.log('payment', (await token.checkPayment(tokenId_1, 'ETH', accBuyer, { from: accBuyer }))); - assert.equal((await token.checkPayment(tokenId_1, 'ETH', accBuyer, { from: accBuyer })).toString(), costOfNFT, 'Payment after transfer must changed'); - }); - - it('seller transfer NTF token to buyer', async () => { - const balanceBefore = { - accSeller: await web3.eth.getBalance(accSeller), - accBuyer: await web3.eth.getBalance(accBuyer), - token: await web3.eth.getBalance(token.address), - }; - - const royaltyBefore = { - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyBefore.t1.subaccounts[0].accountId, accSeller); - assert.equal(royaltyBefore.t2.subaccounts[0].accountId, accSeller); - - const data = web3.eth.abi.encodeParameters( - ['address', 'address', 'address', 'uint256[]', 'string', 'uint256', 'address', 'uint256'], - [accSeller, accBuyer, accBuyer, [tokenId_1, tokenId_2], 'ETH', costOfNFT, token.address, 1], - ); - //truffle fail to select valid method safeTransferFrom - //await token.safeTransferFrom(accSeller, accOwner3, tokenId, data,{from:accSeller}); - //workaround for this - await token.methods['safeTransferFrom(address,address,uint256,bytes)'](accSeller, accBuyer, tokenId_1, data, { from: accSeller }); - - const royaltyAfter = { - root: await token.getRoyaltyAccount(tokenRootId), - t1: await token.getRoyaltyAccount(tokenId_1), - t2: await token.getRoyaltyAccount(tokenId_2), - }; - assert.equal(royaltyAfter.t1.subaccounts[0].accountId, accBuyer); - assert.equal(royaltyAfter.t2.subaccounts[0].accountId, accBuyer); - - const balanceAfter = { - accSeller: await web3.eth.getBalance(accSeller), - accBuyer: await web3.eth.getBalance(accBuyer), - token: await web3.eth.getBalance(token.address), - }; - - assert.equal(royaltyAfter.root.subaccounts[0].royaltyBalance, 8, 'Royalty for parent must received'); //(90% of 5) x2 for owner - assert.equal(royaltyAfter.root.subaccounts[1].royaltyBalance, 2, 'TT Royalty for parent must received'); //(10% of 5) x2 for TT - assert.equal(royaltyAfter.t1.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token1 must received'); //(10% of 50) for TT - assert.equal(royaltyAfter.t2.subaccounts[1].royaltyBalance, 5, 'TT Royalty for token2 must received'); //(10% of 50) for TT - - assert.equal(balanceBefore.token - balanceAfter.token, costOfNFT - 10 - 10, 'Payout for Seller'); - }); - }); -}); diff --git a/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js b/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js deleted file mode 100644 index 4b22129f758f3..0000000000000 --- a/assets/eip-4910/eip-4910-reference-implementation/truffle-config.js +++ /dev/null @@ -1,113 +0,0 @@ -const HDWalletProvider = require('@truffle/hdwallet-provider'); -const fs = require('fs'); -const mnemonic = fs.readFileSync('.secret').toString().trim(); - -module.exports = { - plugins: ['truffle-contract-size', 'solidity-coverage'], - /** - * Networks define how you connect to your ethereum client and let you set the - * defaults web3 uses to send transactions. If you don't specify one truffle - * will spin up a development blockchain for you on port 9545 when you - * run `develop` or `test`. You can ask a truffle command to use a specific - * network from the command line, e.g - * - * $ truffle test --network - */ - - networks: { - // Useful for testing. The `development` name is special - truffle uses it by default - // if it's defined here and no other network is specified at the command line. - // You should run a client (like ganache-cli, geth or parity) in a separate terminal - // tab if you use this network and you must also set the `host`, `port` and `network_id` - // options below to some value. - // - development: { - host: '127.0.0.1', // Localhost (default: none) - port: 7545, // Standard Ethereum port (default: none) - network_id: '*', // Any network (default: none) - allowUnlimitedContractSize: true, - }, - - mumbai: { - provider: () => new HDWalletProvider(mnemonic, `https://matic-mumbai.chainstacklabs.com`), - network_id: 80001, - confirmations: 2, - timeoutBlocks: 20000, - skipDryRun: true, - gasPrice: 0, - }, - // Another network with more advanced options... - // advanced: { - // port: 8777, // Custom port - // network_id: 1342, // Custom network - // gas: 8500000, // Gas sent with each transaction (default: ~6700000) - // gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) - // from:

, // Account to send txs from (default: accounts[0]) - // websocket: true // Enable EventEmitter interface for web3 (default: false) - // }, - // Useful for deploying to a public network. - // NB: It's important to wrap the provider as a function. - // ropsten: { - // provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`), - // network_id: 3, // Ropsten's id - // gas: 5500000, // Ropsten has a lower block limit than mainnet - // confirmations: 2, // # of confs to wait between deployments. (default: 0) - // timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) - // skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) - // }, - // Useful for private networks - // private: { - // provider: () => new HDWalletProvider(mnemonic, `https://network.io`), - // network_id: 2111, // This network is yours, in the cloud. - // production: true // Treats this network as if it was a public net. (default: false) - // } - }, - - // Set default mocha options here, use special reporters etc. - mocha: { - reporter: 'eth-gas-reporter', - reporterOptions: { - excludeContracts: ['Migrations'], - //uncomment for matic testnet - //url:"https://matic-mumbai.chainstacklabs.com" - }, - timeout: 3000000, - }, - - // Configure your compilers - compilers: { - solc: { - version: '0.8.10', // Fetch exact version from solc-bin (default: truffle's version) - // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) - settings: { - // See the solidity docs for advice about optimization and evmVersion - optimizer: { - enabled: true, - runs: 100, - }, - evmVersion: 'istanbul', - }, - }, - }, - - // Truffle DB is currently disabled by default; to enable it, change enabled: - // false to enabled: true. The default storage location can also be - // overridden by specifying the adapter settings, as shown in the commented code below. - // - // NOTE: It is not possible to migrate your contracts to truffle DB and you should - // make a backup of your artifacts to a safe location before enabling this feature. - // - // After you backed up your artifacts you can utilize db by running migrate as follows: - // $ truffle migrate --reset --compile-all - // - // db: { - // enabled: false, - // host: "127.0.0.1", - // adapter: { - // name: "sqlite", - // settings: { - // directory: ".db" - // } - // } - // } -}; From 643ef868dd98f570e90bfb633b5a4b28a5a739c7 Mon Sep 17 00:00:00 2001 From: Andreas Freund Date: Wed, 7 Sep 2022 18:27:55 -0700 Subject: [PATCH 22/22] Update EIPS/eip-4910.md Co-authored-by: Pandapip1 <45835846+Pandapip1@users.noreply.github.com> --- EIPS/eip-4910.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-4910.md b/EIPS/eip-4910.md index d82e66a93e0c4..0f65d039f20cc 100644 --- a/EIPS/eip-4910.md +++ b/EIPS/eip-4910.md @@ -627,7 +627,7 @@ function _royaltyPayOut (uint256 tokenId, address RAsubaccount, address payable Royalties for NFTs is at its core a distribution licensing problem. A buyer obtains the right to an asset/content which might or might not be reproducible, alterable etc. by the buyer or agents of the buyer. Therefore, a comprehensive specification must address a hierarchy of royalties, where one or more assets are derived from an original asset as described in the Motivation section in detail. Consequently, a design must solve for a multi-level inheritance, and thus, recursion problem. -In order to solve for the complicated inheritance problem, this proposal design breaks down the recursive problem of the hierarchy first into a tree of depth N. And the further breaks down the tree structure into N separate problems, one for each layer. This design allows one to traverse the tree from its lowest level upwards to its root most efficiently. This is achieved with the design for the `distributePayment` function and the NFT data structures allowing for the tree structure e.g. `ancestry',`royaltyAccount`, 'RAsubaccount'. +In order to solve for the complicated inheritance problem, this proposal design breaks down the recursive problem of the hierarchy first into a tree of depth N. And the further breaks down the tree structure into N separate problems, one for each layer. This design allows one to traverse the tree from its lowest level upwards to its root most efficiently. This is achieved with the design for the `distributePayment` function and the NFT data structures allowing for the tree structure e.g. `ancestry`,`royaltyAccount`, `RAsubaccount`. In order to avoid massive gas costs during the payout of royalties, possibly exceeding block gas limits for large royalty trees, the design needed to create a royalty accounting system to maintain royalty balances for recipients as done with the `royaltyAccount`, 'RAsubaccount' data structures and the associated CRUD operations, as well as require that royalty payouts are done by indvidual and by request, only, as is achieved with the `royaltyPayout` function design.