Cross-Chain Regions

The Coretime parachain, by itself, doesn't support deploying smart contracts. As a result, this limits the creation of a secondary Coretime market on top of it. Due to this limitation, the market logic must be implemented externally. In our specific scenario, this essential logic will be situated on a different parachain, one that is equipped to support the deployment of WASM (WebAssembly) contracts.

Considering that the assets sold in the Coretime market are regions acquired from the Bulk sale, it's essential to establish a mechanism for transferring these regions to the separate parachain where the market functionality is deployed.

Since regions are represented as NFT assets, cross-chain transfers are feasible, particularly because the XCM format is designed to support such transactions. We can transfer regions using XCM reserve-based asset transfers.

However, this approach only allows for the transfer of ownership information for the region, not the properties of the region itself. It's vital to have these properties available on the parachain where the market operates, as the value of each region is intrinsically linked to its specific properties.

Each region possesses a set of properties that highly influence its value on the market. These properties are:

  • begin: Specifies the starting point of time from which a task assigned to the region can be scheduled on a core.

  • end: Specifies the deadline until a task assigned to the region can be scheduled on a core.

  • length: The duration of a region. Always equals to end - begin.

  • core: The core index to which the region belongs.

  • mask: The regularity parts in which this Region will be scheduled.

  • owner: The owner of the region.

  • paid: The payment for the region on the bulk market. Defined only for renewable regions. This is used to calculate the renewal price in the next bulk sale.

To successfully list regions on the market, it is necessary to transfer not only the ownership but also the complete set of property values to the parachain where the market operates. This ensures that all relevant information about each region is accurately reflected and accessible in the marketplace.

We have developed a solution to address the challenge of transferring metadata, which is compatible with the existing XCM V3 message format. This solution is designed to function without the need for the 'Transact' instruction, a feature that is currently disabled on all production-ready parachains.

This solution, while initially devised for region transfers, has broader applications for NFT metadata transfers in general. Recognizing its wider utility, we have documented this approach as a new paradigm: Solving NFT cross-chain transfers.

To fully grasp how a Coretime marketplace can operate on a chain distinct from the Coretime parachain, it is essential to have a thorough understanding of this paradigm. This is key to comprehending the interconnected functionalities and the overall operation of the marketplace within the separate chain environment.

The contract that implements the MetadataWrapper interface, as outlined in the previously mentioned document, has been designated as the xcRegion contract. Developed using the ink! programming language, this contract is designed to be utilized by any subsequent contracts that depend on regions from the Bulk market.

The xcRegions contract acts as a foundational component for developing additional functionalities. It is set to play a crucial role in the secondary Coretime market that we are implementing, serving as the primary infrastructure upon which further market logic will be built.

If you intend to build upon the xcRegions contract, we highly recommend you read our following wiki page:

pageIntegration with xcRegions

Last updated