Step 1 - Join the marketplace
Marketplace can be joined through many ways: Metamask, Gmail with zksync account abstraction
Metamask: user join any network with metamask.
Gmail: TBD for Zksync
Step 2 - Select NFT
In markeplace panel user selects a desired NFT from 3 kinds: Aquatique, Druid, Illuminator
NFT kinds as well as their price and resource_token_address are stored in project's backend at /api/kinds/. They are backend in contract ScaleyValleyCollection
Step 3 - Select initial Valley
In networks panel user selects a desired initial Valley from 3 choices: EtherValley, OptiValley, PolyValley
Step 4 - Sign transfer of resource ERC20 tokens
In markeplace panel user selects a desired NFT from 4 kinds: Aquatique, Druid, Illuminator or Hermes
Tokens will be transfered to contract TradeContract at corresponding chain. Frontend takes tradeContract address and kind price from /api/kinds/ endpoint.
Step 5 [OPTIONAL] - Sign bridge of NFT from Ethereum Valley
Since EtherValley is main Valley on Ethereum network, NFT bridge must be performed if user selected some other Valley.