Coretime marketplace on Astar

Hello,

I’m Sergej, and I’m currently working on RegionX, a Coretime marketplace project. As we develop this project using ink! contracts, we are beginning to explore deployment options in anticipation of Coretime’s imminent launch on Kusama. We are particularly interested in deploying our contracts on Astar, but there are specific requirements that need to be met to make this feasible. In this post, I’d like to outline these requirements and seek feedback on the possibility of their implementation.

Coretime regions are represented as NFTs on the Coretime chain, allowing them to be transferred as any other asset via XCM (Enable cross-chain Coretime region transfers by Szegoo · Pull Request #3077 · paritytech/polkadot-sdk · GitHub).

Currently, Astar lacks support for handling incoming non-fungible assets, a capability that could be introduced by integrating a non-fungible pallet (e.g., pallet-uniques or orml-nft) and incorporating the appropriate asset transactor.

Additionally, we require a method to integrate with the non-fungibles pallet. After reviewing the forum post at Runtime interface contracts - Goodbye chain-extensions Welcome call-runtime, it appears that the most straightforward approach would involve enabling runtime calls to the non-fungibles pallet, along with adding a chain extension for state reads only.

I am open to feedback on whether this approach is feasible or if there are alternative methods that could facilitate this implementation.

2 Likes

Hello @Szegoo, thanks for your messages and interest about deploying your dApp on Astar.

About ink! <> pallet calls:
We recently integrated pallet-assets chain extension and the audit is around the corner. Meaning that Runtime interface contracts - Goodbye chain-extensions Welcome call-runtime is an obsolete agenda. Other chain extension can be added on use-cases basis.

About XCM NFT:
As you said there is no handler for XCM in our XCM transactor for now. This will need research and implementation on our side, based on the use-case demand.

Do you need to call/use XCM inside your ink! contracts or you just need XCM transactor and ink! non-fungible pallet chain extension ?

1 Like

@PierreOssun Thanks for the quick response.

Do you need to call/use XCM inside your ink! contracts or you just need XCM transactor and ink! non-fungible pallet chain extension ?

We would only need a non-fungible pallet chain extension and an XCM transactor that could handle incoming region NFT transfers from the Coretime chain.

We don’t need to call/use XCM from ink! contracts.

Also, we would need a way to access the relay chain block number from ink! smart contracts to be able to determine the latest Timeslice. However, this could be very simply achieved with a simple chain extension (e.g. link).

1 Like