First, the Seller/Miner must deploy a Silica Account, the factory smart contract. The seller only needs to deploy a Silica Account for each asset once. To deploy a new Silica Account, Seller/miner calls Silica Account Factory to create/initialize a Silica Account contract.
Silica Account clones the SilicaAccountMaster contract using a deterministic address and initializes it. The Account is tied to the seller/miner’s wallet.
Seller/Miner calls the Silica Account contract to create/initialize a new Silica contract and sets the parameters of the Silica contract.
Prior to issuing Silica, it is required that the Silica Account must contain at least one day of mining rewards plus an additional 5% buffer. This is to make sure that, by the time that the contract goes live, there is more than the first day’s reward locked in to discourage the seller from defaulting as soon as the contract goes live. If there is such amount available in the Silica Account, that amount will be locked as “Due”, and the contract will be listed.
- Silica Account verifies if has enough balance as excess to cover 1-day mining reward plus 5%, and locks it.
- Silica Account clones SilicaMaster contract and initializes it passing the parameters.
- Silica Account initialize Silica with TotalDue = 1-day Mining plus 5% and Next Due = 0.
- Silica Account adds the new address to Contract’s index.
Buyer calls Silica to confirm BID with the purchase amount. After the order has been filled:
- Silica calculates Mint Token Amount;
- Transfer PaymentToken from buyer to Silica;
- Mint new Silica Token to the buyers.
The seller interacts with the Alkimiya protocol primarily through Silica Account. Once a contract is active. The seller must send the mining rewards to the Account address. The seller can either update the recipient address on the mining pool they are using to the Account address, or send the appropriate number of coins every day.
If the balance on the Account is higher than the Reward Due, the additional amount will be treated as Excess. The seller can withdraw the Excess anytime.