## 2 Materials and Methods
### Extending WEave for Circular Economy Traceability
#### 2.2.2 Data Model Additions  
We extend the asset models to represent post-use states. For example, we introduce new asset types such as ReturnedProduct and RecycledMaterial. When a product (garment) reaches its end of life with a consumer, the retailer or recycler can invoke a chaincode function to create a ReturnedProduct record. This record can carry references to the original product ID (linking it to its production history), as well as details like condition, reason for return (if available), and customer information (which could be anonymized or kept off-chain for privacy). The ReturnedProduct essentially acts as a placeholder for an item that has left the forward chain and is now reentering the chain, a procedure sometimes referred to as \"reverse logistics\". Next, if the item is designated for recycling, the RC/RE invokes, say, RecycleProduct (productID) on the blockchain. This transaction would do the following in chaincode logic: verify that the invoker is RC or an authorized return handler; verify that the productID corresponds to a product that was sold and not already recycled; then mark the ReturnedProduct as processed and create a new RecycledMaterialLot asset. The RecycledMaterialLot would contain information such as  
Figure 2: Network topology for closed-loop (**a**) apparel, and (**b**) furniture supply chain simulation.  
the material recovered (e.g., \"recycled cotton fiber\"), quantity, and quality grade. Crucially, we link the recycled lot back to its source product. One way we do this is to include in the RecycledMaterialLot asset a field originProducts, which could be an array of IDs of products that contributed to it. If one garment yields X kg of fiber, that fiber lot knows it came from that specific garment ID. In cases where the recycling process combines material from multiple products (batch processing), originProducts can list multiple IDs. This provides a many-to-many traceability: one recycled lot could come from many products, and one product could result in multiple output lots (if disassembled into different materials).  
Additionally, if an item is not recycled but rather refurbished or resold (very common in the furniture scenario), we handle it differently than with new materials. For refurbishment (e.g., minor repair and resold as second-hand), the product essentially re-enters the market under its original product identity. We could simply log an event on the existing asset (perhaps setting a status field to \"resold\" and updating the owner to a new buyer). However, since the blockchain network does not include individual consumers, a pragmatic approach is to have the retailer log a resale event. This could be performed on the admin channel (e.g., a second-hand sale record) or on the production channel by transferring the asset to a pseudo-identity representing a second-hand buyer. The complexities of second-hand markets exceeds the scope of this study (privacy, off-chain transactions, etc. [27]), so in our framework we focus primarily on recycling, but we note that similar principles apply to tracking refurbishment: we must capture that the product was returned and then re-distributed, possibly with a new owner, but its identity and history remain intact on the ledger. There are some domains, notably avionics, where this form of reuse is occurring at a significant scale but can pose risks (for example, some parts may have a physical lifetime limit associated with internal wear and tear that can weaken them over time). The issue also cuts the other way: antique furniture must have an associated record of any new materials used during refurbishment. The extended WEave system can record such information, as it can capture the results of any required revalidation testing.